:root {
      color-scheme: light;
      --ink: #16212b;
      --muted: #63707c;
      --paper: #f8f5ef;
      --surface: #ffffff;
      --line: #ddd7cb;
      --teal: #15807a;
      --teal-dark: #0f5f5a;
      --coral: #f06f5f;
      --sun: #f2be45;
      --leaf: #4d8a57;
      --blue: #4267b2;
      --shadow: 0 18px 42px rgba(38, 31, 20, 0.12);
      --radius: 8px;
    }

    * {
      box-sizing: border-box;
    }

    [hidden] {
      display: none !important;
    }

    [hidden] {
      display: none !important;
    }

    body {
      margin: 0;
      min-height: 100vh;
      color: var(--ink);
      background:
        linear-gradient(90deg, rgba(21, 128, 122, 0.08) 0 1px, transparent 1px 100%),
        linear-gradient(rgba(240, 111, 95, 0.07) 0 1px, transparent 1px 100%),
        var(--paper);
      background-size: 44px 44px;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      letter-spacing: 0;
    }

    button,
    input,
    select,
    textarea {
      font: inherit;
      min-width: 0;
    }

    button {
      border: 0;
      cursor: pointer;
    }

    button:disabled {
      cursor: not-allowed;
      opacity: 0.56;
    }

    .app {
      width: min(1180px, calc(100% - 32px));
      margin: 0 auto;
      padding: 24px 0 40px;
    }

    .site-footer {
      display: grid;
      gap: 18px;
      margin-top: 42px;
      padding: 22px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.72);
      box-shadow: var(--shadow);
    }

    .footer-brand h2 {
      margin: 0 0 6px;
      font-size: 1rem;
    }

    .footer-brand p,
    .footer-bottom {
      margin: 0;
      color: var(--muted);
      font-size: 0.9rem;
      font-weight: 750;
      line-height: 1.45;
    }

    .footer-links {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
    }

    .footer-links a {
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--ink);
      background: rgba(255, 255, 255, 0.78);
      font-weight: 900;
      text-decoration: none;
    }

    .footer-links a:hover {
      border-color: var(--ink);
    }

    .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 14px 0 22px;
    }

    .topbar.has-profile-menu-open {
      margin-bottom: 118px;
    }

    .mobile-menu-btn,
    .search-filter-btn {
      display: none;
    }

    .install-strip {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 16px;
      padding: 12px;
      border: 1px solid rgba(21, 128, 122, 0.26);
      border-radius: var(--radius);
      background: rgba(232, 248, 242, 0.92);
      box-shadow: 0 8px 18px rgba(31, 27, 22, 0.05);
    }

    .install-strip[hidden] {
      display: none;
    }

    .install-strip strong,
    .install-strip span {
      display: block;
    }

    .install-strip span {
      margin-top: 3px;
      color: var(--muted);
      font-size: 0.9rem;
      font-weight: 750;
    }

    .install-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }

    .brand-mark {
      display: grid;
      width: 52px;
      height: 52px;
      place-items: center;
      color: #fff;
      background: conic-gradient(from 220deg, var(--teal), var(--sun), var(--coral), var(--teal));
      border: 3px solid #fff;
      border-radius: var(--radius);
      box-shadow: 0 10px 26px rgba(21, 128, 122, 0.22);
      font-weight: 900;
    }

    .brand h1 {
      margin: 0;
      font-size: clamp(1.55rem, 3vw, 2.35rem);
      line-height: 1;
    }

    .brand p {
      margin: 5px 0 0;
      color: var(--muted);
      font-size: 0.96rem;
    }

    .mode-tabs,
    .type-filter,
    .choice-switch,
    .swatches {
      display: flex;
      align-items: center;
      gap: 6px;
      min-width: 0;
      padding: 5px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 8px 18px rgba(31, 27, 22, 0.06);
    }

    .type-filter {
      width: fit-content;
      min-width: max-content;
      max-width: none;
      flex-wrap: nowrap;
      justify-content: flex-start;
      overflow: visible;
    }

    .mode-tabs {
      position: relative;
      flex-wrap: wrap;
      overflow: visible;
    }

    .mode-tabs .mode-tab,
    .mode-tabs .profile-menu {
      flex: 0 0 auto;
    }

    .mode-tab,
    .filter-btn,
    .choice-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      flex: 0 0 auto;
      min-height: 38px;
      padding: 0 14px;
      color: var(--ink);
      background: transparent;
      border-radius: 6px;
      font-weight: 800;
      overflow: visible;
      white-space: nowrap;
    }

    .primary-btn,
    .ghost-btn,
    .danger-btn {
      gap: 7px;
      white-space: normal;
    }

    .mode-tab.is-active,
    .filter-btn.is-active,
    .choice-btn.is-active {
      color: #fff;
      background: var(--ink);
    }

    .profile-menu {
      position: relative;
      display: flex;
      flex: 0 0 auto;
      z-index: 120;
    }

    .profile-menu .mode-tab {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }

    .menu-chevron {
      width: 8px;
      height: 8px;
      margin-top: -3px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: rotate(45deg);
    }

    .profile-dropdown {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      z-index: 1000;
      display: grid;
      gap: 6px;
      min-width: 218px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.98);
      box-shadow: var(--shadow);
    }

    .profile-dropdown[hidden] {
      display: none;
    }

    .profile-dropdown button {
      justify-content: flex-start;
      width: 100%;
      white-space: nowrap;
    }

    .sf-icon {
      display: inline-flex;
      width: 1.08em;
      height: 1.08em;
      flex: 0 0 auto;
      align-items: center;
      justify-content: center;
      color: currentColor;
      line-height: 1;
    }

    .sf-icon svg {
      display: block;
      width: 100%;
      height: 100%;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .sf-icon.is-filled svg {
      fill: currentColor;
      stroke: currentColor;
    }

    .mode-tab .sf-icon,
    .choice-btn .sf-icon,
    .filter-btn .sf-icon,
    .primary-btn .sf-icon,
    .ghost-btn .sf-icon,
    .danger-btn .sf-icon {
      font-size: 1rem;
    }

    .icon-btn .sf-icon,
    .tiny-btn .sf-icon,
    .stepper-btn .sf-icon {
      font-size: 1.05rem;
    }

    .profile-dropdown button.has-unread::after {
      content: "";
      width: 8px;
      height: 8px;
      margin-left: auto;
      border-radius: 999px;
      background: var(--coral);
    }

    .mode-tab.has-unread::after {
      content: "";
      width: 8px;
      height: 8px;
      margin-left: -2px;
      border-radius: 999px;
      background: var(--coral);
    }

    .view {
      display: block;
    }

    .view[hidden] {
      display: none;
    }

    .backend-strip,
    .backend-panel {
      margin-bottom: 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.86);
      box-shadow: 0 8px 18px rgba(31, 27, 22, 0.05);
    }

    .backend-strip {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px;
    }

    .backend-strip[hidden] {
      display: none;
    }

    .backend-strip strong,
    .backend-strip span {
      display: block;
    }

    .backend-strip span {
      margin-top: 3px;
      color: var(--muted);
      font-size: 0.9rem;
      font-weight: 750;
    }

    .backend-strip.is-online {
      border-color: rgba(21, 128, 122, 0.38);
      background: rgba(232, 248, 242, 0.92);
    }

    .backend-panel {
      display: grid;
      gap: 12px;
      padding: 13px;
    }

    .backend-panel[hidden] {
      display: none;
    }

    .backend-strip,
    .backend-panel {
      display: none !important;
    }

    .backend-actions,
    .auth-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .toolbar {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 12px;
      align-items: start;
      margin-bottom: 18px;
    }

    .explore-controls {
      display: grid;
      grid-template-columns: repeat(12, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 24px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: 28px;
      background: rgba(255, 255, 255, 0.66);
      box-shadow: var(--shadow);
    }

    .dashboard-welcome {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.74);
      box-shadow: 0 12px 28px rgba(31, 27, 22, 0.06);
    }

    .dashboard-person {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 0;
    }

    .dashboard-avatar {
      display: grid;
      width: 58px;
      height: 58px;
      flex: 0 0 auto;
      place-items: center;
      overflow: hidden;
      color: #fff;
      border: 3px solid rgba(255, 255, 255, 0.96);
      border-radius: 18px;
      background: linear-gradient(135deg, var(--teal-dark), var(--teal));
      box-shadow: 0 18px 34px rgba(21, 128, 122, 0.2);
    }

    .dashboard-avatar .sf-icon {
      width: 28px;
      height: 28px;
    }

    .dashboard-avatar img,
    .nickname-avatar-icon img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .nickname-avatar-icon {
      overflow: hidden;
      padding: 0;
    }

    .dashboard-copy {
      min-width: 0;
    }

    .dashboard-copy h2 {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      margin: 0;
      font-size: clamp(1.15rem, 2vw, 1.45rem);
      line-height: 1.1;
    }

    .dashboard-copy p {
      margin: 6px 0 0;
      color: var(--muted);
      font-weight: 760;
    }

    .profile-state-pill {
      display: inline-flex;
      align-items: center;
      min-height: 26px;
      padding: 0 9px;
      border-radius: 999px;
      color: var(--teal-dark);
      background: rgba(124, 77, 255, 0.12);
      font-size: 0.78rem;
      font-weight: 950;
    }

    .dashboard-register {
      width: auto;
      min-width: 148px;
    }

    .control-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      align-items: start;
    }

    .search-hero {
      grid-column: 1 / -1;
    }

    .location-row {
      grid-column: 1 / span 6;
      grid-template-columns: minmax(0, 1.2fr) minmax(170px, 0.8fr);
    }

    .kind-field {
      grid-column: 7 / -1;
      align-self: end;
    }

    .kind-field .type-filter {
      width: 100%;
      min-width: 0;
      max-width: 100%;
    }

    .kind-field .filter-btn {
      flex: 1 1 0;
      min-width: 0;
    }

    .refine-row {
      grid-column: 1 / span 6;
    }

    .search-hero .input-shell {
      min-height: 60px;
      padding-inline: 15px;
      border-radius: 20px;
    }

    .search-hero .input-shell span {
      width: 30px;
      height: 30px;
      border-radius: 999px;
    }

    .search-hero input {
      font-size: 1.03rem;
      font-weight: 850;
    }

    .identity-card {
      grid-column: 7 / -1;
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.9fr) auto;
      gap: 12px;
      align-items: end;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.68);
      box-shadow: 0 12px 28px rgba(31, 27, 22, 0.06);
    }

    .identity-card .profile-note {
      grid-column: 1 / -1;
    }

    .account-field {
      align-self: end;
    }

    .list-search {
      margin-top: 12px;
    }

    .location-control {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
    }

    .location-control .ghost-btn {
      min-height: 44px;
    }

    .field {
      display: grid;
      gap: 7px;
      min-width: 0;
    }

    .profile-row {
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
      align-items: center;
    }

    .profile-row .choice-switch {
      min-height: 48px;
      background: #fff;
      box-shadow: 0 8px 18px rgba(31, 27, 22, 0.05);
    }

    .choice-switch {
      flex-wrap: wrap;
    }

    .choice-switch .choice-btn {
      flex: 1 1 96px;
    }

    .nickname-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      align-items: center;
    }

    .type-filter .filter-btn {
      flex: 0 0 auto;
    }

    .toggle-line {
      display: flex;
      align-items: center;
      gap: 10px;
      min-height: 48px;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      color: var(--ink);
      text-transform: none;
      cursor: pointer;
    }

    .toggle-line input {
      width: 18px;
      height: 18px;
      flex: 0 0 auto;
    }

    .toggle-line span {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .profile-note {
      margin: 0;
      color: var(--muted);
      font-size: 0.84rem;
      font-weight: 800;
      line-height: 1.35;
    }

    .profile-note strong {
      color: var(--ink);
    }

    .profile-note[hidden],
    .profile-extra[hidden] {
      display: none;
    }

    .claim-proof {
      margin-top: 4px;
      color: var(--muted);
      font-size: 0.82rem;
      font-weight: 750;
      line-height: 1.35;
    }

    label {
      color: var(--muted);
      font-size: 0.78rem;
      font-weight: 900;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .input-shell {
      display: flex;
      align-items: center;
      gap: 9px;
      min-height: 48px;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface);
      box-shadow: 0 8px 18px rgba(31, 27, 22, 0.05);
    }

    .input-shell span {
      display: grid;
      width: 25px;
      height: 25px;
      place-items: center;
      color: #fff;
      background: var(--teal);
      border-radius: 6px;
      font-weight: 900;
      line-height: 1;
    }

    .password-toggle {
      flex: 0 0 auto;
      min-height: 32px;
      padding: 0 10px;
      border: 1px solid var(--line);
      border-radius: 6px;
      color: var(--ink);
      background: #fff;
      font-size: 0.78rem;
      font-weight: 900;
    }

    .password-toggle:hover {
      border-color: var(--ink);
    }

    input,
    select,
    textarea {
      width: 100%;
      min-width: 0;
      border: 0;
      outline: 0;
      color: var(--ink);
      background: transparent;
    }

    textarea {
      min-height: 112px;
      resize: vertical;
      line-height: 1.4;
    }

    select.input-select {
      min-height: 48px;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--surface);
      box-shadow: 0 8px 18px rgba(31, 27, 22, 0.05);
      font-weight: 800;
    }

    .utility-actions {
      display: flex;
      justify-content: flex-end;
      gap: 8px;
    }

    .icon-btn,
    .tiny-btn,
    .stepper-btn {
      display: inline-grid;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: 6px;
      color: var(--ink);
      background: var(--surface);
      font-weight: 900;
    }

    .icon-btn {
      width: 48px;
      height: 48px;
      box-shadow: 0 8px 18px rgba(31, 27, 22, 0.05);
    }

    .icon-btn:hover,
    .tiny-btn:hover,
    .stepper-btn:hover {
      border-color: var(--ink);
    }

    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
    }

    button:disabled {
      cursor: not-allowed;
      opacity: 0.72;
    }

    .venue-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      align-items: stretch;
    }

    .venue-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      margin: 22px 0 4px;
      text-align: center;
    }

    .venue-pagination[hidden] {
      display: none;
    }

    .venue-pagination-status {
      margin: 0;
      color: var(--muted);
      font-size: 0.86rem;
      font-weight: 800;
    }

    .load-more-venues-btn {
      min-width: 190px;
    }


    .venue-loading-status {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      min-height: 72px;
      padding: 14px 18px;
      border: 1px solid rgba(124, 77, 255, 0.2);
      border-radius: var(--radius);
      color: var(--ink);
      background: rgba(255, 255, 255, 0.78);
      box-shadow: 0 12px 28px rgba(31, 27, 22, 0.07);
      text-align: left;
    }

    .venue-loading-status strong,
    .venue-loading-status span {
      display: block;
    }

    .venue-loading-status span:not(.venue-loading-spinner) {
      margin-top: 3px;
      color: var(--muted);
      font-size: 0.86rem;
      font-weight: 750;
    }

    .venue-loading-spinner {
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      border: 3px solid rgba(124, 77, 255, 0.18);
      border-top-color: var(--teal);
      border-right-color: var(--coral);
      border-radius: 50%;
      animation: venue-spin 0.85s linear infinite;
    }

    .venue-loading-card {
      position: relative;
      overflow: hidden;
      min-height: 324px;
      padding: 17px;
      border: 1px solid var(--line);
      border-top: 8px solid rgba(124, 77, 255, 0.2);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.72);
      box-shadow: var(--shadow);
    }

    .venue-loading-card::after {
      content: "";
      position: absolute;
      inset: 0;
      transform: translateX(-100%);
      background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, 0.7) 48%, transparent 76%);
      animation: venue-shimmer 1.35s ease-in-out infinite;
    }

    .venue-loading-line,
    .venue-loading-orb,
    .venue-loading-block,
    .venue-loading-button {
      background: rgba(99, 112, 124, 0.13);
    }

    .venue-loading-line {
      height: 13px;
      margin-bottom: 10px;
      border-radius: 999px;
    }

    .venue-loading-line.is-short {
      width: 38%;
    }

    .venue-loading-line.is-medium {
      width: 68%;
    }

    .venue-loading-line.is-title {
      width: 82%;
      height: 22px;
      margin-top: 22px;
    }

    .venue-loading-block {
      height: 86px;
      margin-top: 20px;
      border-radius: var(--radius);
    }

    .venue-loading-orb {
      width: 58px;
      height: 58px;
      margin-top: 18px;
      border-radius: 50%;
    }

    .venue-loading-actions {
      display: flex;
      gap: 8px;
      margin-top: 24px;
    }

    .venue-loading-button {
      width: 72px;
      height: 40px;
      border-radius: 6px;
    }

    @keyframes venue-spin {
      to { transform: rotate(360deg); }
    }

    @keyframes venue-shimmer {
      100% { transform: translateX(100%); }
    }

    @media (prefers-reduced-motion: reduce) {
      .venue-loading-spinner,
      .venue-loading-card::after {
        animation: none;
      }
    }

    .venue-card {
      display: grid;
      gap: 14px;
      min-height: 324px;
      padding: 17px;
      border: 1px solid var(--line);
      border-top: 8px solid var(--accent, var(--teal));
      border-radius: var(--radius);
      background:
        radial-gradient(circle at top right, rgba(242, 190, 69, 0.16), transparent 34%),
        var(--surface);
      box-shadow: var(--shadow);
    }

    .card-top,
    .card-bottom,
    .desk-head,
    .roster-line,
    .stat-line {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

    .card-top > *,
    .card-bottom > *,
    .desk-head > *,
    .roster-line > *,
    .stat-line > * {
      min-width: 0;
    }

    .card-bottom {
      flex-wrap: wrap;
    }

    .venue-card .card-bottom {
      align-items: stretch;
      justify-content: flex-start;
    }

    .venue-card-meta {
      display: -webkit-box;
      overflow: hidden;
      max-height: 3.15em;
      line-height: 1.35;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .venue-card-meta span {
      display: inline;
    }

    .venue-card-meta .dot {
      display: inline-block;
      margin: 0 3px 2px;
    }

    .venue-description {
      margin: 0;
      color: var(--muted);
      font-size: 0.92rem;
      font-weight: 750;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }

    .venue-card .venue-description {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    .venue-social-links {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 7px;
    }

    .venue-social-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      min-height: 38px;
      padding: 0 11px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--ink);
      background: #fff;
      font-size: 0.84rem;
      font-weight: 900;
      line-height: 1;
      text-decoration: none;
      white-space: nowrap;
    }

    .venue-social-link:hover {
      border-color: var(--ink);
      transform: translateY(-1px);
    }

    .venue-social-link.is-compact {
      min-height: 30px;
      padding: 0 9px;
      font-size: 0.72rem;
      box-shadow: 0 6px 14px rgba(31, 27, 22, 0.05);
    }

    .venue-social-mark {
      display: inline-grid;
      width: 21px;
      height: 21px;
      place-items: center;
      border-radius: 7px;
      color: #fff;
      background: var(--ink);
      font-size: 0.67rem;
      font-weight: 950;
      letter-spacing: -0.02em;
    }

    .venue-social-link[data-social="facebook"] .venue-social-mark {
      background: #1877f2;
    }

    .venue-social-link[data-social="instagram"] .venue-social-mark {
      background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
    }

    .venue-social-link[data-social="tiktok"] .venue-social-mark {
      background: #111;
    }

    .social-form-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }

    @media (max-width: 760px) {
      .social-form-grid {
        grid-template-columns: 1fr;
      }
    }

    .venue-card-carousel {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      overflow-y: hidden;
      padding: 1px 0 3px;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .venue-card-carousel::-webkit-scrollbar {
      display: none;
    }

    .venue-card-photo {
      flex: 0 0 78%;
      min-width: 0;
      min-height: 88px;
      max-height: 94px;
      padding: 0;
      overflow: hidden;
      border: 1px solid rgba(22, 33, 43, 0.12);
      border-radius: var(--radius);
      background: #f8f5ef;
      box-shadow: none;
      scroll-snap-align: start;
    }

    .venue-card-carousel.is-single .venue-card-photo {
      flex-basis: 100%;
    }

    .venue-card-photo img {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 88px;
      object-fit: cover;
    }

    .venue-kind {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      max-width: 100%;
      min-height: 31px;
      padding: 0 10px;
      color: #fff;
      background: var(--ink);
      border-radius: 6px;
      font-size: 0.82rem;
      font-weight: 900;
    }

    .venue-kind .kind-mark {
      width: 11px;
      height: 11px;
      border-radius: 50%;
      background: var(--accent, var(--sun));
    }

    .pulse-badge {
      min-height: 31px;
      padding: 6px 9px;
      border: 1px solid rgba(22, 33, 43, 0.16);
      border-radius: 6px;
      color: var(--teal-dark);
      background: rgba(21, 128, 122, 0.09);
      font-size: 0.78rem;
      font-weight: 900;
      text-align: center;
      white-space: nowrap;
    }

    .venue-card h2 {
      margin: 0;
      font-size: 1.38rem;
      line-height: 1.08;
      overflow-wrap: anywhere;
    }

    .meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      color: var(--muted);
      font-size: 0.92rem;
      font-weight: 700;
    }

    .meta > span {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .dot {
      width: 5px;
      height: 5px;
      align-self: center;
      border-radius: 50%;
      background: var(--line);
    }

    .crowd-stat {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 12px;
      align-items: center;
      padding: 12px;
      border: 1px solid rgba(22, 33, 43, 0.1);
      border-radius: var(--radius);
      background: rgba(248, 245, 239, 0.8);
    }

    .count-orb {
      display: grid;
      width: 68px;
      height: 68px;
      place-items: center;
      border: 5px solid var(--accent, var(--teal));
      border-radius: 50%;
      color: var(--ink);
      background: #fff;
      font-size: 1.7rem;
      font-weight: 950;
      line-height: 1;
    }

    .stat-copy strong {
      display: block;
      font-size: 1rem;
      line-height: 1.12;
    }

    .stat-copy span {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: 0.88rem;
      font-weight: 700;
    }

    .meter {
      overflow: hidden;
      height: 12px;
      border-radius: 999px;
      background: #ebe3d6;
    }

    .meter-fill {
      display: block;
      height: 100%;
      min-width: 8px;
      max-width: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--teal), var(--sun), var(--coral));
    }

    .roster {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      min-height: 68px;
      align-content: flex-start;
    }

    .chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      min-height: 31px;
      max-width: 100%;
      padding: 0 10px;
      border: 1px solid rgba(22, 33, 43, 0.12);
      border-radius: 999px;
      color: var(--ink);
      background: #fff;
      font-size: 0.86rem;
      font-weight: 850;
      overflow-wrap: anywhere;
    }

    .chip-btn {
      cursor: pointer;
    }

    .chip-btn:hover {
      border-color: var(--ink);
    }

    .chip small {
      display: inline-grid;
      min-height: 19px;
      place-items: center;
      padding: 0 6px;
      border-radius: 999px;
      color: #fff;
      background: var(--ink);
      font-size: 0.66rem;
      font-weight: 900;
      line-height: 1;
      text-transform: uppercase;
    }

    .chip.is-guest small {
      color: var(--teal-dark);
      background: rgba(21, 128, 122, 0.12);
    }

    .chip.is-registered small {
      color: #fff;
      background: var(--blue);
    }

    .chip.is-muted {
      color: var(--muted);
      background: #f3eee6;
    }

    .status-chip {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      min-height: 24px;
      margin-top: 6px;
      padding: 0 8px;
      border-radius: 999px;
      color: var(--ink);
      background: #f3eee6;
      font-size: 0.72rem;
      font-weight: 950;
      text-transform: uppercase;
    }

    .status-chip::before {
      content: "";
      width: 7px;
      height: 7px;
      margin-right: 6px;
      border-radius: 999px;
      background: currentColor;
    }

    .status-chip.is-online {
      color: #0f6b45;
      background: rgba(77, 138, 87, 0.14);
    }

    .status-chip.is-focused {
      color: #31569e;
      background: rgba(66, 103, 178, 0.14);
    }

    .status-chip.is-busy {
      color: #9b3d34;
      background: rgba(240, 111, 95, 0.14);
    }

    .status-chip.is-idle {
      color: #8a651a;
      background: rgba(242, 190, 69, 0.18);
    }

    .status-chip.is-offline {
      color: #66717b;
      background: rgba(102, 113, 123, 0.14);
    }

    .chip .status-chip {
      min-height: 20px;
      margin-top: 0;
      padding: 0 6px;
      font-size: 0.64rem;
    }

    .person-line {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
    }

    .person-copy {
      min-width: 0;
    }

    .mini-avatar,
    .message-avatar {
      display: grid;
      flex: 0 0 auto;
      place-items: center;
      overflow: hidden;
      border: 2px solid #fff;
      border-radius: 8px;
      color: #fff;
      background: conic-gradient(from 220deg, var(--teal), var(--sun), var(--coral), var(--blue), var(--teal));
      box-shadow: 0 7px 16px rgba(31, 27, 22, 0.12);
      font-weight: 950;
      text-transform: uppercase;
    }

    .mini-avatar {
      width: 46px;
      height: 46px;
      font-size: 0.9rem;
    }

    .message-avatar {
      width: 38px;
      height: 38px;
      font-size: 0.8rem;
    }

    .mini-avatar img,
    .message-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .mini-avatar.message-avatar-btn {
      border: 2px solid #fff;
      background: conic-gradient(from 220deg, var(--teal), var(--sun), var(--coral), var(--blue), var(--teal));
    }

    .primary-btn,
    .ghost-btn,
    .danger-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 44px;
      padding: 0 14px;
      border-radius: 6px;
      font-weight: 900;
      text-align: center;
      white-space: normal;
    }

    .primary-btn {
      color: #fff;
      background: var(--teal-dark);
      box-shadow: 0 10px 20px rgba(15, 95, 90, 0.18);
    }

    .primary-btn:hover {
      background: #0b4f4a;
    }

    .ghost-btn {
      border: 1px solid var(--line);
      color: var(--ink);
      background: #fff;
    }

    .ghost-btn:hover {
      border-color: var(--ink);
    }

    .danger-btn {
      color: #fff;
      background: #a33e38;
    }

    .empty-state {
      grid-column: 1 / -1;
      padding: 40px 20px;
      border: 1px dashed #b9aa97;
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.7);
      text-align: center;
    }

    .empty-state h2 {
      margin: 0 0 8px;
      font-size: 1.25rem;
    }

    .empty-state p {
      margin: 0;
      color: var(--muted);
      font-weight: 700;
    }

    .desk-layout {
      display: grid;
      grid-template-columns: minmax(290px, 0.8fr) minmax(360px, 1.2fr);
      gap: 16px;
      align-items: start;
    }

    .admin-layout {
      display: grid;
      grid-template-columns: minmax(300px, 0.85fr) minmax(360px, 1.15fr);
      gap: 16px;
      align-items: start;
    }

    .admin-side {
      display: grid;
      gap: 16px;
    }

    .profile-layout {
      display: grid;
      grid-template-columns: minmax(300px, 0.8fr) minmax(360px, 1.2fr);
      gap: 16px;
      align-items: start;
    }

    .desk-panel {
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.9);
      box-shadow: var(--shadow);
    }

    .desk-panel[hidden] {
      display: none;
    }

    .desk-panel h2 {
      margin: 0;
      font-size: 1.22rem;
    }

    .desk-panel p {
      margin: 5px 0 0;
      color: var(--muted);
      font-weight: 700;
    }

    .form-grid {
      display: grid;
      gap: 13px;
      margin-top: 16px;
    }

    .two-col {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .google-place-card {
      display: grid;
      gap: 9px;
      padding: 12px;
      border: 1px solid rgba(116, 76, 255, 0.18);
      border-radius: 18px;
      background:
        linear-gradient(135deg, rgba(116, 76, 255, 0.1), rgba(35, 169, 193, 0.1)),
        rgba(255, 255, 255, 0.72);
      box-shadow: 0 16px 36px rgba(116, 76, 255, 0.09);
    }

    .google-place-actions {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
    }

    .google-place-status {
      margin: 0;
      color: var(--muted);
      font-size: 0.82rem;
      font-weight: 800;
      line-height: 1.35;
    }

    .google-place-status.is-ready {
      color: var(--teal-dark);
    }

    .google-place-status.is-warning {
      color: #8a5a44;
    }

    .admin-import-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin-top: 14px;
    }

    .admin-import-actions {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }

    .admin-import-status {
      color: var(--muted);
      font-size: 0.82rem;
      font-weight: 850;
      line-height: 1.35;
    }

    .admin-import-results {
      margin-top: 12px;
    }

    .import-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 7px;
    }

    .import-badge {
      display: inline-flex;
      align-items: center;
      min-height: 23px;
      padding: 0 8px;
      border: 1px solid rgba(116, 76, 255, 0.16);
      border-radius: 999px;
      background: rgba(116, 76, 255, 0.08);
      color: var(--muted);
      font-size: 0.76rem;
      font-weight: 900;
    }

    .import-badge.is-saved {
      border-color: rgba(21, 128, 122, 0.22);
      background: rgba(21, 128, 122, 0.1);
      color: var(--teal-dark);
    }

    .pac-container {
      z-index: 100000;
      border: 1px solid rgba(116, 76, 255, 0.16);
      border-radius: 14px;
      box-shadow: 0 18px 40px rgba(18, 24, 38, 0.18);
      font-family: inherit;
    }

    .swatches {
      width: fit-content;
      flex-wrap: wrap;
      background: #fff;
    }

    .swatch {
      width: 34px;
      height: 34px;
      border: 2px solid #fff;
      border-radius: 6px;
      outline: 1px solid var(--line);
      background: var(--swatch);
    }

    .swatch.is-active {
      outline: 3px solid var(--ink);
    }

    .venue-picker {
      margin-top: 16px;
    }

    .selected-desk {
      display: grid;
      gap: 15px;
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid var(--line);
    }

    .big-counter {
      display: grid;
      grid-template-columns: 54px 1fr 54px;
      gap: 10px;
      align-items: center;
      min-height: 92px;
    }

    .stepper-btn {
      width: 54px;
      height: 54px;
      font-size: 1.5rem;
    }

    .counter-face {
      display: grid;
      place-items: center;
      min-height: 92px;
      border: 1px solid rgba(22, 33, 43, 0.1);
      border-radius: var(--radius);
      background:
        linear-gradient(135deg, rgba(21, 128, 122, 0.14), rgba(242, 190, 69, 0.2)),
        #fff;
    }

    .counter-face strong {
      font-size: clamp(2.1rem, 6vw, 4.4rem);
      line-height: 0.9;
    }

    .counter-face span {
      color: var(--muted);
      font-weight: 900;
    }

    .add-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 9px;
      align-items: end;
    }

    .manage-roster {
      display: grid;
      gap: 8px;
    }

    .roster-list {
      display: grid;
      gap: 8px;
      max-height: 280px;
      overflow: auto;
      padding-right: 4px;
    }

    .roster-line {
      min-height: 44px;
      padding: 8px 10px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #fff;
    }

    .roster-line strong {
      overflow-wrap: anywhere;
    }

    .tiny-btn {
      width: 31px;
      height: 31px;
      flex: 0 0 31px;
    }

    .mini-stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
      gap: 9px;
    }

    .profile-card {
      display: grid;
      gap: 14px;
    }

    .avatar-row {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .avatar-preview {
      display: grid;
      width: 92px;
      height: 92px;
      flex: 0 0 92px;
      place-items: center;
      overflow: hidden;
      border: 4px solid #fff;
      border-radius: var(--radius);
      color: #fff;
      background: conic-gradient(from 220deg, var(--teal), var(--sun), var(--coral), var(--blue), var(--teal));
      box-shadow: 0 10px 24px rgba(21, 128, 122, 0.18);
      font-size: 1.8rem;
      font-weight: 950;
    }

    .avatar-preview img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .hidden-file {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    .upload-row {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 8px;
    }

    .upload-row .ghost-btn {
      min-height: 38px;
      padding: 0 12px;
      font-size: 0.84rem;
    }

    .upload-note {
      color: var(--muted);
      font-size: 0.8rem;
      font-weight: 800;
      line-height: 1.3;
    }

    .upload-preview {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 8px;
    }

    .upload-preview[hidden] {
      display: none;
    }

    .upload-preview img {
      width: 54px;
      height: 54px;
      border: 1px solid var(--line);
      border-radius: 7px;
      object-fit: cover;
      background: #fff;
    }

    .list-stack {
      display: grid;
      gap: 9px;
      margin-top: 14px;
    }

    .feed-form,
    .wall-feed {
      display: grid;
      gap: 10px;
    }

    .feed-form .upload-row {
      margin-top: 0;
    }

    .wall-post {
      display: grid;
      gap: 9px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .wall-post p {
      margin: 0;
      color: var(--ink);
      overflow-wrap: anywhere;
      font-weight: 750;
    }

    .wall-media-btn {
      display: block;
      overflow: hidden;
      width: min(100%, 360px);
      padding: 0;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .wall-media-btn img,
    .wall-video {
      display: block;
      width: 100%;
      max-height: 280px;
      object-fit: cover;
    }

    .wall-actions,
    .share-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }

    .share-preview {
      display: grid;
      grid-template-columns: 78px minmax(0, 1fr);
      gap: 10px;
      align-items: stretch;
      margin: 10px 0 12px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(248, 245, 239, 0.78);
    }

    .share-preview img {
      width: 78px;
      height: 78px;
      border-radius: 7px;
      object-fit: cover;
      background: linear-gradient(135deg, var(--teal), var(--sun));
    }

    .share-caption {
      display: block;
      width: 100%;
      min-height: 78px;
      resize: vertical;
      padding: 9px 10px;
      border: 1px solid var(--line);
      border-radius: 7px;
      color: var(--ink);
      background: #fff;
      font: inherit;
      font-size: 0.86rem;
      font-weight: 750;
      line-height: 1.35;
    }

    .share-grid .ghost-btn,
    .share-grid .primary-btn {
      min-height: 38px;
      padding: 0 11px;
      font-size: 0.84rem;
    }

    .list-stack.is-compact .list-item {
      grid-template-columns: 1fr;
      align-items: stretch;
    }

    .list-stack.is-compact .list-actions {
      justify-content: flex-start;
    }

    .list-item {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, auto);
      gap: 10px;
      align-items: center;
      min-height: 56px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .list-item strong,
    .list-item span {
      display: block;
    }

    .list-item > div {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .list-item span {
      margin-top: 3px;
      color: var(--muted);
      font-size: 0.85rem;
      font-weight: 800;
    }

    .list-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 7px;
      min-width: 0;
      max-width: 100%;
    }

    .list-actions > * {
      min-width: 0;
      max-width: 100%;
    }

    .mini-stat {
      min-height: 76px;
      padding: 10px;
      border: 1px solid rgba(22, 33, 43, 0.1);
      border-radius: var(--radius);
      background: #fff;
    }

    .mini-stat-btn {
      appearance: none;
      width: 100%;
      color: var(--ink);
      font: inherit;
      text-align: left;
      cursor: pointer;
    }

    .mini-stat-btn:hover {
      border-color: rgba(21, 128, 122, 0.38);
      box-shadow: 0 10px 22px rgba(21, 128, 122, 0.12);
    }

    .mini-stat strong {
      display: block;
      font-size: 1.45rem;
      line-height: 1;
    }

    .mini-stat span {
      display: block;
      margin-top: 7px;
      color: var(--muted);
      font-size: 0.78rem;
      font-weight: 900;
      text-transform: uppercase;
    }

    .toast {
      position: fixed;
      right: 18px;
      bottom: 18px;
      z-index: 10;
      max-width: min(360px, calc(100% - 36px));
      padding: 13px 15px;
      border: 1px solid rgba(22, 33, 43, 0.15);
      border-radius: var(--radius);
      color: #fff;
      background: var(--ink);
      box-shadow: var(--shadow);
      font-weight: 850;
      transform: translateY(120%);
      opacity: 0;
      transition: transform 180ms ease, opacity 180ms ease;
    }

    .toast.is-visible {
      transform: translateY(0);
      opacity: 1;
    }

    .scroll-top-btn {
      position: fixed;
      right: max(18px, env(safe-area-inset-right));
      bottom: calc(78px + env(safe-area-inset-bottom));
      z-index: 9;
      display: inline-grid;
      width: 50px;
      height: 50px;
      place-items: center;
      padding: 0;
      border: 1px solid rgba(91, 80, 128, 0.2);
      border-radius: 999px;
      color: #fff;
      background: linear-gradient(135deg, var(--violet, #7c4dff), var(--teal));
      box-shadow: 0 14px 30px rgba(54, 48, 92, 0.22);
      opacity: 1;
      transform: translateY(0) scale(1);
      transition: opacity 180ms ease, transform 180ms ease, box-shadow 180ms ease;
    }

    .scroll-top-btn:hover {
      box-shadow: 0 18px 36px rgba(54, 48, 92, 0.3);
      transform: translateY(-2px) scale(1.03);
    }

    .scroll-top-btn:focus-visible {
      outline: 3px solid rgba(124, 77, 255, 0.28);
      outline-offset: 3px;
    }

    .scroll-top-btn[hidden] {
      display: none;
    }

    .scroll-top-btn .sf-icon {
      width: 22px;
      height: 22px;
    }

    @media (max-width: 640px) {
      .scroll-top-btn {
        right: max(14px, env(safe-area-inset-right));
        bottom: calc(72px + env(safe-area-inset-bottom));
        width: 46px;
        height: 46px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .scroll-top-btn {
        transition: none;
      }
    }

    .promo-strip {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-top: 18px;
      margin-bottom: 14px;
      padding: 14px 16px;
      border: 1px solid rgba(21, 128, 122, 0.22);
      border-radius: var(--radius);
      background: linear-gradient(90deg, rgba(21, 128, 122, 0.12), rgba(242, 190, 69, 0.18)), #fff;
      box-shadow: var(--shadow);
    }

    .promo-strip[hidden] {
      display: none;
    }

    .promo-strip strong,
    .promo-strip span {
      display: block;
    }

    .promo-strip span {
      margin-top: 3px;
      color: var(--muted);
      font-weight: 750;
    }

    .promo-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .chat-bubbles {
      position: fixed;
      left: 18px;
      bottom: 18px;
      z-index: 8;
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-width: min(360px, calc(100% - 36px));
    }

    .chat-bubble {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 8px;
      min-height: 46px;
      padding: 6px 7px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.96);
      box-shadow: var(--shadow);
    }

    .chat-bubble strong {
      display: block;
      max-width: 190px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.9rem;
    }

    .chat-bubble span {
      display: block;
      color: var(--muted);
      font-size: 0.72rem;
      font-weight: 900;
      text-transform: uppercase;
    }

    .review-form {
      display: grid;
      gap: 10px;
    }

    .star-picker {
      display: flex;
      gap: 5px;
      flex-wrap: wrap;
    }

    .star-btn {
      width: 42px;
      height: 42px;
      border: 1px solid var(--line);
      border-radius: 6px;
      color: #8a651a;
      background: #fff;
      font-size: 1.25rem;
      font-weight: 950;
    }

    .star-btn.is-active {
      border-color: rgba(242, 190, 69, 0.8);
      background: rgba(242, 190, 69, 0.2);
    }

    .review-list {
      display: grid;
      gap: 9px;
    }

    .review-item {
      display: grid;
      gap: 6px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .review-item p {
      margin: 0;
      overflow-wrap: anywhere;
      color: var(--ink);
      font-weight: 750;
    }

    .star-line {
      color: #8a651a;
      font-weight: 950;
      letter-spacing: 0;
    }

    .chat-drawer {
      position: fixed;
      top: 18px;
      right: 18px;
      bottom: 18px;
      z-index: 9;
      display: grid;
      grid-template-rows: auto 1fr auto;
      width: min(430px, calc(100% - 36px));
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, 0.96);
      box-shadow: var(--shadow);
    }

    .chat-drawer[hidden] {
      display: none;
    }

    .chat-drawer.is-front {
      z-index: 18;
    }

    .chat-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-width: 0;
      padding: 15px;
      border-bottom: 1px solid var(--line);
    }

    .chat-head > div {
      min-width: 0;
    }

    .chat-head h2 {
      margin: 4px 0 0;
      font-size: 1.16rem;
      line-height: 1.1;
      overflow-wrap: anywhere;
    }

    .chat-messages {
      display: grid;
      align-content: start;
      gap: 9px;
      overflow: auto;
      padding: 15px;
      background: rgba(248, 245, 239, 0.74);
    }

    .message {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 4px;
      padding: 10px;
      border: 1px solid rgba(22, 33, 43, 0.1);
      border-radius: var(--radius);
      background: #fff;
    }

    .message-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      color: var(--muted);
      font-size: 0.78rem;
      font-weight: 900;
    }

    .message p {
      margin: 0;
      overflow-wrap: anywhere;
      font-weight: 700;
    }

    .message-body {
      min-width: 0;
    }

    .message-avatar-btn,
    .photo-button,
    .chat-image-btn {
      padding: 0;
      border: 0;
      color: inherit;
      background: transparent;
      cursor: pointer;
      font: inherit;
    }

    .message-avatar-btn:focus-visible,
    .photo-button:focus-visible,
    .chat-image-btn:focus-visible {
      outline: 3px solid rgba(66, 103, 178, 0.4);
      outline-offset: 3px;
    }

    .chat-image-btn {
      display: block;
      width: min(100%, 280px);
      margin-top: 8px;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .chat-image-btn img {
      display: block;
      width: 100%;
      max-height: 260px;
      object-fit: cover;
    }

    .chat-form {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 9px;
      align-items: center;
      padding: 15px;
      border-top: 1px solid var(--line);
      background: #fff;
    }

    .chat-media-actions {
      display: flex;
      gap: 8px;
      align-items: center;
      min-width: 0;
    }

    .place-drawer {
      width: min(560px, calc(100% - 36px));
    }

    .place-profile {
      display: flex;
      flex-direction: column;
      gap: 14px;
      overflow: auto;
      padding: 15px;
      background: rgba(248, 245, 239, 0.74);
    }

    .place-profile > * {
      flex-shrink: 0;
    }

    .place-profile .list-item {
      display: flex;
      flex-direction: column;
      align-items: stretch;
    }

    .place-profile .list-actions {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
      justify-content: stretch;
      width: 100%;
    }

    .place-profile .list-actions > * {
      width: 100%;
    }

    .place-profile .mini-stats {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .place-hero {
      display: grid;
      gap: 12px;
      padding: 12px;
      border: 1px solid rgba(22, 33, 43, 0.1);
      border-radius: var(--radius);
      background: #fff;
    }

    .place-photo {
      display: grid;
      min-height: 210px;
      place-items: center;
      overflow: hidden;
      border-radius: var(--radius);
      color: #fff;
      background:
        linear-gradient(135deg, rgba(21, 128, 122, 0.9), rgba(242, 190, 69, 0.9)),
        var(--teal);
      font-size: 1.5rem;
      font-weight: 950;
      text-align: center;
    }

    .place-photo img {
      width: 100%;
      height: 100%;
      min-height: 210px;
      object-fit: cover;
    }

    .photo-button {
      display: grid;
      width: 100%;
      height: 100%;
      min-height: inherit;
      place-items: center;
      overflow: hidden;
      border-radius: inherit;
    }

    .image-viewer {
      position: fixed;
      inset: 0;
      z-index: 20;
      display: grid;
      place-items: center;
      padding: 18px;
      background: rgba(22, 33, 43, 0.64);
    }

    .image-viewer[hidden] {
      display: none;
    }

    .image-viewer-panel {
      display: grid;
      grid-template-rows: auto 1fr;
      width: min(900px, 100%);
      max-height: calc(100vh - 36px);
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      box-shadow: var(--shadow);
    }

    .image-viewer img {
      display: block;
      max-width: 100%;
      max-height: calc(100vh - 132px);
      margin: auto;
      object-fit: contain;
      background: #111;
    }

    .facebook-kit,
    .share-card-kit {
      position: fixed;
      inset: 0;
      z-index: 40;
      display: grid;
      place-items: center;
      padding: 18px;
      background: rgba(22, 33, 43, 0.38);
    }

    .facebook-kit[hidden],
    .share-card-kit[hidden] {
      display: none;
    }

    .facebook-kit-panel,
    .share-card-panel {
      display: grid;
      width: min(560px, 100%);
      max-height: calc(100vh - 36px);
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
      box-shadow: var(--shadow);
    }

    .facebook-kit-body,
    .share-card-body {
      display: grid;
      gap: 12px;
      padding: 14px;
    }

    .facebook-kit-body img,
    .share-card-preview-img {
      width: 100%;
      max-height: 280px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      object-fit: cover;
      background: rgba(248, 245, 239, 0.9);
    }

    .share-card-preview-img {
      aspect-ratio: 4 / 5;
      max-height: min(520px, 58vh);
      object-fit: contain;
    }

    .share-card-status {
      min-height: 22px;
      color: var(--muted);
      font-size: 0.84rem;
      font-weight: 850;
    }

    /* Reference #4: glassy, vibrant VibeSpots theme. */
    body.theme-glass {
      --ink: #171527;
      --muted: #696681;
      --paper: #f7f3ff;
      --surface: rgba(255, 255, 255, 0.74);
      --line: rgba(91, 80, 128, 0.16);
      --teal: #16a3a0;
      --teal-dark: #6653e8;
      --coral: #ff6c8c;
      --sun: #ffb14a;
      --leaf: #3fa86d;
      --blue: #4077f5;
      --glass: rgba(255, 255, 255, 0.64);
      --glass-strong: rgba(255, 255, 255, 0.82);
      --shadow: 0 24px 56px rgba(54, 48, 92, 0.18);
      --radius: 18px;
      background:
        linear-gradient(90deg, rgba(124, 77, 255, 0.075) 0 1px, transparent 1px 100%),
        linear-gradient(rgba(22, 163, 160, 0.055) 0 1px, transparent 1px 100%),
        linear-gradient(135deg, #fbf8ff 0%, #f3efff 38%, #edf7ff 68%, #fff7ed 100%);
      background-size: 44px 44px, 44px 44px, auto;
    }

    .theme-glass .app {
      width: min(1220px, calc(100% - 32px));
    }

    .theme-glass .topbar {
      z-index: 80;
      margin-bottom: 8px;
      padding: 14px 0 18px;
      backdrop-filter: blur(18px);
    }

    .theme-glass .topbar.has-profile-menu-open {
      margin-bottom: 126px;
    }

    .theme-glass .brand-mark,
    .theme-glass .mini-avatar,
    .theme-glass .message-avatar,
    .theme-glass .avatar-preview {
      border-radius: 16px;
      background: linear-gradient(135deg, #7c4dff 0%, #e84fa3 45%, #ffb14a 100%);
      box-shadow: 0 16px 32px rgba(124, 77, 255, 0.22);
    }

    .theme-glass .brand h1 {
      color: #241a60;
      letter-spacing: 0;
    }

    .theme-glass .mode-tabs,
    .theme-glass .type-filter,
    .theme-glass .choice-switch,
    .theme-glass .swatches,
    .theme-glass .input-shell,
    .theme-glass select.input-select,
    .theme-glass .install-strip,
    .theme-glass .backend-strip,
    .theme-glass .backend-panel,
    .theme-glass .promo-strip,
    .theme-glass .explore-controls,
    .theme-glass .dashboard-welcome,
    .theme-glass .desk-panel,
    .theme-glass .venue-card,
    .theme-glass .list-item,
    .theme-glass .mini-stat,
    .theme-glass .wall-post,
    .theme-glass .chat-bubble,
    .theme-glass .chat-drawer,
    .theme-glass .place-profile > *,
    .theme-glass .facebook-kit-panel,
    .theme-glass .share-card-panel,
    .theme-glass .image-viewer-panel,
    .theme-glass .profile-dropdown,
    .theme-glass .identity-card,
    .theme-glass .site-footer {
      border-color: rgba(91, 80, 128, 0.16);
      background: var(--glass);
      box-shadow: var(--shadow);
      backdrop-filter: blur(22px) saturate(1.35);
      -webkit-backdrop-filter: blur(22px) saturate(1.35);
    }

    .theme-glass .mode-tabs,
    .theme-glass .type-filter,
    .theme-glass .choice-switch,
    .theme-glass .swatches {
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.66);
    }

    .theme-glass .mode-tab,
    .theme-glass .filter-btn,
    .theme-glass .choice-btn {
      border-radius: 14px;
      color: #211c42;
    }

    .theme-glass .mode-tab.is-active,
    .theme-glass .filter-btn.is-active,
    .theme-glass .choice-btn.is-active,
    .theme-glass .primary-btn {
      color: #fff;
      background: linear-gradient(135deg, #7c4dff 0%, #5d6df6 58%, #16a3a0 100%);
      box-shadow: 0 16px 30px rgba(124, 77, 255, 0.28);
    }

    .theme-glass .primary-btn:hover {
      background: linear-gradient(135deg, #6d3df0 0%, #4f60e8 58%, #128f8c 100%);
    }

    .theme-glass .ghost-btn,
    .theme-glass .icon-btn,
    .theme-glass .tiny-btn,
    .theme-glass .stepper-btn,
    .theme-glass .password-toggle {
      border-color: rgba(91, 80, 128, 0.18);
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 12px 24px rgba(54, 48, 92, 0.08);
    }

    .theme-glass .danger-btn {
      border-radius: 14px;
      background: linear-gradient(135deg, #ff6c8c, #c6474e);
      box-shadow: 0 16px 30px rgba(198, 71, 78, 0.18);
    }

    .theme-glass .input-shell,
    .theme-glass select.input-select,
    .theme-glass .toggle-line,
    .theme-glass .share-caption {
      background: rgba(255, 255, 255, 0.78);
      box-shadow: 0 12px 28px rgba(54, 48, 92, 0.07);
    }

    .theme-glass .search-hero .input-shell {
      border-color: rgba(124, 77, 255, 0.58);
      background: rgba(255, 255, 255, 0.86);
      box-shadow: 0 18px 40px rgba(124, 77, 255, 0.12);
    }

    .theme-glass .input-shell span {
      border-radius: 10px;
      background: linear-gradient(135deg, #7c4dff, #16a3a0);
    }

    .theme-glass .promo-strip,
    .theme-glass .install-strip {
      background:
        linear-gradient(115deg, rgba(124, 77, 255, 0.12), rgba(22, 163, 160, 0.08), rgba(255, 177, 74, 0.13)),
        rgba(255, 255, 255, 0.68);
    }

    .theme-glass .venue-card {
      position: relative;
      overflow: hidden;
      border-top-width: 0;
      border-radius: 22px;
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.52)),
        rgba(255, 255, 255, 0.68);
    }

    .theme-glass .venue-card::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 7px;
      background: linear-gradient(90deg, var(--accent, #7c4dff), #e84fa3, #ffb14a);
    }

    .theme-glass .venue-kind {
      min-height: 34px;
      border-radius: 12px;
      background: rgba(23, 21, 39, 0.9);
    }

    .theme-glass .pulse-badge {
      border-radius: 12px;
      color: #4e3dcc;
      background: rgba(255, 255, 255, 0.62);
    }

    .theme-glass .crowd-stat,
    .theme-glass .counter-face,
    .theme-glass .share-preview,
    .theme-glass .empty-state {
      border-color: rgba(91, 80, 128, 0.14);
      background: rgba(255, 255, 255, 0.54);
      backdrop-filter: blur(14px);
    }

    .theme-glass .count-orb {
      border-color: var(--accent, #7c4dff);
      background: rgba(255, 255, 255, 0.76);
      box-shadow: inset 0 0 0 7px rgba(255, 255, 255, 0.55), 0 12px 26px rgba(54, 48, 92, 0.1);
    }

    .theme-glass .meter {
      background: rgba(234, 226, 250, 0.9);
    }

    .theme-glass .meter-fill {
      background: linear-gradient(90deg, #16a3a0, #ffb14a, #ff6c8c);
    }

    .theme-glass .chip,
    .theme-glass .status-chip {
      border-color: rgba(91, 80, 128, 0.14);
      background: rgba(255, 255, 255, 0.62);
    }

    .theme-glass .chat-drawer,
    .theme-glass .place-profile {
      border-left: 1px solid rgba(91, 80, 128, 0.18);
      background: rgba(250, 247, 255, 0.72);
      backdrop-filter: blur(24px) saturate(1.25);
    }

    .theme-glass .toast {
      border-radius: 18px;
      background: linear-gradient(135deg, #241a60, #6d3df0);
      box-shadow: 0 18px 40px rgba(124, 77, 255, 0.28);
    }

    .theme-glass .profile-dropdown {
      border-color: rgba(91, 80, 128, 0.22);
      background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 244, 255, 0.96));
      box-shadow: 0 24px 58px rgba(54, 48, 92, 0.3);
      backdrop-filter: blur(28px) saturate(1.45);
      -webkit-backdrop-filter: blur(28px) saturate(1.45);
    }

    .theme-glass .profile-dropdown .ghost-btn,
    .theme-glass .profile-dropdown .danger-btn {
      min-height: 42px;
      justify-content: flex-start;
      background: rgba(255, 255, 255, 0.9);
    }

    .theme-glass .profile-dropdown .danger-btn {
      color: #fff;
      background: linear-gradient(135deg, #ff6c8c, #c6474e);
    }

    .google-frame {
      width: 100%;
      height: 260px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .place-gallery {
      display: grid;
      gap: 10px;
    }

    .place-gallery h3 {
      margin: 0;
      font-size: 1rem;
    }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
      gap: 9px;
    }

    .gallery-grid img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    .gallery-grid .photo-button {
      min-height: 0;
      aspect-ratio: 4 / 3;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #fff;
    }

    @media (max-width: 920px) {
      .explore-controls {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        padding: 16px;
      }

      .dashboard-welcome,
      .search-hero,
      .location-row,
      .kind-field,
      .refine-row,
      .identity-card {
        grid-column: 1 / -1;
      }

      .identity-card {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 0.8fr) auto;
      }

      .toolbar {
        grid-template-columns: 1fr;
      }

      .topbar {
        flex-direction: column;
        align-items: stretch;
      }

      .install-strip {
        align-items: stretch;
        flex-direction: column;
      }

      .mode-tabs {
        width: 100%;
        flex-wrap: wrap;
        overflow: visible;
      }

      .mode-tab {
        padding-inline: 10px;
      }

      .type-filter {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        flex-wrap: nowrap;
        overflow: visible;
      }

      .type-filter .filter-btn {
        flex: 1 1 0;
        min-width: 0;
        padding-inline: 8px;
        gap: 5px;
        font-size: 0.82rem;
      }

      .profile-menu {
        position: static;
        flex: 0 0 auto;
      }

      .profile-dropdown {
        top: calc(100% + 8px);
        right: 6px;
        left: auto;
        width: min(218px, calc(100vw - 32px));
      }

      .profile-menu .mode-tab {
        width: 100%;
      }

      .toolbar {
        display: grid;
      }

      .utility-actions {
        justify-content: flex-start;
      }

      .venue-grid,
      .desk-layout,
      .admin-layout,
      .profile-layout {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 620px) {
      .app {
        width: 100%;
        padding: 16px;
      }

      .topbar {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        padding: 0 0 16px;
      }

      .brand {
        align-items: center;
        gap: 10px;
      }

      .brand-mark {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        font-size: 0.88rem;
      }

      .brand h1 {
        font-size: 1.25rem;
        line-height: 1.05;
      }

      .brand p {
        margin-top: 3px;
        font-size: 0.72rem;
        line-height: 1.25;
      }

      .mobile-menu-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 14px;
        color: var(--ink);
        background: transparent;
        cursor: pointer;
      }

      .mobile-menu-btn span,
      .mobile-menu-btn::before,
      .mobile-menu-btn::after {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
      }

      .mobile-menu-btn {
        gap: 5px;
        flex-direction: column;
      }

      .mobile-menu-btn::before,
      .mobile-menu-btn::after {
        content: "";
      }

      .topbar .mode-tabs {
        position: absolute;
        top: calc(100% - 6px);
        right: 0;
        z-index: 900;
        display: none;
        width: min(245px, calc(100vw - 32px));
        padding: 8px;
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 24px 60px rgba(80, 78, 130, 0.18);
      }

      .topbar.is-mobile-nav-open .mode-tabs {
        display: grid;
        gap: 6px;
      }

      .topbar .mode-tabs > .mode-tab,
      .topbar .mode-tabs > .profile-menu,
      .topbar .profile-menu .mode-tab {
        width: 100%;
      }

      .topbar .mode-tabs .mode-tab {
        justify-content: flex-start;
        min-height: 44px;
        padding-inline: 13px;
        border-radius: 14px;
        font-size: 0.9rem;
      }

      .topbar .profile-menu {
        position: relative;
      }

      .explore-controls {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 0 0 18px;
        border: 0;
        border-bottom: 1px solid rgba(124, 77, 255, 0.11);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }

      .theme-glass .explore-controls {
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }

      .dashboard-welcome {
        display: none;
      }

      .search-hero,
      .location-row,
      .kind-field,
      .refine-row,
      .identity-card {
        grid-column: 1;
      }

      .site-footer {
        padding: 18px;
      }

      .toolbar,
      .control-row,
      .identity-card,
      .location-control,
      .two-col,
      .admin-import-grid,
      .mini-stats,
      .add-row,
      .profile-row,
      .chat-form,
      .list-item {
        grid-template-columns: 1fr;
      }

      .list-actions {
        justify-content: flex-start;
      }

      .backend-strip {
        align-items: stretch;
        flex-direction: column;
      }

      .mode-tab,
      .filter-btn,
      .choice-btn,
      .primary-btn,
      .ghost-btn,
      .danger-btn {
        flex: 1 0 auto;
      }

      .mode-tabs > .mode-tab,
      .mode-tabs > .profile-menu {
        flex: 0 0 auto;
      }

      .mode-tabs {
        gap: 5px;
      }

      .mode-tabs .mode-tab {
        min-height: 34px;
        padding-inline: 8px;
        font-size: 0.82rem;
      }

      .search-hero {
        order: 1;
      }

      .search-hero label,
      .kind-field label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
      }

      .search-hero .input-shell {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        min-height: 62px;
        padding: 0 13px;
        border: 1.5px solid rgba(124, 77, 255, 0.78);
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.9);
        box-shadow: 0 18px 38px rgba(124, 77, 255, 0.12);
      }

      .search-hero .input-shell > .sf-icon {
        width: 30px;
        height: 30px;
        color: var(--ink);
        background: transparent;
      }

      .search-hero input {
        min-width: 0;
        font-size: 0.86rem;
        font-weight: 680;
      }

      .search-filter-btn {
        display: inline-grid;
        place-items: center;
        width: 38px;
        height: 38px;
        border: 0;
        border-radius: 12px;
        color: var(--ink);
        background: transparent;
        cursor: pointer;
      }

      .location-row {
        order: 2;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0;
        padding: 14px 4px;
        border: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.74);
        box-shadow: 0 18px 40px rgba(80, 78, 130, 0.08);
      }

      .location-row > .field {
        position: relative;
        gap: 4px;
        min-height: 54px;
        padding: 0 13px;
      }

      .location-row > .field:first-child {
        border-right: 1px solid rgba(80, 78, 130, 0.12);
      }

      .location-row label,
      .refine-row label {
        color: rgba(30, 27, 59, 0.62);
        font-size: 0.68rem;
        letter-spacing: 0;
        text-transform: none;
      }

      .location-control {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1px;
      }

      .location-control .ghost-btn {
        order: -1;
        justify-content: flex-start;
        width: auto;
        min-height: 20px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        font-size: 0.78rem;
        font-weight: 950;
      }

      .location-control .ghost-btn .sf-icon {
        width: 18px;
        height: 18px;
      }

      .location-control .input-select,
      .location-row .input-select,
      .refine-row .input-select {
        min-height: 24px;
        padding: 0 18px 0 0;
        border: 0;
        border-radius: 0;
        background-color: transparent;
        box-shadow: none;
        font-size: 0.88rem;
        line-height: 1.2;
      }

      .kind-field {
        order: 3;
      }

      .kind-field .type-filter {
        min-height: 62px;
        padding: 7px;
        border: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.78);
        box-shadow: 0 18px 40px rgba(80, 78, 130, 0.08);
      }

      .type-filter .filter-btn {
        min-height: 46px;
        padding-inline: 7px;
        border-radius: 15px;
        font-size: 0.76rem;
        gap: 5px;
      }

      .type-filter .filter-btn .sf-icon {
        display: inline-flex;
        width: 17px;
        height: 17px;
      }

      .type-filter .filter-btn.is-active {
        background: linear-gradient(135deg, #7657ff, #20a8c8);
        box-shadow: 0 14px 28px rgba(80, 96, 230, 0.22);
      }

      .refine-row {
        order: 4;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 12px;
      }

      .refine-row .field {
        min-height: 64px;
        padding: 12px 13px;
        border: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.78);
        box-shadow: 0 16px 34px rgba(80, 78, 130, 0.07);
      }

      .identity-card {
        order: 5;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0 12px;
        align-items: center;
        min-height: 94px;
        padding: 12px 11px;
        border: 1px solid rgba(255, 255, 255, 0.72);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.82);
        box-shadow: 0 18px 44px rgba(80, 78, 130, 0.1);
      }

      .identity-card > .field:first-child {
        display: contents;
      }

      .identity-card > .field:first-child > label {
        display: none;
      }

      .identity-card .nickname-row {
        display: contents;
      }

      .identity-card .nickname-row .input-shell {
        display: grid;
        grid-column: 1 / span 2;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 10px;
        min-height: 52px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
      }

      .identity-card .nickname-row .input-shell > .sf-icon {
        width: 50px;
        height: 50px;
        color: #fff;
        border-radius: 999px;
        background: linear-gradient(135deg, #7657ff, #00acc1);
        box-shadow: 0 14px 28px rgba(80, 96, 230, 0.22);
      }

      .identity-card #nicknameInput {
        padding: 0;
        font-size: 1.02rem;
        font-weight: 950;
      }

      .identity-card #shuffleBtn,
      .identity-card #visitorUtilityActions {
        display: none;
      }

      .identity-card .account-field {
        grid-column: 3;
        grid-row: 1 / span 2;
        align-self: center;
      }

      .identity-card .account-field > label {
        display: none;
      }

      .identity-card .choice-switch {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
      }

      .identity-card .choice-btn[data-join-mode="guest"] {
        display: none;
      }

      .identity-card .choice-btn[data-join-mode="registered"] {
        min-width: 92px;
        min-height: 46px;
        color: #fff;
        border-radius: 15px;
        background: linear-gradient(135deg, #7657ff, #10bdd0);
        box-shadow: 0 16px 30px rgba(80, 96, 230, 0.22);
      }

      .identity-card .choice-btn[data-join-mode="registered"] .sf-icon {
        display: none;
      }

      .identity-card #visitorProfileNote {
        grid-column: 2 / 3;
        grid-row: 2;
        align-self: start;
        margin-top: 0;
        padding-right: 2px;
        font-size: 0;
        line-height: 0;
      }

      .identity-card #visitorProfileNote::after {
        content: "Create an account for a Reg tag & more.";
        display: block;
        color: var(--muted);
        font-size: 0.68rem;
        font-weight: 850;
        line-height: 1.25;
      }

      .topbar.has-profile-menu-open,
      .theme-glass .topbar.has-profile-menu-open {
        margin-bottom: 158px;
      }

      .card-bottom {
        align-items: stretch;
        flex-direction: column;
      }

      .venue-card {
        gap: 11px;
        min-height: 0;
      }

      .chat-form {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 7px;
      }

      .chat-media-actions {
        gap: 6px;
      }

      .chat-media-actions .icon-btn,
      .chat-form .primary-btn {
        min-height: 44px;
      }

      .chat-media-actions .icon-btn {
        width: 42px;
        height: 44px;
      }

      .chat-form .input-shell {
        min-height: 44px;
        padding-inline: 9px;
      }

      .venue-card .venue-description {
        -webkit-line-clamp: 1;
      }

      .venue-card-photo,
      .venue-card-photo img {
        min-height: 82px;
      }

      .venue-card .roster {
        min-height: 36px;
      }

      .venue-card .card-bottom {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        overflow: visible;
        padding-bottom: 0;
      }

      .venue-card .card-bottom > * {
        width: auto;
        min-width: 96px;
        flex: 1 1 96px;
      }

      .venue-card .card-bottom .primary-btn,
      .venue-card .card-bottom .ghost-btn,
      .venue-card .card-bottom .danger-btn {
        width: auto;
        padding: 0 12px;
      }

      .place-profile .mini-stats,
      .share-grid {
        grid-template-columns: 1fr;
      }

      .share-preview {
        grid-template-columns: 1fr;
      }

      .share-preview img {
        width: 100%;
        height: 150px;
      }

      .share-grid .ghost-btn,
      .share-grid .primary-btn {
        width: auto;
        flex: 0 0 auto;
      }

      .place-profile .list-actions,
      .wall-actions {
        display: flex;
        flex-wrap: wrap;
        overflow: visible;
        justify-content: flex-start;
        gap: 8px;
      }

      .place-profile .list-actions > *,
      .wall-actions > * {
        width: auto;
        min-width: 96px;
        flex: 1 1 112px;
      }

      .primary-btn,
      .ghost-btn,
      .danger-btn {
        width: 100%;
        min-height: 40px;
        padding: 0 10px;
      }

      .upload-row .ghost-btn {
        width: auto;
        flex: 1 1 110px;
      }

      .upload-note {
        flex: 1 0 100%;
      }
    }

    @media (max-width: 620px) {
      .theme-glass .venue-card .card-bottom {
        flex-wrap: wrap;
        overflow: visible;
        padding-bottom: 0;
      }

      .theme-glass .venue-card .card-bottom > * {
        flex: 1 1 96px;
        min-width: 96px;
      }
    }


    /* Profile dashboard: grouped, tabbed, and compact for clearer hierarchy. */
    .profile-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
      align-items: start;
    }

    .profile-primary-grid,
    .profile-hub-grid {
      display: grid;
      grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
      gap: 18px;
      align-items: start;
    }

    .profile-hub-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .account-card {
      width: min(760px, 100%);
      margin-inline: auto;
    }

    .profile-card,
    .profile-wall-card,
    .profile-hub {
      border-radius: 24px;
      box-shadow: 0 18px 44px rgba(54, 48, 92, 0.11);
    }

    .profile-card {
      position: sticky;
      top: 18px;
      gap: 18px;
    }

    .profile-card-head {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 15px;
      align-items: center;
    }

    .profile-card-copy {
      min-width: 0;
    }

    .profile-card-copy h2,
    .profile-hub-title h2 {
      margin: 0;
    }

    .profile-card-copy p,
    .profile-hub-title p {
      margin: 5px 0 0;
    }

    .profile-kicker {
      color: var(--teal-dark) !important;
      font-size: 0.72rem !important;
      font-weight: 950 !important;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .profile-photo-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-top: 11px;
    }

    .profile-photo-actions .ghost-btn {
      min-height: 36px;
      padding: 0 11px;
      font-size: 0.8rem;
    }

    .profile-card .avatar-preview {
      width: 84px;
      height: 84px;
      flex-basis: 84px;
      border-radius: 22px;
      font-size: 1.55rem;
    }

    .profile-form-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(145px, 0.72fr);
      gap: 12px;
    }

    .profile-field-wide {
      grid-column: 1 / -1;
    }

    .profile-card textarea {
      min-height: 92px;
    }

    .profile-card .mini-stats {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }

    .profile-card .mini-stat {
      min-height: 68px;
      padding: 10px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.78);
    }

    .profile-card .mini-stat strong {
      font-size: 1.25rem;
    }

    .profile-card .mini-stat span {
      margin-top: 5px;
      font-size: 0.66rem;
    }

    .profile-primary-actions {
      display: grid;
      gap: 8px;
    }

    .profile-primary-actions > .primary-btn {
      width: 100%;
    }

    .profile-secondary-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
    }

    .profile-secondary-actions .ghost-btn {
      min-height: 40px;
      padding-inline: 10px;
      font-size: 0.82rem;
    }

    .profile-wall-card {
      min-height: 100%;
    }

    .profile-hub {
      min-width: 0;
      padding: 0;
      overflow: hidden;
    }

    .profile-hub-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
      padding: 18px 18px 13px;
    }

    .profile-hub-title {
      display: flex;
      align-items: flex-start;
      gap: 11px;
      min-width: 0;
    }

    .profile-hub-icon {
      display: grid;
      width: 38px;
      height: 38px;
      flex: 0 0 38px;
      place-items: center;
      border-radius: 13px;
      color: var(--teal-dark);
      background: linear-gradient(135deg, rgba(124, 77, 255, 0.12), rgba(22, 163, 160, 0.14));
    }

    .profile-hub-icon .sf-icon {
      width: 19px;
      height: 19px;
    }

    .profile-tabs {
      display: flex;
      gap: 5px;
      overflow-x: auto;
      padding: 0 18px 12px;
      scrollbar-width: none;
    }

    .profile-tabs::-webkit-scrollbar {
      display: none;
    }

    .profile-tab-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      flex: 0 0 auto;
      min-height: 36px;
      padding: 0 11px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--muted);
      background: rgba(255, 255, 255, 0.7);
      font-size: 0.78rem;
      font-weight: 900;
      white-space: nowrap;
    }

    .profile-tab-btn:hover {
      border-color: rgba(124, 77, 255, 0.42);
      color: var(--ink);
    }

    .profile-tab-btn.is-active {
      border-color: transparent;
      color: #fff;
      background: linear-gradient(135deg, var(--violet, #7c4dff), var(--teal));
      box-shadow: 0 9px 20px rgba(93, 109, 246, 0.2);
    }

    .profile-tab-count {
      display: inline-grid;
      min-width: 21px;
      height: 21px;
      place-items: center;
      padding: 0 6px;
      border-radius: 999px;
      color: inherit;
      background: rgba(99, 112, 124, 0.12);
      font-size: 0.7rem;
      line-height: 1;
    }

    .profile-tab-btn.is-active .profile-tab-count {
      background: rgba(255, 255, 255, 0.2);
    }

    .profile-tab-panel {
      display: none;
      min-width: 0;
      padding: 4px 18px 18px;
      border-top: 1px solid rgba(91, 80, 128, 0.1);
    }

    .profile-tab-panel.is-active:not([hidden]) {
      display: block;
    }

    .profile-tab-panel .list-stack {
      margin-top: 12px;
    }

    .profile-connections-hub .profile-tab-panel {
      min-height: 180px;
    }

    .profile-layout .empty-state {
      min-height: 0;
      padding: 27px 18px;
      border-radius: 16px;
      background: rgba(255, 255, 255, 0.56);
    }

    .profile-layout .empty-state h2 {
      font-size: 1rem;
    }

    .profile-layout .empty-state p {
      max-width: 430px;
      margin-inline: auto;
      font-size: 0.84rem;
      line-height: 1.45;
    }

    .profile-layout .list-item {
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.82);
    }

    .profile-layout .list-actions .primary-btn,
    .profile-layout .list-actions .ghost-btn,
    .profile-layout .list-actions .danger-btn {
      min-height: 36px;
      padding: 0 10px;
      font-size: 0.78rem;
    }

    @media (max-width: 920px) {
      .profile-primary-grid,
      .profile-hub-grid {
        grid-template-columns: 1fr;
      }

      .profile-card {
        position: static;
      }
    }

    @media (max-width: 620px) {
      .profile-layout {
        gap: 14px;
      }

      .profile-primary-grid,
      .profile-hub-grid {
        gap: 14px;
      }

      .profile-card,
      .profile-wall-card,
      .profile-hub {
        border-radius: 20px;
      }

      .profile-card-head {
        grid-template-columns: 70px minmax(0, 1fr);
        align-items: start;
      }

      .profile-card .avatar-preview {
        width: 70px;
        height: 70px;
        flex-basis: 70px;
        border-radius: 18px;
      }

      .profile-form-grid,
      .profile-card .mini-stats,
      .profile-secondary-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .profile-form-grid .profile-field-wide,
      .profile-card .mini-stats {
        grid-column: 1 / -1;
      }

      .profile-card .mini-stat {
        min-height: 64px;
      }

      .profile-hub-head {
        padding: 16px 15px 12px;
      }

      .profile-tabs {
        padding-inline: 15px;
      }

      .profile-tab-panel {
        padding: 4px 15px 15px;
      }
    }

    @media (max-width: 430px) {
      .profile-card-head {
        grid-template-columns: 1fr;
      }

      .profile-card .avatar-preview {
        width: 76px;
        height: 76px;
      }

      .profile-form-grid,
      .profile-secondary-actions {
        grid-template-columns: 1fr;
      }

      .profile-field-wide {
        grid-column: 1;
      }

      .profile-card .mini-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .profile-hub-head {
        align-items: flex-start;
      }
    }


/* Direct-message request approval */
.chat-request-panel {
  display: grid;
  gap: 10px;
  margin: 0 16px 12px;
  padding: 13px;
  border: 1px solid rgba(21, 128, 122, 0.22);
  border-radius: var(--radius);
  background: rgba(232, 248, 242, 0.92);
}

.chat-request-panel[hidden] {
  display: none;
}

.chat-request-panel strong,
.chat-request-panel span {
  display: block;
}

.chat-request-panel span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.4;
}

.chat-request-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.chat-request-panel.is-waiting {
  border-color: rgba(242, 190, 69, 0.34);
  background: rgba(255, 248, 226, 0.94);
}

.chat-request-panel.is-declined {
  border-color: rgba(240, 111, 95, 0.3);
  background: rgba(255, 239, 236, 0.94);
}

.chat-form[hidden] {
  display: none;
}

@media (max-width: 640px) {
  .chat-request-panel {
    margin-inline: 10px;
  }

  .chat-request-actions > * {
    flex: 1 1 130px;
  }
}

    /* Google rating and review-count filters */
    .google-review-filters {
      grid-column: 1 / -1;
      display: grid;
      gap: 12px;
      padding: 13px 14px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.68);
      box-shadow: 0 12px 28px rgba(31, 27, 22, 0.06);
    }

    .google-filter-heading,
    .google-filter-heading-copy,
    .google-range-title,
    .google-range-scale {
      display: flex;
      align-items: center;
    }

    .google-filter-heading {
      justify-content: space-between;
      gap: 12px;
    }

    .google-filter-heading-copy {
      gap: 10px;
      min-width: 0;
    }

    .google-filter-heading-icon {
      display: grid;
      width: 34px;
      height: 34px;
      flex: 0 0 34px;
      place-items: center;
      border-radius: 10px;
      color: #fff;
      background: linear-gradient(135deg, var(--violet, #7c4dff), var(--coral));
      box-shadow: 0 8px 18px rgba(124, 77, 255, 0.18);
    }

    .google-filter-heading-copy strong,
    .google-filter-heading-copy span {
      display: block;
    }

    .google-filter-heading-copy strong {
      color: var(--ink);
      font-size: 0.92rem;
      font-weight: 950;
    }

    .google-filter-heading-copy div > span {
      margin-top: 2px;
      color: var(--muted);
      font-size: 0.79rem;
      font-weight: 760;
    }

    .google-filter-reset {
      min-height: 34px;
      padding: 0 11px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--ink);
      background: rgba(255, 255, 255, 0.92);
      font-size: 0.78rem;
      font-weight: 900;
      white-space: nowrap;
    }

    .google-filter-reset:hover {
      border-color: var(--ink);
    }

    .google-filter-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .google-range-filter {
      display: grid;
      gap: 7px;
      min-width: 0;
      padding: 10px 12px;
      border: 1px solid rgba(22, 33, 43, 0.1);
      border-radius: 16px;
      background: rgba(255, 255, 255, 0.78);
    }

    .google-range-title {
      justify-content: space-between;
      gap: 10px;
      color: var(--ink);
      font-size: 0.82rem;
      font-weight: 900;
      text-transform: none;
    }

    .google-range-title output {
      display: inline-flex;
      align-items: center;
      min-height: 25px;
      padding: 0 8px;
      border-radius: 999px;
      color: #4f3bd9;
      background: rgba(124, 77, 255, 0.11);
      font-size: 0.76rem;
      font-weight: 950;
      white-space: nowrap;
    }

    .google-range-filter input[type="range"] {
      width: 100%;
      height: 24px;
      margin: 0;
      accent-color: var(--violet, #7c4dff);
      cursor: pointer;
    }

    .google-range-scale {
      justify-content: space-between;
      gap: 8px;
      color: var(--muted);
      font-size: 0.68rem;
      font-weight: 820;
      line-height: 1;
    }

    .google-filter-status {
      margin: -2px 1px 0;
      color: var(--muted);
      font-size: 0.76rem;
      font-weight: 760;
      line-height: 1.35;
    }

    @media (max-width: 760px) {
      .google-filter-grid {
        grid-template-columns: 1fr;
      }

      .google-filter-heading {
        align-items: flex-start;
      }
    }

    @media (max-width: 480px) {
      .google-review-filters {
        padding: 12px;
        border-radius: 18px;
      }

      .google-filter-heading-copy div > span {
        max-width: 220px;
      }

      .google-filter-reset {
        padding-inline: 9px;
      }
    }



/* v24: compact, collapsible Google review filters */
.google-review-filters { overflow: hidden; padding: 0; }
.google-review-filters > summary { list-style: none; }
.google-review-filters > summary::-webkit-details-marker { display: none; }
.google-filter-summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 68px; padding: 13px 14px; cursor: pointer; user-select: none;
}
.google-filter-summary:focus-visible { outline: 3px solid rgba(124,77,255,.28); outline-offset: -3px; }
.google-filter-summary-action { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; }
.google-filter-summary-value {
  display: inline-flex; align-items: center; min-height: 28px; padding: 0 9px;
  border-radius: 999px; color: #4f3bd9; background: rgba(124,77,255,.11);
  font-size: .76rem; font-weight: 950; white-space: nowrap;
}
.google-filter-chevron {
  width: 9px; height: 9px; margin-right: 3px; border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px);
  transition: transform 180ms ease;
}
.google-review-filters[open] .google-filter-chevron { transform: rotate(225deg) translate(-1px,-1px); }
.google-filter-body { display: grid; gap: 12px; padding: 0 14px 14px; border-top: 1px solid rgba(22,33,43,.08); }
.google-filter-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; }
.google-filter-toolbar p { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 760; line-height: 1.35; }
@media (max-width: 480px) {
  .google-filter-summary { min-height: 62px; padding: 11px 12px; }
  .google-filter-body { padding: 0 12px 12px; }
  .google-filter-heading-copy > span:last-child > span { max-width: 190px; }
  .google-filter-toolbar { align-items: flex-start; }
}


/* Share card editor v25 */
.share-card-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.share-card-field {
  display: grid;
  gap: 6px;
}

.share-card-field-full {
  grid-column: 1 / -1;
}

.share-card-field label {
  font-size: 0.82rem;
  font-weight: 850;
  color: var(--muted);
}

.share-card-photo-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.share-card-upload-note {
  margin: 0;
  font-size: 0.78rem;
  color: var(--muted);
}

.share-card-preview-wrap {
  display: grid;
  gap: 10px;
}

.share-card-preview-img {
  background-image:
    linear-gradient(45deg, rgba(124, 77, 255, 0.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(124, 77, 255, 0.08) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(22, 163, 160, 0.08) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(22, 163, 160, 0.08) 75%);
  background-size: 18px 18px;
  background-position: 0 0, 0 9px, 9px -9px, -9px 0;
}

@media (max-width: 640px) {
  .share-card-form-grid {
    grid-template-columns: 1fr;
  }
}


/* Share card editor v27 — compact modern workspace */
.share-card-panel {
  width: min(880px, 100%);
}

.share-card-body-v27 {
  gap: 14px;
  padding: 14px;
  background:
    radial-gradient(circle at top right, rgba(74, 196, 245, .10), transparent 34%),
    linear-gradient(145deg, rgba(124, 77, 255, .05), rgba(255,255,255,.94));
}

.share-card-intro,
.share-card-section-head,
.share-card-sticky-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.share-card-intro {
  padding: 2px 2px 0;
}

.share-card-intro strong,
.share-card-intro span,
.share-card-section-head strong,
.share-card-section-head span {
  display: block;
}

.share-card-intro strong {
  color: var(--ink);
  font-size: .98rem;
}

.share-card-intro span,
.share-card-section-head span {
  margin-top: 2px;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 760;
}

.share-card-live-pill {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 6px 9px;
  border-radius: 999px;
  color: #5540d8 !important;
  background: rgba(124, 77, 255, .11);
  font-size: .7rem !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}

.share-card-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr);
  gap: 14px;
  align-items: start;
}

.share-card-editor {
  display: grid;
  gap: 9px;
}

.share-card-editor-card {
  display: grid;
  gap: 10px;
  padding: 11px;
  border: 1px solid rgba(91, 80, 128, .13);
  border-radius: 15px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 8px 22px rgba(54,48,92,.06);
}

.share-card-section-head strong {
  font-size: .82rem;
  color: var(--ink);
}

.share-card-section-head .tiny-btn {
  min-height: 30px;
  padding: 0 10px;
}

.share-card-photo-picker {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 11px;
  border: 1px dashed rgba(124,77,255,.34);
  border-radius: 13px;
  color: var(--ink);
  background: linear-gradient(135deg, rgba(124,77,255,.06), rgba(22,163,160,.05));
  cursor: pointer;
  text-transform: none;
}

.share-card-photo-picker > .sf-icon {
  width: 32px;
  height: 32px;
  padding: 7px;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
}

.share-card-photo-picker strong,
.share-card-photo-picker small {
  display: block;
}

.share-card-photo-picker strong {
  font-size: .78rem;
}

.share-card-photo-picker small {
  margin-top: 2px;
  color: var(--muted);
  font-size: .69rem;
  font-weight: 700;
}

.share-card-photo-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.share-card-form-grid-compact {
  gap: 8px;
}

.share-card-stats-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.share-card-field {
  gap: 4px;
}

.share-card-field label {
  font-size: .68rem;
  letter-spacing: .02em;
}

.share-card-field input,
.share-card-field textarea,
.share-card-caption-compact {
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(91, 80, 128, .15);
  border-radius: 10px;
  background: rgba(248,247,255,.86);
  box-shadow: none;
  font-size: .82rem;
  font-weight: 750;
}

.share-card-field input:focus,
.share-card-caption-compact:focus {
  border-color: rgba(124,77,255,.62);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(124,77,255,.09);
}

.share-card-caption-compact {
  min-height: 74px;
  resize: vertical;
}

.share-card-google-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.share-card-google-fields.is-hidden {
  display: none;
}

.share-card-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 850;
  text-transform: none;
  cursor: pointer;
}

.share-card-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.share-card-toggle > span {
  position: relative;
  width: 36px;
  height: 21px;
  margin: 0;
  border-radius: 999px;
  background: #d9d5e6;
  transition: .18s ease;
}

.share-card-toggle > span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(31,27,22,.18);
  transition: .18s ease;
}

.share-card-toggle input:checked + span {
  background: linear-gradient(90deg, #7c4dff, #16a3a0);
}

.share-card-toggle input:checked + span::after {
  transform: translateX(15px);
}

.share-card-preview-column {
  position: sticky;
  top: 12px;
  min-width: 0;
}

.share-card-preview-wrap {
  padding: 9px;
  border: 1px solid rgba(91,80,128,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}

.share-card-preview-img {
  max-height: min(610px, 66vh);
  border-radius: 13px;
}

.share-card-status {
  padding: 0 3px;
  font-size: .72rem;
}

.share-card-sticky-actions {
  position: sticky;
  bottom: -14px;
  z-index: 2;
  flex-wrap: wrap;
  margin: 0 -14px -14px;
  padding: 11px 14px;
  border-top: 1px solid rgba(91,80,128,.13);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
}

.share-card-sticky-actions .primary-btn,
.share-card-sticky-actions .ghost-btn {
  min-height: 40px;
  padding-inline: 12px;
  font-size: .79rem;
}

@media (max-width: 760px) {
  .share-card-panel {
    width: min(620px, 100%);
  }

  .share-card-workspace {
    grid-template-columns: 1fr;
  }

  .share-card-preview-column {
    position: static;
    order: -1;
  }

  .share-card-preview-img {
    max-height: 44vh;
  }
}

@media (max-width: 520px) {
  .share-card-body-v27 {
    padding: 10px;
  }

  .share-card-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .share-card-form-grid-compact {
    grid-template-columns: 1fr;
  }

  .share-card-sticky-actions {
    margin: 0 -10px -10px;
    padding: 9px 10px;
  }

  .share-card-sticky-actions > * {
    flex: 1 1 calc(50% - 6px);
  }
}


/* Share card editor v28 — modern story workspace */
.share-card-kit {
  z-index: 62;
  padding: 14px;
  background: rgba(14, 18, 32, 0.5);
  backdrop-filter: blur(12px);
}

.share-card-panel {
  width: min(1180px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  border: 1px solid rgba(133, 115, 226, 0.2);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(248,247,255,0.98));
  box-shadow: 0 22px 70px rgba(28, 22, 56, 0.22);
  overflow: hidden;
}

.share-card-body-v28 {
  display: grid;
  gap: 16px;
  padding: 18px;
  background:
    radial-gradient(circle at top right, rgba(83, 189, 241, 0.12), transparent 24%),
    radial-gradient(circle at left top, rgba(184, 114, 255, 0.10), transparent 28%),
    linear-gradient(180deg, rgba(250,249,255,0.98), rgba(247,247,254,0.98));
}

.share-card-topbar,
.share-card-section-title-row,
.share-card-actions-bar,
.share-card-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.share-card-topbar strong,
.share-card-preview-head strong,
.share-card-section-title-row strong {
  display: block;
  color: var(--ink);
}

.share-card-topbar strong {
  font-size: 1.05rem;
}

.share-card-topbar p,
.share-card-preview-head span,
.share-card-section-title-row span {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
}

.share-card-mode-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
  box-shadow: 0 8px 18px rgba(92, 96, 214, 0.2);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.share-card-shell {
  display: grid;
  grid-template-columns: minmax(350px, 430px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.share-card-editor-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.share-card-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(120, 102, 190, 0.12);
  border-radius: 18px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 10px 28px rgba(70, 60, 120, 0.06);
}

.share-card-section-title-row strong {
  font-size: 0.86rem;
}

.share-card-mini-btn {
  min-height: 34px;
  padding-inline: 12px;
  font-size: 0.77rem;
}

.share-card-dropzone {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 14px;
  border: 1px dashed rgba(124, 77, 255, 0.32);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(124,77,255,0.08), rgba(22,163,160,0.06));
  cursor: pointer;
}

.share-card-dropzone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.share-card-dropzone-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
}

.share-card-dropzone-copy strong,
.share-card-dropzone-copy small {
  display: block;
}

.share-card-dropzone-copy strong {
  font-size: 0.84rem;
  color: var(--ink);
}

.share-card-dropzone-copy small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 750;
}

.share-card-dropzone-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #5b47d7;
  background: rgba(255,255,255,0.88);
  font-size: 0.75rem;
  font-weight: 900;
}

.share-card-grid {
  display: grid;
  gap: 10px;
}

.share-card-grid-main {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.share-card-grid-stats,
.share-card-grid-google {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.share-card-grid-google {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.share-card-google-fields.is-hidden {
  display: none;
}

.share-card-input-wrap {
  display: grid;
  gap: 6px;
}

.share-card-input-wrap-full {
  grid-column: 1 / -1;
}

.share-card-input-wrap > span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.share-card-input-wrap input,
.share-card-input-wrap textarea,
.share-card-caption-v28 {
  min-height: 44px;
  padding: 11px 13px;
  border: 1px solid rgba(120, 102, 190, 0.16);
  border-radius: 13px;
  background: rgba(247,247,255,0.98);
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 760;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.84);
}

.share-card-caption-v28 {
  min-height: 92px;
  resize: vertical;
}

.share-card-input-wrap input:focus,
.share-card-input-wrap textarea:focus,
.share-card-caption-v28:focus {
  border-color: rgba(124, 77, 255, 0.54);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(124, 77, 255, 0.10);
}

.share-card-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
}

.share-card-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.share-card-switch-ui {
  position: relative;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #d8d3ea;
  transition: 0.18s ease;
}

.share-card-switch-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 8px rgba(20, 18, 40, 0.16);
  transition: 0.18s ease;
}

.share-card-switch input:checked + .share-card-switch-ui {
  background: linear-gradient(90deg, #7c4dff, #16a3a0);
}

.share-card-switch input:checked + .share-card-switch-ui::after {
  transform: translateX(18px);
}

.share-card-preview-stage {
  position: sticky;
  top: 0;
  display: grid;
  gap: 10px;
}

.share-card-preview-wrap-v28 {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(120, 102, 190, 0.12);
  border-radius: 22px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 14px 30px rgba(66, 56, 118, 0.08);
}

.share-card-preview-img-v28 {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: min(72vh, 760px);
  border-radius: 18px;
  object-fit: contain;
  background:
    linear-gradient(135deg, rgba(124,77,255,0.05), rgba(22,163,160,0.04)),
    repeating-linear-gradient(45deg, rgba(124,77,255,0.06) 0 12px, transparent 12px 24px);
}

.share-card-status {
  font-size: 0.75rem;
}

.share-card-actions-bar {
  position: sticky;
  bottom: -18px;
  z-index: 4;
  flex-wrap: wrap;
  margin: 0 -18px -18px;
  padding: 14px 18px;
  border-top: 1px solid rgba(120, 102, 190, 0.12);
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(18px);
}

.share-card-actions-bar .primary-btn,
.share-card-actions-bar .ghost-btn {
  min-height: 42px;
  padding-inline: 14px;
  font-size: 0.82rem;
}

@media (max-width: 980px) {
  .share-card-panel {
    width: min(980px, calc(100vw - 20px));
  }

  .share-card-shell {
    grid-template-columns: 1fr;
  }

  .share-card-preview-stage {
    position: static;
    order: -1;
  }
}

@media (max-width: 640px) {
  .share-card-body-v28 {
    padding: 12px;
  }

  .share-card-grid-main,
  .share-card-grid-stats,
  .share-card-grid-google {
    grid-template-columns: 1fr;
  }

  .share-card-dropzone {
    grid-template-columns: auto 1fr;
  }

  .share-card-dropzone-cta {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .share-card-actions-bar {
    margin: 0 -12px -12px;
    padding: 12px;
  }

  .share-card-actions-bar > * {
    flex: 1 1 calc(50% - 6px);
  }
}


/* Share card editor v29 — minimal template studio */
.share-card-panel {
  width: min(1180px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  border: 1px solid rgba(118, 101, 202, 0.16);
  border-radius: 26px;
  background: linear-gradient(180deg, #fcfbff, #f7f7fe);
  box-shadow: 0 28px 72px rgba(32, 24, 68, 0.22);
  overflow: hidden;
}

.share-card-body-v29 {
  display: grid;
  gap: 16px;
  padding: 18px;
  background:
    radial-gradient(circle at top right, rgba(83, 189, 241, 0.1), transparent 26%),
    radial-gradient(circle at left top, rgba(176, 104, 255, 0.08), transparent 28%),
    linear-gradient(180deg, #fcfbff, #f6f7fd);
}

.share-card-header-v29,
.share-card-section-top-v29,
.share-card-preview-top-v29,
.share-card-actions-v29 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.share-card-header-v29 strong,
.share-card-section-top-v29 strong,
.share-card-preview-top-v29 strong {
  display: block;
  color: var(--ink);
}

.share-card-header-v29 strong { font-size: 1.06rem; }
.share-card-header-v29 p,
.share-card-section-top-v29 span,
.share-card-preview-top-v29 span,
.share-card-type-note-v29 {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
}

.share-card-chip-v29 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.share-card-layout-v29 {
  display: grid;
  grid-template-columns: minmax(350px, 430px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.share-card-preview-stage-v29 {
  position: sticky;
  top: 0;
  display: grid;
  gap: 10px;
}

.share-card-preview-wrap-v29 {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(118, 101, 202, 0.12);
  border-radius: 22px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 14px 30px rgba(66, 56, 118, 0.08);
}

.share-card-preview-img-v29 {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: min(72vh, 760px);
  border-radius: 18px;
  object-fit: contain;
  background: #efefef;
}

.share-card-editor-v29 {
  display: grid;
  gap: 12px;
}

.share-card-card-v29 {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(118, 101, 202, 0.12);
  border-radius: 18px;
  background: rgba(255,255,255,0.94);
  box-shadow: 0 10px 26px rgba(52, 44, 95, 0.05);
}

.share-card-mini-btn-v29 {
  min-height: 34px;
  padding-inline: 12px;
  font-size: 0.77rem;
}

.share-card-theme-switch-v29 {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.share-card-theme-pill-v29 {
  position: relative;
  display: block;
}

.share-card-theme-pill-v29 input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.share-card-theme-pill-v29 span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(118, 101, 202, 0.16);
  border-radius: 14px;
  background: #f8f7ff;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 850;
  cursor: pointer;
  transition: 0.18s ease;
}

.share-card-theme-pill-v29 input:checked + span {
  border-color: transparent;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
  color: #fff;
  box-shadow: 0 10px 24px rgba(93, 95, 215, 0.18);
}

.share-card-upload-v29 {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 76px;
  padding: 14px;
  border: 1px dashed rgba(118, 101, 202, 0.28);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(124,77,255,0.08), rgba(22,163,160,0.05));
  cursor: pointer;
}

.share-card-upload-v29 input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.share-card-upload-icon-v29 {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
  color: #fff;
}

.share-card-upload-copy-v29 strong,
.share-card-upload-copy-v29 small {
  display: block;
}

.share-card-upload-copy-v29 strong {
  color: var(--ink);
  font-size: 0.85rem;
}

.share-card-upload-copy-v29 small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 750;
}

.share-card-upload-cta-v29 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  color: #5f46da;
  font-size: 0.75rem;
  font-weight: 900;
}

.share-card-grid-v29 {
  display: grid;
  gap: 10px;
}

.share-card-grid-main-v29 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.share-card-grid-stats-v29 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.share-card-field-v29 {
  display: grid;
  gap: 6px;
}

.share-card-field-full-v29 {
  grid-column: 1 / -1;
}

.share-card-field-v29 > span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.share-card-field-v29 input,
.share-card-field-v29 textarea,
.share-card-caption-v29 {
  min-height: 44px;
  padding: 11px 13px;
  border: 1px solid rgba(118, 101, 202, 0.14);
  border-radius: 13px;
  background: #f8f7ff;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 760;
}

.share-card-caption-v29 {
  min-height: 92px;
  resize: vertical;
}

.share-card-field-v29 input:focus,
.share-card-field-v29 textarea:focus,
.share-card-caption-v29:focus {
  border-color: rgba(124, 77, 255, 0.54);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(124,77,255,0.10);
}

.share-card-actions-v29 {
  position: sticky;
  bottom: -18px;
  z-index: 4;
  flex-wrap: wrap;
  margin: 0 -18px -18px;
  padding: 14px 18px;
  border-top: 1px solid rgba(118, 101, 202, 0.12);
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(18px);
}

.share-card-actions-v29 .primary-btn,
.share-card-actions-v29 .ghost-btn {
  min-height: 42px;
  padding-inline: 14px;
  font-size: 0.82rem;
}

@media (max-width: 980px) {
  .share-card-layout-v29 {
    grid-template-columns: 1fr;
  }

  .share-card-preview-stage-v29 {
    position: static;
    order: -1;
  }
}

@media (max-width: 640px) {
  .share-card-body-v29 {
    padding: 12px;
  }

  .share-card-grid-main-v29,
  .share-card-grid-stats-v29 {
    grid-template-columns: 1fr;
  }

  .share-card-upload-v29 {
    grid-template-columns: auto 1fr;
  }

  .share-card-upload-cta-v29 {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .share-card-actions-v29 {
    margin: 0 -12px -12px;
    padding: 12px;
  }

  .share-card-actions-v29 > * {
    flex: 1 1 calc(50% - 6px);
  }
}


/* Share card v30 */
.share-card-icon-credits-v30 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(118, 101, 202, 0.10);
  color: var(--muted);
  font-size: 0.69rem;
  font-weight: 750;
}

.share-card-icon-credits-v30 span {
  font-weight: 900;
}

.share-card-icon-credits-v30 a {
  color: #6751d8;
  text-decoration: none;
}

.share-card-icon-credits-v30 a:hover {
  text-decoration: underline;
}

.share-card-preview-img-v29 {
  background:
    linear-gradient(45deg, rgba(124,77,255,.06) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(124,77,255,.06) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(22,163,160,.06) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(22,163,160,.06) 75%);
  background-size: 22px 22px;
  background-position: 0 0, 0 11px, 11px -11px, -11px 0;
}

/* v32 share card: no venue-type icon on card; tighter name/address spacing */


/* Share-card editor v33 — compact mobile accordion */
.share-card-panel {
  width: min(920px, calc(100vw - 20px));
  max-height: calc(100dvh - 20px);
  border: 1px solid rgba(111, 91, 201, .16);
  border-radius: 26px;
  overflow: hidden;
  background: #f8f7fe;
  box-shadow: 0 28px 80px rgba(35, 27, 70, .25);
}

.share-card-body-v33 {
  display: grid;
  gap: 14px;
  padding: 16px;
  background:
    radial-gradient(circle at top right, rgba(34, 203, 196, .10), transparent 28%),
    radial-gradient(circle at top left, rgba(128, 84, 255, .10), transparent 30%),
    linear-gradient(180deg, #fbfaff, #f5f5fc);
}

.share-card-intro-v33,
.share-card-preview-header-v33,
.share-card-actions-v33 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.share-card-intro-v33 strong,
.share-card-preview-header-v33 strong {
  display: block;
  color: var(--ink);
}

.share-card-intro-v33 strong {
  font-size: 1rem;
}

.share-card-intro-v33 p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 730;
}

.share-card-format-v33 {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
  font-size: .76rem;
  font-weight: 900;
}

.share-card-mobile-layout-v33 {
  display: grid;
  grid-template-columns: minmax(320px, 410px) minmax(0, 1fr);
  align-items: start;
  gap: 14px;
}

.share-card-preview-card-v33 {
  position: sticky;
  top: 0;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(111, 91, 201, .12);
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 30px rgba(55, 44, 104, .08);
}

.share-card-preview-header-v33 span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 760;
}

.share-card-ready-dot-v33 {
  width: 9px;
  height: 9px;
  margin: 0 !important;
  border-radius: 50%;
  background: #28cdb8;
  box-shadow: 0 0 0 5px rgba(40, 205, 184, .12);
}

.share-card-preview-wrap-v33 {
  display: grid;
  gap: 7px;
}

.share-card-preview-img-v33 {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: min(65dvh, 680px);
  border: 0;
  border-radius: 16px;
  object-fit: contain;
  background:
    linear-gradient(45deg, rgba(124,77,255,.06) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(124,77,255,.06) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(22,163,160,.06) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(22,163,160,.06) 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0;
}

.share-card-full-preview-v33 {
  width: 100%;
  min-height: 40px;
}

.share-card-accordion-v33 {
  display: grid;
  gap: 9px;
}

.share-card-details-v33 {
  border: 1px solid rgba(111, 91, 201, .12);
  border-radius: 17px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 22px rgba(55, 44, 104, .05);
  overflow: hidden;
}

.share-card-details-v33 summary {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 10px 13px;
  cursor: pointer;
  list-style: none;
}

.share-card-details-v33 summary::-webkit-details-marker {
  display: none;
}

.share-card-summary-icon-v33 {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: #6650df;
  background: rgba(124,77,255,.09);
  font-size: .92rem;
  font-weight: 950;
}

.share-card-summary-icon-v33 .sf-icon {
  width: 18px;
  height: 18px;
}

.share-card-summary-copy-v33 strong,
.share-card-summary-copy-v33 small {
  display: block;
}

.share-card-summary-copy-v33 strong {
  color: var(--ink);
  font-size: .84rem;
}

.share-card-summary-copy-v33 small {
  margin-top: 2px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 720;
}

.share-card-chevron-v33 {
  color: var(--muted);
  font-size: 1rem;
  transition: transform .18s ease;
}

.share-card-details-v33[open] .share-card-chevron-v33 {
  transform: rotate(180deg);
}

.share-card-details-v33[open] summary {
  border-bottom: 1px solid rgba(111, 91, 201, .09);
}

.share-card-details-body-v33 {
  display: grid;
  gap: 11px;
  padding: 13px;
}

.share-card-style-cards-v33 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.share-card-style-option-v33 {
  position: relative;
  display: block;
}

.share-card-style-option-v33 input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.share-card-style-preview-v33 {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 128px;
  padding: 14px;
  border: 2px solid rgba(111, 91, 201, .13);
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
  text-align: center;
  transition: .18s ease;
}

.share-card-style-preview-v33 b {
  color: #292348;
  font-size: 2.25rem;
  line-height: 1;
}

.share-card-style-preview-v33 strong,
.share-card-style-preview-v33 small {
  display: block;
}

.share-card-style-preview-v33 strong {
  margin-top: 8px;
  color: var(--ink);
  font-size: .84rem;
}

.share-card-style-preview-v33 small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 710;
}

.share-card-style-preview-colored-v33 b {
  color: #9f5fff;
}

.share-card-style-preview-v33 i {
  position: absolute;
  top: 9px;
  right: 9px;
  display: none;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #fff;
  background: #7660e8;
  font-size: .73rem;
  font-style: normal;
}

.share-card-style-option-v33 input:checked + .share-card-style-preview-v33 {
  border-color: #755df0;
  background: linear-gradient(180deg, rgba(124,77,255,.05), rgba(255,255,255,.98));
  box-shadow: 0 0 0 4px rgba(124,77,255,.08);
}

.share-card-style-option-v33 input:checked + .share-card-style-preview-v33 i {
  display: grid;
}

.share-card-upload-v33 {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 11px;
  min-height: 72px;
  padding: 12px;
  border: 1px dashed rgba(124,77,255,.34);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(124,77,255,.06), rgba(22,163,160,.04));
  cursor: pointer;
}

.share-card-upload-v33 input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.share-card-upload-icon-v33 {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
}

.share-card-upload-copy-v33 strong,
.share-card-upload-copy-v33 small {
  display: block;
}

.share-card-upload-copy-v33 strong {
  color: var(--ink);
  font-size: .83rem;
}

.share-card-upload-copy-v33 small {
  margin-top: 3px;
  color: var(--muted);
  font-size: .69rem;
  font-weight: 710;
}

.share-card-upload-button-v33 {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 11px;
  border-radius: 999px;
  color: #6047d9;
  background: #fff;
  font-size: .72rem;
  font-weight: 900;
}

.share-card-file-row-v33 {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid rgba(111, 91, 201, .12);
  border-radius: 14px;
  background: #faf9ff;
}

.share-card-file-row-v33 img {
  width: 58px;
  height: 58px;
  border-radius: 11px;
  object-fit: cover;
}

.share-card-file-row-v33 strong,
.share-card-file-row-v33 small {
  display: block;
}

.share-card-file-row-v33 strong {
  overflow: hidden;
  color: var(--ink);
  font-size: .77rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.share-card-file-row-v33 small {
  margin-top: 2px;
  color: var(--muted);
  font-size: .67rem;
}

.share-card-remove-photo-v33 {
  min-height: 34px;
  padding-inline: 10px;
  color: #df3d65;
}

.share-card-field-v33 {
  position: relative;
  display: grid;
  gap: 6px;
}

.share-card-field-v33 > span {
  color: var(--ink);
  font-size: .72rem;
  font-weight: 850;
}

.share-card-field-v33 input,
.share-card-field-v33 textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid rgba(111, 91, 201, .15);
  border-radius: 13px;
  background: #f9f8ff;
  color: var(--ink);
  box-shadow: none;
  font-size: .88rem;
  font-weight: 730;
}

.share-card-field-v33 input:focus,
.share-card-field-v33 textarea:focus {
  border-color: rgba(124,77,255,.60);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(124,77,255,.09);
}

.share-card-stat-fields-v33 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.share-card-caption-v33 {
  min-height: 96px !important;
  padding-bottom: 27px !important;
  resize: vertical;
}

.share-card-character-count-v33 {
  position: absolute;
  right: 11px;
  bottom: 9px;
  color: var(--muted);
  font-size: .65rem;
  font-weight: 800;
}

.share-card-actions-v33 {
  position: sticky;
  bottom: -16px;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(112px, .8fr) minmax(160px, 1.35fr) auto;
  margin: 0 -16px -16px;
  padding: 12px 16px;
  border-top: 1px solid rgba(111, 91, 201, .12);
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(18px);
}

.share-card-actions-v33 > .ghost-btn,
.share-card-actions-v33 > .primary-btn {
  min-height: 44px;
}

.share-card-more-v33 {
  position: relative;
}

.share-card-more-v33 summary {
  display: grid;
  place-items: center;
  width: 44px;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font-weight: 950;
  list-style: none;
}

.share-card-more-v33 summary::-webkit-details-marker {
  display: none;
}

.share-card-more-v33 > div {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  display: grid;
  gap: 7px;
  width: 180px;
  padding: 9px;
  border: 1px solid rgba(111, 91, 201, .12);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(42, 34, 83, .18);
}

.share-card-more-v33:not([open]) > div {
  display: none;
}

.share-card-more-v33 button {
  width: 100%;
  min-height: 38px;
  justify-content: flex-start;
}

@media (max-width: 820px) {
  .share-card-panel {
    width: min(620px, calc(100vw - 12px));
    max-height: calc(100dvh - 12px);
    border-radius: 22px;
  }

  .share-card-mobile-layout-v33 {
    grid-template-columns: 1fr;
  }

  .share-card-preview-card-v33 {
    position: static;
    order: -1;
  }

  .share-card-preview-img-v33 {
    max-height: 42dvh;
  }

  .share-card-accordion-v33 {
    gap: 8px;
  }
}

@media (max-width: 520px) {
  .share-card-body-v33 {
    padding: 10px;
  }

  .share-card-intro-v33 p {
    max-width: 250px;
  }

  .share-card-preview-img-v33 {
    max-height: 36dvh;
  }

  .share-card-stat-fields-v33 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .share-card-field-v33 input {
    padding-inline: 10px;
    font-size: .82rem;
  }

  .share-card-actions-v33 {
    bottom: -10px;
    margin: 0 -10px -10px;
    padding: 10px;
    grid-template-columns: .82fr 1.4fr auto;
  }

  .share-card-actions-v33 > .ghost-btn,
  .share-card-actions-v33 > .primary-btn {
    padding-inline: 10px;
    font-size: .77rem;
  }
}

@media (max-width: 390px) {
  .share-card-style-cards-v33 {
    grid-template-columns: 1fr;
  }

  .share-card-stat-fields-v33 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .share-card-stat-fields-v33 > :last-child {
    grid-column: 1 / -1;
  }
}


/* v34 exact mobile-editor layout */
.share-card-kit {
  padding: 12px;
  background: rgba(21, 18, 42, .44);
  backdrop-filter: blur(10px);
}

.share-card-panel {
  width: min(520px, calc(100vw - 16px));
  max-height: calc(100dvh - 16px);
  border: 1px solid rgba(112, 91, 205, .13);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 28px 76px rgba(39, 31, 77, .24);
  overflow: auto;
}

.share-card-panel > .chat-head {
  position: sticky;
  top: 0;
  z-index: 8;
  min-height: 84px;
  padding: 18px 20px 14px;
  border-bottom: 0;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(16px);
}

.share-card-panel > .chat-head h2 {
  margin: 0;
  color: #18152d;
  font-size: 1.22rem;
  letter-spacing: -.02em;
}

.share-card-modal-subtitle-v34 {
  margin: 5px 0 0;
  color: #676280;
  font-size: .78rem;
  font-weight: 720;
}

.share-card-panel > .chat-head .icon-btn {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.share-card-body-v34 {
  display: grid;
  gap: 14px;
  padding: 0 16px 16px;
  background: #fff;
}

.share-card-preview-card-v34 {
  display: grid;
  justify-items: center;
  gap: 10px;
}

.share-card-preview-frame-v34 {
  position: relative;
  width: min(100%, 374px);
  border-radius: 16px;
  overflow: visible;
}

.share-card-live-label-v34 {
  position: absolute;
  top: -14px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 12px;
  border-radius: 8px;
  color: #fff;
  background: #7b64f2;
  box-shadow: 0 8px 18px rgba(105, 82, 224, .20);
  font-size: .70rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.share-card-preview-img-v34 {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: 610px;
  border: 0;
  border-radius: 16px;
  object-fit: contain;
  background:
    linear-gradient(45deg, rgba(124,77,255,.05) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(124,77,255,.05) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(22,163,160,.05) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(22,163,160,.05) 75%);
  background-size: 18px 18px;
  background-position: 0 0, 0 9px, 9px -9px, -9px 0;
  box-shadow: 0 14px 28px rgba(49, 39, 95, .11);
}

.share-card-status-v34 {
  min-height: 18px;
  color: #77718e;
  font-size: .70rem;
  font-weight: 760;
  text-align: center;
}

.share-card-full-preview-v34 {
  width: auto;
  min-height: 38px;
  padding: 0 16px;
  border-color: rgba(116, 91, 235, .18);
  color: #6349de;
  background: #fff;
  box-shadow: 0 7px 18px rgba(90, 70, 180, .09);
  font-size: .78rem;
}

.share-card-accordion-v34 {
  display: grid;
  gap: 8px;
}

.share-card-details-v34 {
  border: 1px solid rgba(113, 93, 196, .12);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 21px rgba(60, 49, 105, .055);
  overflow: hidden;
}

.share-card-details-v34 summary {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 9px;
  min-height: 56px;
  padding: 10px 13px;
  list-style: none;
  cursor: pointer;
}

.share-card-details-v34 summary::-webkit-details-marker {
  display: none;
}

.share-card-summary-icon-v34 {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  color: #6c52e8;
  font-size: .95rem;
  font-weight: 900;
}

.share-card-summary-aa-v34 {
  font-size: .82rem;
}

.share-card-summary-copy-v34 strong {
  color: #27233e;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.share-card-chevron-v34 {
  color: #262238;
  font-size: 1rem;
  transition: transform .18s ease;
}

.share-card-details-v34[open] .share-card-chevron-v34 {
  transform: rotate(180deg);
}

.share-card-details-v34[open] summary {
  border-bottom: 1px solid rgba(113, 93, 196, .08);
}

.share-card-details-body-v34 {
  display: grid;
  gap: 11px;
  padding: 12px 13px 14px;
}

.share-card-section-help-v34 {
  margin: 0;
  color: #67617c;
  font-size: .72rem;
  font-weight: 710;
}

.share-card-style-cards-v34 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.share-card-style-option-v34 {
  position: relative;
}

.share-card-style-option-v34 input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.share-card-style-preview-v34 {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 134px;
  padding: 14px 10px;
  border: 2px solid rgba(115, 92, 230, .13);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  text-align: center;
}

.share-card-style-preview-v34 b {
  color: #1d1933;
  font-size: 2.20rem;
  line-height: 1;
}

.share-card-style-preview-colored-v34 b {
  color: #a162ed;
}

.share-card-style-preview-v34 strong,
.share-card-style-preview-v34 small {
  display: block;
}

.share-card-style-preview-v34 strong {
  margin-top: 8px;
  color: #28233e;
  font-size: .78rem;
}

.share-card-style-preview-v34 small {
  margin-top: 4px;
  color: #706a84;
  font-size: .65rem;
  font-weight: 710;
}

.share-card-style-preview-v34 i {
  position: absolute;
  top: 9px;
  right: 9px;
  display: none;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #fff;
  background: #7660e9;
  font-size: .72rem;
  font-style: normal;
}

.share-card-style-option-v34 input:checked + .share-card-style-preview-v34 {
  border-color: #745bf0;
  box-shadow: 0 0 0 3px rgba(116,91,240,.08);
}

.share-card-style-option-v34 input:checked + .share-card-style-preview-v34 i {
  display: grid;
}

.share-card-upload-v34 {
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 80px;
  padding: 12px;
  border: 1px dashed rgba(118, 92, 239, .30);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}

.share-card-upload-v34 input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.share-card-upload-icon-v34 {
  display: grid;
  place-items: center;
  color: #7b60ef;
  font-size: 1.6rem;
}

.share-card-upload-copy-v34 strong,
.share-card-upload-copy-v34 small {
  display: block;
}

.share-card-upload-copy-v34 strong {
  color: #6649dc;
  font-size: .85rem;
}

.share-card-upload-copy-v34 small {
  margin-top: 3px;
  color: #69637d;
  font-size: .70rem;
}

.share-card-file-row-v34 {
  display: grid;
  grid-template-columns: 84px 1fr;
  align-items: center;
  gap: 12px;
  padding: 9px;
  border: 1px solid rgba(113, 93, 196, .12);
  border-radius: 13px;
  background: #fff;
}

.share-card-file-row-v34 img {
  width: 84px;
  height: 84px;
  border-radius: 10px;
  object-fit: cover;
}

.share-card-file-row-v34 strong {
  display: block;
  overflow: hidden;
  color: #242038;
  font-size: .80rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.share-card-file-actions-v34 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.share-card-file-actions-v34 label,
.share-card-file-actions-v34 button {
  padding: 0;
  border: 0;
  background: none;
  font-size: .76rem;
  font-weight: 850;
  cursor: pointer;
}

.share-card-file-actions-v34 label {
  color: #6649dc;
}

.share-card-file-actions-v34 button {
  color: #ef3b52;
}

.share-card-file-actions-v34 span {
  width: 1px;
  height: 18px;
  background: rgba(113, 93, 196, .18);
}

.share-card-field-v34 {
  position: relative;
  display: grid;
  gap: 6px;
}

.share-card-field-v34 > span {
  color: #27233e;
  font-size: .70rem;
  font-weight: 850;
}

.share-card-field-v34 input,
.share-card-field-v34 textarea {
  width: 100%;
  min-height: 43px;
  padding: 10px 12px;
  border: 1px solid rgba(113, 93, 196, .16);
  border-radius: 10px;
  background: #fff;
  color: #27233e;
  box-shadow: none;
  font-size: .85rem;
  font-weight: 710;
}

.share-card-field-v34 input:focus,
.share-card-field-v34 textarea:focus {
  border-color: #7a61ee;
  box-shadow: 0 0 0 3px rgba(122,97,238,.09);
}

.share-card-stat-fields-v34 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.share-card-stat-field-v34 {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(113, 93, 196, .12);
  border-radius: 11px;
  background: #fff;
}

.share-card-stat-field-v34 > span {
  overflow: hidden;
  color: #69637d;
  font-size: .65rem;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.share-card-stat-field-v34 input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #29243f;
  font-size: .83rem;
  font-weight: 900;
  outline: none;
}

.share-card-caption-v34 {
  min-height: 94px !important;
  padding-bottom: 27px !important;
  resize: vertical;
}

.share-card-character-count-v34 {
  position: absolute;
  right: 10px;
  bottom: 8px;
  color: #6f6984;
  font-size: .65rem;
  font-weight: 750;
}

.share-card-actions-v34 {
  position: sticky;
  bottom: -16px;
  z-index: 7;
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 10px;
  margin: 0 -16px -16px;
  padding: 15px 16px;
  border-top: 1px solid rgba(113, 93, 196, .10);
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(16px);
}

.share-card-actions-v34 button {
  min-height: 46px;
  border-radius: 11px;
}

.share-card-actions-v34 .ghost-btn {
  border-color: #7a61ee;
  color: #674cdd;
  background: #fff;
}

.share-card-actions-v34 .primary-btn {
  background: linear-gradient(90deg, #9254ef, #26c9c1);
  box-shadow: 0 10px 22px rgba(88, 98, 205, .20);
}

@media (max-width: 520px) {
  .share-card-kit {
    padding: 6px;
  }

  .share-card-panel {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
    border-radius: 20px;
  }

  .share-card-panel > .chat-head {
    min-height: 78px;
    padding: 16px 16px 12px;
  }

  .share-card-body-v34 {
    padding: 0 12px 12px;
  }

  .share-card-preview-frame-v34 {
    width: min(100%, 360px);
  }

  .share-card-preview-img-v34 {
    max-height: 55dvh;
  }

  .share-card-actions-v34 {
    bottom: -12px;
    margin: 0 -12px -12px;
    padding: 12px;
  }
}

@media (max-width: 370px) {
  .share-card-style-cards-v34 {
    grid-template-columns: 1fr;
  }

  .share-card-stat-fields-v34 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .share-card-stat-fields-v34 > :last-child {
    grid-column: 1 / -1;
  }
}


/* v36 clean explore and scannable venue cards */
.explore-controls-v36{display:grid;gap:14px;padding:18px;border:1px solid rgba(113,91,205,.12);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 16px 38px rgba(54,45,99,.08)}
.dashboard-welcome-v36{padding:0;border:0;background:transparent;box-shadow:none}.dashboard-welcome-v36 .dashboard-register{min-width:132px}
.explore-search-row-v36{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end}.search-hero-v36{margin:0}.search-hero-v36 .input-shell{min-height:52px}.explore-near-btn-v36,.explore-filter-toggle-v36{min-height:52px;padding-inline:17px}.explore-filter-toggle-v36{border-color:#755df0;color:#6045dc;position:relative}.filter-count-badge-v36{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#755df0;color:#fff;font-size:.68rem}
.active-filter-row-v36{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.active-filter-chip-v36{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(113,91,205,.12);border-radius:10px;background:#f8f7ff;color:#3b345f;font-size:.76rem;font-weight:800}.clear-filter-link-v36{margin-left:auto;border:0;background:none;color:#6045dc;font-weight:850;cursor:pointer}
.advanced-filters-v36{border:1px solid rgba(113,91,205,.12);border-radius:16px;background:#fff;overflow:hidden}.advanced-filters-v36>summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:10px 14px;cursor:pointer;list-style:none}.advanced-filters-v36>summary::-webkit-details-marker{display:none}.advanced-filters-v36>summary>span:first-child{display:grid;grid-template-columns:24px auto;column-gap:9px;align-items:center}.advanced-filters-v36>summary strong,.advanced-filters-v36>summary small{display:block}.advanced-filters-v36>summary small{grid-column:2;color:var(--muted);font-size:.7rem}.advanced-filter-chevron-v36{width:9px;height:9px;border-right:2px solid #61587b;border-bottom:2px solid #61587b;transform:rotate(45deg);transition:.18s}.advanced-filters-v36[open] .advanced-filter-chevron-v36{transform:rotate(225deg)}.advanced-filter-body-v36{padding:14px;border-top:1px solid rgba(113,91,205,.1)}.advanced-filter-grid-v36{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.google-review-filters-v36{grid-column:1/-1}.advanced-filter-actions-v36{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.advanced-filter-actions-v36 button{min-width:120px}
.identity-card-v36{margin-top:0}.results-heading-v36{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:22px 0 12px}.results-heading-v36 h2{margin:0;font-size:1.1rem}.results-heading-v36 p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.results-heading-v36 label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem;font-weight:800}.results-sort-v36{min-width:155px}
.venue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.venue-card-v36{position:relative;display:grid;gap:13px;min-height:0;padding:16px;border:1px solid rgba(113,91,205,.12);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 26px rgba(55,44,104,.06)}.venue-card-v36::before{height:3px}.card-top-v36{padding-right:34px}.venue-save-icon-v36{position:absolute;top:52px;right:14px;width:34px;height:34px;border:0;background:transparent;color:#665b87;font-size:1.5rem;cursor:pointer}.venue-save-icon-v36.is-saved{color:#7259ef}.venue-card-title-v36 h2{margin:0 40px 5px 0;font-size:1.08rem;line-height:1.16}.venue-card-title-v36 p{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:.77rem}.venue-card-title-v36 .sf-icon{width:15px;height:15px}.venue-card-status-v36{display:grid;gap:8px;color:#423a63;font-size:.78rem}.venue-card-status-v36 span{display:flex;align-items:center;gap:7px}.venue-card-status-v36 .sf-icon{width:16px;height:16px;color:#5b50d7}.status-dot-v36{width:7px;height:7px;border-radius:50%;background:#37b86a}.venue-card-actions-v36{display:grid;grid-template-columns:1.25fr 1fr;gap:9px;margin-top:3px}.venue-card-actions-v36 button{min-height:42px}.venue-card-actions-v36 .is-danger{color:#e34866;border-color:rgba(227,72,102,.25)}
@media(max-width:1100px){.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-filter-grid-v36{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.explore-controls-v36{padding:12px}.dashboard-welcome-v36{align-items:flex-start}.explore-search-row-v36{grid-template-columns:1fr 1fr}.search-hero-v36{grid-column:1/-1}.explore-near-btn-v36,.explore-filter-toggle-v36{width:100%}.active-filter-row-v36{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.active-filter-chip-v36{flex:0 0 auto}.clear-filter-link-v36{flex:0 0 auto}.advanced-filter-grid-v36{grid-template-columns:1fr}.identity-card-v36{display:none}.results-heading-v36{align-items:flex-start;flex-direction:column}.results-heading-v36 label{width:100%}.results-sort-v36{flex:1}.venue-grid{grid-template-columns:1fr}.venue-card-v36{padding:15px}}


/* v37 — apply the approved explore mockup as closely as possible */
:root {
  --v37-purple: #7257ee;
  --v37-purple-dark: #563ed7;
  --v37-ink: #17162d;
  --v37-muted: #6d6881;
  --v37-line: rgba(105, 85, 190, .14);
}

.app {
  width: min(1260px, calc(100% - 32px));
}

.explore-controls-v36 {
  gap: 12px;
  padding: 24px 28px 18px;
  border: 1px solid var(--v37-line);
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 42px rgba(58, 45, 112, .08);
}

.dashboard-welcome-v36 {
  min-height: 62px;
  align-items: center;
}

.dashboard-welcome-v36 .dashboard-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
}

.dashboard-welcome-v36 .dashboard-copy h2 {
  font-size: 1.2rem;
  color: var(--v37-ink);
}

.dashboard-welcome-v36 .dashboard-copy p {
  margin-top: 4px;
  color: var(--v37-muted);
  font-size: .82rem;
}

.dashboard-welcome-v36 .dashboard-register {
  min-width: 150px;
  min-height: 44px;
  border-color: var(--v37-line);
  color: var(--v37-purple-dark);
  background: #fff;
}

.explore-search-row-v36 {
  grid-template-columns: minmax(0, 1fr) 145px 145px;
  gap: 12px;
}

.search-hero-v36 .input-shell,
.explore-near-btn-v36,
.explore-filter-toggle-v36 {
  min-height: 54px;
  border-radius: 13px;
}

.search-hero-v36 .input-shell {
  border-color: rgba(95, 75, 190, .14);
  background: #fff;
  box-shadow: 0 5px 15px rgba(58,45,112,.04);
}

.search-hero-v36 input {
  font-size: .92rem;
}

.explore-near-btn-v36,
.explore-filter-toggle-v36 {
  justify-content: center;
  color: var(--v37-purple-dark);
  border-color: rgba(114,87,238,.18);
  background: #fff;
  box-shadow: 0 8px 20px rgba(78,60,170,.08);
  font-weight: 900;
}

.explore-filter-toggle-v36 {
  border: 2px solid var(--v37-purple);
}

.active-filter-row-v36 {
  min-height: 38px;
  gap: 9px;
}

.active-filter-chip-v36 {
  position: relative;
  min-height: 36px;
  padding: 0 30px 0 13px;
  border-radius: 10px;
  border-color: rgba(105,85,190,.11);
  background: #f8f7ff;
  color: #393254;
  font-size: .75rem;
}

.active-filter-chip-v36::after {
  content: "×";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-51%);
  color: #8a83a1;
  font-size: 1rem;
  font-weight: 500;
}

.clear-filter-link-v36 {
  color: var(--v37-purple-dark);
  font-size: .76rem;
}

.advanced-filters-v36 {
  margin-top: 2px;
  border-color: rgba(105,85,190,.12);
  border-radius: 15px;
  background: rgba(255,255,255,.72);
  box-shadow: none;
}

.advanced-filters-v36 > summary {
  min-height: 60px;
  padding: 11px 16px;
}

.advanced-filters-v36 > summary strong {
  color: var(--v37-ink);
  font-size: .82rem;
}

.advanced-filters-v36 > summary small {
  margin-top: 2px;
  color: var(--v37-muted);
}

.advanced-filter-body-v36 {
  background: #fff;
}

.identity-card-v36 {
  display: none !important;
}

.results-panel-v37 {
  margin-top: 20px;
  padding: 18px 20px 20px;
  border: 1px solid var(--v37-line);
  border-radius: 22px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 16px 38px rgba(55,44,104,.07);
}

.results-heading-v37 {
  align-items: center;
  margin: 0 2px 14px;
}

.results-heading-v37 h2 {
  color: var(--v37-ink);
  font-size: 1.16rem;
  font-weight: 900;
}

.results-heading-v37 p {
  display: none;
}

.results-heading-v37 label {
  color: var(--v37-muted);
  font-size: .78rem;
}

.results-sort-v36 {
  min-width: 170px;
  border: 0;
  background: transparent;
  color: var(--v37-ink);
  font-weight: 900;
  padding-right: 30px;
}

.venue-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.venue-card-v36 {
  gap: 11px;
  min-height: 238px;
  padding: 15px 16px;
  border-radius: 15px;
  border-color: rgba(105,85,190,.13);
  background: #fff;
  box-shadow: 0 7px 18px rgba(55,44,104,.055);
}

.venue-card-v36::before {
  display: none;
}

.card-top-v36 {
  padding-right: 0;
}

.venue-kind,
.pulse-badge {
  min-height: 26px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: .68rem;
}

.venue-kind {
  color: #fff;
  background: #222033;
}

.venue-kind .kind-mark {
  display: none;
}

.pulse-badge {
  color: var(--v37-purple-dark);
  background: #f1edff;
}

.venue-save-icon-v36 {
  top: 48px;
  right: 12px;
  width: 30px;
  height: 30px;
  color: #5d567b;
  font-size: 1.3rem;
}

.venue-card-title-v36 h2 {
  margin: 0 35px 6px 0;
  color: var(--v37-ink);
  font-size: 1.08rem;
  line-height: 1.18;
}

.venue-card-title-v36 p {
  color: var(--v37-muted);
  font-size: .76rem;
}

.venue-card-status-v37 {
  gap: 9px;
  color: #3d3856;
  font-size: .76rem;
}

.venue-live-row-v37 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
}

.venue-card-status-v37 > span,
.venue-live-row-v37 span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.venue-card-status-v37 .sf-icon {
  color: #5ac46d;
}

.venue-card-status-v37 > span:last-child .sf-icon {
  color: #5d567b;
}

.status-dot-v36 {
  background: #48bd6a;
}

.venue-card-actions-v36 {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
}

.venue-card-actions-v36 button {
  min-height: 40px;
  border-radius: 9px;
  font-size: .78rem;
}

.venue-card-actions-v36 .primary-btn {
  background: linear-gradient(90deg, #7257ee, #6548dc);
  box-shadow: 0 8px 18px rgba(93,72,215,.18);
}

.venue-card-actions-v36 .ghost-btn {
  color: var(--v37-purple-dark);
  border-color: rgba(105,85,190,.14);
  background: #fff;
}

.venue-pagination-v37 {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-top: 18px;
}

.venue-pagination-v37 .venue-pagination-status {
  display: none;
}

.load-more-venues-v37 {
  min-width: 300px;
  min-height: 44px;
  border: 2px solid rgba(114,87,238,.65);
  border-radius: 13px;
  color: var(--v37-purple-dark);
  background: #fff;
  font-weight: 900;
}

.load-chevron-v37 {
  width: 8px;
  height: 8px;
  margin-left: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

@media (max-width: 1100px) {
  .venue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .app { width: min(100% - 16px, 640px); }
  .explore-controls-v36 { padding: 16px; border-radius: 20px; }
  .dashboard-welcome-v36 { align-items: center; }
  .dashboard-welcome-v36 .dashboard-register { min-width: auto; padding-inline: 12px; }
  .explore-search-row-v36 { grid-template-columns: 1fr 1fr; }
  .search-hero-v36 { grid-column: 1 / -1; }
  .results-panel-v37 { padding: 14px; }
  .results-heading-v37 { align-items: flex-start; flex-direction: row; }
  .results-heading-v37 label { width: auto; }
  .results-sort-v36 { min-width: 132px; max-width: 150px; }
  .venue-grid { grid-template-columns: 1fr; }
  .load-more-venues-v37 { width: 100%; min-width: 0; }
}


/* Mobile admin venue management v38 */
.admin-venues-manager {
  display: grid;
  gap: 14px;
}

.admin-venues-topbar,
.admin-venue-search-row,
.admin-venue-list-summary,
.admin-venue-pagination,
.admin-editor-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-venues-eyebrow {
  display: block;
  margin-bottom: 3px;
  color: #6851df;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.admin-venues-topbar h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.admin-venues-topbar h2 strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 25px;
  padding: 0 8px;
  border-radius: 999px;
  color: #6249d7;
  background: rgba(124,77,255,.10);
  font-size: .76rem;
}

.admin-venues-topbar p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 720;
}

.admin-add-venue-btn {
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 13px;
  font-size: 1.4rem;
}

.admin-venue-search-row {
  align-items: stretch;
}

.admin-venue-search-shell {
  flex: 1 1 auto;
}

.admin-filter-toggle {
  width: 45px;
  min-width: 45px;
  padding: 0;
}

.admin-status-tabs {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.admin-status-tabs::-webkit-scrollbar {
  display: none;
}

.admin-status-tabs button {
  flex: 0 0 auto;
  min-height: 35px;
  padding: 0 13px;
  border: 1px solid rgba(106,89,185,.14);
  border-radius: 999px;
  color: var(--ink);
  background: #fff;
  font-size: .73rem;
  font-weight: 850;
  cursor: pointer;
}

.admin-status-tabs button.is-active {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #7c4dff, #6158e8);
  box-shadow: 0 7px 18px rgba(97,88,232,.18);
}

.admin-venue-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 11px;
  border: 1px solid rgba(106,89,185,.11);
  border-radius: 14px;
  background: #faf9ff;
}

.admin-venue-filters label {
  display: grid;
  gap: 5px;
}

.admin-venue-filters span {
  color: var(--muted);
  font-size: .64rem;
  font-weight: 850;
  text-transform: uppercase;
}

.admin-venue-filters select {
  width: 100%;
  min-height: 38px;
  padding: 0 9px;
  border: 1px solid rgba(106,89,185,.14);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font-size: .73rem;
  font-weight: 760;
}

.admin-venue-list-summary {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 760;
}

.admin-mobile-venue-list {
  display: grid;
  gap: 9px;
}

.admin-venue-row {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-height: 88px;
  padding: 11px;
  border: 1px solid rgba(106,89,185,.12);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(44,36,82,.05);
  cursor: pointer;
}

.admin-venue-row:hover {
  border-color: rgba(124,77,255,.28);
}

.admin-venue-type-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, #7c4dff, #16a3a0);
  font-size: .72rem;
  font-weight: 900;
}

.admin-venue-row-copy {
  min-width: 0;
}

.admin-venue-row-copy strong,
.admin-venue-row-copy span {
  display: block;
}

.admin-venue-row-copy strong {
  overflow: hidden;
  color: var(--ink);
  font-size: .84rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-venue-row-copy span {
  margin-top: 3px;
  overflow: hidden;
  color: var(--muted);
  font-size: .69rem;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-venue-status-line {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.admin-status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.admin-status-dot.is-published { background: #39b978; }
.admin-status-dot.is-draft { background: #e8a936; }
.admin-status-dot.is-unclaimed { background: #ef8b46; }

.admin-venue-menu-wrap {
  position: relative;
}

.admin-venue-menu-btn {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink);
  font-size: 1.15rem;
  font-weight: 950;
  cursor: pointer;
}

.admin-venue-menu {
  position: absolute;
  z-index: 20;
  top: 40px;
  right: 0;
  display: grid;
  gap: 4px;
  width: 178px;
  padding: 7px;
  border: 1px solid rgba(106,89,185,.12);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(36,29,71,.18);
}

.admin-venue-menu[hidden] {
  display: none;
}

.admin-venue-menu button {
  width: 100%;
  min-height: 37px;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  font-size: .74rem;
  font-weight: 780;
  cursor: pointer;
}

.admin-venue-menu button:hover {
  background: #f6f4ff;
}

.admin-venue-menu button.is-danger {
  color: #df3c60;
}

.admin-venue-pagination {
  padding-top: 5px;
  color: var(--muted);
  font-size: .71rem;
  font-weight: 760;
}

.admin-editor-back {
  display: none;
  width: 40px;
  min-width: 40px;
  padding: 0;
}

.admin-editor-preview {
  margin-left: auto;
}

@media (max-width: 760px) {
  .admin-layout {
    display: block;
  }

  .admin-side {
    display: grid;
    gap: 12px;
  }

  #adminView.admin-mobile-editor-open .admin-side {
    display: none;
  }

  #adminView:not(.admin-mobile-editor-open) .admin-venue-editor-panel {
    display: none;
  }

  #adminView.admin-mobile-editor-open .admin-venue-editor-panel {
    display: block;
    min-height: calc(100dvh - 118px);
  }

  .admin-editor-back {
    display: inline-grid;
    place-items: center;
  }

  .admin-editor-head {
    position: sticky;
    top: 0;
    z-index: 6;
    margin: -12px -12px 12px;
    padding: 11px 12px;
    border-bottom: 1px solid rgba(106,89,185,.11);
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(16px);
  }

  .admin-editor-head > div {
    min-width: 0;
    flex: 1 1 auto;
  }

  .admin-editor-head h2,
  .admin-editor-head p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .admin-venue-filters {
    grid-template-columns: 1fr;
  }

  .admin-mobile-venue-list {
    content-visibility: auto;
  }

  .admin-venue-row {
    min-height: 82px;
  }

  #claimRequestsPanel,
  #adminImportPanel,
  #adminUsersPanel {
    order: 2;
  }

  #adminVenuesPanel {
    order: 1;
  }
}


/* v41 — critical Explore layout repair
   The original .explore-controls uses a 12-column grid. The redesigned
   container must explicitly reset that inherited grid, otherwise each
   top-level module is squeezed into a narrow auto-placed column. */
#visitorView .explore-controls-v36 {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row;
  grid-auto-columns: minmax(0, 1fr);
  width: 100%;
}

#visitorView .explore-controls-v36 > .dashboard-welcome-v36,
#visitorView .explore-controls-v36 > .explore-search-row-v36,
#visitorView .explore-controls-v36 > .active-filter-row-v36,
#visitorView .explore-controls-v36 > .advanced-filters-v36,
#visitorView .explore-controls-v36 > .identity-card-v36 {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}

#visitorView .explore-search-row-v36 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 145px 145px;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

#visitorView .search-hero-v36,
#visitorView .search-hero-v36 .input-shell,
#visitorView .search-hero-v36 input {
  width: 100%;
  min-width: 0;
}

#visitorView .active-filter-row-v36 {
  display: flex;
  width: 100%;
}

#visitorView .advanced-filters-v36 {
  display: block;
}

#visitorView .advanced-filters-v36:not([open]) > .advanced-filter-body-v36 {
  display: none;
}

#visitorView .results-panel-v37 {
  width: 100%;
  min-width: 0;
}

@media (max-width: 920px) {
  #visitorView .explore-search-row-v36 {
    grid-template-columns: minmax(0, 1fr) 132px 132px;
  }
}

@media (max-width: 720px) {
  #visitorView .explore-controls-v36 {
    grid-template-columns: minmax(0, 1fr);
  }

  #visitorView .explore-search-row-v36 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #visitorView .search-hero-v36 {
    grid-column: 1 / -1;
  }

  #visitorView .dashboard-welcome-v36 {
    display: flex;
  }

  #visitorView .active-filter-row-v36 {
    overflow-x: auto;
    flex-wrap: nowrap;
  }
}

@media (max-width: 480px) {
  #visitorView .explore-controls-v36 {
    padding: 12px;
  }

  #visitorView .dashboard-welcome-v36 .dashboard-copy p {
    display: none;
  }

  #visitorView .dashboard-welcome-v36 .dashboard-register {
    min-width: auto;
    padding-inline: 10px;
  }

  #visitorView .explore-search-row-v36 {
    gap: 8px;
  }
}


/* v42 — compact scroll areas for long admin lists */
#adminVenuesList,
#adminUsersList {
  max-height: 370px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 5px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* Subtle branded scrollbar for supported desktop browsers */
#adminVenuesList::-webkit-scrollbar,
#adminUsersList::-webkit-scrollbar {
  width: 8px;
}

#adminVenuesList::-webkit-scrollbar-track,
#adminUsersList::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(111, 91, 201, 0.06);
}

#adminVenuesList::-webkit-scrollbar-thumb,
#adminUsersList::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: linear-gradient(180deg, #7c4dff, #16a3a0);
  background-clip: padding-box;
}

/* A small fade hints that more items are available below. */
#adminVenuesPanel,
#adminUsersPanel {
  position: relative;
}

#adminVenuesPanel::after,
#adminUsersPanel::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 10px;
  left: 12px;
  height: 26px;
  border-radius: 0 0 12px 12px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.92));
  pointer-events: none;
}

#adminVenuesPanel:has(#adminVenuesList:empty)::after,
#adminUsersPanel:has(#adminUsersList:empty)::after {
  display: none;
}

@media (max-width: 760px) {
  #adminVenuesList {
    /* Roughly four compact venue rows, including row gaps. */
    max-height: 355px;
  }

  #adminUsersList {
    /* Roughly three to four user cards depending on content length. */
    max-height: 360px;
  }

  #adminVenuesList,
  #adminUsersList {
    padding-right: 4px;
    touch-action: pan-y;
  }
}

@media (max-width: 390px) {
  #adminVenuesList,
  #adminUsersList {
    max-height: 330px;
  }
}


/* v43 — cleaner header, profile hierarchy, and unified filters */
.topbar {
  position: relative;
  z-index: 70;
}

.mode-tabs,
.profile-menu {
  position: relative;
  z-index: 72;
}

.profile-dropdown {
  z-index: 120;
  min-width: 190px;
  padding: 8px;
  border: 1px solid rgba(111, 91, 201, .14);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 44px rgba(34, 27, 68, .22);
  backdrop-filter: blur(18px);
}

.profile-dropdown .ghost-btn,
.profile-dropdown .danger-btn,
.profile-dropdown .mode-tab {
  width: 100%;
  min-height: 42px;
  justify-content: flex-start;
  border-radius: 11px;
}

.profile-dropdown .profile-admin-item-v43 {
  display: flex;
  padding: 0 12px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  box-shadow: none;
}

.profile-dropdown .profile-admin-item-v43:hover {
  background: rgba(124,77,255,.07);
}

.profile-menu-separator-v43 {
  height: 1px;
  margin: 5px 3px;
  background: rgba(111, 91, 201, .12);
}

.dashboard-register-v43 {
  display: none !important;
}

#visitorView .explore-search-row-v43 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
}

#visitorView .search-shell-v43 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 50px;
  padding: 4px 5px 4px 14px;
}

#visitorView .search-shell-v43 > input {
  min-width: 0;
  padding-right: 8px;
}

.search-near-inline-v43 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-left: 1px solid rgba(111, 91, 201, .12);
  border-radius: 0 11px 11px 0;
  background: transparent;
  color: #654dde;
  font: inherit;
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.search-near-inline-v43:hover {
  background: rgba(124,77,255,.06);
}

#visitorView .explore-filter-toggle-v43 {
  min-width: 120px;
  min-height: 50px;
  border-color: rgba(124,77,255,.24);
  color: #5f45d7;
}

#visitorView .advanced-filter-summary-v43 {
  display: none;
}

#visitorView .advanced-filters-v36 {
  border: 0;
  background: transparent;
  box-shadow: none;
}

#visitorView .advanced-filters-v36:not([open]) {
  display: none;
}

#visitorView .advanced-filters-v36[open] {
  display: block;
}

#visitorView .advanced-filter-body-v36 {
  margin-top: 2px;
  border: 1px solid rgba(111, 91, 201, .12);
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 28px rgba(55,44,104,.06);
}

#visitorView .active-filter-row-v36 {
  margin-top: 0;
}

@media (max-width: 720px) {
  .topbar {
    z-index: 100;
  }

  .mode-tabs {
    z-index: 102;
  }

  .profile-dropdown {
    position: fixed;
    top: 68px;
    right: 10px;
    left: 10px;
    z-index: 150;
    width: auto;
    max-width: none;
  }

  #visitorView .dashboard-welcome-v36 {
    padding-right: 12px;
  }

  #visitorView .explore-search-row-v43 {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #visitorView .explore-filter-toggle-v43 {
    min-width: 52px;
    width: 52px;
    padding-inline: 0;
  }

  #visitorView .explore-filter-toggle-v43 > .sf-icon {
    margin: 0;
  }

  #visitorView .explore-filter-toggle-v43 {
    font-size: 0;
  }

  #visitorView .filter-count-badge-v36 {
    font-size: .67rem;
  }

  .search-near-inline-v43 span:last-child {
    display: none;
  }

  .search-near-inline-v43 {
    width: 42px;
    min-width: 42px;
    padding: 0;
  }
}

@media (max-width: 420px) {
  #visitorView .explore-controls-v36 {
    padding: 11px;
  }

  #visitorView .search-shell-v43 {
    min-height: 48px;
    padding-left: 12px;
  }

  #visitorView .active-filter-row-v36 {
    gap: 7px;
  }
}


/* v44 — mobile filter placement, readable Near me, and functional chips */
.search-near-inline-v44 {
  min-width: auto;
  width: auto;
  padding: 0 13px;
  border: 0;
  border-left: 1px solid rgba(111, 91, 201, .14);
  border-radius: 0;
  background: transparent;
  color: #5f49d3;
  line-height: 1;
}

.search-near-inline-v44 span {
  display: inline !important;
  font-size: .78rem;
  font-weight: 900;
}

.search-near-inline-v44::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: #25bfae;
  box-shadow: 0 0 0 4px rgba(37,191,174,.11);
}

.active-filter-row-v44 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.active-filter-chip-v44 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 8px 0 11px;
  border: 1px solid rgba(111,91,201,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #403963;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.active-filter-chip-v44:hover,
.active-filter-chip-v44:focus-visible {
  border-color: rgba(124,77,255,.44);
  background: rgba(124,77,255,.07);
}

.active-filter-chip-v44:active {
  transform: scale(.98);
}

.chip-remove-v44 {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  color: #71688e;
  background: rgba(111,91,201,.08);
  font-size: .82rem;
  line-height: 1;
}

.clear-filter-link-v44 {
  flex: 0 0 auto;
  margin-left: auto;
  min-height: 32px;
  padding: 0 4px;
}

@media (max-width: 720px) {
  /* The filter button occupies its own compact row above search, matching the
     requested mobile placement. */
  #visitorView .explore-search-row-v43 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  #visitorView .explore-filter-toggle-v43 {
    order: -1;
    align-self: flex-start;
    width: auto;
    min-width: 0;
    min-height: 42px;
    padding: 0 13px;
    border-radius: 12px;
    font-size: .78rem;
  }

  #visitorView .explore-filter-toggle-v43 > .sf-icon {
    margin-right: 6px;
  }

  #visitorView .search-hero-v43 {
    width: 100%;
  }

  #visitorView .search-shell-v43 {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .search-near-inline-v44 {
    width: auto;
    min-width: auto;
    padding: 0 11px;
  }

  .search-near-inline-v44 span {
    display: inline !important;
  }

  #visitorView .active-filter-row-v44 {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    padding: 1px 0 5px;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
  }

  #visitorView .active-filter-chip-v44 {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  #visitorView .clear-filter-link-v44 {
    flex: 0 0 auto;
    margin-left: 2px;
    padding: 0 8px;
  }
}

@media (max-width: 390px) {
  .search-near-inline-v44 {
    padding-inline: 9px;
  }

  .search-near-inline-v44 span {
    font-size: .72rem;
  }
}


/* v45 — search/filter alignment and simplified advanced filters */

/* Prevent the old generated × from appearing beside the new real remove icon. */
.active-filter-chip-v44::after {
  content: none !important;
  display: none !important;
}

.active-filter-chip-v44 {
  padding: 0 8px 0 11px !important;
}

/* Near me is a plain, readable action inside the search field. */
#visitorView .search-near-inline-v44 {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 72px;
  min-height: 38px;
  padding: 0 10px;
  border: 0 !important;
  border-left: 1px solid rgba(111, 91, 201, .14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #6047d9 !important;
}

#visitorView .search-near-inline-v44::before {
  display: none;
  content: none;
}

#visitorView .search-near-inline-v44:hover,
#visitorView .search-near-inline-v44:focus-visible,
#visitorView .search-near-inline-v44:active {
  background: rgba(124, 77, 255, .05) !important;
  box-shadow: none !important;
  transform: none;
}

#visitorView .search-near-inline-v44 span {
  display: inline !important;
  color: inherit;
  font-size: .76rem;
  font-weight: 900;
  white-space: nowrap;
}

/* Location, Staying, and Venue type now form the primary filter row.
   Sort remains only in the results header, avoiding duplicate controls. */
#visitorView .advanced-filter-grid-v36 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

#visitorView .advanced-filter-grid-v36 > .kind-field {
  grid-column: auto;
}

#visitorView .advanced-filter-grid-v36 > .field:has(#moodSelect) {
  grid-column: 1 / 2;
}

#visitorView .google-review-filters-v36 {
  grid-column: 1 / -1;
}

.sort-select-hidden-v45 {
  display: none !important;
}

@media (max-width: 720px) {
  /* Search and Filters share one row. */
  #visitorView .explore-search-row-v43 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: stretch;
    gap: 8px;
  }

  #visitorView .search-hero-v43 {
    grid-column: auto !important;
    width: 100%;
    min-width: 0;
  }

  #visitorView .explore-filter-toggle-v43 {
    order: initial !important;
    align-self: stretch !important;
    width: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border-radius: 12px;
    font-size: 0 !important;
  }

  #visitorView .explore-filter-toggle-v43 > .sf-icon {
    width: 20px;
    height: 20px;
    margin: 0 !important;
  }

  #visitorView .filter-count-badge-v36 {
    position: absolute;
    top: -7px;
    right: -5px;
    font-size: .66rem !important;
  }

  #visitorView .search-shell-v43 {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 48px;
    padding-right: 0;
  }

  #visitorView .search-near-inline-v44 {
    min-width: 66px;
    min-height: 40px;
    padding: 0 9px;
  }

  #visitorView .search-near-inline-v44 span {
    font-size: .72rem;
  }

  #visitorView .advanced-filter-grid-v36 {
    grid-template-columns: 1fr;
  }

  #visitorView .advanced-filter-grid-v36 > .field:has(#moodSelect),
  #visitorView .advanced-filter-grid-v36 > .kind-field,
  #visitorView .google-review-filters-v36 {
    grid-column: 1;
  }
}

@media (max-width: 390px) {
  #visitorView .explore-search-row-v43 {
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 7px;
  }

  #visitorView .explore-filter-toggle-v43 {
    width: 44px !important;
    min-width: 44px !important;
  }

  #visitorView .search-near-inline-v44 {
    min-width: 60px;
    padding-inline: 7px;
  }

  #visitorView .search-near-inline-v44 span {
    font-size: .68rem;
  }
}


/* v46 — mobile Near me readability + profile menu overlay */

/* Opening the Profile menu must never change the page layout. */
.topbar.has-profile-menu-open,
.theme-glass .topbar.has-profile-menu-open {
  margin-bottom: 0 !important;
}

/* Keep the dropdown layered above the page instead of participating in flow. */
.profile-menu {
  position: relative !important;
}

.profile-dropdown {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 9999 !important;
  margin: 0 !important;
}

/* Make Near me a simple text action on the white search surface. */
#visitorView .search-shell-v43 {
  position: relative;
  overflow: hidden;
  background: #fff !important;
}

#visitorView .search-shell-v43 > input {
  width: 100%;
  padding-right: 82px !important;
  overflow: hidden;
  color: var(--ink) !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#visitorView .search-near-inline-v44 {
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  z-index: 4;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 62px !important;
  min-height: 32px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-left: 1px solid rgba(111, 91, 201, .14) !important;
  border-radius: 0 !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #5b43d2 !important;
  opacity: 1 !important;
  filter: none !important;
  isolation: isolate;
}

#visitorView .search-near-inline-v44 span {
  display: block !important;
  position: relative;
  z-index: 2;
  color: #5b43d2 !important;
  font-size: .74rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-shadow: none !important;
  white-space: nowrap;
}

#visitorView .search-near-inline-v44::before,
#visitorView .search-near-inline-v44::after {
  display: none !important;
  content: none !important;
}

#visitorView .search-near-inline-v44:hover,
#visitorView .search-near-inline-v44:focus-visible,
#visitorView .search-near-inline-v44:active {
  transform: translateY(-50%) !important;
  background: #fff !important;
  color: #4f38c5 !important;
  box-shadow: none !important;
}

/* The inline button is absolutely positioned, so the shell no longer needs
   a third grid column. */
#visitorView .search-shell-v43 {
  grid-template-columns: auto minmax(0, 1fr) !important;
}

@media (max-width: 720px) {
  .topbar.has-profile-menu-open,
  .theme-glass .topbar.has-profile-menu-open {
    margin-bottom: 0 !important;
  }

  /* The mobile navigation panel remains an overlay. */
  .topbar .mode-tabs {
    z-index: 9800 !important;
  }

  .profile-dropdown {
    position: fixed !important;
    top: 76px !important;
    right: 12px !important;
    left: 12px !important;
    z-index: 10000 !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 94px);
    overflow-y: auto;
  }

  #visitorView .search-shell-v43 {
    min-height: 48px;
    padding-right: 0 !important;
  }

  #visitorView .search-shell-v43 > input {
    padding-right: 72px !important;
    font-size: .88rem;
  }

  #visitorView .search-near-inline-v44 {
    right: 5px !important;
    min-width: 58px !important;
    min-height: 34px !important;
    padding-inline: 7px !important;
  }

  #visitorView .search-near-inline-v44 span {
    font-size: .7rem !important;
  }
}

@media (max-width: 390px) {
  #visitorView .search-shell-v43 > input {
    padding-right: 66px !important;
  }

  #visitorView .search-near-inline-v44 {
    min-width: 54px !important;
    padding-inline: 5px !important;
  }

  #visitorView .search-near-inline-v44 span {
    font-size: .66rem !important;
  }
}


/* v47 — definitive mobile search, modal layering, and drawer fixes */

/* SEARCH + FILTER ROW
   Force the intended structure after all earlier responsive rules. */
#visitorView .explore-search-row-v43 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  gap: 9px !important;
  align-items: stretch !important;
  width: 100% !important;
}

#visitorView .search-hero-v43 {
  grid-column: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

#visitorView .explore-filter-toggle-v43 {
  grid-column: 2 !important;
  grid-row: 1 !important;
  order: initial !important;
  align-self: stretch !important;
  width: 52px !important;
  min-width: 52px !important;
  min-height: 50px !important;
  padding: 0 !important;
  border-radius: 13px !important;
  font-size: 0 !important;
}

#visitorView .explore-filter-toggle-v43 > .sf-icon {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}

/* Search surface */
#visitorView .search-shell-v43 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 50px !important;
  padding: 5px 74px 5px 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(124, 77, 255, .62) !important;
  border-radius: 13px !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
}

#visitorView .search-shell-v43 > input {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 7px !important;
  border: 0 !important;
  background: transparent !important;
  color: #24203b !important;
  -webkit-text-fill-color: #24203b !important;
  font-size: .88rem !important;
  font-weight: 720 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  outline: none !important;
}

/* Fully neutralize old button/gradient rules. */
#visitorView button.search-near-inline-v44 {
  all: unset !important;
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  z-index: 5 !important;
  transform: translateY(-50%) !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 55px !important;
  height: 34px !important;
  padding: 0 4px 0 9px !important;
  border-left: 1px solid rgba(111, 91, 201, .15) !important;
  background: #ffffff !important;
  color: #5a43d0 !important;
  -webkit-text-fill-color: #5a43d0 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

#visitorView button.search-near-inline-v44 span {
  display: inline !important;
  color: #5a43d0 !important;
  -webkit-text-fill-color: #5a43d0 !important;
  font-size: .71rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-shadow: none !important;
}

#visitorView button.search-near-inline-v44::before,
#visitorView button.search-near-inline-v44::after {
  content: none !important;
  display: none !important;
}

/* PROFILE MENU
   It remains an overlay, and drawers/modals always sit above it. */
.profile-dropdown {
  z-index: 9000 !important;
}

.chat-drawer,
.place-drawer,
.user-drawer {
  z-index: 12000 !important;
}

.chat-drawer.is-front,
.place-drawer.is-front,
.user-drawer.is-front {
  z-index: 12500 !important;
}

/* SHARE CARD MODAL
   Cover the site header, keep its own header visible, and use a more compact
   mobile preview so the editor controls are reachable. */
.share-card-kit {
  position: fixed !important;
  inset: 0 !important;
  z-index: 20000 !important;
  display: grid !important;
  place-items: center !important;
  padding: 8px !important;
  overflow: hidden !important;
}

.share-card-kit[hidden] {
  display: none !important;
}

.share-card-panel {
  position: relative !important;
  z-index: 20001 !important;
}

@media (max-width: 720px) {
  #visitorView .explore-search-row-v43 {
    grid-template-columns: minmax(0, 1fr) 50px !important;
  }

  #visitorView .explore-filter-toggle-v43 {
    width: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
  }

  #visitorView .search-shell-v43 {
    min-height: 50px !important;
    padding-right: 70px !important;
  }

  #visitorView button.search-near-inline-v44 {
    right: 7px !important;
    min-width: 53px !important;
    height: 34px !important;
    padding-left: 7px !important;
  }

  .share-card-kit {
    align-items: start !important;
    padding: 0 !important;
  }

  .share-card-panel {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow-y: auto !important;
  }

  .share-card-panel > .chat-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    min-height: 72px !important;
    padding: 14px 16px 11px !important;
    border-bottom: 1px solid rgba(113, 93, 196, .10) !important;
    background: rgba(255,255,255,.98) !important;
  }

  .share-card-preview-frame-v34 {
    width: min(100%, 270px) !important;
  }

  .share-card-preview-img-v34 {
    width: 100% !important;
    max-height: 46dvh !important;
    aspect-ratio: 9 / 16 !important;
  }

  .share-card-live-label-v34 {
    top: 8px !important;
  }

  .share-card-body-v34 {
    padding-top: 8px !important;
  }

  /* Drawers cover the fixed app header on mobile. */
  .place-drawer,
  .chat-drawer,
  .user-drawer {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
  }
}

@media (max-width: 390px) {
  #visitorView .explore-search-row-v43 {
    grid-template-columns: minmax(0, 1fr) 46px !important;
    gap: 7px !important;
  }

  #visitorView .explore-filter-toggle-v43 {
    width: 46px !important;
    min-width: 46px !important;
  }

  #visitorView .search-shell-v43 {
    padding-right: 65px !important;
  }

  #visitorView button.search-near-inline-v44 {
    min-width: 49px !important;
  }

  #visitorView button.search-near-inline-v44 span {
    font-size: .67rem !important;
  }

  .share-card-preview-frame-v34 {
    width: min(100%, 240px) !important;
  }
}


/* v48 — full preview above editor, one share action, icon-only location */

/* The expanded preview must always appear above the share-card editor. */
.image-viewer {
  z-index: 30000 !important;
}

.image-viewer-panel {
  position: relative;
  z-index: 30001 !important;
}

.share-card-kit {
  z-index: 20000 !important;
}

.share-card-panel {
  z-index: 20001 !important;
}

/* Keep only one clear sharing action in the venue profile. */
.share-grid-single-v48 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

.share-grid-single-v48 .primary-btn {
  width: 100%;
  min-height: 44px;
}

/* Icon-only current-location action inside the search field. */
#visitorView button.search-near-icon-v48 {
  all: unset !important;
  position: absolute !important;
  top: 50% !important;
  right: 7px !important;
  z-index: 5 !important;
  transform: translateY(-50%) !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border-left: 1px solid rgba(111, 91, 201, .14) !important;
  background: #ffffff !important;
  color: #5b43d2 !important;
  -webkit-text-fill-color: #5b43d2 !important;
  cursor: pointer !important;
}

#visitorView button.search-near-icon-v48 .sf-icon {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  color: #5b43d2 !important;
}

#visitorView button.search-near-icon-v48 svg {
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

#visitorView button.search-near-icon-v48::before,
#visitorView button.search-near-icon-v48::after {
  content: none !important;
  display: none !important;
}

#visitorView .search-shell-v43 {
  padding-right: 50px !important;
}

#visitorView .search-shell-v43 > input {
  padding-right: 4px !important;
}

@media (max-width: 720px) {
  .image-viewer {
    padding: 0 !important;
    align-items: stretch !important;
  }

  .image-viewer-panel {
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .image-viewer img {
    max-width: 100vw !important;
    max-height: calc(100dvh - 72px) !important;
  }

  #visitorView button.search-near-icon-v48 {
    right: 5px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  #visitorView .search-shell-v43 {
    padding-right: 46px !important;
  }
}


/* v49 — refined current-location control */
#visitorView button.search-near-icon-v49 {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 1px solid rgba(111, 91, 201, .14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6650dc !important;
}

#visitorView button.search-near-icon-v49:hover,
#visitorView button.search-near-icon-v49:focus-visible {
  background: rgba(124, 77, 255, .055) !important;
  color: #5137c8 !important;
}

.current-location-icon-v49 {
  width: 21px;
  height: 21px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.current-location-active-dot-v49 {
  fill: #25c7b7;
  stroke: #ffffff;
  stroke-width: 1.25;
  opacity: 0;
  transform-origin: center;
  transition: opacity .18s ease, transform .18s ease;
}

/* The app can add either state class when geolocation is active. */
#visitorView button.search-near-icon-v49.is-active .current-location-active-dot-v49,
#visitorView button.search-near-icon-v49.has-location .current-location-active-dot-v49,
#visitorView button.search-near-icon-v49[aria-pressed="true"] .current-location-active-dot-v49 {
  opacity: 1;
  transform: scale(1);
}

#visitorView button.search-near-icon-v49:disabled {
  opacity: .55;
  cursor: wait !important;
}

@media (max-width: 720px) {
  #visitorView button.search-near-icon-v49 {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  .current-location-icon-v49 {
    width: 20px;
    height: 20px;
  }
}


/* v50 — admin venue pagination/footer repair */

/* Remove the fade overlay that was covering the pagination area. */
#adminVenuesPanel::after {
  display: none !important;
}

/* Keep the scroll list visually separate from the footer. */
#adminVenuesList {
  margin-bottom: 0;
  border-radius: 14px;
}

/* Compact, balanced pagination row. */
#adminVenuePagination {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  margin-top: 2px;
  padding: 10px 0 0;
  border-top: 1px solid rgba(106, 89, 185, .10);
}

#adminVenueShowing {
  display: block;
  min-width: 0;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}

#adminVenueLoadMore {
  width: auto !important;
  min-width: 132px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Hide the footer completely when pagination is not needed. */
#adminVenuePagination[hidden] {
  display: none !important;
}

@media (max-width: 760px) {
  #adminVenuePagination {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    padding-top: 10px;
  }

  #adminVenueShowing {
    font-size: .69rem;
  }

  #adminVenueLoadMore {
    width: 100% !important;
    min-width: 0;
    min-height: 42px;
  }
}

@media (max-width: 390px) {
  #adminVenuePagination {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  #adminVenueShowing {
    text-align: center;
  }
}


/* v51 — thinner current-location crosshair */
.current-location-icon-v49 {
  width: 19px !important;
  height: 19px !important;
  stroke-width: 1.25 !important;
  color: #6b57d8 !important;
}

#visitorView button.search-near-icon-v49 {
  color: #6b57d8 !important;
  -webkit-text-fill-color: #6b57d8 !important;
}

#visitorView button.search-near-icon-v49:hover,
#visitorView button.search-near-icon-v49:focus-visible {
  color: #5640c8 !important;
}

.current-location-active-dot-v49 {
  stroke-width: .85 !important;
  r: 1.45px;
}

@media (max-width: 720px) {
  .current-location-icon-v49 {
    width: 18px !important;
    height: 18px !important;
    stroke-width: 1.2 !important;
  }
}


/* v54 — even smaller inner circle for current-location icon */
.current-location-icon-v49 > circle:first-child {
  r: 2.45px !important;
}


/* v53 — wall post deletion */
.wall-delete-post-v53 {
  margin-left: auto;
}
