#mobile-stream-dashboard-permissions[hidden], [data-card-stripe][hidden] { display:none !important; }
#mobile-stream-control-sheet [data-card-mode][aria-pressed="true"] { background:#111 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
#mobile-stream-control-sheet .mobile-stream-control-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
html body.stream-collect-guest #bottom-nav,
html body.stream-collect-guest #mobile-bottom-nav-underlay { display: none !important; }
#stream-collect-bar { display:none !important; }
#stream-collect-bar[hidden], #stream-collect-bar button[hidden] { display:none; }
body.mobile-stream-fullscreen #stream-collect-bar,
body:has(.stream-feed-player:fullscreen) #stream-collect-bar { display:none !important; }
#stream-collect-bar button { box-sizing:border-box; height:54px; min-height:54px; border:1px solid rgba(255,255,255,.65); background:rgba(255,255,255,.76) !important; background-image:none !important; color:#111 !important; -webkit-text-fill-color:#111 !important; border-radius:999px; font-family:inherit; font-weight:700; box-shadow:0 6px 24px #0002,inset 0 1px 0 #ffffff80; -webkit-backdrop-filter:blur(22px) saturate(150%); backdrop-filter:blur(22px) saturate(150%); pointer-events:auto; cursor:pointer; display:flex; align-items:center; transition:transform .15s; }
#stream-collect-bar button:active { transform:scale(.97); }
#stream-collect-bar button:focus-visible { outline:2px solid #518bff; outline-offset:4px; }
#stream-collect-bar [data-collect] { flex:1; min-width:0; padding:6px 18px 6px 6px; gap:10px; }
#stream-collect-bar .stream-collect-avatar { position:relative; display:grid; place-items:center; overflow:hidden; flex:0 0 40px; width:40px; height:40px; border-radius:50%; background:#ffffff60; font-size:16px; }
#stream-collect-bar .stream-collect-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%; }
#stream-collect-bar .stream-collect-label { flex:1; text-align:left; font-size:14px; line-height:1.2; letter-spacing:0; }
#stream-collect-bar .stream-collect-chevron { width:6px; height:6px; flex:0 0 6px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); opacity:.6; }
#stream-collect-bar [data-chat] { position:relative; flex:0 0 54px; width:54px; padding:0; justify-content:center; font-size:21px; }
#stream-collect-bar .stream-chat-unread { position:absolute; top:2px; right:2px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#f04b2f; color:#fff !important; -webkit-text-fill-color:#fff !important; font-family:inherit; font-size:10px; font-weight:800; letter-spacing:0; line-height:18px; text-align:center; box-shadow:0 0 0 2px rgba(255,255,255,.76); }
#stream-collect-bar .stream-chat-unread[hidden] { display:none; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  #stream-collect-bar button { background:rgba(255,255,255,.95) !important; }
}

html body #stream-collect-bar .stream-collect-label { display:grid; gap:3px; }
html body #stream-collect-bar .stream-collect-label strong { font-size:14px; font-weight:800; }
html body #stream-collect-bar .stream-collect-label small { font-size:11px; color:#737983 !important; -webkit-text-fill-color:#737983 !important; font-weight:500; }
html body #stream-collect-bar button { height:58px; }

/* The collect sheet, in the language of the login sheet and the join page:
   the app's picture across the top with its identity on it, paper below,
   mono eyebrows, filled pills, one black button at the foot. Doubled id and
   !important throughout because the page repaints anything fixed. */
html body #stream-collect-sheet.stream-collect-sheet {
  position:fixed !important; inset:0 !important; width:100% !important; max-width:none !important; height:100% !important; max-height:none !important;
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
  display:flex !important; flex-direction:column !important; overflow:hidden !important;
  background:#FBFBF9 !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; color-scheme:light !important;
  font-family:var(--font-family, Manrope), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
}
html body #stream-collect-sheet:not([open]) { display:none !important; }
html body #stream-collect-sheet::backdrop { background:#0009; }
html body #stream-collect-sheet * { box-sizing:border-box; letter-spacing:0; }
html body #stream-collect-sheet *:not(.fas):not(.sc-bar-title):not(.sc-eyebrow):not(.sc-label):not(.sc-heading small):not([data-pay]):not(.sc-totals span) { font-family:var(--font-family, Manrope), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important; }
html body #stream-collect-sheet .fas { font-family:"Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome !important; font-weight:900 !important; }
html body #stream-collect-sheet [hidden] { display:none !important; }
html body #stream-collect-sheet button { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; filter:none !important; text-shadow:none !important; }

/* Picture on top, identity on it */
html body #stream-collect-sheet .sc-art { position:relative !important; flex:1 1 40vh !important; min-height:250px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; background-color:#111214 !important; background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; overflow:hidden !important; }
html body #stream-collect-sheet .sc-art::after { content:"" !important; position:absolute !important; inset:0 !important; pointer-events:none !important; background:linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,0) 32%, rgba(0,0,0,0) 48%, rgba(0,0,0,.82) 100%) !important; }
html body #stream-collect-sheet .sc-bar { position:relative !important; z-index:1 !important; flex:none !important; display:grid !important; grid-template-columns:1fr auto 1fr !important; align-items:center !important; padding:calc(14px + env(safe-area-inset-top, 0px)) 18px 10px !important; }
html body #stream-collect-sheet [data-close] { justify-self:start !important; float:none !important; width:auto !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:8px 0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; font-size:13px !important; font-weight:600 !important; color:rgba(255,255,255,.86) !important; -webkit-text-fill-color:rgba(255,255,255,.86) !important; cursor:pointer; }
html body #stream-collect-sheet .sc-bar-title { justify-self:center !important; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace !important; font-size:9px !important; font-weight:500 !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:rgba(255,255,255,.72) !important; -webkit-text-fill-color:rgba(255,255,255,.72) !important; white-space:nowrap !important; }
html body #stream-collect-sheet .sc-identity { position:relative !important; z-index:1 !important; padding:0 18px 14px !important; }
html body #stream-collect-sheet .sc-identity-name { display:flex !important; align-items:center !important; gap:10px !important; font-size:calc(34px * var(--identity-scale, 1)) !important; line-height:1.05 !important; font-weight:800 !important; letter-spacing:.02em !important; text-transform:uppercase !important; color:#fff !important; -webkit-text-fill-color:#fff !important; text-shadow:0 1px 12px rgba(0,0,0,.35); }
html body #stream-collect-sheet .sc-identity-name i { font-size:18px !important; color:#22C55E !important; -webkit-text-fill-color:#22C55E !important; }
html body #stream-collect-sheet .sc-identity-role { display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:8px !important; margin-top:6px !important; font-size:13px !important; font-weight:500 !important; }
html body #stream-collect-sheet .sc-identity-role span, html body #stream-collect-sheet .sc-identity-org span { color:rgba(255,255,255,.84) !important; -webkit-text-fill-color:rgba(255,255,255,.84) !important; }
html body #stream-collect-sheet .sc-identity-role i { width:4px !important; height:4px !important; border-radius:50% !important; background:rgba(255,255,255,.5) !important; display:inline-block !important; }
html body #stream-collect-sheet .sc-identity-rule { height:1px !important; margin:12px 0 !important; border:0 !important; background:rgba(255,255,255,.22) !important; }
html body #stream-collect-sheet .sc-identity-org { display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:10px !important; font-size:13px !important; font-weight:500 !important; }
html body #stream-collect-sheet .sc-identity-place { display:inline-flex !important; align-items:center !important; gap:5px !important; }
html body #stream-collect-sheet .sc-identity-place i { font-size:12px !important; color:rgba(255,255,255,.86) !important; -webkit-text-fill-color:rgba(255,255,255,.86) !important; }

/* The paper below */
html body #stream-collect-sheet .sc-body { flex:none !important; display:flex !important; flex-direction:column !important; gap:12px !important; padding:16px 18px 8px !important; }
html body #stream-collect-sheet .sc-heading { display:flex !important; flex-direction:column !important; gap:4px !important; }
html body #stream-collect-sheet .sc-heading small { display:none !important; }
html body #stream-collect-sheet h2 { margin:0 2px !important; font-size:26px !important; line-height:1.1 !important; font-weight:800 !important; letter-spacing:-.03em !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; }
html body #stream-collect-sheet p { margin:0 !important; font-size:12.5px !important; line-height:1.45 !important; font-weight:500 !important; color:#63635F !important; -webkit-text-fill-color:#63635F !important; }
html body #stream-collect-sheet .sc-card-intro { display:flex !important; gap:14px !important; align-items:center !important; margin:2px 0 0 !important; padding:12px !important; border:1px solid #EAEAE6 !important; border-radius:18px !important; background:#fff !important; box-shadow:0 1px 2px rgba(17,18,20,.03) !important; }
html body #stream-collect-sheet .sc-card-intro > img { width:78px !important; height:100px !important; flex:none !important; border-radius:14px !important; object-fit:cover !important; background:#111214 !important; }
html body #stream-collect-sheet .sc-card-intro > div { min-width:0 !important; display:flex !important; flex-direction:column !important; gap:4px !important; }
html body #stream-collect-sheet .sc-card-intro strong { font-size:15px !important; font-weight:800 !important; letter-spacing:-.01em !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; }
html body #stream-collect-sheet .sc-benefits { list-style:none !important; padding:0 !important; margin:4px 0 0 !important; display:grid !important; gap:6px !important; }
html body #stream-collect-sheet .sc-benefits li { display:flex !important; align-items:center !important; gap:8px !important; font-size:12.5px !important; font-weight:600 !important; line-height:1.35 !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; }
html body #stream-collect-sheet .sc-benefits li::before { content:'✓' !important; flex:none !important; width:20px !important; height:20px !important; border-radius:7px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; background:rgba(15,191,164,.14) !important; color:#0B8F7B !important; -webkit-text-fill-color:#0B8F7B !important; font-size:11px !important; font-weight:800 !important; margin:0 !important; }
html body #stream-collect-sheet .sc-eyebrow, html body #stream-collect-sheet .sc-label { margin:6px 4px 0 !important; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace !important; font-size:9px !important; font-weight:500 !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:#70706B !important; -webkit-text-fill-color:#70706B !important; }

/* One-time / Monthly: the same two-pill track as Log in / Become a member */
html body #stream-collect-sheet .stream-collect-frequency { margin:0 !important; display:flex !important; flex-direction:column !important; gap:10px !important; }
html body #stream-collect-sheet .sc-frequency-tabs { display:grid !important; grid-template-columns:1fr 1fr !important; gap:4px !important; padding:4px !important; border-radius:999px !important; background:#EFEFEB !important; }
html body #stream-collect-sheet .sc-frequency-tabs button { height:38px !important; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:999px !important; background:transparent !important; box-shadow:none !important; font-size:13px !important; font-weight:700 !important; color:#63635F !important; -webkit-text-fill-color:#63635F !important; cursor:pointer; }
html body #stream-collect-sheet .sc-frequency-tabs button[aria-pressed="true"] { background:#111214 !important; color:#FBFBF9 !important; -webkit-text-fill-color:#FBFBF9 !important; box-shadow:0 6px 14px -8px rgba(17,18,20,.5) !important; }
html body #stream-collect-sheet .stream-collect-frequency p { margin:0 4px !important; }
html body #stream-collect-sheet .sc-manage { margin:0 !important; }
html body #stream-collect-sheet .sc-manage summary { font-size:12.5px !important; font-weight:700 !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; cursor:pointer; padding:2px 4px !important; }
html body #stream-collect-sheet .sc-manage button { display:block !important; width:100% !important; height:44px !important; margin:8px 0 0 !important; padding:0 14px !important; border:1px solid #EAEAE6 !important; border-radius:14px !important; background:#fff !important; font-size:13px !important; font-weight:700 !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; }

/* Amount pills and the other-amount field */
html body #stream-collect-sheet .stream-collect-amounts { display:grid !important; grid-template-columns:repeat(3, 1fr) !important; gap:8px !important; margin:0 !important; }
html body #stream-collect-sheet .stream-collect-amounts button { height:50px !important; margin:0 !important; padding:0 !important; border:1.5px solid #EAEAE6 !important; border-radius:16px !important; background:#fff !important; font-size:15px !important; font-weight:800 !important; letter-spacing:-.01em !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; cursor:pointer; }
html body #stream-collect-sheet .stream-collect-amounts button[aria-pressed="true"] { background:#111214 !important; border-color:#111214 !important; color:#FBFBF9 !important; -webkit-text-fill-color:#FBFBF9 !important; }
html body #stream-collect-sheet .sc-custom { display:flex !important; flex-direction:column !important; gap:6px !important; margin:0 !important; }
html body #stream-collect-sheet .sc-field { display:flex !important; align-items:center !important; gap:8px !important; height:52px !important; padding:0 16px !important; border-radius:16px !important; background:#F4F4F1 !important; }
html body #stream-collect-sheet .sc-field b { font-size:16px !important; font-weight:700 !important; color:#63635F !important; -webkit-text-fill-color:#63635F !important; }
html body #stream-collect-sheet input { flex:1 1 auto !important; width:auto !important; min-width:0 !important; height:100% !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; outline:none !important; box-shadow:none !important; background:transparent !important; font-size:16px !important; font-weight:600 !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; caret-color:#111214 !important; -webkit-appearance:none !important; appearance:none !important; }
html body #stream-collect-sheet input:disabled { color:#8A8A84 !important; -webkit-text-fill-color:#8A8A84 !important; }

/* Totals as the plan card */
html body #stream-collect-sheet .sc-totals { display:flex !important; flex-direction:column !important; gap:8px !important; margin:0 !important; padding:14px !important; border:1.5px solid #111214 !important; border-radius:18px !important; background:#fff !important; }
html body #stream-collect-sheet .sc-totals > div { display:flex !important; align-items:baseline !important; justify-content:space-between !important; gap:12px !important; }
html body #stream-collect-sheet .sc-totals span { font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace !important; font-size:10px !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:#70706B !important; -webkit-text-fill-color:#70706B !important; }
html body #stream-collect-sheet .sc-totals strong { font-size:14px !important; font-weight:700 !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; }
html body #stream-collect-sheet .sc-totals-grand { padding-top:8px !important; border-top:1px solid #EFEFEB !important; }
html body #stream-collect-sheet .sc-totals-grand strong { font-size:22px !important; font-weight:800 !important; letter-spacing:-.03em !important; }
html body #stream-collect-sheet .sc-totals-grand span { color:#111214 !important; -webkit-text-fill-color:#111214 !important; }
html body #stream-collect-sheet [data-payment] { margin:0 !important; }
html body #stream-collect-sheet [data-payment]:not(:empty) { margin-top:4px !important; }
html body #stream-collect-sheet [data-status] { margin:0 4px !important; font-size:11.5px !important; color:#8A8A84 !important; -webkit-text-fill-color:#8A8A84 !important; }
html body #stream-collect-sheet [data-status]:empty { display:none !important; }

/* The foot: Apple Pay when it can, then the one black button */
html body #stream-collect-sheet .sc-footer { flex:none !important; margin-top:auto !important; display:flex !important; flex-direction:column !important; gap:10px !important; padding:10px 18px calc(14px + env(safe-area-inset-bottom, 0px)) !important; background:linear-gradient(180deg, rgba(251,251,249,0), #FBFBF9 30%) !important; }
html body #stream-collect-sheet [data-apple-pay] { min-height:44px !important; }
html body #stream-collect-sheet button[data-pay], html body #stream-collect-sheet button[data-pay]:disabled { display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:54px !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:16px !important; background:#111214 !important; box-shadow:0 12px 24px -12px rgba(17,18,20,.55) !important; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace !important; font-size:12px !important; font-weight:500 !important; letter-spacing:.22em !important; text-transform:uppercase !important; color:#FBFBF9 !important; -webkit-text-fill-color:#FBFBF9 !important; cursor:pointer; }
html body #stream-collect-sheet button[data-pay]:disabled { opacity:.55 !important; }
html body #stream-collect-sheet [data-recover] { width:auto !important; height:auto !important; margin:0 auto !important; padding:6px 0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; font-size:12.5px !important; font-weight:700 !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; }
html body #stream-collect-sheet .sc-footer small { text-align:center !important; font-size:11px !important; color:#8A8A84 !important; -webkit-text-fill-color:#8A8A84 !important; }

/* The whole page scrolls as one, hero and all, so the foot never covers the form. */
html body #stream-collect-sheet.stream-collect-sheet { overflow:hidden auto !important; }
/* The picture takes whatever the content leaves, as on the login sheet: a
   short free sheet gets a taller photo instead of a run of blank paper. */
html body #stream-collect-sheet .sc-art { flex:1 1 40vh !important; height:auto !important; min-height:40vh !important; }

/* The dialog hands focus to Not now on open; no ring for a tap. Spinner off
   the amount field. */
html body #stream-collect-sheet [data-close]:focus, html body #stream-collect-sheet [data-close]:focus-visible { outline:none !important; box-shadow:none !important; }
html body #stream-collect-sheet input::-webkit-inner-spin-button, html body #stream-collect-sheet input::-webkit-outer-spin-button { -webkit-appearance:none !important; appearance:none !important; margin:0 !important; }
html body #stream-collect-sheet input[type="number"] { -moz-appearance:textfield !important; }

/* What you get, with the card preview folded under it */
html body #stream-collect-sheet .sc-perks { display:flex !important; flex-direction:column !important; gap:10px !important; padding:14px !important; border:1px solid #EAEAE6 !important; border-radius:18px !important; background:#fff !important; box-shadow:0 1px 2px rgba(17,18,20,.03) !important; }
html body #stream-collect-sheet .sc-perks .sc-benefits { margin:0 !important; gap:9px !important; }
html body #stream-collect-sheet .sc-perks .sc-benefits li { font-size:13.5px !important; font-weight:700 !important; }
html body #stream-collect-sheet .sc-preview-btn { display:flex !important; align-items:center !important; justify-content:space-between !important; width:100% !important; height:52px !important; margin:0 !important; padding:0 16px 0 18px !important; border:1.5px solid #111214 !important; border-radius:16px !important; background:#fff !important; box-shadow:0 1px 2px rgba(17,18,20,.04) !important; cursor:pointer; }
html body #stream-collect-sheet .sc-preview-btn span { font-size:14.5px !important; font-weight:800 !important; letter-spacing:-.01em !important; color:#111214 !important; -webkit-text-fill-color:#111214 !important; }
html body #stream-collect-sheet .sc-preview-btn i { font-style:normal !important; font-size:18px !important; line-height:1 !important; color:#63635F !important; -webkit-text-fill-color:#63635F !important; }
html body #stream-collect-sheet .sc-preview { margin:0 !important; }
/* The pass front inside the sheet: the dashboard stylesheet draws it; these
   keep the page's repaint off its ink and size it to the sheet. */
html body #stream-collect-sheet .sd-wallet-face { margin:0 !important; max-width:none !important; }
html body #stream-collect-sheet .sd-wallet-face * { color:var(--wallet-ink,#fff) !important; -webkit-text-fill-color:var(--wallet-ink,#fff) !important; }
html body #stream-collect-sheet .sd-wallet-face small { color:var(--wallet-label,#d1d1d6) !important; -webkit-text-fill-color:var(--wallet-label,#d1d1d6) !important; }
html body #stream-collect-sheet .sd-wallet-field span { font-weight:400 !important; }

/* The number, loud: this is the one thing about the card that is theirs alone. */
html body #stream-collect-sheet .sc-number { display:flex !important; align-items:center !important; gap:14px !important; padding:14px 16px !important; border-radius:18px !important; background:#111214 !important; box-shadow:0 12px 24px -14px rgba(17,18,20,.6) !important; }
html body #stream-collect-sheet .sc-number b { flex:none !important; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace !important; font-size:26px !important; font-weight:600 !important; letter-spacing:-.02em !important; color:#FBFBF9 !important; -webkit-text-fill-color:#FBFBF9 !important; white-space:nowrap !important; }
html body #stream-collect-sheet .sc-number span { font-size:12px !important; line-height:1.4 !important; font-weight:500 !important; color:rgba(255,255,255,.72) !important; -webkit-text-fill-color:rgba(255,255,255,.72) !important; }
html body #stream-collect-sheet .sc-number strong { font-weight:800 !important; color:#FBFBF9 !important; -webkit-text-fill-color:#FBFBF9 !important; }
/* And on the pass itself */
html body #stream-collect-sheet .sd-wallet-face header .sd-wallet-field span { font-size:26px !important; font-weight:800 !important; line-height:1 !important; }
html body #stream-collect-sheet .sd-wallet-face header .sd-wallet-field { align-items:flex-end !important; }

/* Free card: Google Wallet on the left, Apple Wallet on the right. */
html body #stream-collect-sheet .sc-wallets { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:10px !important; }
html body #stream-collect-sheet .sc-wallet-badge, html body #stream-collect-sheet .sc-wallet-badge:disabled { display:flex !important; align-items:center !important; justify-content:center !important; flex:1 1 0 !important; min-width:0 !important; width:auto !important; height:50px !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; cursor:pointer; }
html body #stream-collect-sheet .sc-wallet-badge:disabled { opacity:.55 !important; }
html body #stream-collect-sheet .sc-wallet-badge img { width:auto !important; height:100% !important; max-width:100% !important; object-fit:contain !important; }

/* Last word on hidden: the component rules above set display with !important
   at the same weight, so this one carries the class too and comes last. */
html body #stream-collect-sheet.stream-collect-sheet [hidden], html body #stream-collect-sheet.stream-collect-sheet .sc-footer [hidden] { display:none !important; }

/* The secure card form is present at first checkout; no nested choice sheet. */
.stream-collect-sheet [data-payment] { margin: 18px 0 4px; min-width: 0; }
.stream-collect-sheet [data-apple-pay] { margin: 18px 0 12px; }
.stream-collect-sheet .sc-preview { margin-bottom: 20px; }
.stream-collect-sheet .sc-receipt { text-align: center; padding: 8px 0 12px; }
.stream-collect-sheet .sc-receipt h2 { margin: 8px 0 12px; font-size: 29px; letter-spacing: -.035em; }
.stream-collect-sheet .sc-receipt-check { width: 46px; height: 46px; display: grid; place-items: center; margin: 0 auto 16px; border-radius: 50%; background: #dcfce7; color: #166534; font-size: 26px; }
.stream-collect-sheet .sc-receipt-total { display: block; font-size: 26px; margin: 6px 0; }
.stream-collect-sheet .sc-receipt > p { font-size: 13px; line-height: 1.5; }
.stream-collect-sheet .sc-receipt h3 { margin-top: 24px; font-size: 15px; text-align: left; }
.stream-collect-sheet .sc-receipt .sc-benefits { text-align: left; }
.stream-collect-sheet .sc-receipt-preview { margin: 22px auto; max-width: 320px; }
.stream-collect-sheet .sc-receipt-preview .sd-wallet-face { width: 100%; box-sizing: border-box; }

html body #stream-collect-sheet.is-receipt .sc-art { flex: 0 0 160px !important; min-height: 160px !important; max-height: 160px !important; }
html body #stream-collect-sheet.is-receipt .sc-identity-name { font-size: calc(24px * var(--identity-scale, 1)) !important; }
html body #stream-collect-sheet.is-receipt .sc-identity-role { font-size: 11px !important; margin-top: 3px !important; }
html body #stream-collect-sheet.is-receipt .sc-identity-org, html body #stream-collect-sheet.is-receipt .sc-identity-rule { display: none !important; }
html body #stream-collect-sheet .sc-receipt-meta { overflow-wrap: anywhere; opacity: .65; font-size: 11px; }

/* Deliveries on the Map tab: the truck pill on the map, the owner's
   Deliveries section in the map control center, the customer's request
   sheet (composer look) and the tracking card (placeSheet look).
   Ids avoid "modal"/"sheet"/"panel" so the blanket repainters skip them;
   the leaf selectors carry an id and !important because the light theme
   forces black onto every leaf element. */

/* ---- map markers ------------------------------------------------------- */
.dlv-marker-icon { background: transparent !important; border: 0 !important; }
.dlv-driver-marker {
  width: 52px; height: 52px; border-radius: 50%; background: #fff; padding: 3px; overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.28), 0 0 0 3px #0FBFA4; display: flex; align-items: center; justify-content: center;
}
.dlv-driver-marker img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.dlv-driver-marker i { color: #0FBFA4 !important; -webkit-text-fill-color: #0FBFA4 !important; font-size: 20px; }
.dlv-drop-marker {
  width: 40px; height: 40px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #111214;
  box-shadow: 0 6px 16px rgba(0,0,0,.3); display: flex; align-items: center; justify-content: center;
}
.dlv-drop-marker i { transform: rotate(45deg); color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: 15px; }
/* the light theme forces stroke/fill black on every element under body; the route line needs its own colour. */
html body #mobile-map path.dlv-route { stroke: #0FBFA4 !important; fill: none !important; stroke-opacity: .95 !important; }

/* ---- the pill on the map ---------------------------------------------- */
html body #map-delivery-pill {
  /* sits above the centred search pill (which spans ~44px above the nav). */
  position: fixed; left: 16px; bottom: calc(170px + env(safe-area-inset-bottom, 0px)); z-index: 9990;
  display: flex; align-items: center; gap: 10px; height: 54px; padding: 6px 16px 6px 6px; max-width: min(72vw, 300px);
  border: 1px solid rgba(255,255,255,.65); border-radius: 999px; cursor: pointer;
  background: rgba(255,255,255,.82) !important; background-image: none !important;
  color: #111 !important; -webkit-text-fill-color: #111 !important;
  box-shadow: 0 6px 24px #0002, inset 0 1px 0 #ffffff80;
  -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%);
  font-family: var(--font-family, Manrope), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  text-align: left; transition: transform .15s;
}
html body #map-delivery-pill[hidden] { display: none !important; }
html body #map-delivery-pill:active { transform: scale(.97); }
html body #map-delivery-pill .dlv-pill-icon {
  flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: #111214 !important; display: grid; place-items: center;
}
html body #map-delivery-pill .dlv-pill-icon i { color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: 16px; }
html body #map-delivery-pill .dlv-pill-text { display: grid; gap: 2px; min-width: 0; }
html body #map-delivery-pill .dlv-pill-text strong { font-size: 14px; font-weight: 800; letter-spacing: 0; color: #111 !important; -webkit-text-fill-color: #111 !important; white-space: nowrap; }
html body #map-delivery-pill .dlv-pill-text small { font-size: 11px; font-weight: 500; color: #63635F !important; -webkit-text-fill-color: #63635F !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body #map-delivery-pill .dlv-pill-text small:empty { display: none; }

/* ---- owner section in the control center (mapctl palette) -------------- */
#map-control-section-deliveries .dlv-driver { display: flex; align-items: center; gap: 12px; }
#map-control-section-deliveries .dlv-driver-copy { flex: 1; min-width: 0; display: grid; gap: 3px; }
#map-control-section-deliveries .dlv-driver-copy strong { font-size: 15px; font-weight: 800; color: var(--mapctl-text); }
#map-control-section-deliveries .dlv-driver-copy small { font-size: 11px; font-weight: 500; color: var(--mapctl-muted); line-height: 1.35; }
#map-control-section-deliveries .dlv-toggle {
  flex: 0 0 auto; padding: 12px 16px; border-radius: 999px; border: 1px solid var(--mapctl-border); cursor: pointer;
  background: var(--primary-color); color: #fff; font-weight: 800; font-size: 12px; letter-spacing: .02em;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
#map-control-section-deliveries .dlv-toggle.is-on { background: var(--mapctl-surface-glass); color: var(--mapctl-text); }
#map-control-section-deliveries .dlv-driver.is-online { box-shadow: inset 0 0 0 1px #0FBFA4; }
#map-control-section-deliveries .dlv-label-gap { margin-top: 18px; }
#map-control-section-deliveries .dlv-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--primary-color); color: #fff; font-size: 10px; }
#map-control-section-deliveries .dlv-list { display: grid; gap: 10px; }
#map-control-section-deliveries .dlv-empty, #map-control-section-deliveries .dlv-notice { font-size: 12px; font-weight: 500; color: var(--mapctl-muted); padding: 4px 2px; line-height: 1.4; }
#map-control-section-deliveries .dlv-job { display: grid; gap: 8px; padding: 14px; }
#map-control-section-deliveries .dlv-job-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
#map-control-section-deliveries .dlv-job-who { display: grid; gap: 2px; min-width: 0; }
#map-control-section-deliveries .dlv-job-who strong { font-size: 15px; font-weight: 800; color: var(--mapctl-text); }
#map-control-section-deliveries .dlv-job-phone { font-size: 11px; font-weight: 600; color: var(--mapctl-muted); text-decoration: none; display: inline-flex; gap: 5px; align-items: center; }
#map-control-section-deliveries .dlv-status { flex: 0 0 auto; padding: 4px 8px; border-radius: 999px; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; background: rgba(var(--primary-rgb), .12); color: var(--mapctl-text); }
#map-control-section-deliveries .dlv-status--en_route { background: rgba(15,191,164,.18); }
#map-control-section-deliveries .dlv-status--delivered { background: rgba(15,191,164,.28); }
#map-control-section-deliveries .dlv-status--cancelled, #map-control-section-deliveries .dlv-status--declined { opacity: .6; }
html body #map-style-menu #map-control-section-deliveries .dlv-job-where {
  background: transparent !important; box-shadow: none !important; border: 0 !important;
}
#map-control-section-deliveries .dlv-job-where {
  display: flex; align-items: flex-start; gap: 8px; padding: 0; border: 0; background: transparent; cursor: pointer; text-align: left;
  font-size: 13px; font-weight: 600; color: var(--mapctl-text); line-height: 1.35; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
#map-control-section-deliveries .dlv-job-where i { color: var(--primary-color); margin-top: 2px; font-size: 12px; }
#map-control-section-deliveries .dlv-job-note { font-size: 12px; font-weight: 500; color: var(--mapctl-muted); line-height: 1.4; white-space: pre-wrap; }
#map-control-section-deliveries .dlv-job-meta { display: flex; flex-wrap: wrap; gap: 6px; }
#map-control-section-deliveries .dlv-job-meta span { font-size: 10px; font-weight: 800; color: var(--mapctl-muted); padding: 3px 7px; border-radius: 999px; background: var(--mapctl-surface); }
#map-control-section-deliveries .dlv-job-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
#map-control-section-deliveries .dlv-recent { margin-top: 16px; }
#map-control-section-deliveries .dlv-recent summary { cursor: pointer; font-size: 11px; font-weight: 700; color: var(--mapctl-muted); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; }
#map-control-section-deliveries .dlv-recent .dlv-job { opacity: .75; }

/* shared small buttons (owner section, guest card, tracking card) */
.dlv-btn {
  flex: 1 1 auto; min-height: 42px; padding: 10px 14px; border-radius: 12px; cursor: pointer; font-size: 13px; font-weight: 800;
  border: 1px solid var(--mapctl-border, rgba(0,0,0,.1)); background: var(--mapctl-surface-glass, rgba(255,255,255,.7)); color: var(--mapctl-text, #111);
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.dlv-btn--primary { background: var(--primary-color, #111); color: #fff; border-color: transparent; }
.dlv-btn--quiet { flex: 0 0 auto; background: transparent; }
.dlv-btn:active { transform: scale(.97); }

/* guest card at the top of the Styles section */
#dlv-guest-card { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
#dlv-guest-card .dlv-guest-copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
#dlv-guest-card .dlv-guest-copy strong { font-size: 15px; font-weight: 800; color: var(--mapctl-text); }
#dlv-guest-card .dlv-guest-copy small { font-size: 11px; font-weight: 500; color: var(--mapctl-muted); }
#dlv-guest-card .dlv-btn { flex: 0 0 auto; padding: 10px 18px; }

/* ---- customer request sheet (composer look) ---------------------------- */
html body #delivery-request.dlv-request {
  position: fixed !important; inset: 0 !important; width: 100% !important; max-width: none !important; height: 100% !important; max-height: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  display: flex !important; flex-direction: column !important; overflow: hidden !important;
  background: #FBFBF9 !important; color: #111214 !important; -webkit-text-fill-color: #111214 !important; color-scheme: light !important;
  font-family: var(--font-family, Manrope), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
  z-index: 250000 !important;
}
html body #delivery-request:not([open]) { display: none !important; }
html body #delivery-request::backdrop { background: #0009; }
html body #delivery-request * { box-sizing: border-box; letter-spacing: 0; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html body #delivery-request :where(*):not(.fas) { font-family: var(--font-family, Manrope), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; }
html body #delivery-request .fas { font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important; font-weight: 900 !important; }
html body #delivery-request .dlv-eyebrow, html body #delivery-request .dlv-bar-title small, html body #delivery-request .dlv-submit {
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace !important;
}
html body #delivery-request .dlv-bar {
  flex: 0 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px;
  padding: calc(12px + env(safe-area-inset-top, 0px)) 16px 12px; border-bottom: 1px solid #EAEAE6; background: #FBFBF9 !important;
}
html body #delivery-request .dlv-bar-cancel { justify-self: start; border: 0 !important; box-shadow: none !important; outline: none !important; background: transparent !important; padding: 8px 0; font-size: 15px; font-weight: 600; color: #63635F !important; -webkit-text-fill-color: #63635F !important; cursor: pointer; }
html body #delivery-request .dlv-bar-title { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; color: #111214 !important; -webkit-text-fill-color: #111214 !important; white-space: nowrap; background: transparent !important; }
html body #delivery-request .dlv-bar-title small { font-size: 9px; letter-spacing: .14em; color: #8A8A84 !important; -webkit-text-fill-color: #8A8A84 !important; background: transparent !important; }
html body #delivery-request .dlv-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 18px 16px 24px; display: grid; gap: 16px; align-content: start; }
html body #delivery-request .dlv-from { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 18px; background: #fff !important; border: 1px solid #EAEAE6; }
html body #delivery-request .dlv-from-avatar { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; overflow: hidden; background: #EDEDE8 !important; display: grid; place-items: center; }
html body #delivery-request .dlv-from-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body #delivery-request .dlv-from-avatar i { color: #63635F !important; -webkit-text-fill-color: #63635F !important; }
html body #delivery-request .dlv-from-copy { display: grid; gap: 2px; min-width: 0; }
html body #delivery-request .dlv-from-copy strong { font-size: 16px; font-weight: 800; color: #111214 !important; -webkit-text-fill-color: #111214 !important; background: transparent !important; }
html body #delivery-request .dlv-from-copy small { font-size: 11px; font-weight: 500; color: #70706B !important; -webkit-text-fill-color: #70706B !important; }
html body #delivery-request .dlv-from-copy small.is-online { color: #0FBFA4 !important; -webkit-text-fill-color: #0FBFA4 !important; font-weight: 700; }
html body #delivery-request .dlv-eyebrow { display: block; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: #8A8A84 !important; -webkit-text-fill-color: #8A8A84 !important; margin: 0 0 8px 2px; background: transparent !important; }
html body #delivery-request .dlv-optional { text-transform: none; letter-spacing: 0; color: #B0B0AA !important; -webkit-text-fill-color: #B0B0AA !important; }
html body #delivery-request .dlv-field { position: relative; display: block; }
html body #delivery-request .dlv-search { position: relative; display: flex; gap: 8px; align-items: stretch; }
html body #delivery-request .dlv-search input { flex: 1; min-width: 0; }
html body #delivery-request input#dlv-dropoff, html body #delivery-request input#dlv-name, html body #delivery-request input#dlv-phone, html body #delivery-request textarea#dlv-note {
  width: 100%; min-height: 52px; padding: 14px 16px; border-radius: 16px; border: 1px solid #EAEAE6 !important; outline: none;
  background: #fff !important; color: #111214 !important; -webkit-text-fill-color: #111214 !important; font-size: 16px; font-weight: 500;
  -webkit-appearance: none; appearance: none; box-shadow: none !important; resize: none;
}
html body #delivery-request input::placeholder, html body #delivery-request textarea::placeholder { color: #A5A5A0 !important; -webkit-text-fill-color: #A5A5A0 !important; }
html body #delivery-request input:focus, html body #delivery-request textarea:focus { border-color: #111214 !important; }
html body #delivery-request .dlv-locate { flex: 0 0 52px; width: 52px; border-radius: 16px; border: 1px solid #EAEAE6; background: #fff !important; cursor: pointer; display: grid; place-items: center; }
html body #delivery-request .dlv-locate i { color: #111214 !important; -webkit-text-fill-color: #111214 !important; font-size: 16px; }
html body #delivery-request .dlv-suggest { display: grid; gap: 2px; margin-top: 6px; border: 1px solid #EAEAE6; border-radius: 16px; background: #fff !important; overflow: hidden; }
html body #delivery-request .dlv-suggest[hidden] { display: none !important; }
html body #delivery-request .dlv-suggest button { display: flex; gap: 10px; align-items: flex-start; width: 100%; padding: 12px 14px; border: 0; background: #fff !important; text-align: left; cursor: pointer; font-size: 13px; font-weight: 500; line-height: 1.35; color: #111214 !important; -webkit-text-fill-color: #111214 !important; }
html body #delivery-request .dlv-suggest button + button { border-top: 1px solid #F1F1ED; }
html body #delivery-request .dlv-suggest button i { color: #8A8A84 !important; -webkit-text-fill-color: #8A8A84 !important; margin-top: 2px; font-size: 12px; }
html body #delivery-request .dlv-picked { display: flex; gap: 8px; align-items: center; margin-top: 8px; font-size: 12px; font-weight: 700; color: #0FBFA4 !important; -webkit-text-fill-color: #0FBFA4 !important; }
html body #delivery-request .dlv-picked[hidden] { display: none !important; }
html body #delivery-request .dlv-picked i { color: #0FBFA4 !important; -webkit-text-fill-color: #0FBFA4 !important; }
html body #delivery-request .dlv-status { margin: 0; min-height: 1em; font-size: 12px; font-weight: 600; color: #C0392B !important; -webkit-text-fill-color: #C0392B !important; background: transparent !important; }
html body #delivery-request .dlv-footer { flex: 0 0 auto; padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #EAEAE6; background: #FBFBF9 !important; }
html body #delivery-request .dlv-submit {
  width: 100%; height: 54px; border-radius: 16px; border: 0; cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  background: #EDEDE8 !important; color: #8A8A84 !important; -webkit-text-fill-color: #8A8A84 !important; transition: background .2s, color .2s;
}
html body #delivery-request .dlv-submit.is-ready { background: #111214 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body #delivery-request .dlv-submit:disabled:not(.is-ready) { cursor: default; }

/* ---- customer tracking card (placeSheet look) -------------------------- */
html body #delivery-track.dlv-track,
html body #delivery-drive.dlv-drive,
html body #delivery-queue.dlv-queue {
  position: fixed; left: 50%; bottom: calc(66px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%);
  width: min(560px, calc(100vw - 20px)); z-index: 10060; padding: 0 18px 16px; display: grid; gap: 12px;
  background: rgba(255,255,255,.94) !important; color: #111214 !important; -webkit-text-fill-color: #111214 !important;
  border: 1px solid rgba(15,23,42,.08); border-radius: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.18), 0 4px 16px rgba(0,0,0,.08);
  -webkit-backdrop-filter: blur(22px) saturate(180%); backdrop-filter: blur(22px) saturate(180%);
  font-family: var(--font-family, Manrope), -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}
html body #delivery-track[hidden] { display: none !important; }
html body #delivery-track * { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html body #delivery-track .fas { font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important; font-weight: 900 !important; }
html body #delivery-track .dlv-track-grab { width: 40px; height: 4px; border-radius: 999px; background: rgba(0,0,0,.18) !important; margin: 10px auto 0; }
html body #delivery-track .dlv-track-head { display: flex; align-items: center; gap: 12px; }
html body #delivery-track .dlv-track-avatar { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; background: #EDEDE8 !important; display: grid; place-items: center; box-shadow: 0 0 0 2px #0FBFA4; }
html body #delivery-track .dlv-track-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body #delivery-track .dlv-track-avatar i { color: #63635F !important; -webkit-text-fill-color: #63635F !important; }
html body #delivery-track .dlv-track-copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
html body #delivery-track .dlv-track-copy strong { font-size: 19px; font-weight: 800; letter-spacing: -.01em; color: #111214 !important; -webkit-text-fill-color: #111214 !important; background: transparent !important; }
html body #delivery-track .dlv-track-copy small { font-size: 12px; font-weight: 500; color: #63635F !important; -webkit-text-fill-color: #63635F !important; line-height: 1.35; }
html body #delivery-track .dlv-track-close { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid #EAEAE6; background: #fff !important; cursor: pointer; display: grid; place-items: center; }
html body #delivery-track .dlv-track-close i { color: #111214 !important; -webkit-text-fill-color: #111214 !important; font-size: 12px; }
html body #delivery-track .dlv-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
html body #delivery-track .dlv-steps li { display: grid; gap: 6px; }
html body #delivery-track .dlv-steps li::before { content: ""; height: 4px; border-radius: 999px; background: #EDEDE8; }
html body #delivery-track .dlv-steps li.is-done::before, html body #delivery-track .dlv-steps li.is-now::before { background: #0FBFA4; }
html body #delivery-track .dlv-steps li span { font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #A5A5A0 !important; -webkit-text-fill-color: #A5A5A0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body #delivery-track .dlv-steps li.is-now span { color: #111214 !important; -webkit-text-fill-color: #111214 !important; }
html body #delivery-track .dlv-track-where { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; font-weight: 600; line-height: 1.35; color: #111214 !important; -webkit-text-fill-color: #111214 !important; }
html body #delivery-track .dlv-track-where i { color: #111214 !important; -webkit-text-fill-color: #111214 !important; margin-top: 2px; font-size: 12px; }
html body #delivery-track .dlv-track-actions { display: flex; gap: 8px; }
html body #delivery-track .dlv-track-actions:empty { display: none; }
html body #delivery-track .dlv-btn { background: #fff !important; color: #111214 !important; -webkit-text-fill-color: #111214 !important; border-color: #EAEAE6; }
html body #delivery-track .dlv-btn--primary { background: #111214 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body #delivery-track .dlv-btn--quiet { background: transparent !important; color: #63635F !important; -webkit-text-fill-color: #63635F !important; border-color: transparent; }

/* locked notice in the owner section (no owner session yet) */
#map-control-section-deliveries .dlv-notice { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
#map-control-section-deliveries .dlv-unlock { flex: 0 0 auto; min-height: 36px; padding: 8px 14px; }

/* ---- owner drive card (one tap Start, then the map follows you) --------- */
html body #delivery-drive.dlv-drive { z-index: 10061; }
html body #delivery-drive[hidden] { display: none !important; }
html body #delivery-drive * { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html body #delivery-drive .fas { font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important; font-weight: 900 !important; }
html body #delivery-drive .dlv-track-grab { width: 40px; height: 4px; border-radius: 999px; background: rgba(0,0,0,.18) !important; margin: 10px auto 0; }
html body #delivery-drive .dlv-track-head { display: flex; align-items: center; gap: 12px; }
html body #delivery-drive .dlv-track-avatar { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; background: #EDEDE8 !important; display: grid; place-items: center; box-shadow: 0 0 0 2px #0FBFA4; }
html body #delivery-drive .dlv-track-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body #delivery-drive .dlv-track-copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
html body #delivery-drive .dlv-track-copy strong { font-size: 19px; font-weight: 800; letter-spacing: -.01em; color: #111214 !important; -webkit-text-fill-color: #111214 !important; background: transparent !important; }
html body #delivery-drive .dlv-track-copy small { font-size: 12px; font-weight: 500; color: #63635F !important; -webkit-text-fill-color: #63635F !important; line-height: 1.35; }
html body #delivery-drive .dlv-track-close { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid #EAEAE6; background: #fff !important; cursor: pointer; display: grid; place-items: center; }
html body #delivery-drive .dlv-track-close i { color: #111214 !important; -webkit-text-fill-color: #111214 !important; font-size: 12px; }
html body #delivery-drive .dlv-track-where { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; font-weight: 600; line-height: 1.35; color: #111214 !important; -webkit-text-fill-color: #111214 !important; }
html body #delivery-drive .dlv-track-where i { color: #111214 !important; -webkit-text-fill-color: #111214 !important; margin-top: 2px; font-size: 12px; }
html body #delivery-drive .dlv-track-actions { display: flex; gap: 8px; }
html body #delivery-drive .dlv-btn { background: #fff !important; color: #111214 !important; -webkit-text-fill-color: #111214 !important; border-color: #EAEAE6; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
html body #delivery-drive .dlv-btn--primary { background: #111214 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body #delivery-drive .dlv-btn--call { flex: 0 0 auto; }
html body #delivery-drive .dlv-btn--call i { color: #111214 !important; -webkit-text-fill-color: #111214 !important; font-size: 12px; }
html body #delivery-drive .dlv-btn--quiet { flex: 0 0 auto; background: transparent !important; color: #63635F !important; -webkit-text-fill-color: #63635F !important; border-color: transparent; }
#map-control-section-deliveries .dlv-btn--start { flex: 2 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; font-size: 14px; }
#map-control-section-deliveries .dlv-btn--start i { font-size: 11px; }

/* ---- game day: owner board, runner queue, chooser ----------------------- */
#map-control-section-deliveries .dlv-mode { margin-bottom: 12px; }
#map-control-section-deliveries .dlv-gameday { display: grid; gap: 10px; margin-bottom: 12px; }
#map-control-section-deliveries .dlv-gd-row { display: flex; align-items: center; gap: 10px; }
#map-control-section-deliveries .dlv-gd-k { flex: 0 0 74px; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--mapctl-muted); }
#map-control-section-deliveries .dlv-gd-v { flex: 1; min-width: 0; font-size: 12px; font-weight: 600; color: var(--mapctl-text); }
#map-control-section-deliveries .dlv-gd-code { flex: 1; font-size: 26px; font-weight: 900; letter-spacing: .18em; color: var(--mapctl-text); font-variant-numeric: tabular-nums; }
#map-control-section-deliveries .dlv-gd-hint { font-size: 11px; font-weight: 500; color: var(--mapctl-muted); line-height: 1.4; }
#map-control-section-deliveries .dlv-gd-input { flex: 1; min-width: 0; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--mapctl-border); background: var(--mapctl-surface); color: var(--mapctl-text); font-size: 13px; font-weight: 600; outline: none; }
#map-control-section-deliveries .dlv-gd-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
#map-control-section-deliveries .dlv-gd-stats div { display: grid; gap: 2px; padding: 10px 6px; border-radius: 12px; background: var(--mapctl-surface); text-align: center; }
#map-control-section-deliveries .dlv-gd-stats strong { font-size: 18px; font-weight: 900; color: var(--mapctl-text); }
#map-control-section-deliveries .dlv-gd-stats small { font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--mapctl-muted); }
#map-control-section-deliveries .dlv-gd-runners { display: flex; flex-wrap: wrap; gap: 6px; }
#map-control-section-deliveries .dlv-gd-runner { font-size: 11px; font-weight: 800; padding: 5px 9px; border-radius: 999px; background: rgba(15,191,164,.16); color: var(--mapctl-text); }
#map-control-section-deliveries .dlv-gd-runner.is-busy { background: rgba(var(--primary-rgb), .14); }
#map-control-section-deliveries .dlv-job-items { font-size: 13px; font-weight: 700; color: var(--mapctl-text); line-height: 1.35; }

html body #delivery-queue.dlv-queue { z-index: 10059; }
html body #delivery-queue[hidden] { display: none !important; }
html body #delivery-queue * { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html body #delivery-queue .fas { font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", FontAwesome !important; font-weight: 900 !important; }
html body #delivery-queue .dlv-track-grab { width: 40px; height: 4px; border-radius: 999px; background: rgba(0,0,0,.18) !important; margin: 10px auto 0; }
html body #delivery-queue .dlv-track-head { display: flex; align-items: center; gap: 12px; }
html body #delivery-queue .dlv-track-avatar { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; background: #111214 !important; display: grid; place-items: center; }
html body #delivery-queue .dlv-track-avatar i { color: #fff !important; -webkit-text-fill-color: #fff !important; font-size: 18px; }
html body #delivery-queue .dlv-track-copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
html body #delivery-queue .dlv-track-copy strong { font-size: 18px; font-weight: 800; color: #111214 !important; -webkit-text-fill-color: #111214 !important; background: transparent !important; }
html body #delivery-queue .dlv-track-copy small { font-size: 12px; font-weight: 500; color: #63635F !important; -webkit-text-fill-color: #63635F !important; }
html body #delivery-queue .dlv-track-close { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid #EAEAE6; background: #fff !important; cursor: pointer; display: grid; place-items: center; }
html body #delivery-queue .dlv-track-close i { color: #111214 !important; -webkit-text-fill-color: #111214 !important; font-size: 12px; }
html body #delivery-queue .dlv-q-list { display: grid; gap: 8px; max-height: 38vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
html body #delivery-queue .dlv-q-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #EAEAE6; border-radius: 16px; background: #fff !important; }
html body #delivery-queue .dlv-q-copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
html body #delivery-queue .dlv-q-copy strong { font-size: 15px; font-weight: 800; color: #111214 !important; -webkit-text-fill-color: #111214 !important; background: transparent !important; }
html body #delivery-queue .dlv-q-copy small { font-size: 12px; font-weight: 500; color: #111214 !important; -webkit-text-fill-color: #111214 !important; line-height: 1.3; }
html body #delivery-queue .dlv-q-copy em { font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8A8A84 !important; -webkit-text-fill-color: #8A8A84 !important; }
html body #delivery-queue .dlv-q-empty { font-size: 13px; font-weight: 500; color: #63635F !important; -webkit-text-fill-color: #63635F !important; padding: 6px 2px; }
html body #delivery-queue .dlv-btn { flex: 0 0 auto; min-height: 40px; padding: 8px 16px; background: #fff !important; color: #111214 !important; -webkit-text-fill-color: #111214 !important; border-color: #EAEAE6; }
html body #delivery-queue .dlv-btn--primary { background: #111214 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body #delivery-queue .dlv-track-actions { display: flex; justify-content: flex-end; }
html body #delivery-queue .dlv-btn--quiet { background: transparent !important; color: #63635F !important; -webkit-text-fill-color: #63635F !important; border-color: transparent; }

html body #delivery-gameday .dlv-gd-choice { display: grid; gap: 4px; width: 100%; text-align: left; padding: 16px; border-radius: 18px; border: 1px solid #EAEAE6 !important; background: #fff !important; box-shadow: none !important; cursor: pointer; }
html body #delivery-gameday .dlv-gd-choice strong { font-size: 16px; font-weight: 800; color: #111214 !important; -webkit-text-fill-color: #111214 !important; background: transparent !important; }
html body #delivery-gameday .dlv-gd-choice small { font-size: 12px; font-weight: 500; color: #70706B !important; -webkit-text-fill-color: #70706B !important; line-height: 1.35; }
html body #delivery-gameday .dlv-gd-form { display: grid; gap: 16px; }
html body #delivery-gameday .dlv-gd-form[hidden], html body #delivery-gameday [data-gd-footer][hidden] { display: none !important; }
html body #delivery-gameday input#dlv-runner-code, html body #delivery-gameday input#dlv-runner-name {
  width: 100%; min-height: 52px; padding: 14px 16px; border-radius: 16px; border: 1px solid #EAEAE6 !important; outline: none;
  background: #fff !important; color: #111214 !important; -webkit-text-fill-color: #111214 !important; font-size: 16px; font-weight: 500; -webkit-appearance: none; appearance: none; box-shadow: none !important;
}
html body #delivery-gameday input#dlv-runner-code { font-size: 22px; letter-spacing: .2em; font-weight: 800; }
html body #shop-checkout .co-seat { margin-top: 18px; }
html body #shop-checkout .co-seat[hidden] { display: none !important; }
html body #shop-checkout .co-choice-btn[hidden] { display: none !important; }

/* Phone map pins -- the desktop Map's pin modules brought to the Map tab.
 *
 * Pin markers (a round head and a short tail, the app's colour), a pin card
 * that peeks from the bottom and pulls up to full height, filter chips,
 * locate-me, the bottom search bar and the new-pin sheet.
 * Built by static/js/mobile-map-pins.js.
 *
 * Everything is scoped under an id or the .mmp-surface class and restates
 * colour with !important on the leaf: the phone paints itself with blanket
 * theme sweeps ([data-theme="light"] * * *, the modal fixer) that otherwise
 * turn this black on black. No grey fills: surfaces are the page (white or
 * black, or the owner's page colour); separation is a hairline.
 */

:root {
  --mmp-bg: #ffffff;
  --mmp-ink: #0e0e10;
  --mmp-dim: #5c5c63;
  --mmp-faint: #8a8a92;
  --mmp-line: #e6e6e9;
  --mmp-field: #ffffff;
  --mmp-field-ink: #111113;
  --mmp-btn: var(--primary-color, #111111);
  --mmp-on-btn: #ffffff;
  --mmp-me: #2563eb;
  --mmp-good: #15803d;
  --mmp-bad: #dc2626;
  --mmp-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}
html[data-theme*="dark"] {
  --mmp-bg: #0e0e10;
  --mmp-ink: #f4f4f5;
  --mmp-dim: #b4b4bb;
  --mmp-faint: #8a8a92;
  --mmp-line: #26262b;
  --mmp-field: #16161a;
  --mmp-field-ink: #f4f4f5;
  --mmp-good: #4ade80;
  --mmp-bad: #f87171;
  --mmp-shadow: 0 18px 50px rgba(0, 0, 0, 0.6);
}
/* The owner's page colour, when one is set (mobile-page-colors.js). */
html[data-page-color] {
  --mmp-bg: var(--pc-page);
  --mmp-ink: var(--pc-ink);
  --mmp-dim: var(--pc-dim);
  --mmp-faint: var(--pc-faint);
  --mmp-line: var(--pc-line);
  --mmp-field: var(--pc-field);
  --mmp-field-ink: var(--pc-field-ink);
  --mmp-btn: var(--pc-btn);
  --mmp-on-btn: var(--pc-on-btn);
}

/* ------------------------------------------------------------ markers */

.leaflet-marker-icon.mmp-marker { background: none !important; border: 0 !important; }
.mmp-pin {
  position: absolute; left: 0; bottom: 0; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center;
  transform-origin: 50% 100%; transition: transform 0.18s ease;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.28));
}
.mmp-pin__head {
  width: 40px; height: 40px; border-radius: 50%; box-sizing: border-box; overflow: hidden;
  display: grid; place-items: center;
  border: 3px solid #ffffff;
  font-size: 18px; line-height: 1;
}
.mmp-pin__head { position: relative; background: var(--mmp-btn); }
.mmp-pin__head img {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover !important; display: block !important; margin: 0 !important;
  border: 0 !important; border-radius: 50% !important; z-index: 1;
}
/* The pin's icon, under the photo: what shows when there is none or it fails. */
#mobile-map .mmp-pin__glyph { font-style: normal; font-size: 18px; line-height: 1; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
.mmp-pin__tail { width: 3px; height: 11px; background: var(--mmp-btn); margin-top: -1px; border-radius: 0 0 2px 2px; }
.mmp-pin.is-owner .mmp-pin__head { width: 46px; height: 46px; background: var(--mmp-btn); border-color: #ffffff; }
.mmp-pin.is-owner .mmp-pin__tail { background: #ffffff; }
#mobile-map .mmp-pin__label {
  position: absolute; top: 100%; margin-top: 4px; padding: 4px 9px; border-radius: 8px;
  background: #0e0e10; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
  font: 800 12px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  white-space: nowrap; max-width: 180px; overflow: hidden; text-overflow: ellipsis;
  opacity: 0; pointer-events: none; transition: opacity 0.15s;
}
.mmp-marker.is-selected .mmp-pin,
.mmp-marker.mmp-on .mmp-pin { transform: translateX(-50%) scale(1.25); z-index: 2; }
#mobile-map .mmp-marker.is-selected .mmp-pin__label,
#mobile-map .mmp-marker.mmp-on .mmp-pin__label { opacity: 1; }
.mmp-marker.mmp-dim .mmp-pin { opacity: 0.35; }
#mobile-map .mmp-draft .mmp-pin__head { background: #ffffff; border: 3px dashed var(--mmp-btn); color: #0e0e10; font-weight: 900; font-size: 20px; }
.mmp-me-dot {
  width: 18px; height: 18px; border-radius: 50%; box-sizing: border-box;
  background: var(--mmp-me); border: 3px solid #ffffff;
  box-shadow: 0 0 0 8px rgba(37, 99, 235, 0.18);
}

/* ------------------------------------------------ shell: search + chips */

/* The search bar sits at the bottom, full width with the side gutters, just
   above the nav pill (the pill tops out ~84px above the safe area). The
   template's inline width/left/transform carry !important, so these restate
   them with a class + id + body scope. Suggestions open upward. */
html body.virtual-active #mobile-search-bar-container.mmp-bottom-search {
  top: auto !important;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 92px) !important;
}
html body #mobile-search-bar-container.mmp-bottom-search #virtual-map-suggestions {
  top: auto !important;
  bottom: calc(100% + 8px) !important;
  margin-bottom: 0 !important;
  max-height: min(300px, calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 220px)) !important;
}
html body #virtual-map-suggestions .map-search-section-label {
  padding: 12px 16px 7px; text-transform: uppercase; letter-spacing: .11em;
  font: 800 10px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  opacity: .48; pointer-events: none;
}
html body #virtual-map-suggestions .map-search-suggestion {
  display: flex; align-items: center; gap: 11px; min-height: 58px;
  padding: 9px 14px !important; box-sizing: border-box;
}
html body #virtual-map-suggestions .map-search-suggestion__icon {
  width: 36px; height: 36px; border-radius: 12px; flex: 0 0 36px;
  display: grid; place-items: center; background: rgba(127,127,127,.12);
  font-size: 17px;
}
html body #virtual-map-suggestions .map-search-suggestion__copy {
  display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1;
}
html body #virtual-map-suggestions .map-search-suggestion__copy strong,
html body #virtual-map-suggestions .map-search-suggestion__copy small {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
html body #virtual-map-suggestions .map-search-suggestion__copy strong { font-size: 14px; }
html body #virtual-map-suggestions .map-search-suggestion__copy small { font-size: 12px; opacity: .58; }
html body #virtual-map-suggestions .map-search-suggestion__badge {
  flex: 0 0 auto; padding: 5px 8px; border-radius: 999px;
  background: rgba(22,163,74,.13); color: #16803d !important;
  -webkit-text-fill-color: #16803d !important; font: 800 10px/1 -apple-system, sans-serif;
}
/* The pin card and the new-pin/list sheets take the same bottom band. */
body.mmp-sheet-open #mobile-search-bar-container.mmp-bottom-search,
body.mapctl-open #mobile-search-bar-container.mmp-bottom-search { display: none !important; }

#mmp-chips {
  position: fixed; left: 0; right: 0; z-index: 9990;
  top: calc(env(safe-area-inset-top, 0px) + 116px);
  display: flex; gap: 8px; padding: 0 12px; overflow-x: auto; scrollbar-width: none;
  pointer-events: none;
}
#mmp-chips::-webkit-scrollbar { display: none; }
#mmp-chips[hidden] { display: none !important; }
html.mmp-searching #mmp-chips,
html.mmp-searching #mmp-locate { display: none !important; }
html body #mmp-chips .mmp-chip {
  pointer-events: auto; flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px;
  border-radius: 18px; border: 1.5px solid var(--mmp-ink) !important;
  background: var(--mmp-bg) !important; color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
  font: 800 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  cursor: pointer; white-space: nowrap;
}
html body #mmp-chips .mmp-chip small { font-size: 11px; font-weight: 700; opacity: 0.6; color: inherit !important; -webkit-text-fill-color: currentColor !important; }
html body #mmp-chips .mmp-chip[aria-pressed="true"] {
  background: var(--mmp-ink) !important; color: var(--mmp-bg) !important; -webkit-text-fill-color: var(--mmp-bg) !important;
}
html body #mmp-chips .mmp-chip--add {
  background: var(--mmp-btn) !important; border-color: var(--mmp-btn) !important;
  color: var(--mmp-on-btn) !important; -webkit-text-fill-color: var(--mmp-on-btn) !important;
}
html body #mmp-chips .mmp-chip--add.is-on {
  background: var(--mmp-ink) !important; border-color: var(--mmp-ink) !important;
  color: var(--mmp-bg) !important; -webkit-text-fill-color: var(--mmp-bg) !important;
}

html body #mmp-locate {
  position: fixed; right: 12px; z-index: 9990;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 148px);
  width: 44px; height: 44px; border-radius: 50%;
  border: 1.5px solid var(--mmp-ink) !important; background: var(--mmp-bg) !important;
  color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
  display: grid; place-items: center; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14) !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important; padding: 0;
}
html body #mmp-locate svg { width: 18px; height: 18px; display: block; stroke: currentColor !important; }
html body #mmp-locate.is-on { color: var(--mmp-me) !important; -webkit-text-fill-color: var(--mmp-me) !important; }
#mmp-locate[hidden] { display: none !important; }

/* ------------------------------------------------------- tiles (pins list) */

.mmp-tile__img {
  width: 54px; height: 54px; border-radius: 14px; overflow: hidden; flex: 0 0 auto;
  display: grid; place-items: center; font-size: 22px; border: 1.5px solid var(--mmp-line);
}
.mmp-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mmp-tile__img.is-glyph { background: var(--mmp-btn); border-color: var(--mmp-btn); }
.mmp-tile__text { flex: 1; min-width: 0; }
html body #mmp-list .mmp-tile__name {
  display: flex; align-items: center; gap: 5px; font: 800 15px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
}
.mmp-tile__name span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #mmp-list .mmp-tile__sub,
html body #mmp-list .mmp-tile__note {
  display: block; margin-top: 3px; font: 600 12.5px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
html body #mmp-list .mmp-tile__note { color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important; font-weight: 700; }
html body #mmp-list .mmp-tile__star { color: var(--mmp-btn) !important; -webkit-text-fill-color: var(--mmp-btn) !important; flex: 0 0 auto; font-size: 12px; }

/* ------------------------------------------------ the pin card + sheets */

.mmp-sheet {
  position: fixed; left: 0; right: 0; z-index: 10030;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 84px);
  max-height: 52vh; display: flex; flex-direction: column; box-sizing: border-box;
  margin: 0 8px; border-radius: 26px; border: 1.5px solid var(--mmp-line);
  background: var(--mmp-bg) !important; color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
  box-shadow: var(--mmp-shadow); overflow: hidden;
  transform: translateY(0); transition: max-height 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.22s ease, opacity 0.22s ease;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.mmp-sheet[hidden] { display: none !important; }
.mmp-sheet.is-in { animation: mmp-rise 0.24s cubic-bezier(0.2, 0.8, 0.2, 1); }
.mmp-sheet.is-full { max-height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 150px); }
@keyframes mmp-rise { from { transform: translateY(30px); opacity: 0; } }
html body :is(#mmp-card, #mmp-new, #mmp-list) { color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) * { box-sizing: border-box; color: inherit !important; -webkit-text-fill-color: currentColor !important; font-family: inherit; }
.mmp-grip {
  flex: 0 0 auto; height: 22px; display: grid; place-items: center; cursor: grab; touch-action: none;
  border: 0 !important; background: transparent !important; width: 100%; padding: 0;
}
.mmp-grip::after { content: ""; width: 42px; height: 5px; border-radius: 999px; background: var(--mmp-line); }
.mmp-scroll { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }

.mmp-hero { position: relative; height: 136px; overflow: hidden; display: grid; place-items: center; font-size: 52px; border-bottom: 1.5px solid var(--mmp-line); }
.mmp-sheet.is-full .mmp-hero { height: auto; aspect-ratio: 16 / 10; }
.mmp-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mmp-hero:not(.has-photo) { height: 96px; background: var(--mmp-btn); }
.mmp-sheet.is-full .mmp-hero:not(.has-photo) { aspect-ratio: auto; height: 120px; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-tag {
  position: absolute; top: 12px; left: 12px; z-index: 1; padding: 5px 10px; border-radius: 8px;
  background: #0e0e10 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important;
  font: 800 11px/1 ui-monospace, "SF Mono", Menlo, monospace; letter-spacing: 0.06em;
}
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-x {
  position: absolute; top: 10px; right: 10px; z-index: 2; width: 36px; height: 36px; border-radius: 50%;
  border: 0 !important; background: #ffffff !important; color: #0e0e10 !important; -webkit-text-fill-color: #0e0e10 !important;
  font-size: 15px; font-weight: 800; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important; padding: 0;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.mmp-body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 13px; }
.mmp-name { font-size: 24px; font-weight: 900; letter-spacing: -0.02em; line-height: 1.1; overflow-wrap: anywhere; }
.mmp-meta { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; font-size: 13.5px; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-meta,
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-by,
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-facts .mmp-fact__k { color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-meta b { color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important; }
.mmp-meta:empty { display: none; }
.mmp-facts { display: grid; grid-template-columns: 18px 1fr; gap: 8px 10px; font-size: 14.5px; line-height: 1.35; }
.mmp-facts:empty { display: none; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-facts a { color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important; text-decoration: underline; overflow-wrap: anywhere; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-open { color: var(--mmp-good) !important; -webkit-text-fill-color: var(--mmp-good) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-closed { color: var(--mmp-bad) !important; -webkit-text-fill-color: var(--mmp-bad) !important; }
.mmp-acts { display: flex; gap: 8px; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-go {
  flex: 1; height: 48px; border-radius: 24px; border: 0 !important;
  background: var(--mmp-btn) !important; color: var(--mmp-on-btn) !important; -webkit-text-fill-color: var(--mmp-on-btn) !important;
  font-size: 15px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: none !important;
}
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-ghost {
  height: 48px; min-width: 48px; padding: 0 16px; border-radius: 24px;
  border: 1.5px solid var(--mmp-ink) !important; background: var(--mmp-bg) !important;
  color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
  font-size: 14px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: none !important;
}
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-ghost.is-on { background: var(--mmp-ink) !important; color: var(--mmp-bg) !important; -webkit-text-fill-color: var(--mmp-bg) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-go i, html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-ghost i { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
.mmp-note { font-size: 15px; line-height: 1.45; padding-top: 12px; border-top: 1.5px solid var(--mmp-line); white-space: pre-wrap; overflow-wrap: anywhere; }
.mmp-note[hidden] { display: none; }
.mmp-by { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.mmp-by img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; border: 1px solid var(--mmp-line); }
.mmp-manage { display: flex; gap: 8px; padding-top: 12px; border-top: 1.5px solid var(--mmp-line); }
.mmp-manage[hidden] { display: none; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-manage .mmp-ghost { flex: 1; height: 42px; font-size: 13.5px; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-manage .mmp-del { border-color: var(--mmp-bad) !important; color: var(--mmp-bad) !important; -webkit-text-fill-color: var(--mmp-bad) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-manage .mmp-del.is-armed { background: var(--mmp-bad) !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

/* Directions chooser: Apple Maps or Google Maps. */
.mmp-choose { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mmp-choose[hidden] { display: none; }

/* --------------------------------------------------------- new pin */

.mmp-new__head { display: flex; justify-content: space-between; align-items: center; padding: 4px 18px 0; }
.mmp-new__title { font-size: 22px; font-weight: 900; letter-spacing: -0.03em; text-transform: uppercase; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-round-x {
  width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid var(--mmp-line) !important;
  background: var(--mmp-bg) !important; color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
  font-size: 13px; padding: 0; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; box-shadow: none !important;
}
.mmp-form { padding: 14px 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.mmp-field { position: relative; display: flex; flex-direction: column; gap: 6px; }
.mmp-field > span { font-size: 14px; font-weight: 800; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field em { font-style: normal; font-weight: 500; color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field input:not([type="file"]),
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field textarea {
  height: 46px; border-radius: 12px; border: 1.5px solid var(--mmp-line) !important; padding: 0 14px;
  font-size: 16px; outline: none; background: var(--mmp-field) !important; box-shadow: none !important;
  color: var(--mmp-field-ink) !important; -webkit-text-fill-color: var(--mmp-field-ink) !important; -webkit-appearance: none; appearance: none;
}
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field textarea { height: auto; padding: 12px 14px; resize: none; line-height: 1.4; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field input:focus, html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field textarea:focus { border-color: var(--mmp-ink) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field input::placeholder, html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field textarea::placeholder { color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-field input[type="file"] { font-size: 13px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
.mmp-emojis { display: flex; flex-wrap: wrap; gap: 6px; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-emoji {
  width: 42px; height: 38px; border-radius: 19px; padding: 0;
  border: 1.5px solid var(--mmp-line) !important; background: var(--mmp-bg) !important;
  font-size: 18px; display: grid; place-items: center; box-shadow: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-emoji[aria-pressed="true"] { border-color: var(--mmp-btn) !important; box-shadow: 0 0 0 2px var(--mmp-btn) !important; }
.mmp-sugs {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 3;
  border-radius: 14px; border: 1.5px solid var(--mmp-ink); background: var(--mmp-bg); overflow: hidden;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}
.mmp-sugs[hidden] { display: none; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-sug {
  display: block; width: 100%; padding: 11px 14px; border: 0 !important; border-bottom: 1px solid var(--mmp-line) !important;
  background: var(--mmp-bg) !important; text-align: left; font-size: 14px; font-weight: 700; box-shadow: none !important;
  color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-sug small { display: block; margin-top: 2px; font-weight: 500; font-size: 12px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-err { margin: 0; font-size: 13px; color: var(--mmp-bad) !important; -webkit-text-fill-color: var(--mmp-bad) !important; }
.mmp-err:empty { display: none; }
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-save {
  height: 52px; border-radius: 26px; border: 0 !important; font-size: 16px; font-weight: 900;
  background: var(--mmp-btn) !important; color: var(--mmp-on-btn) !important; -webkit-text-fill-color: var(--mmp-on-btn) !important;
  box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html body :is(#mmp-card, #mmp-new, #mmp-list) .mmp-save:disabled { opacity: 0.4; }


html body #mmp-toast {
  position: fixed; left: 50%; top: calc(env(safe-area-inset-top, 0px) + 70px); z-index: 130100;
  transform: translate(-50%, -8px); opacity: 0; pointer-events: none; transition: opacity 0.18s, transform 0.18s;
  padding: 11px 16px; border-radius: 14px; background: var(--mmp-ink) !important;
  color: var(--mmp-bg) !important; -webkit-text-fill-color: var(--mmp-bg) !important;
  font: 700 14px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html body #mmp-toast.is-up { opacity: 1; transform: translate(-50%, 0); }

/* The old peek popup and composer are replaced; never show both. */
body.mmp-on #map-post-details-popup { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  .mmp-sheet, .mmp-pin, #mmp-toast { transition: none !important; animation: none !important; }
}
body.mmp-sheet-open #mmp-locate { display: none !important; }
/* The map dashboard sheet (#map-style-menu) covers the same bottom band. */
body.mapctl-open #mmp-locate { display: none !important; }

/* ------------------------------------------------------- pins list */

#mmp-list .mmp-new__head > div { display: flex; align-items: baseline; gap: 10px; }
html body #mmp-list .mmp-list__count { font-size: 13px; font-weight: 700; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
#mmp-list .mmp-list__search { padding-bottom: 6px; }
.mmp-list__rows { padding: 0 10px 18px; display: flex; flex-direction: column; }
html body #mmp-list .mmp-row {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 8px; text-align: left;
  border: 0 !important; border-bottom: 1px solid var(--mmp-line) !important; border-radius: 0;
  background: transparent !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html body #mmp-list .mmp-row:last-child { border-bottom: 0 !important; }
html body #mmp-list .mmp-list__empty { margin: 18px 8px; font-size: 14px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }

/* The Pins icon keeps the live map visible above a compact browse sheet. */
html body #mmp-list#mmp-list {
  top: auto; bottom: calc(env(safe-area-inset-bottom, 0px) + 76px);
  left: 0; right: 0; width: 100%; height: auto; max-height: min(55dvh, calc(100dvh - 230px)); margin: 0;
  border-radius: 22px 22px 0 0; border: 1px solid var(--mmp-line) !important; border-bottom: 0 !important;
  box-shadow: 0 -8px 28px rgba(0,0,0,.1) !important;
}
html body #mmp-list#mmp-list.is-full { max-height: min(55dvh, calc(100dvh - 230px)); }
html body #mmp-list#mmp-list .mmp-grip { display: none; }
html body #mmp-list#mmp-list .mmp-scroll { padding: 12px 16px 20px; }
#mmp-list .mmp-list__head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
#mmp-list .mmp-list__heading { display: flex; align-items: baseline; gap: 8px; }
html body #mmp-list .mmp-list__eyebrow { flex-basis: 100%; font-size: 11px; font-weight: 800; letter-spacing: .13em; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
#mmp-list .mmp-list__title { margin: 0; font-size: 21px; line-height: 1.15; font-weight: 800; letter-spacing: -.025em; }
html body #mmp-list .mmp-list__count { font-size: 12px; font-weight: 700; padding: 0; background: transparent !important; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body #mmp-list .mmp-list__close { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; padding: 0; border: 0 !important; border-radius: 10px; background: transparent !important; font-size: 12px; line-height: 1; box-shadow: none !important; }
html body #mmp-list .mmp-list__close i { font-size: 12px !important; line-height: 1 !important; }
html body #mmp-list .mmp-list__intro { margin: 8px 0 20px; font-size: 14px; line-height: 1.4; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
#mmp-list .mmp-list__search { display: flex; align-items: center; flex: 1; min-width: 0; gap: 9px; height: 42px; margin: 0; padding: 0 12px; border: 1px solid var(--mmp-line); border-radius: 12px; background: var(--mmp-field); }
html body #mmp-list .mmp-list__search-icon { font-size: 20px; line-height: 1; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body #mmp-list .mmp-list__q { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; font-size: 14px; color: var(--mmp-field-ink) !important; -webkit-text-fill-color: var(--mmp-field-ink) !important; }
#mmp-list .mmp-list__filters { display: flex; gap: 8px; overflow-x: auto; padding: 16px 0 20px; scrollbar-width: none; }
#mmp-list .mmp-list__filters::-webkit-scrollbar { display: none; }
html body #mmp-list .mmp-list__filter { min-height: 36px; flex: 0 0 auto; padding: 0 15px; border: 1px solid var(--mmp-line) !important; border-radius: 999px; background: var(--mmp-field) !important; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; font-size: 13px; font-weight: 700; box-shadow: none !important; }
html body #mmp-list .mmp-list__filter[aria-pressed="true"] { background: var(--mmp-ink) !important; border-color: var(--mmp-ink) !important; color: var(--mmp-bg) !important; -webkit-text-fill-color: var(--mmp-bg) !important; }
#mmp-list .mmp-list__rows { padding: 0; gap: 0; }
html body #mmp-list#mmp-list .mmp-row { min-height: 70px; padding: 9px 1px; gap: 11px; border: 0 !important; border-bottom: 1px solid var(--mmp-line) !important; border-radius: 0; background: transparent !important; }
#mmp-list .mmp-row .mmp-tile__img { width: 48px; height: 48px; border-radius: 10px; }
html body #mmp-list .mmp-row .mmp-tile__name { font-size: 14px; line-height: 1.2; }
html body #mmp-list .mmp-row .mmp-tile__note { font-weight: 500; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body #mmp-list .mmp-list__row-arrow { font-size: 22px; font-weight: 300; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
#mobile-map .mmp-draft .mmp-pin__glyph { color: #0e0e10 !important; -webkit-text-fill-color: #0e0e10 !important; }

/* Map dashboard segmented control (Location / Map / Settings). The global
   button glass rule gives every inactive segment a raised shadow, and the
   active one is filled with the same colour as the track, so the selected
   segment read as the only flat one. Flat segments; the active one is the
   ink pill, like the filter chips above the map. */
html body #map-style-menu #map-style-tabs button {
  box-shadow: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: transparent !important;
  color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
  opacity: 0.72;
}
html body #map-style-menu #map-style-tabs button[data-active="true"] {
  background: var(--mmp-ink) !important;
  color: var(--mmp-bg) !important; -webkit-text-fill-color: var(--mmp-bg) !important;
  opacity: 1;
}

/* No pins yet: the shared empty guide (empty-state.js) as a card over the
   map, above the search bar. */
#mmp-void {
  position: fixed; left: 12px; right: 12px; z-index: 9990;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 148px);
  border-radius: 24px; background: var(--mmp-bg) !important;
  border: 1.5px solid var(--mmp-line) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18) !important;
}
#mmp-void[hidden] { display: none !important; }
html body #mmp-void .nst-es.nst-es { padding: 18px 16px 20px !important; }

/* ------------------------------------------------------------ sponsors */
/* A sponsor pin while its dates run: gold ring, a Sponsored tag, drawn above
   the other pins (zIndexOffset in mobile-map-pins.js). */
:root { --mmp-gold: #d4a106; --mmp-gold-ink: #1a1400; --mmp-gold-soft: rgba(212, 161, 6, 0.14); }
#mobile-map .mmp-pin.is-sponsor .mmp-pin__head {
  border-color: var(--mmp-gold) !important;
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px var(--mmp-gold);
}
#mobile-map .mmp-pin.is-sponsor .mmp-pin__tail { background: var(--mmp-gold) !important; height: 13px; }
#mobile-map .mmp-pin__spon {
  position: absolute; bottom: calc(100% + 7px); padding: 2px 7px; border-radius: 6px;
  background: var(--mmp-gold) !important; color: var(--mmp-gold-ink) !important; -webkit-text-fill-color: var(--mmp-gold-ink) !important;
  font: 800 10.5px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; pointer-events: none;
}
html body #mmp-card .mmp-hero.is-sponsor { box-shadow: inset 0 -4px 0 var(--mmp-gold); }
html body #mmp-card .mmp-spontag {
  position: absolute; left: 12px; bottom: 12px; z-index: 1; padding: 4px 9px; border-radius: 8px;
  background: var(--mmp-gold) !important; color: var(--mmp-gold-ink) !important; -webkit-text-fill-color: var(--mmp-gold-ink) !important;
  font: 800 11px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0.06em; text-transform: uppercase;
}
html body #mmp-card .mmp-sponsor {
  display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 12px; border-radius: 16px;
  background: var(--mmp-gold-soft) !important; border: 1.5px solid var(--mmp-gold) !important;
}
html body #mmp-card .mmp-sponsor__logo {
  width: 42px; height: 42px; border-radius: 12px; flex: 0 0 auto; overflow: hidden; display: grid; place-items: center;
  background: #ffffff !important; color: #0e0e10 !important; -webkit-text-fill-color: #0e0e10 !important; font-size: 18px; font-weight: 900;
}
html body #mmp-card .mmp-sponsor__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
html body #mmp-card .mmp-sponsor__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
html body #mmp-card .mmp-sponsor__text small { font-size: 12px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body #mmp-card .mmp-sponsor__text b { font-size: 16px; font-weight: 900; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #mmp-card .mmp-sponsor__go {
  flex: 0 0 auto; height: 40px; padding: 0 18px; border-radius: 20px; display: grid; place-items: center; text-decoration: none;
  background: var(--mmp-ink) !important; color: var(--mmp-bg) !important; -webkit-text-fill-color: var(--mmp-bg) !important;
  font-size: 14px; font-weight: 800;
}

/* The Sponsored switch on Add / Edit pin (owner only). */
html body #mmp-new .mmp-spon-form {
  display: flex; flex-direction: column; gap: 12px; padding: 12px 14px; border-radius: 16px;
  border: 1.5px solid var(--mmp-line) !important;
}
#mmp-new .mmp-spon-form__fields { display: flex; flex-direction: column; gap: 12px; }
#mmp-new .mmp-spon-form__fields[hidden] { display: none; }
#mmp-new .mmp-switchrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#mmp-new .mmp-switchrow > span { display: flex; flex-direction: column; gap: 2px; }
#mmp-new .mmp-switchrow b { font-size: 14px; font-weight: 800; }
html body #mmp-new .mmp-switchrow small { font-size: 12px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body #mmp-new .mmp-switchrow input {
  appearance: none; -webkit-appearance: none; flex: 0 0 auto; width: 50px; height: 30px; border-radius: 15px; margin: 0;
  background: var(--mmp-line) !important; position: relative; border: 0 !important; transition: background 0.2s;
}
html body #mmp-new .mmp-switchrow input::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%;
  background: #ffffff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); transition: transform 0.2s;
}
html body #mmp-new .mmp-switchrow input:checked { background: var(--mmp-gold) !important; }
html body #mmp-new .mmp-switchrow input:checked::after { transform: translateX(20px); }
#mmp-new .mmp-field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#mmp-new .mmp-field-pair > .mmp-field { min-width: 0; }
html body #mmp-new .mmp-field-pair input { width: 100%; min-width: 0; font-size: 14px; padding: 0 8px; }
#mmp-new .mmp-spon-logo { display: flex; align-items: center; gap: 10px; font-size: 12px; margin-top: -4px; }
#mmp-new .mmp-spon-logo[hidden] { display: none; }
#mmp-new .mmp-spon-logo img { width: 40px; height: 40px; border-radius: 10px; object-fit: contain; border: 1px solid var(--mmp-line); }

/* Pin actions sheet: no bottom nav over its Delete row, in every theme. */
html body:has(#mobile-map-post-actions-sheet.is-open) #bottom-nav { display: none !important; }
/* Dark (not Glass): the page's dark sweep turned the white panel's text white. */
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet .mobile-map-post-actions-panel {
    background: #17171a !important; box-shadow: 0 24px 70px rgba(0, 0, 0, .5) !important; border: 1px solid rgba(255, 255, 255, .08) !important;
}
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet .mobile-map-post-actions-panel > div:first-child { background: rgba(255, 255, 255, .18) !important; }
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet .mobile-map-post-actions-panel > div:nth-child(2) { color: rgba(255, 255, 255, .55) !important; -webkit-text-fill-color: rgba(255, 255, 255, .55) !important; }
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet .mobile-map-post-actions-panel > div:nth-child(3) { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet [data-map-post-action-choice="edit"] { background: #232327 !important; border-color: rgba(255, 255, 255, .1) !important; }
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet [data-map-post-action-choice="edit"],
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet [data-map-post-action-choice="edit"] * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet [data-map-post-action-choice="delete"]:not(.is-armed) { background: rgba(239, 68, 68, .12) !important; border-color: rgba(239, 68, 68, .3) !important; }
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet [data-map-post-action-choice="delete"]:not(.is-armed),
html[data-theme*="dark"]:not([data-appearance="glass"]) body #mobile-map-post-actions-sheet#mobile-map-post-actions-sheet [data-map-post-action-choice="delete"]:not(.is-armed) * { color: #f87171 !important; -webkit-text-fill-color: #f87171 !important; }

/* Phone map dashboard -- the Pins tab of the map control sheet
   (static/js/mobile-map-dashboard.js). The desktop map dashboard's
   information in the compact owner look: 13px system type, tabular figures,
   1px hairline cards at 12px radius, no glass.

   Scoped under #mmd and restating colour with !important on the leaf: the
   phone's blanket theme sweeps ([data-theme=light] * * *, the button glass
   rule) otherwise repaint it. Uses mobile-map-pins.css's --mmp-* tokens. */

#map-control-section-pins { padding: 0; }
html body #mmp-chips { display: none !important; }
html body #map-style-tabs .mobile-map-pin-badge,
html body #bytes-builder-btn .mobile-map-pin-badge {
  display: inline-grid; place-items: center; min-width: 19px; height: 19px;
  padding: 0 5px; border-radius: 999px; background: currentColor;
  font-size: 11px; font-weight: 750; line-height: 1;
}
html body #map-style-tabs .mobile-map-pin-badge { margin-left: 4px; background: rgba(127,127,140,.18); }
html[data-theme="light"] body #map-style-tabs button[data-map-tab="pins"][data-active="true"] .mobile-map-pin-badge {
  -webkit-text-fill-color: #fff !important;
}
html body #bytes-builder-btn .mobile-map-pin-badge { position: absolute; top: 0; left: calc(50% + 10px); background: #171719; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body .mobile-map-pin-badge[hidden] { display: none !important; }
html body #mmd {
  --mmd-edge: var(--mmp-line, #e6e6e9);
  --mmd-soft: rgba(127, 127, 140, 0.08);
  --mmd-gold: #d4a106;
  display: flex; flex-direction: column; gap: 10px;
  font: 500 13px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-variant-numeric: tabular-nums;
  color: var(--mmp-ink) !important; -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #mmd * { box-sizing: border-box; font-family: inherit; color: inherit !important; -webkit-text-fill-color: currentColor !important; }

html body #mmd .mmd-note { margin: 0; padding: 8px 10px; border-radius: 8px; background: rgba(245, 158, 11, 0.14) !important; color: #b45309 !important; -webkit-text-fill-color: #b45309 !important; font-size: 12.5px; }

/* Tiles */
#mmd .mmd-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
html body #mmd .mmd-tile {
  display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; min-height: 70px;
  border-radius: 12px; border: 1px solid var(--mmd-edge) !important; background: var(--mmp-bg) !important;
}
html body #mmd .mmd-tile__label { font-size: 12px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
html body #mmd .mmd-tile__value { font-size: 21px; font-weight: 650; letter-spacing: -0.02em; line-height: 1.1; }
html body #mmd .mmd-tile__value.is-untracked { font-size: 13px; font-weight: 500; color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; }
html body #mmd .mmd-tile__sub { font-size: 11px; color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body #mmd .mmd-skel { background: var(--mmd-soft) !important; border-color: transparent !important; }

/* Cards */
html body #mmd .mmd-card {
  border-radius: 12px; border: 1px solid var(--mmd-edge) !important; background: var(--mmp-bg) !important; overflow: hidden;
}
#mmd .mmd-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 10px 12px 6px; }
#mmd .mmd-card__head h3 { margin: 0; font-size: 13.5px; font-weight: 650; }
html body #mmd .mmd-card__meta { font-size: 12px; color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60%; }
html body #mmd .mmd-empty { margin: 0; padding: 4px 12px 12px; font-size: 12.5px; color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; }

/* Sponsor summary */
#mmd .mmd-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 0 12px 8px; }
html body #mmd .mmd-stats > div { display: flex; flex-direction: column; gap: 1px; padding: 7px 9px; border-radius: 8px; background: var(--mmd-soft) !important; }
html body #mmd .mmd-stats span { font-size: 11.5px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
#mmd .mmd-stats b { font-size: 17px; font-weight: 650; }
html body #mmd .mmd-sponrow {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 6px 12px; text-align: left;
  border: 0 !important; border-top: 1px solid var(--mmd-edge) !important; border-radius: 0; background: transparent !important;
  box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
#mmd .mmd-sponrow__t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
#mmd .mmd-sponrow__t b { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #mmd .mmd-sponrow__t small { font-size: 11.5px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #mmd .mmd-logo {
  width: 28px; height: 28px; border-radius: 7px; flex: 0 0 auto; overflow: hidden; display: grid; place-items: center;
  background: #ffffff !important; color: #111113 !important; -webkit-text-fill-color: #111113 !important;
  font-size: 12px; font-weight: 700; box-shadow: 0 0 0 1.5px var(--mmd-gold) !important;
}
#mmd .mmd-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
html body #mmd .mmd-pill {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 7px; border-radius: 6px;
  font-size: 11px; font-weight: 600; background: var(--mmd-soft) !important; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important;
}
html body #mmd .mmd-pill.is-live { background: rgba(22, 163, 74, 0.12) !important; color: #15803d !important; -webkit-text-fill-color: #15803d !important; }
html body #mmd .mmd-pill.is-scheduled { background: rgba(245, 158, 11, 0.14) !important; color: #b45309 !important; -webkit-text-fill-color: #b45309 !important; }

/* Map preview */
#mmd .mmd-map { height: 170px; border-top: 1px solid var(--mmd-edge); background: #eef0ee; }
.mmd-dot { background: none !important; border: 0 !important; }
.mmd-dot > span {
  position: absolute; left: -6px; top: -6px; width: 12px; height: 12px; border-radius: 50%;
  background: #111113; border: 2px solid #ffffff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); transition: all 0.15s;
}
.mmd-dot.is-sponsor > span { background: #d4a106; }
.mmd-dot.is-on > span {
  left: -12px; top: -12px; width: 24px; height: 24px; background: #ffffff; border: 4px solid var(--mmp-btn, #111113);
  box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.3);
}
.mmd-dot.is-sponsor.is-on > span { border-color: #d4a106; box-shadow: 0 0 0 5px rgba(212, 161, 6, 0.2), 0 3px 10px rgba(0, 0, 0, 0.3); }

/* The pin list: search, sort, rows */
#mmd .mmd-tools { display: flex; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--mmd-edge); }
html body #mmd .mmd-q, html body #mmd .mmd-sort {
  height: 34px; border-radius: 8px; border: 1px solid var(--mmd-edge) !important; background: var(--mmp-field, #ffffff) !important;
  color: var(--mmp-field-ink) !important; -webkit-text-fill-color: var(--mmp-field-ink) !important;
  font-size: 16px; padding: 0 10px; outline: none; box-shadow: none !important; -webkit-appearance: none; appearance: none;
}
#mmd .mmd-q { flex: 1; min-width: 0; }
html body #mmd .mmd-sort { flex: 0 0 auto; max-width: 42%; font-size: 13px; padding-right: 22px;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%) !important;
  background-position: calc(100% - 13px) 15px, calc(100% - 9px) 15px !important; background-size: 4px 4px !important; background-repeat: no-repeat !important; }
#mmd .mmd-row { border-bottom: 1px solid var(--mmd-edge); }
#mmd .mmd-row:last-child { border-bottom: 0; }
html body #mmd .mmd-row.is-on { background: rgba(127, 127, 140, 0.07) !important; box-shadow: inset 3px 0 0 var(--mmp-btn, #111113); }
html body #mmd .mmd-row.is-sponsor.is-on { box-shadow: inset 3px 0 0 var(--mmd-gold); }
html body #mmd .mmd-row__main {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 8px 12px; text-align: left;
  border: 0 !important; background: transparent !important; border-radius: 0; box-shadow: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html body #mmd .mmd-glyph {
  width: 34px; height: 34px; border-radius: 8px; flex: 0 0 auto; overflow: hidden; display: grid; place-items: center;
  background: var(--mmd-soft) !important; font-size: 16px;
}
html body #mmd .mmd-row.is-sponsor .mmd-glyph { box-shadow: 0 0 0 2px var(--mmd-gold) !important; }
#mmd .mmd-glyph img { width: 100%; height: 100%; object-fit: cover; display: block; }
#mmd .mmd-row__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
#mmd .mmd-row__t b { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body #mmd .mmd-star { font-style: normal; color: var(--mmd-gold) !important; -webkit-text-fill-color: var(--mmd-gold) !important; }
html body #mmd .mmd-row__t small { font-size: 11.5px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
#mmd .mmd-row__sp { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 12px; font-weight: 600; }
#mmd .mmd-row__sp > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#mmd .mmd-row__n { flex: 0 0 auto; display: grid; grid-template-columns: auto auto; gap: 0 5px; align-items: baseline; text-align: right; }
#mmd .mmd-row__n b { font-size: 13px; font-weight: 600; }
html body #mmd .mmd-row__n small { font-size: 11px; text-align: left; color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; }
#mmd .mmd-row__more { padding: 0 12px 10px 56px; display: flex; flex-direction: column; gap: 8px; }
html body #mmd .mmd-row__spstats { margin: 0; font-size: 12px; color: var(--mmp-dim) !important; -webkit-text-fill-color: var(--mmp-dim) !important; }
#mmd .mmd-acts { display: flex; gap: 6px; flex-wrap: wrap; }
html body #mmd .mmd-btn, html body #mmd .mmd-feat {
  height: 32px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--mmd-edge) !important;
  background: var(--mmp-bg) !important; font-size: 13px; font-weight: 600; box-shadow: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  display: inline-flex; align-items: center; gap: 6px;
}
html body #mmd .mmd-btn--bad { color: #dc2626 !important; -webkit-text-fill-color: #dc2626 !important; }
html body #mmd .mmd-btn--bad.is-armed { background: #dc2626 !important; border-color: #dc2626 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
html body #mmd .mmd-feat { padding-left: 6px; }
html body #mmd .mmd-feat__track { position: relative; width: 26px; height: 16px; border-radius: 8px; background: var(--mmd-edge) !important; transition: background 0.15s; }
html body #mmd .mmd-feat__track::after {
  content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%;
  background: #ffffff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); transition: transform 0.15s;
}
html body #mmd .mmd-feat[aria-checked="true"] { border-color: var(--mmd-gold) !important; }
html body #mmd .mmd-feat[aria-checked="true"] .mmd-feat__track { background: var(--mmd-gold) !important; }
html body #mmd .mmd-feat[aria-checked="true"] .mmd-feat__track::after { transform: translateX(10px); }
html body #mmd .mmd-foot { margin: 0; padding: 9px 12px; font-size: 11.5px; border-top: 1px solid var(--mmd-edge); color: var(--mmp-faint) !important; -webkit-text-fill-color: var(--mmp-faint) !important; }

/* Current Outside dashboard, separate from the legacy pin analytics tab. */
html body #map-style-menu.mapctl-dashboard {
  position: fixed !important; inset: 0 !important; z-index: 240100 !important;
  width: 100vw !important; height: 100dvh !important; max-height: none !important;
  padding-top: env(safe-area-inset-top, 0px) !important;
  border: 0 !important; border-radius: 0 !important;
  background: #f6f6f7 !important;
  box-shadow: none !important; backdrop-filter: none !important;
}
html body.mapctl-open:has(#map-style-menu.mapctl-dashboard) #bottom-nav,
html body.mapctl-open:has(#map-style-menu.mapctl-dashboard) #mobile-app-header { display: none !important; }
html body #map-style-menu.mapctl-dashboard > div:first-of-type { background: transparent !important; border: 0 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html body #map-style-menu.mapctl-dashboard > div:first-of-type > div:first-child { display: none !important; }
html body #map-style-menu.mapctl-dashboard #mapctl-ticker-label { color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
html body #map-style-menu.mapctl-dashboard #mapctl-sub { color: #626269 !important; -webkit-text-fill-color: #626269 !important; }
html body #map-style-menu.mapctl-dashboard .mapctl-content { width: 100% !important; max-width: none !important; padding: 12px 18px calc(28px + env(safe-area-inset-bottom, 0px)) !important; }
html body #map-control-section-dashboard { max-width: 680px; margin: 0 auto; color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
#map-control-section-dashboard > h2 { margin: 8px 0 4px; font-size: 28px; line-height: 1.1; letter-spacing: -.03em; }
html body #map-control-section-dashboard > h2 { color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
#map-control-section-dashboard > p { margin: 0 0 22px; font-size: 14px; color: #626269 !important; -webkit-text-fill-color: #626269 !important; }
#map-control-section-dashboard #map-control-section-location,
#map-control-section-dashboard #map-control-section-permissions { display: block; margin: 0 0 16px; padding: 19px; border: 1px solid #e1e1e5; border-radius: 22px; background: #ffffff; box-shadow: 0 12px 30px rgba(17,17,19,.06); }
#map-control-section-dashboard .mapctl-label { font-size: 12px !important; letter-spacing: .08em !important; text-transform: uppercase; font-weight: 800 !important; color: #626269 !important; -webkit-text-fill-color: #626269 !important; }
#map-control-section-dashboard #current-default-location-display { min-height: 44px; padding: 11px 13px; background: rgba(255,255,255,.34) !important; border-color: rgba(255,255,255,.55) !important; border-radius: 12px !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
#map-control-section-dashboard #current-default-location-display small { display: block; margin-top: 3px; font-size: 12px; font-weight: 500; color: #77777e !important; -webkit-text-fill-color: #77777e !important; }
#map-control-section-dashboard .mapctl-input { width: 100%; min-height: 46px; background: rgba(255,255,255,.73) !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; border-color: rgba(255,255,255,.75) !important; border-radius: 12px !important; }
#map-control-section-dashboard .map-dashboard-location-actions { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 12px; }
#map-control-section-dashboard .map-dashboard-location-actions button { width: auto !important; margin: 0 !important; flex: 1 1 140px; min-height: 42px; }
#map-control-section-dashboard .map-dashboard-location-actions button:first-child { background: rgba(255,255,255,.45) !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; border: 1px solid rgba(255,255,255,.7) !important; }
#map-control-section-dashboard .mapctl-perm { background: rgba(255,255,255,.38) !important; border-color: rgba(255,255,255,.58) !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
#map-control-section-dashboard .mapctl-perm:has(input:checked) { background: rgba(255,255,255,.78) !important; border-color: #171719 !important; box-shadow: 0 0 0 1px #171719 !important; }
#map-control-section-dashboard input[type="radio"] { accent-color: #171719 !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard {
  --mapctl-text: #171719; --mapctl-muted: #626269;
  background: #f6f6f7 !important;
  border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  color: #171719 !important; color-scheme: light !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard :is(#mapctl-ticker-label, #mapctl-sub, .mapctl-label, #map-control-section-dashboard .mapctl-perm, #map-control-section-dashboard .mapctl-perm *) {
  color: #171719 !important; -webkit-text-fill-color: #171719 !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard :is(.mapctl-seg, #map-control-section-dashboard .mapctl-perm, #map-control-section-dashboard .mapctl-card) {
  background: rgba(255,255,255,.42) !important; border-color: rgba(255,255,255,.6) !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-tabs button { color: #626269 !important; -webkit-text-fill-color: #626269 !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-tabs button[data-active="true"] { background: #fff !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-location-input { background: rgba(255,255,255,.8) !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-location-input::placeholder { color: #77777e !important; -webkit-text-fill-color: #77777e !important; }
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-tabs { background: #e9e9ec !important; border-color: #dedee2 !important; }
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-location-input { background: #f4f4f6 !important; border: 1px solid #dcdce0 !important; }
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #current-default-location-display { background: #f4f4f6 !important; border: 1px solid #e2e2e6 !important; }
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard .map-dashboard-location-actions button:first-child { background: #f4f4f6 !important; border: 1px solid #dcdce0 !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard .map-dashboard-location-actions button:last-child { background: #171719 !important; border: 1px solid #171719 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard button[onclick*="toggleMapStyleMenu"] { background: #e9e9ec !important; border: 1px solid #dedee2 !important; color: #171719 !important; -webkit-text-fill-color: #171719 !important; }
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard button[onclick*="toggleMapStyleMenu"] i { color: #171719 !important; -webkit-text-fill-color: #171719 !important; }

/* Glass appearance uses the map's glass tokens across every full-screen tab. */
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard {
  --mapctl-text: #fff; --mapctl-muted: rgba(255,255,255,.72);
  background: var(--gl-sheet) !important; color: #fff !important; color-scheme: dark !important;
  backdrop-filter: var(--gl-blur) !important; -webkit-backdrop-filter: var(--gl-blur) !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard :is(#mapctl-ticker-label, #mapctl-sub, .mapctl-label, #map-control-section-dashboard, #map-control-section-dashboard h2, #map-control-section-dashboard .mapctl-perm, #map-control-section-dashboard .mapctl-perm *) {
  color: #fff !important; -webkit-text-fill-color: #fff !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-control-section-dashboard > p,
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #current-default-location-display small { color: rgba(255,255,255,.72) !important; -webkit-text-fill-color: rgba(255,255,255,.72) !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard :is(#map-control-section-location, #map-control-section-permissions) {
  background: var(--gl-fill) !important; border: 1px solid var(--gl-rim) !important; box-shadow: var(--gl-hi) !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard :is(#map-style-tabs, #current-default-location-display, #map-style-location-input, .map-dashboard-location-actions button:first-child, .mapctl-perm) {
  background: var(--gl-fill) !important; border: 1px solid var(--gl-rim) !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard .mapctl-perm:has(input:checked) { background: var(--gl-fill-strong) !important; border-color: var(--gl-rim-strong) !important; box-shadow: 0 0 0 1px var(--gl-rim-strong) !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-tabs button { color: rgba(255,255,255,.76) !important; -webkit-text-fill-color: rgba(255,255,255,.76) !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-style-tabs button[data-active="true"],
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard .map-dashboard-location-actions button:last-child { background: var(--gl-cta) !important; color: var(--gl-cta-ink) !important; -webkit-text-fill-color: var(--gl-cta-ink) !important; border-color: var(--gl-rim-strong) !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard button[onclick*="toggleMapStyleMenu"] { background: var(--gl-fill) !important; border-color: var(--gl-rim) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard button[onclick*="toggleMapStyleMenu"] i { color: #fff !important; -webkit-text-fill-color: #fff !important; }

/* Compact map control layout. */
html body #map-style-menu.mapctl-dashboard .mapctl-content { padding: 10px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important; }
#map-control-section-dashboard { padding-top: 2px; }
html body #map-control-section-dashboard :is(#map-control-section-location, #map-control-section-permissions) {
  margin: 0 !important; padding: 14px 0 16px !important; border: 0 !important;
  border-bottom: 1px solid #dedee2 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
}
#map-control-section-dashboard .mapctl-label { margin-bottom: 10px !important; }
#map-control-section-dashboard #current-default-location-display { min-height: 0; margin-bottom: 10px !important; padding: 9px 12px !important; }
#map-control-section-dashboard .mapctl-input { min-height: 42px !important; }
#map-control-section-dashboard .map-dashboard-location-actions { margin-top: 8px; }
#map-control-section-dashboard .map-dashboard-location-actions button { min-height: 40px !important; border-radius: 10px !important; box-shadow: none !important; }
#map-control-section-dashboard #map-control-section-permissions > div:nth-child(2) { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 7px !important; }
html body #map-control-section-dashboard .mapctl-perm { min-height: 52px; margin: 0 !important; padding: 8px !important; gap: 5px !important; border-radius: 10px !important; box-shadow: none !important; }
#map-control-section-dashboard .mapctl-perm-icon { display: none !important; }
#map-control-section-dashboard .mapctl-perm > div:nth-child(2) > div:first-child { font-size: 12px !important; }
#map-control-section-dashboard .mapctl-perm > div:nth-child(2) > div:nth-child(2) { display: none !important; }
#map-control-section-dashboard .mapctl-perm input[type="radio"] { width: 15px !important; height: 15px !important; flex: 0 0 auto; }

html body #mmd { gap: 10px; }
#mmd .mmd-tiles { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 5px; }
html body #mmd .mmd-tile { min-height: 62px; padding: 8px 7px; border-radius: 9px; gap: 2px; box-shadow: none !important; }
html body #mmd .mmd-tile__label { font-size: 10px; line-height: 1.15; min-height: 23px; }
html body #mmd .mmd-tile__value { font-size: 18px; }
html body #mmd .mmd-tile__sub { display: none; }
html body #mmd .mmd-card { border-radius: 10px; box-shadow: none !important; }
#mmd .mmd-list .mmd-card__head { padding: 11px 12px 3px; }
#mmd .mmd-list .mmd-card__head h3 { font-size: 15px; }
#mmd .mmd-tools { padding: 7px 10px; }
html body #mmd .mmd-q, html body #mmd .mmd-sort { height: 36px; }
#mmd .mmd-rows { max-height: calc(100dvh - 322px); min-height: 110px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
html body #mmd .mmd-row__main { min-height: 48px; padding: 6px 10px; gap: 8px; }
html body #mmd .mmd-glyph { width: 32px; height: 32px; border-radius: 7px; }
#mmd .mmd-row__t b { font-size: 12.5px; }
html body #mmd .mmd-row__t small, html body #mmd .mmd-row__n small { font-size: 10px; }
#mmd .mmd-row__n b { font-size: 12px; }
html body #mmd .mmd-more { width: 100%; height: 36px; border: 0 !important; border-top: 1px solid var(--mmd-edge) !important; background: transparent !important; font-size: 12px; font-weight: 700; box-shadow: none !important; }
#mmd .mmd-more[hidden] { display: none !important; }
#mmd .mmd-foot { font-size: 10px; padding: 7px 10px; }

#map-control-section-surface { display: flex; flex-direction: column; min-height: 100%; }
#map-control-section-surface .mapctl-label { margin: 4px 0 10px; }
#map-control-section-surface .mapctl-style-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(3,minmax(0,1fr)); gap: 9px; height: calc(100dvh - 190px); min-height: 510px; }
html body #map-control-section-surface .mapctl-style-grid .mapctl-tile { display: flex; flex-direction: column; gap: 0; min-height: 0; height: 100%; padding: 0 !important; border-radius: 12px !important; overflow: hidden; background: #fff !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
#map-control-section-surface .mapctl-preview { width: 100%; flex: 1 1 auto; min-height: 0; background-color: #e9e9e9; background-position: center; background-size: cover; border-bottom: 1px solid var(--mapctl-border); }
#map-control-section-surface .mapctl-tile-copy { width: 100%; flex: 0 0 auto; padding: 8px 10px; }
#map-control-section-surface .mapctl-tile-copy strong { font-size: 13px; }
#map-control-section-surface .mapctl-tile-copy small { display: none; }
html body #map-control-section-surface .style-option-active { border: 2px solid #171719 !important; box-shadow: none !important; }
html[data-appearance="glass"] body #map-style-menu.mapctl-dashboard #map-control-section-dashboard :is(#map-control-section-location,#map-control-section-permissions) { border-bottom-color: var(--gl-rim) !important; }
html[data-appearance="glass"] body #map-style-menu.mapctl-dashboard #map-control-section-surface .mapctl-style-grid .mapctl-tile { background: var(--gl-fill) !important; border-color: var(--gl-rim) !important; }
html[data-appearance="glass"] body #map-style-menu.mapctl-dashboard #map-control-section-surface .style-option-active { border-color: var(--gl-cta) !important; }

/* Owner dashboard and pin inventory share the open, single-scroll layout used
   by the shop and booking dashboards. The Map tab keeps its own layout. */
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs [data-map-tab="dashboard"][data-active="true"]),
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs [data-map-tab="pins"][data-active="true"]) {
  background: var(--mmp-bg) !important;
  color: var(--mmp-ink) !important;
}
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) .mapctl-content {
  max-width: none !important;
  padding: 22px 18px calc(36px + env(safe-area-inset-bottom, 0px)) !important;
  overscroll-behavior-y: contain;
}
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) #mapctl-ticker-label {
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) #mapctl-sub {
  color: var(--mmp-dim) !important;
  -webkit-text-fill-color: var(--mmp-dim) !important;
}
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) button[onclick*="toggleMapStyleMenu"] {
  background: var(--mmp-field) !important;
  border-color: var(--mmp-line) !important;
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) #map-style-tabs {
  display: flex !important;
  gap: 22px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mmp-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) #map-style-tabs button {
  flex: 0 0 auto;
  min-height: 46px !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--mmp-dim) !important;
  -webkit-text-fill-color: var(--mmp-dim) !important;
}
html body #map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) #map-style-tabs button[data-active="true"] {
  border-bottom-color: var(--mmp-ink) !important;
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}

/* Dashboard: section headings and full-width settings rows. */
html body #map-control-section-dashboard {
  max-width: none;
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-control-section-dashboard > h2 {
  margin: 0 0 4px;
  font-size: 26px;
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-control-section-dashboard > p {
  margin: 0 0 28px;
  color: var(--mmp-dim) !important;
  -webkit-text-fill-color: var(--mmp-dim) !important;
}
html body #map-control-section-dashboard :is(#map-control-section-location, #map-control-section-permissions) {
  padding: 2px 0 24px !important;
  margin: 0 0 24px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mmp-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body #map-control-section-dashboard .mapctl-label {
  margin: 0 0 14px !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  font-weight: 700 !important;
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-control-section-dashboard .mapctl-label i { margin-right: 6px; color: inherit !important; -webkit-text-fill-color: inherit !important; }
html body #map-control-section-dashboard #current-default-location-display {
  min-height: 0 !important;
  padding: 0 0 14px !important;
  margin: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mmp-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-control-section-dashboard #current-default-location-display {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mmp-line) !important;
}
html body #map-control-section-dashboard #map-style-location-input {
  min-height: 48px !important;
  background: var(--mmp-field) !important;
  border: 1px solid var(--mmp-line) !important;
  border-radius: 12px !important;
  color: var(--mmp-field-ink) !important;
  -webkit-text-fill-color: var(--mmp-field-ink) !important;
}
html body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-control-section-dashboard #map-style-location-input {
  background: var(--mmp-field) !important;
  border-color: var(--mmp-line) !important;
  color: var(--mmp-field-ink) !important;
  -webkit-text-fill-color: var(--mmp-field-ink) !important;
}
html body #map-control-section-dashboard #map-control-section-permissions > div:nth-child(2) {
  display: block !important;
}
html body #map-control-section-dashboard .mapctl-perm {
  display: flex !important;
  width: 100%;
  min-height: 68px !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mmp-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-control-section-dashboard .mapctl-perm:has(input:checked) {
  background: transparent !important;
  border-color: var(--mmp-line) !important;
  box-shadow: none !important;
}
html body #map-control-section-dashboard .mapctl-perm-icon { display: grid !important; }
html body #map-control-section-dashboard .mapctl-perm > div:nth-child(2) > div:first-child { font-size: 15px !important; }
html body #map-control-section-dashboard .mapctl-perm > div:nth-child(2) > div:first-child {
  color: var(--mmp-ink) !important;
  -webkit-text-fill-color: var(--mmp-ink) !important;
}
html body #map-control-section-dashboard .mapctl-perm > div:nth-child(2) > div:nth-child(2) {
  display: block !important;
  font-size: 12px !important;
  color: var(--mmp-dim) !important;
  -webkit-text-fill-color: var(--mmp-dim) !important;
}
html body #map-control-section-dashboard .mapctl-perm input[type="radio"] { width: 18px !important; height: 18px !important; }

/* Pins: metrics and inventory are flat sections, with the sheet as the only scroller. */
html body #mmd { gap: 28px; font-size: 14px; }
html body #mmd .mmd-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
html body #mmd .mmd-tile {
  min-height: 88px;
  padding: 13px 8px 14px 0;
  border: 0 !important;
  border-bottom: 1px solid var(--mmd-edge) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
html body #mmd .mmd-tile:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--mmd-edge) !important; }
html body #mmd .mmd-tile__label { min-height: 0; font-size: 12px; line-height: 1.25; }
html body #mmd .mmd-tile__value { font-size: 26px; line-height: 1.1; }
html body #mmd .mmd-tile__sub { display: block; font-size: 11px; }
html body #mmd .mmd-card {
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
html body #mmd .mmd-list .mmd-card__head { padding: 0 0 16px; }
html body #mmd .mmd-list .mmd-card__head h3 { font-size: 21px; letter-spacing: -.02em; }
html body #mmd .mmd-tools { padding: 0 0 14px; border: 0; gap: 8px; }
html body #mmd .mmd-q, html body #mmd .mmd-sort { height: 44px; border-radius: 11px; }
html body #mmd .mmd-rows { max-height: none; min-height: 0; overflow: visible; }
html body #mmd .mmd-row__main { min-height: 68px; padding: 10px 0; gap: 12px; }
html body #mmd .mmd-glyph { width: 44px; height: 44px; border-radius: 10px; }
html body #mmd .mmd-row__t b { font-size: 15px; }
html body #mmd .mmd-row__t small, html body #mmd .mmd-row__n small { font-size: 11px; }
html body #mmd .mmd-row__n b { font-size: 14px; }
html body #mmd .mmd-row__more { padding: 0 0 14px 56px; }
html body #mmd .mmd-more { height: 44px; font-size: 13px; }
html body #mmd .mmd-foot { padding: 14px 0; font-size: 11px; }

/* Keep glass text and separators legible without restoring nested cards. */
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) {
  background: var(--gl-sheet) !important;
  color: #fff !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) #map-style-tabs {
  background: transparent !important;
  border-bottom-color: var(--gl-rim) !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard:has(#map-style-tabs :is([data-map-tab="dashboard"], [data-map-tab="pins"])[data-active="true"]) #map-style-tabs button[data-active="true"] {
  background: transparent !important;
  border-bottom-color: #fff !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-control-section-dashboard :is(#map-control-section-location, #map-control-section-permissions) {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gl-rim) !important;
  box-shadow: none !important;
}
html[data-appearance="glass"] body #map-style-menu#map-style-menu#map-style-menu.mapctl-dashboard #map-control-section-dashboard :is(#current-default-location-display, .mapctl-perm) {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gl-rim) !important;
  box-shadow: none !important;
}
