:root {
  --ink: #1D2529;
  --trellis: #405764;
  --trellis-deep: #263d49;
  --living: #256B4A;
  --canvas: #FFF8E7;
  --rose: #B83270;
  --locator: #B51F2A;
  --gold: #8A5A00;
  --follow-blue: #1769aa;
  --paper: #fffdf7;
  --quiet: #6c767b;
  --shadow: 0 1rem 3rem rgb(17 38 48 / 18%);
  color: var(--ink);
  background: var(--trellis-deep);
  font-family: ui-rounded, "Avenir Next", Avenir, system-ui, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 20rem; background: var(--trellis-deep); }
body {
  min-width: 20rem;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 10% -10%, rgb(184 50 112 / 24%), transparent 28rem),
    linear-gradient(145deg, var(--trellis-deep), var(--trellis) 52%, #304b50);
}
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--locator);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 50;
  inset: .5rem auto auto .5rem;
  transform: translateY(-200%);
  padding: .75rem 1rem;
  color: white;
  background: var(--ink);
}
.skip-link:focus { transform: none; }

.front-door {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 82rem;
  min-height: 6.5rem;
  margin: auto;
  padding: .55rem clamp(1rem, 4vw, 3rem);
  color: white;
}
.horizontal-mark-frame {
  position: relative;
  flex: 0 1 21rem;
  width: clamp(13.5rem, 30vw, 21rem);
  aspect-ratio: 3 / 1;
  overflow: hidden;
}
.horizontal-mark-source {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.header-tool {
  min-height: 2.75rem;
  margin-left: auto;
  padding: .55rem .95rem;
  border: 1px solid #f3d38b;
  border-radius: 999px;
  color: white;
  background: rgb(138 90 0 / 36%);
  font-weight: 850;
}

.app-shell {
  max-width: 82rem;
  margin: auto;
  padding: 0 clamp(.75rem, 3vw, 2rem) 1.5rem;
}
.fixture-ribbon, .noscript {
  margin: 0 0 .75rem;
  padding: .52rem .85rem;
  border: 1px solid #f3d38b;
  border-radius: .8rem;
  color: #fff2c6;
  background: rgb(29 37 41 / 52%);
  font-size: .78rem;
  text-align: center;
}
.noscript { margin: 1rem; }
.status-strip {
  display: flex;
  align-items: stretch;
  gap: .55rem;
  margin: 0 0 .75rem;
}
.featured-status-bar {
  display: block;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  padding: .68rem 1rem;
  border: 2px solid;
  border-radius: .8rem;
  color: var(--ink);
  font-weight: 950;
  letter-spacing: .025em;
  text-align: center;
}
.featured-status-bar[hidden] { display: none; }
.featured-status-bar.status-open {
  border-color: var(--living);
  background: #dff3e6;
  box-shadow: 0 0 1rem rgb(37 107 74 / 42%);
}
.featured-status-bar.status-moving {
  border-color: var(--gold);
  background: #fff0bd;
  box-shadow: 0 0 1rem rgb(138 90 0 / 38%);
}
.featured-status-bar.status-closed {
  border-color: var(--locator);
  background: #f4dddd;
  box-shadow: 0 0 .75rem rgb(181 31 42 / 22%);
}
.customer-status-marquee {
  display: block;
  overflow: hidden;
  white-space: nowrap;
}
.customer-status-marquee > span {
  display: inline-block;
  min-width: max-content;
  padding-left: 100%;
  animation: featured-vendor-drift 18s linear infinite;
  font-size: 1.18rem;
  font-weight: 950;
}
@keyframes featured-vendor-drift { to { transform: translateX(-100%); } }
.vendor-truth-content { display: block; text-align: center; font-size: 1.28rem; font-weight: 1000; }
.vendor-invite-trigger {
  flex: 0 0 auto;
  min-width: 6.2rem;
  border: 1px solid #f3d38b;
  border-radius: .8rem;
  color: white;
  background: rgb(29 37 41 / 72%);
  font-weight: 900;
}
.vendor-invite-trigger[hidden] { display: none; }

.destination-stage {
  min-height: min(45rem, calc(100vh - 15rem));
  overflow: clip;
  border: 2px solid #9fb3bc;
  border-radius: 1.65rem;
  background: var(--canvas);
  box-shadow: var(--shadow);
}
.destination-content {
  min-height: inherit;
  padding: clamp(1rem, 4vw, 2.6rem);
  touch-action: pan-y;
}
.destination-content.enter-left { animation: enter-left 220ms ease-out; }
.destination-content.enter-right { animation: enter-right 220ms ease-out; }
@keyframes enter-left { from { opacity: .35; transform: translateX(-2rem); } }
@keyframes enter-right { from { opacity: .35; transform: translateX(2rem); } }

.room-heading { touch-action: pan-y; }
.manifold-highlight { outline: .22rem solid #8b3f73; outline-offset: .18rem; }
.manifold-presentation-note {
  display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; margin: 0 0 1rem;
  padding: .7rem .85rem; border: 1px solid #b87599; border-radius: .8rem; background: #fff0f7;
}
.manifold-presentation-note span { flex: 1 1 14rem; }
.manifold-presentation-note button {
  min-height: 2.7rem; padding: .5rem .75rem; border: 1px solid var(--rose);
  border-radius: .7rem; color: white; background: var(--rose); font-weight: 850;
}
.manifold-presentation-badge {
  padding: .25rem .55rem; border-radius: 999px; color: white; background: var(--rose);
  font-size: .75rem; letter-spacing: .025em;
}

.destination-heading, .room-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
}
.destination-heading h1, .room-heading h1 {
  margin: 0;
  color: var(--trellis-deep);
  font-size: clamp(1.9rem, 5vw, 3.3rem);
  line-height: 1.04;
}
.destination-heading p, .room-heading p { max-width: 44rem; margin: .45rem 0 0; }
.room-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.neutral-role, .vendor-role, .civic-role {
  display: inline-flex; padding: .3rem .65rem; border-radius: 999px; color: white;
  background: var(--trellis); font-size: .72rem; font-weight: 950; letter-spacing: .04em;
}
.vendor-role { background: var(--rose); }
.civic-role { background: var(--living); }
.role-badge, .demo-badge, .status-badge, .relationship-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .65rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.role-badge { color: white; background: var(--trellis); }
.role-badge.civic { background: var(--living); }
.role-badge.vendor { background: var(--rose); }
.demo-badge { color: #654600; background: #fff0b9; }
.relationship-badge.following { color: white; background: var(--follow-blue); }

.destination-rail {
  display: block;
  max-width: 48rem;
  margin: .85rem auto 0;
  padding: .55rem;
  border: 1px solid #91a9b4;
  border-radius: 999px;
  color: white;
  background: rgb(29 37 41 / 74%);
  box-shadow: 0 .55rem 1.5rem rgb(15 28 34 / 24%);
}
.rail-track {
  display: flex;
  align-items: stretch;
  gap: .55rem;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: .15rem calc(50% - 5rem);
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  touch-action: pan-x;
  cursor: grab;
  user-select: none;
}
.rail-track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.rail-destination {
  min-height: 3.65rem;
  border: 1px solid transparent;
  color: #edf4f6;
  background: transparent;
}
.rail-destination {
  display: grid;
  place-items: center;
  flex: 0 0 10rem;
  width: 10rem;
  padding: .35rem .5rem;
  border-radius: 1rem;
  font-size: clamp(.68rem, 1.8vw, .86rem);
  font-weight: 850;
  scroll-snap-align: center;
}
.rail-icon { display: block; color: #ffd4e8; font-size: 1.35rem; line-height: 1; }
.rail-icon img { display: block; width: 2rem; height: 2rem; object-fit: contain; }
.vendor-rail-generic-mark { display: grid; place-items: center; width: 2rem; height: 2rem; }
.rail-destination:hover { border-color: #ffd4e8; background: rgb(255 255 255 / 8%); }
.rail-destination[aria-current="page"] {
  color: var(--ink);
  border-color: var(--canvas);
  background: var(--canvas);
  box-shadow: inset 0 -.25rem 0 var(--rose);
}
.rail-destination[aria-current="page"] .rail-icon { color: var(--rose); }
.rail-help { margin: .35rem 1rem 0; color: #d8e4e7; font-size: .72rem; text-align: center; }

.map-layout {
  display: grid;
  grid-template-columns: minmax(14rem, 20rem) minmax(0, 1fr);
  gap: 1rem;
}
.map-controls { display: grid; align-content: start; gap: .55rem; padding: .9rem; border: 1px solid rgb(64 87 100 / 35%); border-radius: 1rem; background: var(--paper); }
.map-controls button, .map-controls select, .accessible-intentions button, .map-readout button,
.action-row button, .relationship-actions button, .quick-rack button, .search-field button,
.tool-grid button, .vendor-front-door button, .vendor-experience button, .empty-card button {
  min-height: 2.65rem; padding: .5rem .75rem; border: 1px solid var(--trellis);
  border-radius: .7rem; color: var(--ink); background: white; font-weight: 800;
}
.map-controls button[aria-pressed="true"] { color: white; background: var(--living); }
.map-controls [data-favorites-focus][aria-pressed="true"] { background: var(--rose); }
.map-readout { margin-top: 1rem; padding: .8rem 1rem; border-radius: 1rem; background: #e8eff1; }
.map-readout p { margin: .25rem 0; }
.accessible-intentions, .action-row, .tool-grid { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .8rem; }
.community-map-panel { margin-top: 1rem; padding: 1rem; border: 2px solid var(--living); border-radius: 1rem; background: #e8f3e9; }
.community-map-panel h2 { margin: .5rem 0 .25rem; }
.community-map-panel button { min-height: 2.65rem; padding: .5rem .75rem; border: 1px solid var(--living); border-radius: .7rem; background: white; font-weight: 800; }
.map-board {
  position: relative;
  min-height: 30rem;
  overflow: hidden;
  border: 1px solid #90a8a4;
  border-radius: 1.25rem;
  background:
    linear-gradient(90deg, transparent 49.5%, rgb(64 87 100 / 8%) 50%, transparent 50.5%),
    linear-gradient(transparent 49.5%, rgb(64 87 100 / 8%) 50%, transparent 50.5%),
    #eaf2e7;
  background-size: 4rem 4rem;
  touch-action: none;
}
.map-board::after {
  content: "MODEL MAP · no live provider or coordinates";
  position: absolute;
  inset: auto .7rem .55rem auto;
  color: var(--trellis);
  font-size: .66rem;
  font-weight: 900;
}
.map-engine-host { position: absolute; inset: 0; z-index: 0; }
.map-provider-frame { width: 100%; height: 100%; border: 0; }
.map-provider-message { display: grid; place-items: center; height: 100%; margin: 0; color: var(--trellis); background: #eaf2e7; font-weight: 900; }
.map-provider-attribution { position: absolute; inset: auto .4rem .25rem auto; padding: .12rem .3rem; color: var(--ink); background: rgb(255 255 255 / 88%); font-size: .65rem; }
.host-map-marker { display: grid; place-items: center; width: 2rem; height: 2rem; border: 3px solid white; border-radius: 50%; color: white; background: var(--locator); box-shadow: 0 .25rem .65rem rgb(29 37 41 / 35%); font: 900 .75rem/1 system-ui; }
.host-map-marker.role-c { background: var(--trellis); }
.host-map-marker.role-n { background: var(--living); }
.map-board > :not(.map-engine-host) { z-index: 1; }
.map-accepted-location-status {
  position: absolute;
  inset: .7rem auto auto .7rem;
  padding: .35rem .55rem;
  border-radius: .55rem;
  color: white;
  background: var(--living);
  font-size: .75rem;
  font-weight: 900;
}
.map-location-proposal {
  position: absolute;
  inset: auto 4.25rem .7rem .7rem;
  max-width: 24rem;
  padding: .65rem .75rem;
  border: 2px solid var(--locator);
  border-radius: .8rem;
  background: rgb(255 253 247 / 96%);
  box-shadow: 0 .35rem .9rem rgb(29 37 41 / 20%);
}
.map-location-proposal p, .map-location-readback { margin: 0; font-weight: 800; }
.map-location-readback { position: absolute; inset: auto .7rem .45rem auto; }
.map-marker {
  position: absolute;
  display: grid;
  place-items: center;
  width: 3.35rem;
  height: 3.35rem;
  border: 3px solid white;
  border-radius: 50%;
  color: white;
  box-shadow: 0 .35rem .9rem rgb(29 37 41 / 25%);
  font-size: 1.1rem;
  font-weight: 950;
}
.map-marker.me-marker { inset: 62% auto auto 18%; background: var(--trellis); }
.map-marker.vendor-marker { background: var(--rose); }
.map-marker.vendor-marker.status-moving { opacity: .68; outline: 3px solid var(--gold); }
.map-marker.event-marker { inset: 18% auto auto 72%; background: var(--living); }
.map-marker.next-marker { inset: 18% auto auto 58%; background: var(--locator); }
.map-marker.marker-1 { inset: 36% auto auto 31%; }
.map-marker.marker-2 { inset: 48% auto auto 57%; }
.map-marker.marker-3 { inset: 22% auto auto 44%; }
.marker-status { position: absolute; inset: calc(100% + .2rem) auto auto 50%; transform: translateX(-50%); padding: .12rem .3rem; border-radius: .25rem; color: var(--ink); background: var(--paper); font-size: .62rem; font-weight: 950; }
.map-marker.customer { inset: 62% auto auto 18%; background: var(--trellis); }
.map-marker.vendor { background: var(--rose); }
.map-marker.vendor.moving { opacity: .68; outline: 3px solid var(--gold); }
.map-marker.next-stop { background: var(--locator); }
.map-marker.community { background: var(--living); }
.map-marker.sale { background: var(--gold); }
.map-marker[hidden] { display: none; }
.marker-label {
  position: absolute;
  inset: calc(100% + .25rem) auto auto 50%;
  width: max-content;
  max-width: 9rem;
  transform: translateX(-50%);
  padding: .16rem .35rem;
  border-radius: .35rem;
  color: var(--ink);
  background: rgb(255 253 247 / 92%);
  font-size: .65rem;
  line-height: 1.15;
}
.map-side { display: grid; align-content: start; gap: .75rem; }
.control-panel {
  padding: .9rem;
  border: 1px solid rgb(64 87 100 / 35%);
  border-radius: 1rem;
  background: var(--paper);
}
.control-panel h2, .control-panel h3 { margin: 0 0 .55rem; font-size: 1rem; }
.toggle-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem; }
.toggle-button, .tool-button, .relationship-button, .quick-action, .card-button {
  min-height: 2.65rem;
  padding: .5rem .75rem;
  border: 1px solid var(--trellis);
  border-radius: .7rem;
  color: var(--ink);
  background: white;
  font-weight: 800;
}
.toggle-button[aria-pressed="true"] { color: white; border-color: var(--living); background: var(--living); }
.toggle-button.favorite-focus[aria-pressed="true"] { border-color: var(--rose); background: var(--rose); }
.tool-button.primary, .card-button.primary { color: white; border-color: var(--trellis); background: var(--trellis); }
.camera-mode { color: var(--trellis); font-size: .8rem; font-weight: 800; }
.frame-summary { margin: .4rem 0 0; font-size: .82rem; }

.directory-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  color: white;
  background: linear-gradient(130deg, var(--trellis-deep), var(--trellis));
}
.directory-hero { display: block; }
.directory-hero h2 { margin: .25rem 0 .8rem; }
.search-field div { display: flex; gap: .45rem; margin-top: .4rem; }
.search-field input { flex: 1; }
.sort-policy { font-weight: 850; color: var(--trellis); }
.directory-hero label { grid-column: 1 / -1; font-weight: 900; }
.directory-hero input {
  min-width: 0;
  min-height: 2.8rem;
  padding: .65rem .9rem;
  border: 2px solid white;
  border-radius: .75rem;
}
.directory-hero button { min-height: 2.8rem; padding-inline: 1rem; border-radius: .75rem; }
.directory-summary { grid-column: 1 / -1; margin: 0; color: #dbe7eb; font-size: .78rem; }
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
  gap: 1rem;
}
.vendor-card, .relationship-card, .event-card, .empty-state, .front-door-panel, .vendor-experience {
  padding: 1.1rem;
  border: 2px solid #a9b8bd;
  border-radius: 1rem;
  background: var(--paper);
}
.empty-card, .vendor-front-door { padding: 1.1rem; border: 2px dashed #a9b8bd; border-radius: 1rem; background: var(--paper); }
.card-title-row { display: flex; align-items: center; gap: .6rem; }
.card-title-row h2 { flex: 1; margin: .3rem 0; }
.vendor-avatar { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: #e8eff1; font-size: 1.4rem; }
.five-ws { display: grid; grid-template-columns: auto 1fr; gap: .25rem .65rem; margin: .7rem 0; font-size: .87rem; }
.five-ws dt { color: var(--trellis); font-weight: 950; }
.five-ws dd { margin: 0; }
.status-badge.status-open { color: white; background: var(--living); }
.status-badge.status-moving { color: white; background: var(--gold); }
.status-badge.status-closed { color: white; background: var(--quiet); }
.vendor-card.following { outline: 3px solid var(--follow-blue); outline-offset: -4px; }
.relationship-label { color: var(--follow-blue); font-weight: 900; }
.heart { min-width: 3rem; color: var(--rose) !important; border-color: var(--rose) !important; font-size: 1.25rem !important; }
.heart[aria-pressed="true"] { color: white !important; background: var(--rose) !important; }
.vendor-card.status-open { border-color: #20a260; box-shadow: 0 0 0 2px rgb(32 162 96 / 26%), 0 0 1.25rem rgb(32 162 96 / 44%); }
.vendor-card.status-moving { border-color: #e39b15; box-shadow: 0 0 0 2px rgb(227 155 21 / 24%), 0 0 1.25rem rgb(227 155 21 / 40%); }
.vendor-card.status-closed { border-color: #b74b52; background: #f1eee5; opacity: .86; box-shadow: 0 0 .65rem rgb(181 31 42 / 14%); }
.relationship-card.following { outline: 3px solid var(--follow-blue); outline-offset: -3px; }
.event-card { border-color: var(--living); }
.card-kicker { margin: 0; color: var(--trellis); font-size: .72rem; font-weight: 950; text-transform: uppercase; }
.card-title { margin: .3rem 0; font-size: 1.28rem; }
.five-w { display: grid; grid-template-columns: auto 1fr; gap: .25rem .65rem; margin: .7rem 0; font-size: .87rem; }
.five-w dt { color: var(--trellis); font-weight: 950; }
.five-w dd { margin: 0; }
.status-badge.open { color: white; background: var(--living); }
.status-badge.moving { color: white; background: var(--gold); }
.status-badge.closed { color: white; background: var(--quiet); }
.card-actions, .relationship-actions, .quick-rack, .backroom-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .8rem;
}
.heart-button { min-width: 3rem; color: var(--rose); border-color: var(--rose); font-size: 1.25rem; }
.heart-button[aria-pressed="true"] { color: white; background: var(--rose); }
.following-button { color: white; border-color: var(--follow-blue); background: var(--follow-blue); }

.front-door-panel {
  min-height: 25rem;
  border-color: var(--gold);
  background:
    radial-gradient(circle at 90% 0%, rgb(138 90 0 / 15%), transparent 18rem),
    var(--paper);
}
.vendor-experience {
  min-height: 29rem;
  border-color: var(--vendor-accent, var(--rose));
  border-width: 3px;
  background: linear-gradient(150deg, var(--paper), var(--vendor-surface, #fff0f7));
}
.vendor-experience > header { display: flex; align-items: center; gap: 1rem; }
.vendor-hero-icon { display: grid; place-items: center; width: 5rem; height: 5rem; border-radius: 50%; color: white; background: var(--vendor-accent, var(--rose)); font-size: 2rem; }
.vendor-content-area { min-height: 9rem; margin-top: 1rem; padding: 1rem; border: 1px dashed var(--vendor-accent, var(--rose)); border-radius: .9rem; background: rgb(255 255 255 / 55%); }
.vendor-front-door { min-height: 25rem; border-color: var(--gold); background: radial-gradient(circle at 90% 0%, rgb(138 90 0 / 15%), transparent 18rem), var(--paper); }
.door-basket { float: right; font-size: clamp(4rem, 15vw, 9rem); }
.experience-hero { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; }
.experience-icon {
  display: grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  color: white;
  background: var(--vendor-accent, var(--rose));
  font-size: 2rem;
}
.experience-content {
  min-height: 9rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed var(--vendor-accent, var(--rose));
  border-radius: .9rem;
  background: rgb(255 255 255 / 55%);
}
.toolbox {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: .75rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 2px solid var(--trellis);
  border-radius: 1rem;
  background: #e8eff1;
}
.toolbox { display: block; }
.tool-grid { margin-bottom: .8rem; }
.toolbox h2 { grid-column: 1 / -1; margin: 0; }
.toolbox-item { padding: .75rem; border-radius: .75rem; background: white; }
.toolbox-item p { margin: .35rem 0; font-size: .82rem; }

.coaching-cloud {
  position: fixed;
  z-index: 45;
  inset: auto 1rem 1rem 1rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  max-width: 55rem;
  margin: auto;
  padding: .75rem .9rem;
  border: 2px solid #f1accd;
  border-radius: 1.4rem 1.4rem 1.4rem .35rem;
  color: white;
  background: rgb(70 25 47 / 72%);
}
.coaching-cloud p { flex: 1; margin: 0; }
.coaching-cloud button { min-height: 2.5rem; border: 1px solid white; border-radius: .7rem; color: var(--ink); background: white; }
.coaching-cloud .coaching-close { width: 2.5rem; padding: 0; font-size: 1.35rem; }
.coaching-cloud[hidden] { display: none; }

.backroom {
  width: min(44rem, calc(100% - 1.5rem));
  max-height: calc(100vh - 1.5rem);
  overflow: auto;
  padding: clamp(1rem, 4vw, 2rem);
  border: 3px solid var(--trellis);
  border-radius: 1.25rem;
  color: var(--ink);
  background: var(--canvas);
  box-shadow: var(--shadow);
}
.backroom::backdrop { background: rgb(17 32 39 / 68%); }
.status-backroom { border-color: var(--rose); }
.civic-backroom { border-color: var(--living); }
.permission-backroom { border-color: var(--gold); }
.backroom-navigation {
  clear: both;
  justify-content: flex-start;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 2px solid rgb(64 87 100 / 25%);
}
.backroom-navigation button { min-height: 2.75rem; padding: .55rem 1rem; border: 2px solid var(--trellis); border-radius: .75rem; background: white; font-weight: 900; }
.detail-list { display: grid; grid-template-columns: auto 1fr; gap: .45rem 1rem; }
.detail-list dt { font-weight: 950; }
.detail-list dd { margin: 0; }
.quick-rack { padding-top: .65rem; border-top: 1px solid rgb(64 87 100 / 25%); }

.empty-state { min-height: 10rem; border-style: dashed; color: var(--trellis); }
.empty-state.spacious { margin-top: 2rem; padding-block: 2rem; }
.toast {
  position: fixed;
  z-index: 60;
  inset: auto 1rem 1rem auto;
  max-width: min(28rem, calc(100% - 2rem));
  padding: .9rem 1rem;
  border-radius: .8rem;
  color: white;
  background: var(--ink);
  box-shadow: var(--shadow);
}
footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .45rem;
  padding: 1.25rem;
  color: #dce7ea;
  font-size: .72rem;
  text-align: center;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

/* WC-4 Customer surface: the flower is visible; proving roots stay out of the room. */
.room-heading { margin-bottom: .75rem; }
.room-heading h1 { font-size: clamp(1.65rem, 4vw, 2.7rem); }
.room-heading p { color: var(--trellis); }
.map-dominant {
  min-height: clamp(31rem, 67vh, 49rem);
  border-width: 2px;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 60%);
}
.map-board::after { content: none; }
.map-tools {
  position: absolute;
  z-index: 7;
  inset: .7rem .7rem auto auto;
  display: flex;
  gap: .4rem;
}
.map-tool, .layers-palette button, .icon-button, .more-button, .compact-action,
.compact-card-actions button, .vendor-identity, .dialog-close {
  min-height: 2.65rem;
  border: 1px solid var(--trellis);
  border-radius: .72rem;
  color: var(--ink);
  background: rgb(255 253 247 / 94%);
  font-weight: 850;
}
.map-tool { display: grid; place-items: center; width: 2.85rem; padding: 0; font-size: 1.1rem; }
.map-zoom-controls {
  position: absolute;
  z-index: 7;
  inset: auto .7rem .7rem auto;
  display: grid;
  gap: .3rem;
}
.map-zoom-controls button {
  display: grid;
  place-items: center;
  width: 2.85rem;
  min-height: 2.85rem;
  padding: 0;
  border: 1px solid var(--trellis);
  border-radius: .72rem;
  color: var(--ink);
  background: rgb(255 253 247 / 94%);
  font-size: 1.35rem;
  font-weight: 950;
}
.layers-palette {
  position: absolute;
  z-index: 6;
  inset: 4.15rem .7rem auto auto;
  display: grid;
  gap: .35rem;
  width: min(12rem, calc(100% - 1.4rem));
  padding: .55rem;
  border: 1px solid #90a8a4;
  border-radius: .9rem;
  background: rgb(255 248 231 / 96%);
  box-shadow: var(--shadow);
}
.layers-palette[hidden] { display: none; }
.layers-palette button { display: flex; align-items: center; gap: .5rem; padding: .45rem .65rem; text-align: left; }
.layers-palette button[aria-pressed="true"] { color: white; border-color: var(--living); background: var(--living); }
.layers-palette [data-favorites-focus][aria-pressed="true"] { border-color: var(--rose); background: var(--rose); }
.destination-rail { margin-top: .45rem; }
.rail-help { margin-bottom: .45rem; }

.vendor-identity {
  display: flex;
  align-items: center;
  flex: 1;
  gap: .6rem;
  padding: .25rem .45rem;
  border-color: transparent;
  background: transparent;
  text-align: left;
  font-size: 1.12rem;
}
.icon-cluster { display: flex; align-items: center; gap: .35rem; }
.favorite-count { color: var(--trellis-deep); font-weight: 950; font-variant-numeric: tabular-nums; }
.icon-button { display: inline-grid; place-items: center; width: 2.75rem; padding: 0 !important; font-size: 1.25rem; }
.heart { min-width: 2.75rem; }
.follow-pin { color: var(--follow-blue) !important; border-color: var(--follow-blue) !important; }
.follow-pin[aria-pressed="true"] { color: white !important; background: var(--follow-blue) !important; box-shadow: 0 0 .8rem rgb(23 105 170 / 45%); }
.follow-pin span { color: var(--follow-blue); font-family: system-ui, sans-serif; }
.directions-icon { color: white !important; border-color: var(--living) !important; background: var(--living) !important; }
.plain-status { display: inline-flex; margin: .45rem 0; padding: .25rem .58rem; border-radius: 999px; color: white; font-size: .8rem; letter-spacing: .04em; }
.status-open .plain-status { background: var(--living); }
.status-moving .plain-status { background: var(--gold); }
.status-closed .plain-status { background: var(--locator); }
.vendor-what { margin: .35rem 0; font-weight: 800; }
.vendor-when-where { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: .4rem 0; color: var(--trellis); font-size: .88rem; }
.vendor-why { margin: .45rem 0; font-size: .9rem; }
.compact-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; margin-top: .65rem; }
.compact-card-actions button, .more-button { padding: .45rem .75rem; }
.map-feature { color: var(--trellis); }
.directory-card { padding: .85rem; }
.directory-card .heart { flex: 0 0 2.75rem; }
.relationship-card { padding: .9rem; }
.relationship-card.following { outline-color: var(--follow-blue); }

.toolbox { margin-top: 1.25rem; padding: .65rem .85rem; border-width: 1px; background: #eef2f3; }
.toolbox summary { cursor: pointer; color: var(--trellis); font-weight: 900; }
.toolbox[open] summary { margin-bottom: .7rem; }

.status-backroom { position: relative; padding: clamp(1rem, 4vw, 1.6rem); }
.status-backroom.status-open { border-color: var(--living); background: #e8f5ec; box-shadow: 0 0 1.5rem rgb(37 107 74 / 35%); }
.status-backroom.status-moving { border-color: var(--gold); background: #fff5d6; box-shadow: 0 0 1.5rem rgb(138 90 0 / 30%); }
.status-backroom.status-closed { border-color: var(--locator); background: #fbe7e4; box-shadow: 0 0 1.5rem rgb(181 31 42 / 28%); }
.dialog-close { position: absolute; inset: .65rem .65rem auto auto; width: 2.75rem; padding: 0; font-size: 1.55rem; }
.status-identity { display: flex; align-items: center; gap: .8rem; padding-right: 3rem; }
.status-identity h2 { margin: 0; font-size: clamp(1.6rem, 5vw, 2.35rem); }
.vendor-avatar.large { width: 4rem; height: 4rem; font-size: 2rem; }
.status-word { margin: .2rem 0 0; font-size: 1.12rem; letter-spacing: .08em; }
.status-fact { margin: .7rem 0 0; }
.status-icon-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: 1rem; }
.status-business-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid rgb(64 87 100 / 28%); }
.compact-action { padding: .45rem .7rem; }

/* VC-1: the same BiteMapp world with a gated Vendor perspective. */
.perspective-toggle {
  display: inline-flex;
  gap: .2rem;
  margin: 0 0 1rem;
  padding: .2rem;
  border: 1px solid #91a9b4;
  border-radius: 999px;
  background: #e8eef0;
}
.perspective-toggle button {
  min-height: 2.35rem;
  padding: .35rem .85rem;
  border: 0;
  border-radius: 999px;
  color: var(--trellis-deep);
  background: transparent;
  font-weight: 900;
}
.perspective-toggle button[aria-pressed="true"] { color: white; background: var(--trellis); }
.one-truth-home, .desk-workspace, .notepad-workspace, .vendor-owner-controls,
.growth-corner, .perspective-flower, .vendor-flower, .vendor-presentation-settings {
  margin-top: 1rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 2px solid #9fb3bc;
  border-radius: 1.15rem;
  background: var(--paper);
}
.one-truth-home { display: grid; justify-items: center; gap: .85rem; }
.one-truth-home.status-open { border-color: var(--living); background: #e8f5ec; }
.one-truth-home.status-moving { border-color: var(--gold); background: #fff5d6; }
.one-truth-home.status-caution { border-color: #8a6500; background: #fff5d6; }
.one-truth-home.status-closed { border-color: var(--locator); background: #fbe7e4; }
.one-truth-control {
  display: grid;
  place-items: center;
  gap: .45rem;
  width: min(16rem, 72vw);
  aspect-ratio: 1;
  border: .55rem solid var(--trellis);
  border-radius: 50%;
  color: white;
  background: radial-gradient(circle at 35% 30%, var(--rose), var(--locator));
  box-shadow: 0 1rem 2rem rgb(29 37 41 / 25%), inset 0 0 0 .3rem rgb(255 255 255 / 28%);
  font-size: 1.35rem;
}
.one-truth-control span { font-size: 2.5rem; }
.one-truth-home.status-open .one-truth-control {
  border-color: #165f35;
  background: radial-gradient(circle at 35% 30%, #55bd72, #176b3a);
}
.one-truth-home.status-caution .one-truth-control,
.one-truth-home.status-moving .one-truth-control {
  border-color: #755500;
  color: #211700;
  background: radial-gradient(circle at 35% 30%, #ffdc69, #c58b00);
}
.one-truth-home.status-closed .one-truth-control {
  border-color: #842c24;
  background: radial-gradient(circle at 35% 30%, #ef7468, #a5332a);
}
.one-truth-accessible { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; }
.one-truth-accessible button, .desk-filters button, .desk-item, .filing-cabinet button,
.vendor-owner-controls button, .growth-corner button, .perspective-flower button,
.vendor-presentation-settings button, [data-camera-capture] {
  min-height: 2.65rem;
  padding: .48rem .78rem;
  border: 1px solid var(--trellis);
  border-radius: .72rem;
  color: var(--ink);
  background: white;
  font-weight: 850;
}
.filing-cabinet summary { cursor: pointer; color: var(--trellis-deep); font-weight: 950; }
.growth-corner { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; border-width: 1px; }
.growth-corner h2 { margin: 0; font-size: 1rem; }
.growth-corner p { flex-basis: 100%; margin: 0; color: var(--trellis); font-size: .85rem; }
.vendor-self-marker { outline: .3rem solid var(--follow-blue); outline-offset: .18rem; z-index: 5; }
.desk-filters { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.desk-working-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; }
.desk-working-row button { flex: 1 0 auto; }
.desk-filters button[aria-pressed="true"] { color: white; background: var(--trellis); }
.desk-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, .8fr); gap: 1rem; }
.desk-tray { display: grid; gap: .45rem; }
.desk-item-row { display: flex; align-items: stretch; gap: .4rem; }
.desk-item-row .desk-item { flex: 1; }
.schedule-request { min-width: 8rem; border: 1px solid var(--living); border-radius: .72rem; color: white; background: var(--living); font-weight: 900; }
.desk-item { display: flex; align-items: center; gap: .7rem; text-align: left; }
.desk-item > span:first-child { font-size: 1.5rem; }
.desk-item small { display: block; margin-top: .2rem; color: var(--quiet); }
.desk-preview { min-height: 10rem; padding: 1rem; border-radius: .85rem; background: #edf2f4; }
.filing-cabinet { margin: 1rem 0; padding: .75rem; border: 1px solid #a7b7bd; border-radius: .8rem; }
.filing-cabinet[open] { display: grid; gap: .45rem; }
.account-vault { margin: 1rem 0; padding: .85rem; border: 1px solid #a7b7bd; border-radius: .9rem; background: #f3f6f4; }
.vault-heading { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.vault-heading h2, .vault-heading p { margin: 0; }
.vault-heading p { margin-top: .25rem; color: var(--quiet); font-size: .82rem; }
.vault-add { display: inline-flex; align-items: center; min-height: 2.65rem; padding: .48rem .78rem; border: 1px solid var(--trellis); border-radius: .72rem; background: white; font-weight: 900; cursor: pointer; }
.vault-belt { display: flex; gap: .6rem; overflow-x: auto; margin-top: .8rem; padding: .2rem .1rem .6rem; scroll-snap-type: x proximity; }
.vault-file { flex: 0 0 10.5rem; min-height: 7.2rem; display: grid; align-content: center; gap: .3rem; padding: .65rem; border: 2px solid #9fb3bc; border-radius: .85rem; background: white; text-align: left; scroll-snap-align: start; }
.vault-file.is-public { border-color: var(--living); }
.vault-file > span { font-size: 1.5rem; }
.vault-file small { color: var(--quiet); }
.asset-preview-image { display: block; width: 100%; max-height: 18rem; object-fit: contain; margin-bottom: .7rem; border-radius: .75rem; background: #eef2f1; }
.desk-preview .vault-add { margin-right: .5rem; }
.capability-note { color: var(--quiet); font-size: .82rem; }
.notepad-workspace {
  min-height: clamp(30rem, 66vh, 52rem);
  padding: 0;
  overflow: hidden;
  border-color: #c4ad75;
  background: #fff7da;
}
.notepad-workspace textarea {
  width: 100%;
  min-height: inherit;
  resize: none;
  padding: 1.7rem clamp(1rem, 4vw, 3rem);
  border: 0;
  border-radius: 1rem;
  color: var(--ink);
  background-color: #fff7da;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 1.86rem, rgb(95 146 183 / 26%) 1.9rem, transparent 1.95rem);
  font: 1.05rem/1.95rem ui-rounded, "Avenir Next", Avenir, system-ui, sans-serif;
}
.notepad-workspace textarea:focus-visible { outline-offset: -5px; }
.notepad-account-status { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .35rem 1rem; margin: .55rem .25rem 0; color: var(--trellis); font-size: .84rem; }
.notepad-account-status em { flex-basis: 100%; color: var(--gold); font-style: normal; font-weight: 850; }
.vendor-owner-controls { border-color: var(--vendor-accent, var(--trellis)); background: rgb(255 255 255 / 72%); }
.vendor-owner-controls h3 { margin-top: 0; }
.vendor-owner-controls button { margin: .2rem; }
.vendor-experience > header { flex-wrap: wrap; }
.vendor-experience .relationship-cluster { margin-left: auto; }
.experience-edit {
  min-height: 2.65rem;
  padding: .48rem .78rem;
  border: 1px solid var(--vendor-accent, var(--trellis));
  border-radius: .72rem;
  color: var(--ink);
  background: white;
  font-weight: 900;
}
.experience-story { margin-top: 1rem; }
.experience-story h3 { margin-bottom: .4rem; }
.request-form { display: grid; gap: .8rem; }
.request-form label { display: grid; gap: .3rem; font-weight: 850; }
.request-form input, .request-form textarea, .request-form select {
  width: 100%;
  padding: .65rem .75rem;
  border: 1px solid #91a9b4;
  border-radius: .65rem;
  color: var(--ink);
  background: white;
  font: inherit;
}
.request-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.request-form > button, .edit-tools button, .invite-backroom > button:not(.dialog-close) {
  min-height: 2.75rem;
  padding: .55rem 1rem;
  border: 1px solid var(--trellis);
  border-radius: .7rem;
  color: white;
  background: var(--trellis);
  font-weight: 900;
}
.edit-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.profile-editor-form, .profile-editor-form fieldset { display: grid; gap: .75rem; }
.profile-editor-form fieldset { margin: 0; padding: 0; border: 0; }
.profile-editor-form label { display: grid; gap: .3rem; font-weight: 850; }
.profile-editor-form input:not([type="checkbox"]), .profile-editor-form textarea {
  width: 100%; min-height: 2.75rem; padding: .65rem .75rem;
  border: 1px solid #91a9b4; border-radius: .7rem; color: var(--ink); background: white;
}
.profile-private-choice { grid-template-columns: auto 1fr; align-items: center; }
.profile-private-choice input { width: 1.25rem; height: 1.25rem; }
.profile-editor-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.profile-editor-actions button {
  min-height: 2.75rem; padding: .55rem 1rem; border: 1px solid var(--trellis);
  border-radius: .7rem; background: white; font-weight: 900;
}
.profile-editor-actions [type="submit"] { color: white; background: var(--trellis); }
.profile-editor-status { min-height: 1.4rem; color: var(--trellis); font-weight: 850; }
.offering-editor { margin-top: 1.25rem; padding-top: 1rem; border-top: 2px solid #d8e0e3; }
.offering-editor > h3 { margin-bottom: .25rem; }
.offering-editor fieldset { display: grid; gap: .8rem; min-width: 0; }
.offering-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .55rem; }
.offering-toolbar button, .offering-draft-row button, .option-group-row button {
  min-height: 2.55rem; padding: .45rem .7rem; border: 1px solid var(--trellis);
  border-radius: .65rem; background: white; font-weight: 850;
}
.offering-toolbar span { color: var(--quiet); font-size: .84rem; }
.offering-item-list { display: grid; gap: .45rem; }
.offering-draft-row { display: grid; grid-template-columns: 1fr auto; gap: .45rem; }
.offering-draft-row > :first-child { display: flex; align-items: center; justify-content: space-between; text-align: left; }
.offering-draft-row.selected > :first-child { border-color: var(--living); background: #e8f5ec; }
.offering-draft-row span { color: var(--quiet); font-size: .8rem; }
.offering-item-editor { display: grid; gap: .75rem; padding: .85rem; border: 1px solid #91a9b4; border-radius: .8rem; background: #f7f8f5; }
.offering-item-editor label, .option-group-row label { display: grid; gap: .3rem; font-weight: 850; }
.offering-item-editor input, .offering-item-editor textarea, .option-group-row input {
  width: 100%; padding: .65rem; border: 1px solid #91a9b4; border-radius: .65rem; color: var(--ink); background: white;
}
.offering-description-count, .offering-picture-reference { margin: 0; color: var(--quiet); font-size: .84rem; }
.offering-description-count.over-limit { color: #9b1c1c; font-weight: 900; }
.option-group-editor, [data-option-group-list], .option-value-list { display: grid; gap: .65rem; }
.option-group-row { display: grid; gap: .6rem; padding: .75rem; border: 1px dashed #91a9b4; border-radius: .7rem; }
.option-value-list label span { display: grid; grid-template-columns: 1fr auto; gap: .4rem; }
.display-window { margin-top: 1rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--vendor-accent) 55%, #a7b7bd); border-radius: 1rem; background: color-mix(in srgb, var(--vendor-surface) 70%, white); }
.display-window > h3 { margin-top: 0; }
.display-window-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .75rem; }
.display-window-item { padding: .8rem; border: 1px solid #a7b7bd; border-radius: .8rem; background: white; }
.display-window-item > header { display: flex; align-items: start; justify-content: space-between; gap: .6rem; }
.display-window-item h4, .display-window-item p { margin: 0 0 .5rem; }
.featured-offering-label { padding: .2rem .45rem; border-radius: 999px; color: white; background: var(--trellis); font-size: .72rem; font-weight: 900; }
.display-price-label { color: var(--trellis-deep); font-weight: 950; }
.display-window-options { display: grid; gap: .2rem; margin-top: .55rem; }
.display-window-options span { color: var(--quiet); font-size: .86rem; }
.invite-qr { margin: .5rem auto; color: var(--trellis); font-size: clamp(5rem, 24vw, 10rem); text-align: center; }
.public-document-shelf { display: grid; gap: .7rem; }
.public-document-shelf article { padding: .8rem; border: 1px solid #a7b7bd; border-radius: .8rem; background: white; }
.public-document-shelf h3 { margin: 0 0 .35rem; }
.public-document-shelf p, .document-disclaimer { margin: 0; }
.document-disclaimer { margin-top: 1rem; color: var(--quiet); font-size: .85rem; }
.public-file-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.public-file-links button { min-height: 2.65rem; padding: .48rem .78rem; border: 1px solid var(--living); border-radius: .72rem; color: var(--living); background: white; font-weight: 900; }

/* VC-1P2 connected Vendor furniture. */
.calendar-dashboard { display: grid; gap: 1rem; }
.calendar-dashboard > section, .calendar-actions { padding: 1rem; border: 1px solid #a7b7bd; border-radius: 1rem; background: var(--paper); }
.calendar-next-stop, .calendar-actions { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.calendar-next-stop p, .calendar-actions span { margin: 0; color: var(--quiet); }
.section-kicker { font-size: .72rem; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.calendar-next-stop button, .calendar-actions button, .calendar-item button, .saved-stop button,
.next-stop-confirm button, .health-panel + p button, [data-run-recovery], [data-check-updates] {
  min-height: 2.65rem; padding: .48rem .78rem; border: 1px solid var(--trellis); border-radius: .72rem; background: white; font-weight: 900;
}
.calendar-list, .saved-stop-list { display: grid; gap: .65rem; }
.calendar-item, .saved-stop { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem; border: 1px solid #9fb3bc; border-radius: .8rem; background: #f7f8f5; }
.calendar-item.private { border-style: dashed; }
.calendar-item h3, .calendar-item p, .saved-stop h3, .saved-stop p { margin: .15rem 0; }
.calendar-date { color: var(--trellis); font-size: .82rem; font-weight: 900; }
.calendar-event-form, .headquarters-summary { display: grid; gap: .8rem; }
.calendar-event-form label { display: grid; gap: .3rem; font-weight: 850; }
.calendar-event-form input, .calendar-event-form textarea, .calendar-event-form select,
.calendar-event-form > button { min-height: 2.75rem; border: 1px solid var(--trellis); border-radius: .7rem; color: white; background: var(--trellis); font-weight: 900; }
.next-stop-choices { display: grid; gap: .55rem; }
.next-stop-choices button { display: grid; gap: .25rem; padding: .8rem; border: 2px solid #9fb3bc; border-radius: .8rem; background: white; text-align: left; }
.next-stop-choices button[aria-pressed="true"] { border-color: var(--living); background: #e8f5ec; }
.next-stop-choices span { color: var(--quiet); font-size: .84rem; }
.next-stop-confirm { margin-top: 1rem; padding: .85rem; border: 1px solid var(--living); border-radius: .8rem; background: #e8f5ec; }
.next-stop-confirm button { margin-right: .4rem; }
.fence-preview { display: grid; place-items: center; min-height: 12rem; border-radius: 1rem; background: radial-gradient(circle, #fff 0 12%, rgb(37 107 74 / 18%) 13% 38%, transparent 39%), #e9f1ee; }
.fence-preview span { font-weight: 950; }
.health-panel { display: grid; grid-template-columns: minmax(8rem, auto) 1fr; gap: 0; overflow: hidden; border: 1px solid #a7b7bd; border-radius: .8rem; background: white; }
.health-panel dt, .health-panel dd { margin: 0; padding: .65rem .8rem; border-bottom: 1px solid #d8e0e3; }
.health-panel dt { font-weight: 950; }
.health-panel dd { text-align: right; }
.health-panel .needs-attention { color: var(--locator); font-weight: 900; }

.perspective-flower h2, .settings-flower-heading { display: flex; align-items: center; gap: .5rem; }
.perspective-flower h2 { margin: 0 0 .7rem; }
.flower-options { display: flex; flex-wrap: wrap; gap: .55rem; }
.settings-flower-heading h2 { margin: 0; }
.settings-five-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; margin-top: 1rem; }
.settings-card {
  min-height: 13rem; padding: 1.2rem; border: 2px solid #b87599; border-radius: 1.2rem;
  background: linear-gradient(145deg, #fffdf7, #fff0f7);
}
.settings-card h3 { margin: .45rem 0; color: var(--trellis-deep); }
.settings-flower { color: var(--rose); font-size: 2rem; }
.settings-card-icon { color: var(--rose); font-size: 1.65rem; }
.settings-card button {
  min-height: 2.7rem; padding: .55rem .8rem; border: 1px solid var(--rose);
  border-radius: .75rem; color: white; background: var(--rose); font-weight: 850;
}
.vendor-presentation-settings p { margin-bottom: 0; color: var(--quiet); }
[data-operating-settings-form] { display: grid; gap: .9rem; }
[data-operating-settings-form] > label { display: grid; gap: .3rem; font-weight: 850; }
[data-operating-settings-form] select, [data-operating-settings-form] input[type="time"] {
  min-height: 2.65rem; padding: .45rem .55rem; border: 1px solid #a7b7bd; border-radius: .55rem;
  background: white; color: var(--ink);
}
.settings-hours-row { display: grid; grid-template-columns: minmax(6rem, 1fr) repeat(3, auto); gap: .6rem; align-items: center; padding: .45rem 0; }
.settings-hours-row label { display: flex; align-items: center; gap: .3rem; }

@media (max-width: 40rem) {
  .map-dominant { min-height: 32rem; }
  .destination-content { padding: .75rem; }
  .room-heading p { font-size: .88rem; }
  .desk-layout { grid-template-columns: 1fr; }
  .desk-item-row, .calendar-item, .saved-stop, .calendar-next-stop, .calendar-actions { align-items: stretch; flex-direction: column; }
  .schedule-request { min-height: 2.65rem; }
  .request-pair { grid-template-columns: 1fr; }
  .settings-five-cards { grid-template-columns: 1fr; }
  .settings-hours-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 52rem) {
  .map-layout { grid-template-columns: 1fr; }
  .map-side { grid-template-columns: repeat(2, 1fr); }
  .map-board { min-height: 25rem; }
}

@media (max-width: 40rem) {
  .front-door { gap: .6rem; }
  .horizontal-mark-frame { flex: 1 1 11rem; width: auto; max-width: 13.5rem; }
  .header-tool { padding-inline: .65rem; font-size: .78rem; }
  .destination-stage { min-height: 43rem; border-radius: 1.1rem; }
  .destination-heading { display: block; }
  .role-badge { margin-top: .6rem; }
  .destination-rail { padding: .35rem; border-radius: 1rem; }
  .rail-track { padding-inline: calc(50% - 4rem); }
  .rail-destination { flex-basis: 8rem; width: 8rem; }
  .map-side { grid-template-columns: 1fr; }
  .directory-hero { grid-template-columns: 1fr; }
  .directory-hero label, .directory-summary { grid-column: auto; }
  .experience-hero { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .customer-status-marquee > span { padding-left: 0; animation: none !important; }
}
.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after {
  scroll-behavior: auto !important;
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
}
.reduced-motion .customer-status-marquee > span { padding-left: 0; animation: none !important; }
