/* Nav add-on (Build 36) — merge into shell.css or load after shell.css */
.staff-sidebar-sep {
  height: 1px;
  margin: 0.75rem 0.75rem;
  background: var(--border, #e5e2d9);
  border: 0;
}
button.staff-sidebar-item.staff-sidebar-logout {
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
}
.bn-soon {
  display: inline-block;
  margin-left: 0.15rem;
  padding: 0.05rem 0.3rem;
  font-size: 0.65rem;
  font-weight: 600;
  border-radius: 4px;
  background: var(--soft-bg, #f0eee6);
  color: var(--muted, #6f6b63);
  vertical-align: middle;
}
/* Sidebar: Settings & Privacy / Logout pinned to the bottom, below the separator */
.staff-sidebar-nav { flex: 1 1 auto; }
.staff-sidebar-nav .staff-sidebar-sep { margin-top: auto; }

/* Sidebar rows: badge / "Coming soon" pill sit at the right edge */
.staff-sidebar-item .bn-soon { margin-left: auto; }
/* Closed sidebar must not be tabbable (it is aria-hidden); visibility flips after the slide-out */
.staff-sidebar { visibility: hidden; transition: transform 0.25s ease, visibility 0s linear 0.25s; }
body.sidebar-open .staff-sidebar { visibility: visible; transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .staff-sidebar { transition: none !important; } }

/* Sidebar is links only; the nav column scrolls if the screen is short. */
.staff-sidebar-nav { min-height: 0; overflow-y: auto; }
.staff-sidebar-nav > * { flex: none; }

/* Sidebar brand header: plain round photo + name (links to business profile), + opens locations. No card. */
.sb-brand { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 1.25rem 0.75rem; }
.sb-brand-link, .sb-brand-link:hover, .sb-brand-link:focus-visible, .sb-brand-link.active { display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; min-width: 0; flex: 1 1 auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; outline: none; color: var(--text, #111); text-decoration: none; }
.sb-brand-img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; display: block; }
.sb-brand-ph { display: inline-flex; align-items: center; justify-content: center; background: var(--soft-bg, #f0eee6); color: var(--muted, #6f6b63); font-weight: 700; font-size: 1.2rem; }
.sb-brand-name { max-width: 100%; font-weight: 700; font-size: 1rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sb-brand-plus { flex: none; width: 2.25rem; height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border, #e5e2d9); border-radius: 50%; background: transparent; color: var(--text, #111); cursor: pointer; }
.sb-brand-plus:hover, .sb-brand-plus:focus-visible { background: var(--soft-bg, #f3f4f6); outline: none; }
.loc-sheet { position: fixed; inset: 0; z-index: 500; display: flex; align-items: flex-end; justify-content: center; background: rgba(0,0,0,.4); }
.loc-card { width: 100%; max-width: 480px; box-sizing: border-box; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px)); border-radius: 16px 16px 0 0; background: var(--surface, #fff); color: var(--text, #111); }
.loc-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; }
.loc-x { border: 0; background: transparent; color: inherit; cursor: pointer; padding: 0.25rem; display: inline-flex; }
.loc-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.75rem; margin-bottom: 0.75rem; border: 1px solid var(--border, #e5e2d9); border-radius: 12px; }
.loc-name { flex: 1 1 auto; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 768px) { .loc-sheet { align-items: center; } .loc-card { border-radius: 16px; } }

/* Sidebar payment circle (opens the Terminal app), sits beside the + button */
.sb-brand-pay { position: relative; text-decoration: none; }
.sb-pay-badge {
  position: absolute; top: -0.3rem; right: -0.3rem;
  min-width: 1.05rem; height: 1.05rem; padding: 0 0.25rem; border-radius: 999px;
  background: var(--danger); color: #fff; font-size: 0.62rem; font-weight: 700; line-height: 1.05rem; text-align: center; box-sizing: border-box;
}
.sb-pay-badge.hidden { display: none !important; }

/* Quiet platform credit at the bottom of the sidebar (the header now carries the business photo). */
.sb-powered { flex: none; display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.6rem 1.25rem 0; font-size: 0.75rem; color: var(--muted, #6f6b63); opacity: 0.8; }
.sb-powered img { display: block; width: 16px; height: 16px; border-radius: 4px; }
