/* ===================================================
   InkRadar UI Overrides — loaded last, highest priority
   Clean consolidated version
   =================================================== */

/* ================================================================
   0. ACCESSIBILITY — FOCUS INDICATORS
   ================================================================ */
*:focus-visible {
  outline: 2px solid #c9a84c !important;
  outline-offset: 2px !important;
}

button:focus-visible,
a:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid #c9a84c !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(201, 168, 76, 0.25) !important;
}


/* ================================================================
   1. HEADER / TOPBAR
   ================================================================ */

body .topbar,
body .shop-client-topbar,
body .artist-client-topbar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 12px !important;
  flex-wrap: nowrap !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: #111111 !important;
  overflow: visible !important;
  border-bottom: none !important;
}

body .topbar-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

body #topbarBrandMini {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body #menuToggleBtn {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 10px !important;
  min-height: 36px !important;
}

body #accountToggleBtn {
  display: flex !important;
  align-items: center !important;
  padding: 4px !important;
}

body #accountToggleBtn img {
  width: 24px !important;
  height: 24px !important;
}

body .topbar button,
body .menu-toggle-btn,
body #accountToggleBtn,
body #accountToggleBtn:hover,
body #accountToggleBtn:focus {
  border: none !important;
  box-shadow: none !important;
}

/* Menu icon (hamburger) — CSS-only, no image needed */
body .menu-toggle-btn::before {
  content: "\2630" !important;  /* trigram / hamburger icon */
  font-size: 1.1rem !important;
  margin-right: 6px !important;
  line-height: 1 !important;
}

body .language-switcher select,
body .language-switcher select:focus,
body .language-switcher select:hover {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}


/* ================================================================
   2. NAV MENU
   ================================================================ */

body .nav-menu-list {
  border: 1px solid rgba(201,168,76,0.12) !important;
  gap: 4px !important;
}

body .nav-menu {
  border: 1px solid rgba(201,168,76,0.12) !important;
  max-height: calc(100vh - 120px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  padding: 10px !important;
}

body .nav-menu-list button,
body .nav-menu-list a {
  background: #161616 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 2px !important;
  min-height: 38px !important;
  padding: 6px 10px !important;
  font-size: 0.78rem !important;
}

body .nav-menu-list button:hover,
body .nav-menu-list a:hover {
  background: rgba(201,168,76,0.15) !important;
  color: #d4b965 !important;
  border-color: rgba(201,168,76,0.6) !important;
}


/* ================================================================
   3. BUTTONS — single consolidated rule for ALL dark-theme buttons
   ================================================================ */

/* Search result card contact buttons + address */
.search-result-address {
  color: #8a7e6a !important;
  font-size: 0.72rem !important;
  margin: 2px 0 4px !important;
  line-height: 1.3 !important;
}
.search-result-contact-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: rgba(201,168,76,0.1) !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 2px !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  color: #c9a84c !important;
  cursor: pointer !important;
}
.search-result-contact-btn:hover {
  background: rgba(201,168,76,0.25) !important;
}

/* Base dark button — covers search results, feed, admin, profile, etc. */
body .search-result-actions button,
body .search-result-card button,
body .artist-client-message-btn,
body .artist-client-icon-btn,
body .feed-post-actions button,
body .panel-empty button,
body .search-empty-actions button,
body .shop-client-topbar button,
body .artist-client-topbar-actions button,
body #adminClaimsBox button,
body .admin-action-card button,
body .admin-inline-actions button,
body .posts-section button,
body .artist-portfolio-section button,
body .create-post-box button,
body .tattoo-card button,
body #logoutBtn,
body .profile-actions button:not(.secondary-btn):not(.small-delete-btn),
body .shop-premium-banner button:not(.secondary-btn),
body .modal-actions button:not(.secondary-btn) {
  background: #161616 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 2px !important;
}

/* Hover state — one rule for all buttons above */
body .search-result-actions button:hover,
body .search-result-card button:hover,
body .artist-client-message-btn:hover,
body .feed-post-actions button:hover,
body .panel-empty button:hover,
body .search-empty-actions button:hover,
body #adminClaimsBox button:hover,
body .admin-action-card button:hover,
body .admin-inline-actions button:hover,
body .posts-section button:hover,
body .artist-portfolio-section button:hover,
body .create-post-box button:hover,
body .tattoo-card button:hover,
body #logoutBtn:hover,
body .profile-actions button:not(.secondary-btn):not(.small-delete-btn):hover,
body .shop-premium-banner button:not(.secondary-btn):hover,
body .modal-actions button:not(.secondary-btn):hover {
  background: rgba(201,168,76,0.15) !important;
  color: #d4b965 !important;
  border-color: rgba(201,168,76,0.6) !important;
}

/* Favorites icon stays circular */
body .artist-client-icon-btn {
  border-radius: 999px !important;
  width: 44px !important;
  height: 44px !important;
}


/* ================================================================
   4. ACTIVE / TOGGLE STATES
   ================================================================ */

body .home-intent-btn.active,
body .home-intent-btn[aria-pressed="true"],
body .home-range-btn.active,
body .home-range-btn[aria-pressed="true"],
body .auth-mode-btn.active,
body .auth-mode-btn[aria-pressed="true"],
body .auth-role-btn.active,
body .auth-role-btn[aria-pressed="true"],
body .app-feed-tab.active,
body .app-feed-tab[aria-pressed="true"],
body .artist-local-tab.active,
body .artist-local-tab[aria-pressed="true"],
body #notificationsFilterAllBtn.active,
body #notificationsFilterUnreadBtn.active,
body .discover-tabs button.active,
body .secondary-btn.active {
  background-color: rgba(201,168,76,0.15) !important;
  background-image: none !important;
  color: #d4b965 !important;
  border-color: #c9a84c !important;
  font-weight: 700 !important;
}

body .home-intent-btn:not(.active),
body .home-range-btn:not(.active),
body .auth-mode-btn:not(.active),
body .auth-role-btn:not(.active),
body .app-feed-tab:not(.active),
body .secondary-btn:not(.active) {
  background-color: #161616 !important;
  background-image: none !important;
  color: #f0e8d8 !important;
  border-color: transparent !important;
}

body .artist-local-tab {
  background: transparent !important;
  color: #8a7e6a !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  font-weight: 600 !important;
}

body .artist-local-tab.active {
  color: #c9a84c !important;
  border-bottom: 3px solid #c9a84c !important;
  font-weight: 700 !important;
}

body .brand-stage {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body .info-btn,
body .mini-info-btn {
  background: #161616 !important;
  background-color: #161616 !important;
  color: #c9a84c !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 0 !important;
}

body .feed-save-btn {
  background: #161616 !important;
  background-color: #161616 !important;
  color: #f0e8d8 !important;
  border-color: rgba(201,168,76,0.2) !important;
}

body .feed-save-btn.active {
  background: rgba(201,168,76,0.15) !important;
  background-color: rgba(201,168,76,0.15) !important;
  color: #c9a84c !important;
  border-color: #c9a84c !important;
}

body .feed-like-btn.liked {
  background: rgba(201,168,76,0.12) !important;
  background-color: rgba(201,168,76,0.12) !important;
}

body .password-toggle-btn,
body .artist-client-follow-btn,
body .artist-portfolio-gallery-nav {
  background: #161616 !important;
  background-color: #161616 !important;
  color: #f0e8d8 !important;
  border-color: rgba(201,168,76,0.2) !important;
}

body .artist-client-follow-btn.active,
body .artist-client-icon-btn.active {
  background: rgba(201,168,76,0.15) !important;
  background-color: rgba(201,168,76,0.15) !important;
  color: #c9a84c !important;
}

body .legalCloseBtn,
body .faqCloseBtn,
body .modal-close-btn,
body .saveNewPasswordBtn {
  background: #161616 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 0 !important;
}

body .home-location-btn {
  background: #161616 !important;
  color: #c9a84c !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  border-radius: 0 !important;
}


/* ================================================================
   5. ADMIN SECTION
   ================================================================ */

body .admin-action-card label {
  color: #c8baa8 !important;
  font-size: 0.8rem !important;
}

body .admin-shop-edit-fields input {
  background: #111111 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
}


/* ================================================================
   6. SPECIAL ELEMENTS
   ================================================================ */

/* Logout / Admin claims: dark text when on cream bg */
body #logoutBtn,
body #adminClaimsBtn {
  color: #f0e8d8 !important;
}

/* Save new password: gold CTA */
body #saveNewPasswordBtn {
  background-color: transparent !important;
  background-image: linear-gradient(135deg, #c9a84c, #a8893a) !important;
  color: #0d0d0d !important;
  border: none !important;
  font-weight: 700 !important;
}

/* Location icon button */
body .home-location-btn {
  background-color: #161616 !important;
  background-image: none !important;
  border: 1.5px solid rgba(201,168,76,0.3) !important;
  border-left: none !important;
}

/* Info trigger */
body .artist-info-trigger-btn {
  background: #1e1e1e !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}

/* Premium button */
body .home-premium-btn {
  background: linear-gradient(180deg, #1e1e1e, #161616) !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  color: #f0e8d8 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.3) !important;
}

body .home-premium-btn:hover {
  border-color: rgba(201,168,76,0.4) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,0.4) !important;
}

body .home-premium-btn.active {
  background: linear-gradient(180deg, rgba(201,168,76,0.2), rgba(201,168,76,0.1)) !important;
  color: #d4b965 !important;
  border-color: rgba(201,168,76,0.5) !important;
}

/* File inputs */
body input[type="file"] {
  background: #1a1a1a !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 2px !important;
}

/* Style checkboxes */
body .style-checkbox {
  background: #1a1a1a !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  accent-color: #c9a84c !important;
}

/* Search location input */
body #searchLocation {
  color: #f0e8d8 !important;
}

body #searchLocation::placeholder {
  color: rgba(138,126,106,0.6) !important;
}


/* ================================================================
   7. CARDS & CONTAINERS
   ================================================================ */

body .feed-post {
  background: #161616 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
}

body .feed-post-actions,
body .feed-post-actions-overlay {
  background: rgba(22,22,22,0.92) !important;
  border: 1px solid rgba(201,168,76,0.15) !important;
}

body .feed-post-caption,
body .feed-post-actions {
  background: #161616 !important;
  color: #f0e8d8 !important;
}

body .image-style-tag {
  background: rgba(201,168,76,0.12) !important;
  color: #c9a84c !important;
}

body .image-style-tags {
  background: transparent !important;
}

body .feed-post-shop-name {
  background: transparent !important;
  color: #c9a84c !important;
}

body .panel-empty,
body .panel-status,
body .search-empty-state {
  background: #161616 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
}

body .search-empty-title {
  color: #d4b965 !important;
}

body .search-empty-copy {
  color: #8a7e6a !important;
}

body .home-header-card,
body .home-explainer-card,
body .home-explainer-proof-card,
body .home-value-block,
body .home-cta-card {
  background: #161616 !important;
  border-color: rgba(201,168,76,0.12) !important;
  color: #f0e8d8 !important;
}

body .home-header-card-wide {
  background: linear-gradient(180deg, #1a1a1a, #161616) !important;
}

body .home-value-block-wide,
body .home-cta-card-accent {
  background: linear-gradient(180deg, rgba(201,168,76,0.08), #161616) !important;
  border-color: rgba(201,168,76,0.2) !important;
}

body .home-header-card strong,
body .home-header-card h3,
body .home-explainer-card h4,
body .home-value-block h4,
body .home-cta-card h4 {
  color: #d4b965 !important;
}

body .home-header-card p,
body .home-explainer-card p,
body .home-explainer-proof-card span,
body .home-value-block p,
body .home-cta-card p {
  color: #8a7e6a !important;
}

body .tattoo-card .image-box {
  background: #1a1a1a !important;
}

body .posts-section,
body .artist-portfolio-section,
body .create-post-box {
  background: rgba(22,22,22,0.95) !important;
  color: #f0e8d8 !important;
  border-color: rgba(201,168,76,0.12) !important;
}

body .home-discovery-count {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ================================================================
   8. FEED CARD NAMES
   ================================================================ */

body .feed-post-names {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

body .feed-post-names-overlay {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  right: 80px !important;
  z-index: 3 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.7) !important;
}

body .feed-post-artist-name {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #d4b965 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
  text-align: left !important;
  width: auto !important;
}

body .feed-post-artist-name:hover {
  color: #f0e8d8 !important;
  text-decoration: underline !important;
}

body .feed-post-artist-name-overlay {
  color: #f0e8d8 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.7) !important;
}

body .feed-post-artist-name-overlay:hover {
  color: #d4b965 !important;
}

body .feed-post-names-sep {
  color: #8a7e6a !important;
  font-size: 0.85rem !important;
}

body .feed-post-shop-name-secondary {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #8a7e6a !important;
  font-weight: 400 !important;
  font-size: 0.82rem !important;
  cursor: pointer !important;
  text-align: left !important;
  width: auto !important;
}

body .feed-post-shop-name-secondary:hover {
  color: #c9a84c !important;
  text-decoration: underline !important;
}

body .feed-post-names-overlay .feed-post-shop-name-overlay,
body .feed-post-names-overlay .feed-post-artist-name-overlay {
  position: static !important;
  max-width: none !important;
  text-align: left !important;
}

body .flash-post-header .feed-post-names {
  flex: 1 !important;
  min-width: 0 !important;
}


/* ================================================================
   9. MOBILE RESPONSIVE
   ================================================================ */

/* --- 9a. Header bar stays on one line --- */
@media (max-width: 640px) {
  body .topbar {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 10px !important;
    gap: 4px !important;
  }

  body .topbar-actions {
    flex-direction: row !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
  }

  body .menu-toggle-btn {
    min-width: 0 !important;
    width: auto !important;
    padding: 6px 8px !important;
    font-size: 0.7rem !important;
  }

  body .topbar-brand-mini {
    gap: 4px !important;
    font-size: 0.72rem !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body .topbar-brand-mini .topbar-brand-mark-real,
  body .topbar-brand-mini .topbar-brand-mark-real img {
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0 !important;
  }

  body #topbarBrandText {
    font-size: 0.72rem !important;
    white-space: nowrap !important;
  }

  body .language-switcher select {
    font-size: 0.7rem !important;
    padding: 2px !important;
    min-width: 0 !important;
    width: auto !important;
  }

  body #accountToggleBtn {
    font-size: 0.65rem !important;
    padding: 4px 6px !important;
    white-space: nowrap !important;
  }

  /* Inline button width fix */
  body .search-result-actions button,
  body .search-result-card button,
  body .feed-post-actions button,
  body .artist-client-icon-btn,
  body .artist-client-message-btn,
  body .artist-client-follow-btn,
  body .shop-client-topbar button,
  body .artist-client-topbar-actions button,
  body .modal-close-btn,
  body #authCloseBtn,
  body #feedCloseBtn,
  body #discoverCloseBtn,
  body #flashCloseBtn,
  body #favoritesCloseBtn,
  body #messagesCloseBtn,
  body #adminClaimsCloseBtn,
  body #resetCancelBtn,
  body .app-feed-tab,
  body .app-back-btn,
  body .feed-like-btn,
  body .password-toggle-btn,
  body .footer-link-btn {
    width: auto !important;
  }
}

/* --- 9b. Banner feature strip below banner on phones --- */
@media (max-width: 680px) {
  body #searchHeroBanner {
    max-height: 160px !important;
    aspect-ratio: 21 / 8 !important;
    overflow: hidden !important;
    margin-bottom: 16px !important;
  }

  body #searchHeroBanner > div[style*="grid-template-columns:repeat(4"] {
    display: none !important;
  }
}

/* --- 9c. Feed card names no overlap --- */
@media (max-width: 640px) {
  body .feed-post-names {
    gap: 3px !important;
    flex-wrap: wrap !important;
  }

  body .feed-post-names-overlay {
    bottom: 38px !important;
    left: 6px !important;
    right: 6px !important;
  }

  body .feed-post-artist-name {
    font-size: 0.78rem !important;
    max-width: 55% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body .feed-post-artist-name-overlay {
    font-size: 0.78rem !important;
    max-width: 55% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body .feed-post-shop-name-secondary {
    font-size: 0.7rem !important;
    max-width: 40% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body .feed-post-names-sep {
    font-size: 0.7rem !important;
    flex-shrink: 0 !important;
  }

  body .flash-post-header .feed-post-names {
    max-width: 100% !important;
  }
}


/* ================================================================
   10. BILLING PANEL
   ================================================================ */

#billingBox {
  background: #0d0d0d !important;
}

body .billing-panel {
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 20px 16px !important;
}

body .billing-title {
  color: #d4b965 !important;
  font-size: 1.4rem !important;
  margin-bottom: 16px !important;
  text-align: center !important;
}

body .billing-company-info {
  background: #161616 !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
  border-radius: 4px !important;
  padding: 12px 16px !important;
  margin-bottom: 16px !important;
  color: #8a7e6a !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

body .billing-company-info strong {
  color: #f0e8d8 !important;
}

body .billing-subscription-card,
body .billing-invoices-card {
  background: #161616 !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
  border-radius: 4px !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
}

body .billing-subscription-card h3,
body .billing-invoices-card h3 {
  color: #d4b965 !important;
  font-size: 1rem !important;
  margin: 0 0 12px 0 !important;
}

body .billing-status-row {
  display: flex !important;
  justify-content: space-between !important;
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(201,168,76,0.08) !important;
  color: #f0e8d8 !important;
  font-size: 0.88rem !important;
}

body .billing-label {
  color: #8a7e6a !important;
}

body .billing-status-active {
  color: #4ade80 !important;
  font-weight: 700 !important;
}

body .billing-status-inactive {
  color: #f87171 !important;
}

body .billing-cancel-notice {
  margin-top: 10px !important;
  padding: 8px 12px !important;
  background: rgba(248,113,113,0.1) !important;
  border: 1px solid rgba(248,113,113,0.3) !important;
  border-radius: 3px !important;
  color: #f87171 !important;
  font-size: 0.82rem !important;
}

body .billing-actions {
  margin-top: 14px !important;
}

body .billing-manage-btn,
body .billing-upgrade-btn {
  background: #161616 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 2px !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  font-size: 0.88rem !important;
  width: 100% !important;
}

body .billing-manage-btn:hover,
body .billing-upgrade-btn:hover {
  background: rgba(201,168,76,0.15) !important;
  color: #d4b965 !important;
  border-color: rgba(201,168,76,0.6) !important;
}

body .billing-upgrade-btn {
  background: linear-gradient(135deg, #c9a84c, #a8893a) !important;
  color: #0d0d0d !important;
  border: none !important;
  font-weight: 700 !important;
}

body .billing-upgrade-btn:hover {
  background: linear-gradient(135deg, #d4b965, #c9a84c) !important;
  color: #0d0d0d !important;
}

body .billing-no-sub {
  text-align: center !important;
  padding: 10px 0 !important;
  color: #8a7e6a !important;
}

body .billing-no-invoices {
  color: #8a7e6a !important;
  text-align: center !important;
  padding: 10px 0 !important;
}

body .billing-invoices-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.82rem !important;
}

body .billing-invoices-table th {
  color: #8a7e6a !important;
  text-align: left !important;
  padding: 8px 6px !important;
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
  font-weight: 600 !important;
}

body .billing-invoices-table td {
  color: #f0e8d8 !important;
  padding: 8px 6px !important;
  border-bottom: 1px solid rgba(201,168,76,0.06) !important;
}

body .billing-inv-paid {
  color: #4ade80 !important;
  font-weight: 600 !important;
}

body .billing-inv-other {
  color: #f87171 !important;
}

body .billing-pdf-link {
  color: #c9a84c !important;
  text-decoration: none !important;
}

body .billing-pdf-link:hover {
  color: #d4b965 !important;
  text-decoration: underline !important;
}

body .billing-loading {
  text-align: center !important;
  padding: 40px 0 !important;
  color: #8a7e6a !important;
}

@media (max-width: 640px) {
  body .billing-invoices-table {
    font-size: 0.72rem !important;
  }

  body .billing-invoices-table th,
  body .billing-invoices-table td {
    padding: 6px 3px !important;
  }

  body .billing-status-row {
    font-size: 0.8rem !important;
  }
}


/* ================================================================
   11. BOTTOM NAVIGATION BAR
   ================================================================ */

body #appFeedTabs .bn-hidden,
body .bn-popup-item.bn-hidden {
  display: none !important;
}

body {
  padding-bottom: 68px !important;
}

body #appFeedTabs {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 900 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-around !important;
  gap: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  background: #0d0d0d !important;
  border: none !important;
  border-top: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
}

body #appFeedTabs .app-feed-tab {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  min-height: 58px !important;
  max-height: 70px !important;
  gap: 4px !important;
  padding: 8px 2px 6px !important;
  color: #6b6050 !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.01em !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

body #appFeedTabs .app-feed-tab > span:not(.nav-badge) {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  line-height: 1.2 !important;
}

body #appFeedTabs .app-feed-tab:hover {
  background: rgba(201,168,76,0.08) !important;
  color: #f0e8d8 !important;
}

body #appFeedTabs .app-feed-tab.active {
  color: #d4b965 !important;
  background: transparent !important;
}

body #appFeedTabs .app-feed-tab-icon {
  width: 28px !important;
  height: 28px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Nav icons — using inline SVGs from styles.css */

/* "+" Create button */
body #createTabBtn .app-feed-tab-icon-create {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: #d4b965 !important;
  border-radius: 50% !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  color: #0d0d0d !important;
  font-weight: 300 !important;
  margin: auto !important;
  border: none !important;
}


/* ================================================================
   12. BOTTOM NAV POPUP MENUS
   ================================================================ */

.bn-menu-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000 !important;
  background: transparent !important;
}

.bn-popup-menu {
  position: fixed !important;
  bottom: 62px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 1001 !important;
  background: #1a1a1a !important;
  border: 1px solid rgba(201,168,76,0.35) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  min-width: 180px !important;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.6) !important;
}

.bn-popup-item {
  display: block !important;
  width: 100% !important;
  padding: 13px 20px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(201,168,76,0.12) !important;
  color: #f0e8d8 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
  cursor: pointer !important;
}

.bn-popup-item:last-child {
  border-bottom: none !important;
}

.bn-popup-item:hover {
  background: rgba(201,168,76,0.1) !important;
  color: #d4b965 !important;
}

/* ================================================================
   13. DARK THEME BUTTON CATCH-ALL
   ================================================================ */

body button,
body .create-post-box,
body .create-post-box button,
body .create-post-box textarea,
body .create-post-box input,
body .profile-box button,
body .modal-box button,
body .auth-form button,
body #adminClaimsBox button,
body #registerBox button,
body #editBox button {
  background-color: #0d0d0d !important;
  color: #f0e8d8 !important;
  border-color: rgba(201, 168, 76, 0.2) !important;
}

body .profile-actions button:not(.secondary-btn):not(.small-delete-btn),
body #searchStudiosBtn,
body #loginBtn,
body #saveShopBtn,
body #saveEditedShopBtn,
body #saveShopGeneralBtn,
body #saveShopMediasBtn,
body #saveShopHorairesBtn,
body #saveShopBusinessBtn,
body .home-premium-btn-accent {
  background: linear-gradient(135deg, #c9a84c, #a8893a) !important;
  color: #0d0d0d !important;
  border: none !important;
}

body button.secondary-btn {
  background: #161616 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201, 168, 76, 0.3) !important;
}

body .badge.badge-free,
body .badge.badge-unclaimed {
  background: #161616 !important;
  color: #998266 !important;
  border-color: rgba(201, 168, 76, 0.2) !important;
}

body .badge.badge-premium {
  background: rgba(201, 168, 76, 0.15) !important;
  color: #d4b965 !important;
  border-color: rgba(201, 168, 76, 0.3) !important;
}

body .create-post-box {
  background: #161616 !important;
  border: 1px solid rgba(201, 168, 76, 0.15) !important;
}

/* ================================================================
   14. FEED CARD OVERLAY LAYOUT
   ================================================================ */

body .feed-post-actions-overlay {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 3 !important;
  background: rgba(13, 13, 13, 0.5) !important;
  border-radius: 16px !important;
  padding: 2px 5px !important;
  backdrop-filter: blur(6px) !important;
}

body .feed-post-actions-overlay .feed-like-btn,
body .feed-post-actions-overlay .feed-save-btn {
  background: transparent !important;
  border: none !important;
  color: #f0e8d8 !important;
  min-height: 22px !important;
  height: 22px !important;
  padding: 0 3px !important;
  font-size: 0.7rem !important;
  gap: 2px !important;
}

body .feed-post-actions-overlay .feed-like-btn.liked {
  color: #c9a84c !important;
}

body .feed-post-actions-overlay .feed-save-btn.active {
  color: #c9a84c !important;
}

body .feed-post-overlay-bottom {
  z-index: 2 !important;
}

/* ================================================================
   14b. FEED 2-COLUMN GRID
   ================================================================ */

/* Default: 2 columns for feed and discover */
#feedList,
#discoverList {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 4px !important;
  align-items: start !important;
}

/* Feed cards in grid: compact square thumbnails */
#feedList .feed-grid-item,
#discoverList .feed-grid-item {
  cursor: pointer;
  overflow: hidden;
  border-radius: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#feedList .feed-grid-item .feed-image-container,
#discoverList .feed-grid-item .feed-image-container {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

#feedList .feed-grid-item .feed-post-image,
#discoverList .feed-grid-item .feed-post-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Hide caption and style tags in grid mode */
#feedList .feed-grid-item .feed-post-caption,
#discoverList .feed-grid-item .feed-post-caption,
#feedList .feed-grid-item .image-style-tags,
#discoverList .feed-grid-item .image-style-tags {
  display: none !important;
}

/* Non-card elements span full width in grid */
#feedList > .panel-intro,
#discoverList > .panel-intro,
#feedList > .feed-style-filter-bar,
#discoverList > .feed-style-filter-bar,
#feedList > .feed-style-filter-row,
#discoverList > .feed-style-filter-row,
#feedList > .secondary-btn,
#discoverList > .secondary-btn,
#feedList > .panel-empty,
#discoverList > .panel-empty,
#feedList > .panel-status,
#discoverList > .panel-status {
  grid-column: 1 / -1 !important;
}

/* ================================================================
   14c. FEED FOCUS FULLSCREEN OVERLAY
   ================================================================ */

.feed-focus-overlay {
  display: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 9999 !important;
  background: #0d0d0d !important;
  overflow: hidden !important;
  flex-direction: column !important;
}

.feed-focus-slide-container {
  flex: 1 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Back button — fixed top-left */
.feed-focus-back-btn {
  position: fixed !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 10001 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: rgba(13, 13, 13, 0.7) !important;
  backdrop-filter: blur(8px) !important;
  border: none !important;
  color: #c9a84c !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  padding: 8px 14px !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-radius: 20px !important;
}

/* Close X button — fixed top-right */
.feed-focus-close-x {
  position: fixed !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 10001 !important;
  background: rgba(13, 13, 13, 0.7) !important;
  backdrop-filter: blur(8px) !important;
  border: none !important;
  color: #f0e8d8 !important;
  font-size: 1.5rem !important;
  width: 36px !important;
  height: 36px !important;
  cursor: pointer !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* Single slide layout */
.feed-focus-slide {
  display: flex !important;
  flex-direction: column !important;
  background: #0d0d0d !important;
  min-height: 0 !important;
}

/* Up/down navigation buttons */
.feed-focus-nav-up,
.feed-focus-nav-down {
  position: fixed !important;
  right: 14px !important;
  z-index: 10001 !important;
  background: rgba(13, 13, 13, 0.7) !important;
  backdrop-filter: blur(8px) !important;
  border: none !important;
  color: #c9a84c !important;
  font-size: 1.2rem !important;
  width: 36px !important;
  height: 36px !important;
  cursor: pointer !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.feed-focus-nav-up {
  top: 50% !important;
  margin-top: -44px !important;
}

.feed-focus-nav-down {
  top: 50% !important;
  margin-top: 8px !important;
}

/* Image area */
.feed-focus-image-wrap {
  position: relative !important;
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #111 !important;
  min-height: 0 !important;
}

.feed-focus-image {
  width: 100% !important;
  max-height: 70vh !important;
  max-height: 70dvh !important;
  object-fit: contain !important;
  display: block !important;
}

/* Left/right arrows */
.feed-focus-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(13, 13, 13, 0.55) !important;
  border: none !important;
  color: #f0e8d8 !important;
  font-size: 2.2rem !important;
  width: 44px !important;
  height: 64px !important;
  cursor: pointer !important;
  z-index: 5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  backdrop-filter: blur(4px) !important;
  padding: 0 !important;
}

.feed-focus-arrow-left {
  left: 8px !important;
}

.feed-focus-arrow-right {
  right: 8px !important;
}

.feed-focus-arrow:hover {
  background: rgba(201, 168, 76, 0.3) !important;
  color: #c9a84c !important;
}

/* Dot indicator for artist images */
.feed-focus-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 0 !important;
}

.feed-focus-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: rgba(240, 232, 216, 0.25) !important;
  display: inline-block !important;
}

.feed-focus-dot.active {
  background: #c9a84c !important;
  width: 8px !important;
  height: 8px !important;
}

/* Info section below image */
.feed-focus-info {
  padding: 10px 14px 20px !important;
  flex-shrink: 0 !important;
}

.feed-focus-info-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 4px !important;
}

.feed-focus-artist-btn {
  color: #c9a84c !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.feed-focus-shop-btn {
  color: #998266 !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  background: none !important;
  border: none !important;
  padding: 0 0 0 6px !important;
  cursor: pointer !important;
}

.feed-focus-date {
  color: rgba(240, 232, 216, 0.45) !important;
  font-size: 0.68rem !important;
}

.feed-focus-caption {
  color: #f0e8d8 !important;
  font-size: 0.85rem !important;
  margin: 6px 0 !important;
  line-height: 1.4 !important;
}

/* Style tags in focus mode */
.feed-focus-info .image-style-tags {
  padding: 0 !important;
  margin-top: 4px !important;
}

/* ================================================================
   15. CHROME AUTOFILL — must be LAST rule
   ================================================================ */

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #111111 inset !important;
  -webkit-text-fill-color: #f0e8d8 !important;
  caret-color: #c9a84c !important;
  transition: background-color 5000s ease-in-out 0s !important;
}

/* ================================================================
   ONBOARDING OVERLAY
   ================================================================ */
.onboarding-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.75);
  padding: 16px;
}
.onboarding-card {
  background: #1a1a1a;
  border: 1px solid #c9a84c;
  border-radius: 16px;
  padding: 32px 24px;
  max-width: 400px;
  width: 100%;
  text-align: center;
  color: #f0e8d8;
}
.onboarding-card h2 {
  color: #c9a84c;
  font-size: 1.4rem;
  margin: 0 0 12px;
}
.onboarding-card p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0 0 20px;
  color: #ccc;
}
.onboarding-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.onboarding-btn {
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 1rem;
  cursor: pointer;
  border: none;
}
.onboarding-btn.primary-btn {
  background: #c9a84c;
  color: #111;
  font-weight: 600;
}
.onboarding-btn.secondary-btn {
  background: transparent;
  color: #c9a84c;
  border: 1px solid #c9a84c;
}

/* ================================================================
   PASSWORD TOGGLE EYE — bright on dark theme
   ================================================================ */
body .password-toggle-btn {
  background: rgba(30, 30, 30, 0.85) !important;
  border: 1px solid rgba(201, 168, 76, 0.3) !important;
  cursor: pointer !important;
}
body .password-toggle-btn:hover {
  background: rgba(50, 50, 50, 0.9) !important;
  border-color: rgba(201, 168, 76, 0.5) !important;
}
body .password-toggle-eye {
  border-color: #c9a84c !important;
}
body .password-toggle-eye::before {
  background: #c9a84c !important;
}
body .password-toggle-btn.is-visible .password-toggle-eye::after {
  background: #f87171 !important;
}

/* ══════════════════════════════════════════
   Upload overlay (must be here because main
   styles.css is too large for browser parser)
   ══════════════════════════════════════════ */
.galerie-upload-overlay {
  position: fixed !important;
  inset: 0;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.galerie-upload-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}
.galerie-upload-content {
  position: relative;
  z-index: 1;
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.15);
  border-radius: 16px;
  width: 90%;
  max-width: 440px;
  max-height: 85vh;
  overflow-y: auto;
  padding: 20px;
}
.galerie-upload-close {
  position: absolute;
  top: 10px;
  right: 14px;
  background: none;
  border: none;
  color: #8a7e6a;
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 2;
}
.galerie-upload-close:hover {
  color: #c9a84c;
}
.galerie-upload-title {
  color: #c9a84c;
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 16px;
}
.galerie-upload-category-picker {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 8px;
}
.galerie-upload-category-btn {
  padding: 16px 8px;
  background: rgba(201, 168, 76, 0.08);
  border: 1px solid rgba(201, 168, 76, 0.2);
  border-radius: 12px;
  color: #f0e8d8;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s ease;
}
.galerie-upload-category-btn:hover {
  background: rgba(201, 168, 76, 0.18);
  border-color: #c9a84c;
}
.galerie-upload-category-icon {
  display: block;
  font-size: 1.5rem;
  margin-bottom: 6px;
}
.galerie-tile-badge {
  position: absolute;
  bottom: 6px;
  left: 6px;
  background: rgba(0, 0, 0, 0.7);
  color: #c9a84c;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
}

/* ══════════════════════════════════════════
   Galerie subtabs
   ══════════════════════════════════════════ */
.galerie-subtabs {
  display: flex;
  gap: 2px;
  overflow-x: auto;
  padding: 6px 0 10px;
  border-bottom: 1px solid rgba(201, 168, 76, 0.1);
  margin-bottom: 10px;
}
.galerie-subtab {
  background: none;
  border: none;
  color: #8a7e6a;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 10px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.galerie-subtab.active {
  color: #c9a84c;
  border-bottom-color: #c9a84c;
}
.galerie-subtab-edit {
  color: #cc7a00;
}
.galerie-subtab-edit.active {
  color: #ff9500;
  border-bottom-color: #ff9500;
}
.galerie-subtab-add {
  color: #6abd8a;
}
.galerie-subtab-add:hover {
  color: #8fd4a8;
}

/* ══════════════════════════════════════════
   Dashboard stats (compact 4-col row)
   ══════════════════════════════════════════ */
.dash-greeting {
  font-size: 1.15rem;
  font-weight: 700;
  color: #c9a84c;
  margin-bottom: 14px;
  padding-bottom: 0;
}
.artist-dash-home .dash-stats-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.artist-dash-home .dash-stat-card-mini {
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.12);
  border-radius: 12px;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.artist-dash-home .dash-stat-mini-value {
  font-size: 1.3rem;
  font-weight: 700;
  color: #c9a84c;
  line-height: 1;
}
.artist-dash-home .dash-stat-mini-label {
  font-size: 0.62rem;
  color: #8a7e6a;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-weight: 600;
  line-height: 1.2;
}

/* ══════════════════════════════════════════
   3x3 portfolio grid
   ══════════════════════════════════════════ */
.artist-portfolio-masonry {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.artist-portfolio-item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #1a1a1a;
}
.artist-portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.galerie-add-cell {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201, 168, 76, 0.06);
  border: 2px dashed rgba(201, 168, 76, 0.3);
  cursor: pointer;
  transition: all 0.2s ease;
}
.galerie-add-cell:hover {
  background: rgba(201, 168, 76, 0.12);
  border-color: #c9a84c;
}
.galerie-add-icon {
  font-size: 2.5rem;
  color: #c9a84c;
  font-weight: 300;
  line-height: 1;
}

/* ══════════════════════════════════════════
   Flash preview (dashboard mini cards)
   ══════════════════════════════════════════ */
.dash-flash-preview {
  margin-bottom: 12px;
}
.dash-flash-preview-title {
  font-size: 0.78rem;
  font-weight: 600;
  color: #c9a84c;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 8px;
}
.dash-flash-preview-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.dash-flash-mini {
  flex: 0 0 auto;
  width: 100px;
  background: rgba(26, 23, 16, 0.6);
  border-radius: 8px;
  padding: 8px;
  text-align: center;
  cursor: pointer;
  border: 1px solid rgba(201, 168, 76, 0.1);
  transition: border-color 0.15s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.dash-flash-mini:hover {
  border-color: rgba(201, 168, 76, 0.3);
}
.dash-flash-mini-img {
  width: 56px;
  height: 56px;
  border-radius: 6px;
  object-fit: cover;
}
.dash-flash-mini-caption {
  font-size: 0.65rem;
  color: #f0e8d8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 90px;
}
.dash-flash-mini-status {
  font-size: 0.6rem;
  color: #6abd8a;
  font-weight: 600;
}
.dash-flash-mini-price {
  font-size: 0.7rem;
  color: #c9a84c;
  font-weight: 700;
}
.dash-flash-mini-add {
  justify-content: center;
  opacity: 0.5;
  border-style: dashed;
}
.dash-flash-mini-add:hover {
  opacity: 0.8;
}

/* ══════════════════════════════════════════
   Dashboard tabs & completeness bar
   ══════════════════════════════════════════ */
.artist-dash-home .dash-quick-actions {
  display: none !important;
}

/* ══════════════════════════════════════════
   Navigation menu section headers
   ══════════════════════════════════════════ */
.menu-section-header {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #c9a84c;
  padding: 10px 10px 4px;
  border-top: 1px solid rgba(201, 168, 76, 0.1);
  margin-top: 2px;
}
.menu-section-header:first-child {
  border-top: none;
  margin-top: 0;
}

/* ══════════════════════════════════════════
   Shop galerie sub-filter chips
   ══════════════════════════════════════════ */
.shop-galerie-chips {
  display: flex;
  gap: 8px;
  padding: 8px 0 12px;
}
.shop-galerie-chip {
  background: none;
  border: 1px solid rgba(201, 168, 76, 0.2);
  color: #8a7e6a;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
}
.shop-galerie-chip.active {
  background: rgba(201, 168, 76, 0.15);
  border-color: #c9a84c;
  color: #c9a84c;
}

/* ================================================================
   SHOP COMPLETENESS BAR
   ================================================================ */
.shop-completeness-bar {
  margin: 0 14px 12px;
  padding: 14px 16px;
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.12);
  border-radius: 12px;
}
.completeness-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.completeness-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #8a7e6a;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.completeness-pct {
  font-size: 1rem;
  font-weight: 700;
  color: #c9a84c;
}
.completeness-track {
  width: 100%;
  height: 6px;
  background: rgba(201, 168, 76, 0.1);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 10px;
}
.completeness-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #c9a84c, #e0c060);
  transition: width 0.5s ease;
}
.completeness-missing {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.completeness-missing-item {
  font-size: 0.68rem;
  color: #8a7e6a;
  background: rgba(201, 168, 76, 0.06);
  border: 1px solid rgba(201, 168, 76, 0.15);
  border-radius: 12px;
  padding: 4px 10px;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}
.completeness-missing-item:hover {
  color: #c9a84c;
  border-color: #c9a84c;
  background: rgba(201, 168, 76, 0.12);
}
.completeness-done {
  font-size: 0.78rem;
  color: #6abd8a;
  font-weight: 600;
  text-align: center;
  padding: 4px 0;
}

/* ================================================================
   SHOP DASHBOARD HOME — greeting, stat cards, flash preview
   ================================================================ */
.shop-dash-home {
  padding: 0 14px 10px;
}
.shop-dash-home .dash-stats-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.shop-dash-home .dash-stat-card-mini {
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.12);
  border-radius: 12px;
  padding: 12px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.shop-dash-home .dash-stat-mini-value {
  font-size: 1.3rem;
  font-weight: 700;
  color: #c9a84c;
  line-height: 1;
}
.shop-dash-home .dash-stat-mini-label {
  font-size: 0.62rem;
  color: #8a7e6a;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-weight: 600;
  line-height: 1.2;
}

/* ================================================================
   SHOP TEAM PREVIEW (Mon Equipe)
   ================================================================ */
.shop-team-preview {
  margin-bottom: 14px;
}
.shop-team-title {
  font-size: 0.78rem;
  font-weight: 600;
  color: #c9a84c;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 8px;
}
.shop-team-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.shop-team-member {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.1);
  border-radius: 10px;
  cursor: pointer;
  transition: border-color 0.15s;
}
.shop-team-member:hover {
  border-color: rgba(201, 168, 76, 0.3);
}
.shop-team-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(201, 168, 76, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.shop-team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shop-team-avatar-initials {
  font-size: 0.7rem;
  font-weight: 700;
  color: #c9a84c;
}
.shop-team-info {
  flex: 1;
  min-width: 0;
}
.shop-team-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: #f0e8d8;
}
.shop-team-meta {
  font-size: 0.68rem;
  color: #8a7e6a;
}
.shop-team-badge {
  font-size: 0.62rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 8px;
  white-space: nowrap;
}
.shop-team-badge-resident {
  background: rgba(106, 189, 138, 0.15);
  color: #6abd8a;
}
.shop-team-badge-guest {
  background: rgba(201, 168, 76, 0.15);
  color: #c9a84c;
}
.shop-team-empty {
  text-align: center;
  padding: 16px;
  color: #8a7e6a;
  font-size: 0.82rem;
}
.shop-team-empty button {
  margin-top: 8px;
  background: rgba(201, 168, 76, 0.12);
  border: 1px solid rgba(201, 168, 76, 0.25);
  color: #c9a84c;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 8px;
  cursor: pointer;
}

/* ================================================================
   STRUCTURED OPENING HOURS — Editor
   ================================================================ */
.hours-editor {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hours-day-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.1);
  border-radius: 8px;
}
.hours-day-name {
  font-size: 0.78rem;
  font-weight: 600;
  color: #f0e8d8;
  min-width: 70px;
}
.hours-status {
  background: #0d0d0d;
  border: 1px solid rgba(201, 168, 76, 0.2);
  border-radius: 6px;
  color: #f0e8d8;
  font-size: 0.72rem;
  padding: 4px 8px;
}
.hours-times {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}
.hours-times.hidden {
  display: none;
}
.hours-time-open,
.hours-time-close {
  background: #0d0d0d;
  border: 1px solid rgba(201, 168, 76, 0.15);
  border-radius: 6px;
  color: #f0e8d8;
  font-size: 0.72rem;
  padding: 4px 6px;
}
.hours-time-sep {
  color: #8a7e6a;
  font-size: 0.75rem;
}

/* ================================================================
   STRUCTURED OPENING HOURS — Public display
   ================================================================ */
.hours-display {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
}
.hours-display-row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 0.8rem;
  border-bottom: 1px solid rgba(201, 168, 76, 0.06);
}
.hours-display-day {
  font-weight: 600;
  color: #f0e8d8;
}
.hours-display-time {
  color: #8a7e6a;
}
.hours-display-row.hours-closed .hours-display-time {
  color: #e74c3c;
}
.hours-display-row.hours-rdv .hours-display-time {
  color: #c9a84c;
}


/* ================================================================
   SHOP EDIT TABS
   ================================================================ */

.shop-edit-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid rgba(201, 168, 76, 0.1);
  margin-bottom: 16px;
  overflow-x: auto;
}
.shop-edit-tab {
  flex: 1;
  background: none;
  border: none;
  color: #8a7e6a;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 8px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  text-align: center;
  transition: all 0.2s;
}
.shop-edit-tab.active {
  color: #c9a84c;
  border-bottom-color: #c9a84c;
}
.shop-edit-panel {
  padding: 0 4px;
}
.shop-edit-save-btn {
  display: block;
  width: 100%;
  margin-top: 16px;
  padding: 12px;
  background: rgba(201, 168, 76, 0.15);
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-radius: 10px;
  color: #c9a84c;
  font-size: 0.85rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.shop-edit-save-btn:hover {
  background: rgba(201, 168, 76, 0.25);
}

/* ================================================================
   ARTIST EDIT TABS  (mirrors shop-edit-tabs)
   ================================================================ */
.artist-edit-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid rgba(201, 168, 76, 0.1);
  margin-bottom: 16px;
  overflow-x: auto;
}
[data-artist-edit-tab] {
  flex: 1;
  background: none;
  border: none;
  color: #8a7e6a;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 8px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  text-align: center;
  transition: all 0.2s;
}
[data-artist-edit-tab].active {
  color: #c9a84c;
  border-bottom-color: #c9a84c;
}
[data-artist-edit-panel] {
  padding: 0 4px;
}

/* ================================================================
   SHOP ANALYTICS DASHBOARD
   ================================================================ */
.shop-analytics {
  margin-bottom: 14px;
}
.shop-analytics-title {
  font-size: 0.78rem;
  font-weight: 600;
  color: #c9a84c;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 8px;
}
.analytics-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin-bottom: 10px;
}
.analytics-stat {
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.1);
  border-radius: 10px;
  padding: 10px 6px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.analytics-stat-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: #c9a84c;
}
.analytics-stat-label {
  font-size: 0.58rem;
  color: #8a7e6a;
  text-transform: uppercase;
  font-weight: 600;
}
.analytics-trend {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.1);
  border-radius: 10px;
  margin-bottom: 10px;
}
.analytics-trend-label {
  font-size: 0.75rem;
  color: #8a7e6a;
}
.analytics-trend-value {
  font-size: 1rem;
  font-weight: 700;
  color: #f0e8d8;
}
.analytics-trend-change {
  margin-left: auto;
  font-size: 0.78rem;
  font-weight: 700;
}
.analytics-trend-change.up {
  color: #6abd8a;
}
.analytics-trend-change.down {
  color: #e74c3c;
}
.analytics-upgrade {
  text-align: center;
  padding: 16px 12px;
  background: rgba(201, 168, 76, 0.05);
  border: 1px dashed rgba(201, 168, 76, 0.2);
  border-radius: 10px;
  margin-bottom: 10px;
}
.analytics-upgrade p {
  font-size: 0.78rem;
  color: #8a7e6a;
  margin: 0 0 8px;
}
.analytics-upgrade button {
  background: rgba(201, 168, 76, 0.15);
  border: 1px solid rgba(201, 168, 76, 0.3);
  color: #c9a84c;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 8px;
  cursor: pointer;
}

/* ================================================================
   BILLING PAGE — REDESIGNED
   ================================================================ */
.billing-status {
  text-align: center;
  margin-bottom: 20px;
}
.billing-plan-badge {
  display: inline-block;
  padding: 6px 20px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.billing-plan-free {
  background: rgba(138, 126, 106, 0.15);
  color: #8a7e6a;
}
.billing-plan-premium {
  background: rgba(201, 168, 76, 0.2);
  color: #c9a84c;
}
.billing-plan-desc {
  font-size: 0.78rem;
  color: #8a7e6a;
  margin: 0;
}
.billing-plans {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 20px;
}
.billing-plan-card {
  background: #161616;
  border: 1px solid rgba(138, 126, 106, 0.2);
  border-radius: 14px;
  padding: 18px 14px;
  text-align: center;
}
.billing-plan-card.premium {
  border-color: rgba(201, 168, 76, 0.3);
}
.billing-plan-card.current {
  border-color: #c9a84c;
  box-shadow: 0 0 12px rgba(201, 168, 76, 0.1);
}
.billing-plan-card h4 {
  font-size: 0.82rem;
  font-weight: 700;
  color: #f0e8d8;
  margin: 0 0 8px;
  letter-spacing: 1px;
}
.billing-price {
  font-size: 1.5rem;
  font-weight: 800;
  color: #c9a84c;
  margin-bottom: 12px;
}
.billing-price span {
  font-size: 0.7rem;
  font-weight: 600;
  color: #8a7e6a;
}
.billing-plan-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
  text-align: left;
}
.billing-plan-card ul li {
  font-size: 0.72rem;
  color: #8a7e6a;
  padding: 3px 0;
}
.billing-plan-card ul li:first-child { color: #f0e8d8; }
.billing-plan-card.premium ul li { color: #f0e8d8; }
.billing-upgrade-btn {
  display: block;
  width: 100%;
  padding: 10px;
  background: linear-gradient(135deg, #c9a84c, #e0c060);
  border: none;
  border-radius: 10px;
  color: #0d0d0d;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.billing-upgrade-btn:hover {
  filter: brightness(1.1);
}
.billing-subscription-detail {
  background: #161616;
  border: 1px solid rgba(138, 126, 106, 0.15);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 16px;
}
.billing-detail-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: #f0e8d8;
  margin: 0;
}
.billing-detail-row .billing-label {
  color: #8a7e6a;
}
.billing-cancel-notice {
  font-size: 0.72rem;
  color: #c9a84c;
  margin: 8px 0 0;
  line-height: 1.4;
}
.billing-company-info {
  background: #161616;
  border: 1px solid rgba(138, 126, 106, 0.15);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 16px;
  font-size: 0.75rem;
  color: #8a7e6a;
}
.billing-company-info p {
  margin: 2px 0;
}
.billing-invoices-card {
  background: #161616;
  border: 1px solid rgba(138, 126, 106, 0.15);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 16px;
}
.billing-invoices-card h3 {
  font-size: 0.82rem;
  font-weight: 700;
  color: #f0e8d8;
  margin: 0 0 10px;
}
.billing-invoices-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.72rem;
}
.billing-invoices-table th {
  color: #8a7e6a;
  font-weight: 600;
  text-align: left;
  padding: 6px 4px;
  border-bottom: 1px solid rgba(138, 126, 106, 0.15);
}
.billing-invoices-table td {
  color: #f0e8d8;
  padding: 6px 4px;
  border-bottom: 1px solid rgba(138, 126, 106, 0.08);
}
.billing-inv-paid {
  color: #6abd8a;
}
.billing-inv-other {
  color: #8a7e6a;
}
.billing-pdf-link {
  color: #c9a84c;
  text-decoration: none;
  font-weight: 600;
}
.billing-no-invoices {
  color: #8a7e6a;
  font-size: 0.78rem;
}
.billing-panel {
  padding: 0 4px;
}
.billing-title {
  font-size: 1rem;
  font-weight: 700;
  color: #f0e8d8;
  text-align: center;
  margin: 0 0 16px;
}
.billing-loading {
  text-align: center;
  color: #8a7e6a;
  padding: 40px 0;
  font-size: 0.82rem;
}

/* ================================================================
   PREMIUM BADGE — SHOP PROFILES & SEARCH
   ================================================================ */
.shop-premium-badge {
  display: inline-block;
  background: rgba(201, 168, 76, 0.2);
  color: #c9a84c;
  font-size: 0.6rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 8px;
  letter-spacing: 0.5px;
  vertical-align: middle;
  margin-left: 4px;
}

/* ================================================================
   PORTFOLIO CAPTIONS & CATEGORY CHIPS
   ================================================================ */
.portfolio-cat-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.portfolio-cat-chip {
  background: none;
  border: 1px solid rgba(201, 168, 76, 0.2);
  color: #8a7e6a;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.2s;
}
.portfolio-cat-chip.active {
  background: rgba(201, 168, 76, 0.15);
  border-color: #c9a84c;
  color: #c9a84c;
}
.portfolio-caption-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  padding: 16px 8px 6px;
  font-size: 0.68rem;
  color: #f0e8d8;
  opacity: 0;
  transition: opacity 0.2s;
}
.artist-portfolio-item:hover .portfolio-caption-overlay {
  opacity: 1;
}
.edit-portfolio-caption {
  display: block;
  font-size: 0.68rem;
  color: #8a7e6a;
  margin-top: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ================================================================
   SHOP INVITE LINK
   ================================================================ */
.shop-invite-link-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.shop-invite-or {
  font-size: 0.72rem;
  color: #8a7e6a;
}
.shop-invite-link-btn {
  background: none;
  border: 1px solid rgba(201, 168, 76, 0.15);
  color: #8a7e6a;
  font-size: 0.72rem;
  padding: 6px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.shop-invite-link-btn:hover {
  color: #c9a84c;
  border-color: #c9a84c;
}

/* ================================================================
   FLASH MANAGEMENT — FILTERS, SORT, PIN
   ================================================================ */
.flash-filters-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.flash-artist-filter,
.flash-sort-filter {
  background: #161616;
  border: 1px solid rgba(201, 168, 76, 0.2);
  border-radius: 8px;
  color: #f0e8d8;
  font-size: 0.75rem;
  padding: 6px 10px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a7e6a'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 24px;
}
.flash-artist-filter:focus,
.flash-sort-filter:focus {
  border-color: #c9a84c;
  outline: none;
}
.flash-artist-filter option,
.flash-sort-filter option {
  background: #161616;
  color: #f0e8d8;
}
.flash-pin-btn {
  background: none;
  border: none;
  color: #8a7e6a;
  font-size: 0.85rem;
  cursor: pointer;
  padding: 4px;
  transition: color 0.2s;
}
.flash-pin-btn:hover,
.flash-pin-btn.pinned {
  color: #c9a84c;
}
.flash-pinned-indicator {
  font-size: 0.6rem;
  color: #c9a84c;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
  margin-bottom: 2px;
}
.flash-tile-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.post-tile.flash-tile[data-pinned="true"] {
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-radius: 8px;
}

/* ── Primary gold button ── */
.primary-gold-btn {
  background: linear-gradient(135deg, #c9a84c, #a8893a);
  color: #0d0d0d;
  border: none;
  padding: 12px 24px;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.primary-gold-btn:hover {
  background: linear-gradient(135deg, #d4b45e, #b89944);
}

/* Document cards */
.documents-list { display:flex; flex-direction:column; gap:12px; }
.document-card { display:flex; align-items:center; gap:14px; background:#161616; padding:16px; border:1px solid rgba(201,168,76,0.12); }
.document-card-icon { font-size:2rem; min-width:40px; text-align:center; }
.document-card-info { flex:1; }
.document-card-info h4 { color:#c9a84c; margin:0 0 4px; font-size:0.88rem; }
.document-card-info p { color:#8a7e6a; margin:0; font-size:0.78rem; }
.document-card-btn { background:linear-gradient(135deg,#c9a84c,#a8893a); color:#0d0d0d; text-decoration:none; padding:8px 16px; font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; white-space:nowrap; }

/* Apprentice badge */
.apprentice-badge { display:inline-block; background:linear-gradient(135deg,#7b68ee,#6a5acd); color:#fff; font-size:0.65rem; font-weight:700; padding:2px 8px; text-transform:uppercase; letter-spacing:0.05em; margin-left:6px; }

/* ── Search card progress aesthetic ── */
#searchBox .home-search-shell {
  background: linear-gradient(180deg, #0d0d0d 0%, #111 100%);
  border-top: 1px solid rgba(201,168,76,0.08);
}
/* Distance slider — gold fill approach:
   Chrome/Safari: background gradient on the element itself (set by JS oninput)
   Firefox: ::-moz-range-progress for the filled part
   Track must be transparent so the element background shows through */
#distanceSlider {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 6px !important;
  border-radius: 3px !important;
  outline: none !important;
  cursor: pointer !important;
  border: none !important;
  /* Initial gold fill for default value 25 out of 5-100 = 21.05% */
  background: linear-gradient(90deg, #c9a84c 21.05%, #2a2a2a 21.05%) !important;
}
#distanceSlider::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #c9a84c, #a8893a) !important;
  border: 2px solid #0d0d0d !important;
  box-shadow: 0 2px 8px rgba(201,168,76,0.4) !important;
  cursor: pointer !important;
  margin-top: -8px !important;
}
#distanceSlider::-moz-range-thumb {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #c9a84c, #a8893a) !important;
  border: 2px solid #0d0d0d !important;
  box-shadow: 0 2px 8px rgba(201,168,76,0.4) !important;
  cursor: pointer !important;
}
#distanceSlider::-webkit-slider-runnable-track {
  height: 6px !important;
  border-radius: 3px !important;
  background: transparent !important;
}
#distanceSlider::-moz-range-track {
  height: 6px !important;
  border-radius: 3px !important;
  background: #2a2a2a !important;
}
#distanceSlider::-moz-range-progress {
  height: 6px !important;
  border-radius: 3px !important;
  background: #c9a84c !important;
}
/* Search inputs — progress card feel */
#searchBox input[type="text"],
#searchBox select {
  background: #1a1a1a !important;
  border-color: rgba(201,168,76,0.3) !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}
#searchBox input[type="text"]:focus,
#searchBox select:focus {
  border-color: rgba(201,168,76,0.6) !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15), inset 0 1px 4px rgba(0,0,0,0.3) !important;
  outline: none;
}
/* Active intent button — filled progress look */
#searchBox .home-intent-btn.active {
  background: linear-gradient(135deg, rgba(201,168,76,0.2), rgba(201,168,76,0.1)) !important;
  border-color: rgba(201,168,76,0.5) !important;
  color: #d4b965 !important;
  box-shadow: inset 0 0 12px rgba(201,168,76,0.08);
}
#searchBox .home-intent-btn:not(.active) {
  background: #111 !important;
  border-color: rgba(201,168,76,0.15) !important;
  color: #8a7e6a !important;
}
/* Search CTA glow */
#searchStudiosBtn {
  box-shadow: 0 4px 20px rgba(201,168,76,0.3) !important;
  transition: box-shadow 0.2s, transform 0.1s;
}
#searchStudiosBtn:active {
  transform: scale(0.98);
  box-shadow: 0 2px 10px rgba(201,168,76,0.2) !important;
}

/* ── Trending section: 2×2 compact grid (full base styles — styles.css rules don't load) ── */
.trending-section {
  padding: 0 12px !important;
  margin: 16px auto !important;
}
.trending-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  max-width: 280px !important;
  margin: 0 auto !important;
}
.trending-card {
  border-radius: 8px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  background: #161616 !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
  transition: transform 0.15s ease !important;
}
.trending-card:hover {
  transform: scale(1.03) !important;
}
.trending-card-img-wrap {
  position: relative !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
}
.trending-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.trending-card-likes {
  position: absolute !important;
  bottom: 6px !important;
  right: 6px !important;
  background: rgba(0,0,0,0.7) !important;
  color: #c9a84c !important;
  padding: 2px 7px !important;
  border-radius: 10px !important;
  font-size: 0.75rem !important;
}
.trending-card-info {
  padding: 6px 8px !important;
}
.trending-card-name {
  color: #e8d5a3 !important;
  font-size: 0.8rem !important;
}

/* ── QR Code modal: guaranteed overlay ── */
.qr-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,0.8) !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.qr-modal {
  background: #1a1612 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 14px !important;
  padding: 32px 24px !important;
  text-align: center !important;
  max-width: 340px !important;
  width: 90% !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.6) !important;
  animation: qrFadeIn 0.2s ease !important;
}
@keyframes qrFadeIn {
  from { opacity: 0; transform: scale(0.9); }
  to   { opacity: 1; transform: scale(1); }
}
.qr-modal h3 {
  color: #c9a84c !important;
  margin: 0 0 6px !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}
.qr-modal .qr-modal-subtitle {
  color: #8a7e6a !important;
  font-size: 0.72rem !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.qr-modal .qr-modal-url {
  color: #8a7e6a !important;
  font-size: 0.7rem !important;
  margin: 12px 0 0 !important;
  word-break: break-all !important;
}
.qr-modal .qr-modal-actions {
  display: flex !important;
  gap: 8px !important;
  margin-top: 16px !important;
  justify-content: center !important;
}
.qr-modal .qr-modal-btn {
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
}
.qr-modal .qr-modal-btn-primary {
  background: #c9a84c !important;
  color: #0d0d0d !important;
}
.qr-modal .qr-modal-btn-secondary {
  background: rgba(201,168,76,0.15) !important;
  color: #c9a84c !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
}

/* ── Artist invite shop section ── */
.invite-shop-section {
  margin-top: 8px;
}
.invite-shop-row {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}
.invite-shop-input {
  flex: 1 !important;
  padding: 10px 12px !important;
  background: #1a1a1a !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 8px !important;
  color: #f0e8d8 !important;
  font-size: 0.85rem !important;
  outline: none !important;
}
.invite-shop-input:focus {
  border-color: #c9a84c !important;
}
.invite-shop-send-btn {
  padding: 10px 16px !important;
  background: #c9a84c !important;
  color: #0d0d0d !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s !important;
}
.invite-shop-send-btn:hover {
  background: #b8973e !important;
}
.invite-shop-divider {
  text-align: center !important;
  margin: 12px 0 !important;
  position: relative !important;
}
.invite-shop-divider::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: rgba(201,168,76,0.15) !important;
}
.invite-shop-divider span {
  position: relative !important;
  background: #0d0d0d !important;
  padding: 0 12px !important;
  color: #8a7e6a !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.invite-shop-share-row {
  display: flex !important;
  gap: 8px !important;
}
.invite-shop-share-btn,
.invite-shop-copy-btn {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 10px 14px !important;
  background: rgba(201,168,76,0.1) !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  border-radius: 8px !important;
  color: #c9a84c !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
}
.invite-shop-share-btn:hover,
.invite-shop-copy-btn:hover {
  background: rgba(201,168,76,0.2) !important;
}

/* ── Flash tab header: chips + add button ── */
.flash-tab-header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.flash-tab-header .flash-status-chips {
  flex: 1 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
}
.flash-add-btn {
  flex-shrink: 0 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(201,168,76,0.4) !important;
  background: rgba(201,168,76,0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  margin-right: 8px !important;
}
.flash-add-btn:hover {
  background: rgba(201,168,76,0.25) !important;
  border-color: #c9a84c !important;
}

/* ── Flash management cards: enhanced visual layout ── */
.flash-mgmt-card {
  background: rgba(26, 23, 16, 0.7) !important;
  border-radius: 12px !important;
  padding: 0 !important;
  margin-bottom: 12px !important;
  border-left: 4px solid #6abd8a !important;
  overflow: hidden !important;
}
.flash-mgmt-card[data-flash-status="reserved"] { border-left-color: #c9a84c !important; }
.flash-mgmt-card[data-flash-status="sold"] { border-left-color: #8a7e6a !important; opacity: 0.65 !important; }

.flash-card-visual {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  max-height: 180px !important;
  overflow: hidden !important;
  background: #1a1a1a !important;
}
.flash-mgmt-list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 8px !important;
  padding: 8px 10px !important;
}
.flash-mgmt-card {
  margin-bottom: 0 !important;
}
.flash-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.flash-card-status-badge {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  color: #0d0d0d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.flash-card-price-badge {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  color: #c9a84c !important;
  background: rgba(0,0,0,0.7) !important;
  letter-spacing: 0.02em !important;
}
.flash-card-body {
  padding: 10px 12px !important;
}
.flash-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: 4px !important;
}
.flash-card-date {
  font-size: 0.65rem !important;
  color: #8a7e6a !important;
}
.flash-mgmt-tools {
  margin-top: 4px !important;
  padding-top: 6px !important;
  border-top: 1px solid rgba(201,168,76,0.08) !important;
}
.flash-action-repost {
  color: #6abd8a !important;
  background: rgba(106,189,138,0.1) !important;
}
.flash-action-repost:hover {
  background: rgba(106,189,138,0.2) !important;
}
/* Edit form inside card */
.flash-mgmt-card .flash-edit-form {
  padding: 8px 12px 12px !important;
  border-top: 1px solid rgba(201,168,76,0.1) !important;
}

/* ── Award cards: dark theme ── */
.artist-awards-grid {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.artist-award-card {
  background: rgba(201,168,76,0.06) !important;
  border: 1px solid rgba(201,168,76,0.15) !important;
  border-radius: 12px !important;
  color: #f0e8d8 !important;
}
.artist-award-image,
.artist-award-image-fallback {
  border-radius: 10px !important;
  background: #1a1a1a !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
}
.artist-award-copy {
  color: #f0e8d8;
}
.artist-award-copy strong {
  color: #f0e8d8;
}
.artist-award-place {
  color: #c9a84c !important;
  font-weight: 600;
}
.artist-award-meta {
  color: #8a7e6a !important;
}
.artist-award-topline strong {
  color: #f0e8d8;
}

/* ── Award-winning badge: dark/gold theme ── */
.award-winning-badge {
  background: rgba(201,168,76,0.12) !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  color: #c9a84c !important;
  font-size: 0.7rem !important;
  padding: 2px 8px !important;
  gap: 4px !important;
}
/* ── Claim legal warning ── */
.claim-legal-warning {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  margin-bottom: 14px;
  background: rgba(231,76,60,0.08);
  border: 1px solid rgba(231,76,60,0.25);
  border-radius: 8px;
}
.claim-legal-warning-icon {
  font-size: 1.2rem;
  color: #e74c3c;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 1px;
}
.claim-legal-warning p {
  margin: 0;
  color: #f0e8d8;
  font-size: 0.8rem;
  line-height: 1.5;
}

/* ── Admin pending claims badge ── */
.admin-claims-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  margin-left: 6px;
  border-radius: 999px;
  background: #e74c3c;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}

.award-winning-badge::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c' stroke='none'%3E%3Cpath d='M12 2l2.4 4.9 5.4.8-3.9 3.8.9 5.3L12 14.2l-4.8 2.6.9-5.3-3.9-3.8 5.4-.8L12 2z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  width: 11px !important;
  height: 11px !important;
}


/* ═══════════════════════════════════════════════════════════
   EVENTS FEATURE — Full CSS
   ═══════════════════════════════════════════════════════════ */

/* ── Events Page ── */
.events-page {
  padding: 16px 0 40px !important;
}
.events-page-header {
  margin: 0 0 16px !important;
  text-align: center !important;
}
.events-page-title {
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  color: #f0e8d8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 4px !important;
}
.events-page-subtitle {
  font-size: 0.78rem !important;
  color: #8a7e6a !important;
  margin: 0 !important;
}

/* ── Event Filters ── */
.events-filters {
  margin: 0 0 16px !important;
}
.events-filter-row {
  display: flex !important;
  gap: 6px !important;
  overflow-x: auto !important;
  padding: 0 0 6px !important;
  -webkit-overflow-scrolling: touch !important;
}
.events-filter-row::-webkit-scrollbar { display: none !important; }
.event-type-filter-btn {
  flex-shrink: 0 !important;
  background: #1a1a1a !important;
  color: #8a7e6a !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 20px !important;
  padding: 6px 14px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.event-type-filter-btn:hover,
.event-type-filter-btn.active {
  background: #c9a84c !important;
  color: #0d0d0d !important;
  border-color: #c9a84c !important;
}

/* ── Events Grid ── */
.events-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 14px !important;
}
@media (max-width: 640px) {
  .events-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ── Event Card ── */
.event-card {
  background: #141414 !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.event-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
}
.event-card-premium {
  border-color: rgba(201,168,76,0.5) !important;
  box-shadow: 0 0 12px rgba(201,168,76,0.1) !important;
}
.event-card-banner {
  width: 100% !important;
  height: 140px !important;
  position: relative !important;
  background-color: #1a1a2e !important;
}
.event-card-countdown {
  position: absolute !important;
  bottom: 8px !important;
  left: 8px !important;
  background: rgba(0,0,0,0.75) !important;
  color: #c9a84c !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
}
.event-card-countdown-today {
  background: rgba(233,69,96,0.85) !important;
  color: #fff !important;
}
.event-card-countdown-past {
  background: rgba(85,85,85,0.85) !important;
  color: #aaa !important;
}
.event-card-promoted-badge {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: #c9a84c !important;
  color: #0d0d0d !important;
  font-size: 0.6rem !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.event-card-body {
  padding: 10px 12px 12px !important;
}
.event-card-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #f0e8d8 !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
}
.event-card-meta {
  font-size: 0.72rem !important;
  color: #8a7e6a !important;
  margin: 0 0 6px !important;
}
.event-card-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  align-items: center !important;
}
.event-type-badge {
  display: inline-block !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.event-status-badge {
  display: inline-block !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}
.event-card-artist-count {
  font-size: 0.65rem !important;
  color: #6cb4ee !important;
  background: rgba(15,52,96,0.3) !important;
  padding: 2px 8px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
}

/* ── Events Loading / Empty ── */
.events-loading {
  text-align: center !important;
  padding: 30px !important;
  color: #8a7e6a !important;
  font-size: 0.85rem !important;
}
.events-empty {
  text-align: center !important;
  padding: 40px 20px !important;
  color: #555 !important;
  font-size: 0.88rem !important;
}
.events-load-more {
  text-align: center !important;
  padding: 16px 0 !important;
}
.events-load-more-btn {
  background: none !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  color: #c9a84c !important;
  padding: 8px 24px !important;
  border-radius: 6px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.events-load-more-btn:hover {
  background: rgba(201,168,76,0.1) !important;
}

/* ── Event Detail Page ── */
.event-detail-page {
  max-width: 700px !important;
  margin: 0 auto !important;
}
.event-detail-banner {
  width: 100% !important;
  height: 200px !important;
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 0 0 16px !important;
}
.event-detail-banner-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 16px !important;
  background: linear-gradient(transparent, rgba(0,0,0,0.85)) !important;
}
.event-detail-title {
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 4px !important;
}
.event-detail-date {
  font-size: 0.82rem !important;
  color: #c9a84c !important;
  margin: 0 0 6px !important;
}

/* ── Countdown ── */
.event-detail-countdown {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 14px !important;
  margin: 0 0 14px !important;
  background: linear-gradient(135deg, rgba(233,69,96,0.12) 0%, rgba(201,168,76,0.12) 100%) !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 10px !important;
  text-align: center !important;
}
.event-detail-countdown-live {
  background: rgba(233,69,96,0.2) !important;
  border-color: rgba(233,69,96,0.4) !important;
}
.countdown-unit {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.countdown-number {
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  color: #c9a84c !important;
  line-height: 1 !important;
}
.countdown-sep {
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  color: #c9a84c !important;
  opacity: 0.5 !important;
  align-self: flex-start !important;
}
.countdown-label {
  font-size: 0.6rem !important;
  color: #8a7e6a !important;
  text-transform: uppercase !important;
  margin-top: 2px !important;
}

/* ── Remind Button ── */
.event-detail-actions {
  margin: 0 0 16px !important;
}
.event-detail-actions {
  display: flex !important;
  gap: 8px !important;
  padding: 8px 16px !important;
}
.event-remind-btn {
  flex: 1 !important;
  padding: 10px !important;
  background: #e94560 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.event-remind-btn:hover {
  background: #d63051 !important;
}
.event-remind-btn.active {
  background: #2ecc71 !important;
}
.event-share-btn {
  padding: 10px 16px !important;
  background: #2d2d44 !important;
  color: #c9a84c !important;
  border: 1px solid #c9a84c33 !important;
  border-radius: 8px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.event-share-btn:hover {
  background: #3d3d55 !important;
}

/* ── Organiser Dashboard Analytics ── */
.organiser-event-wrap {
  margin-bottom: 16px !important;
}
.organiser-event-analytics {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 12px !important;
  background: #1a1a2e !important;
  border: 1px solid #333 !important;
  border-top: none !important;
  border-radius: 0 0 12px 12px !important;
  font-size: 0.75rem !important;
  color: #8a7e6a !important;
}
.event-promote-btn {
  margin-left: auto !important;
  padding: 4px 12px !important;
  background: #c9a84c !important;
  color: #1a1a2e !important;
  border: none !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.event-promote-btn:hover {
  background: #e0c76f !important;
}
.event-promoted-label {
  margin-left: auto !important;
  color: #c9a84c !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
}

/* ── Event Detail Tabs ── */
.event-detail-tabs {
  display: flex !important;
  gap: 0 !important;
  border-bottom: 1px solid #333 !important;
  margin: 0 !important;
  padding: 0 16px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.event-detail-tab-btn {
  flex: 1 !important;
  padding: 10px 12px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: #888 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: color 0.2s, border-color 0.2s !important;
}
.event-detail-tab-btn.active {
  color: #c9a84c !important;
  border-bottom-color: #c9a84c !important;
}
.event-detail-tab-btn:hover {
  color: #e0c76f !important;
}
.event-detail-tab-panel {
  padding: 16px !important;
}

/* ── Event Detail Body ── */
.event-detail-body {
  padding: 0 0 40px !important;
}
.event-detail-section {
  margin: 0 0 20px !important;
}
.event-detail-section-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #c9a84c !important;
  margin: 0 0 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.event-detail-description {
  font-size: 0.85rem !important;
  color: #ccc !important;
  line-height: 1.6 !important;
}
.event-detail-info-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin: 0 0 16px !important;
  font-size: 0.82rem !important;
  color: #aaa !important;
}
.event-info-item a {
  color: #c9a84c !important;
  text-decoration: none !important;
}
.event-info-item a:hover {
  text-decoration: underline !important;
}
.event-ticket-link {
  display: inline-block !important;
  background: #c9a84c !important;
  color: #0d0d0d !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  text-decoration: none !important;
}
.event-floor-plan-img {
  width: 100% !important;
  border-radius: 8px !important;
  max-height: 400px !important;
  object-fit: contain !important;
}

/* ── Event Artists Grid ── */
.event-artists-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
  gap: 10px !important;
}
.event-artist-card {
  text-align: center !important;
  cursor: pointer !important;
  padding: 10px 6px !important;
  border-radius: 10px !important;
  transition: background 0.2s !important;
}
.event-artist-card:hover {
  background: rgba(201,168,76,0.08) !important;
}
.event-artist-avatar {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  margin: 0 auto 6px !important;
  display: block !important;
}
.event-artist-avatar-placeholder {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: #0f3460 !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 6px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
}
.event-artist-name {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #f0e8d8 !important;
  margin: 0 0 2px !important;
}
.event-artist-styles {
  font-size: 0.62rem !important;
  color: #8a7e6a !important;
}

/* ── Event Gallery ── */
.event-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 6px !important;
}
.event-gallery-item img {
  width: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

/* ── Artist Invitation Cards ── */
.event-invitation-card {
  background: #1a1a1a !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 12px !important;
  padding: 12px !important;
  margin: 0 0 10px !important;
}
.event-invitation-actions {
  display: flex !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

/* ── Event Creation Form ── */
.event-form-page {
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 16px 0 40px !important;
}
.event-form-title {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #f0e8d8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 16px !important;
}
.event-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.event-form-group {
  margin: 0 0 12px !important;
}
.event-form-label {
  display: block !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: #c9a84c !important;
  margin: 0 0 4px !important;
}
.event-form-input {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 8px !important;
  padding: 9px 12px !important;
  font-size: 0.82rem !important;
  color: #f0e8d8 !important;
  outline: none !important;
  transition: border-color 0.2s !important;
}
.event-form-input:focus {
  border-color: #c9a84c !important;
}
.event-form-input::placeholder {
  color: #555 !important;
}
.event-form-textarea {
  resize: vertical !important;
  min-height: 80px !important;
}
.event-form-row {
  display: flex !important;
  gap: 10px !important;
}
.event-form-half {
  flex: 1 !important;
}
.event-form-actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
.event-form-btn {
  flex: 1 !important;
  padding: 10px !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.event-form-btn-draft {
  background: #2a2a2a !important;
  color: #8a7e6a !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}
.event-form-btn-draft:hover {
  background: #333 !important;
}
.event-form-btn-publish {
  background: linear-gradient(135deg, #c9a84c, #a8893a) !important;
  color: #0d0d0d !important;
}
.event-form-btn-publish:hover {
  filter: brightness(1.1) !important;
}

/* ── Organiser Dashboard ── */
.organiser-dashboard {
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: 16px 0 40px !important;
}
.organiser-dashboard-header {
  margin: 0 0 16px !important;
}
.organiser-dashboard-header h2 {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #f0e8d8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 4px !important;
}
.organiser-org-name {
  font-size: 0.85rem !important;
  color: #8a7e6a !important;
  margin: 0 0 4px !important;
}
.organiser-verified-badge {
  display: inline-block !important;
  background: rgba(46,204,113,0.15) !important;
  color: #2ecc71 !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  padding: 2px 10px !important;
  border-radius: 6px !important;
}
.organiser-stats-row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
}
.organiser-stat {
  background: #141414 !important;
  border: 1px solid rgba(201,168,76,0.12) !important;
  border-radius: 10px !important;
  padding: 12px 6px !important;
  text-align: center !important;
}
.organiser-stat-number {
  display: block !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  color: #c9a84c !important;
  line-height: 1 !important;
  margin: 0 0 4px !important;
}
.organiser-stat-label {
  font-size: 0.58rem !important;
  color: #8a7e6a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.organiser-actions {
  margin: 0 0 16px !important;
}
.organiser-section-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #f0e8d8 !important;
  margin: 0 0 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* ── Shop Events Tab ── */
.shop-events-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 0 0 12px !important;
}
.shop-events-header h3 {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #f0e8d8 !important;
  margin: 0 !important;
}

/* ── Homepage Upcoming Events ── */
.upcoming-events-section {
  margin: 0 0 24px !important;
}
.upcoming-events-scroll {
  display: flex !important;
  gap: 10px !important;
  overflow-x: auto !important;
  padding: 0 0 8px !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-snap-type: x mandatory !important;
}
.upcoming-events-scroll::-webkit-scrollbar {
  height: 3px !important;
}
.upcoming-events-scroll::-webkit-scrollbar-thumb {
  background: rgba(201,168,76,0.3) !important;
  border-radius: 2px !important;
}
.homepage-event-card {
  flex-shrink: 0 !important;
  width: 200px !important;
  background: #141414 !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  scroll-snap-align: start !important;
  transition: transform 0.2s !important;
}
.homepage-event-card:hover {
  transform: translateY(-2px) !important;
}
.homepage-event-card-premium {
  border-color: rgba(201,168,76,0.4) !important;
  box-shadow: 0 0 8px rgba(201,168,76,0.08) !important;
}
.homepage-event-card-banner {
  width: 100% !important;
  height: 80px !important;
  background-color: #1a1a2e !important;
}
.homepage-event-card-body {
  padding: 8px 10px 10px !important;
}
.homepage-event-card-title {
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  color: #f0e8d8 !important;
  margin: 0 0 2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.homepage-event-card-meta {
  font-size: 0.65rem !important;
  color: #8a7e6a !important;
  margin: 0 0 3px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.homepage-event-card-countdown {
  font-size: 0.62rem !important;
  color: #c9a84c !important;
  font-weight: 600 !important;
}

/* ── Events Map Container (Phase 2) ── */
.events-map-container {
  width: 100% !important;
  height: 200px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin: 0 0 14px !important;
  background: #1a1a2e !important;
  display: none !important; /* Hidden until Phase 2 map integration */
}


/* ================================================================
   MESSAGES / THREADS — dark theme
   ================================================================ */

body .thread-list-column,
body .thread-view-column {
  background: #0d0d0d !important;
  border-color: rgba(201,168,76,0.12) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
}

body .thread-list-heading {
  color: #c9a84c !important;
}

body .thread-card {
  background: #161616 !important;
  border: 1px solid rgba(201,168,76,0.18) !important;
  color: #f0e8d8 !important;
  border-radius: 0 !important;
}

body .thread-card.active {
  background: rgba(201,168,76,0.12) !important;
  border-color: #c9a84c !important;
}

body .thread-title-badge {
  background: rgba(201,168,76,0.12) !important;
  color: #c9a84c !important;
  border-radius: 0 !important;
}

body .thread-card-meta,
body .thread-card-preview,
body .thread-header-meta,
body .message-card-meta,
body .message-empty-state,
body .messages-intro {
  color: #8a7e6a !important;
}

body .thread-badge {
  background: #c9a84c !important;
  color: #0d0d0d !important;
  border-radius: 0 !important;
}

body .thread-seen-mark {
  background: rgba(201,168,76,0.18) !important;
  color: #c9a84c !important;
}

body .thread-header {
  border-bottom: 1px solid rgba(201,168,76,0.12) !important;
}

body .thread-back-btn {
  color: #c9a84c !important;
  background: transparent !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 0 !important;
}

body .thread-message.mine {
  background: #1a1508 !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  color: #f0e8d8 !important;
  border-radius: 0 !important;
}

body .thread-message.theirs {
  background: #161616 !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
  color: #e8dcc8 !important;
  border-radius: 0 !important;
}

body .thread-message-meta {
  color: #8a7e6a !important;
}

body .thread-message-body {
  color: #f0e8d8 !important;
}

/* ── Flash Thumbnail in Thread List ── */
.thread-flash-thumb {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}
.thread-flash-img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}
.thread-flash-status {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
}

/* ── Flash Banner in Thread Panel ── */
.thread-flash-banner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  background: #1a1a2e !important;
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
}
.thread-flash-banner-img {
  width: 56px !important;
  height: 56px !important;
  border-radius: 8px !important;
  object-fit: cover !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}
.thread-flash-banner-info {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.thread-flash-banner-caption {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: #f0e8d8 !important;
}
.thread-flash-banner-price {
  font-size: 0.78rem !important;
  color: #c9a84c !important;
  font-weight: 700 !important;
}
.thread-flash-banner-status {
  display: inline-block !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  align-self: flex-start !important;
}

/* ── Flash Actions in Thread (Reserve/Sold) ── */
.thread-flash-actions {
  display: flex !important;
  gap: 6px !important;
  padding: 6px 14px 10px !important;
  background: #1a1a2e !important;
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
}
.thread-flash-action-btn {
  flex: 1 !important;
  padding: 6px 10px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}
.thread-flash-action-btn.reserved {
  background: #ffa726 !important;
  color: #1a1a2e !important;
}
.thread-flash-action-btn.sold {
  background: #e74c3c !important;
  color: #fff !important;
}
.thread-flash-action-btn.available {
  background: #2ecc71 !important;
  color: #1a1a2e !important;
}

body .message-composer-card {
  background: #161616 !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body .message-composer-card h3 {
  color: #c9a84c !important;
}

body .message-composer-card textarea {
  background: #111 !important;
  color: #f0e8d8 !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  border-radius: 0 !important;
}

body .message-composer-card button {
  background: linear-gradient(135deg,#c9a84c,#a8893a) !important;
  color: #0d0d0d !important;
  border: none !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

body .paperclip-btn {
  color: #c9a84c !important;
  background: #161616 !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 0 !important;
}

body .file-chip {
  color: #8a7e6a !important;
}

/* ══════════════════════════════════════════
   Flash feed filter bar
   ══════════════════════════════════════════ */
.flash-filter-bar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  background: #161616;
  border: 1px solid rgba(201,168,76,0.15);
  border-radius: 8px;
}

.flash-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.flash-filter-row > label {
  color: #c9a84c;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
  min-width: 60px;
}

.flash-distance-control {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

.flash-distance-control input[type="range"] {
  flex: 1;
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  background: rgba(201,168,76,0.25);
  border-radius: 2px;
  outline: none;
}

.flash-distance-control input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #c9a84c;
  cursor: pointer;
  border: 2px solid #0d0d0d;
}

.flash-distance-control input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #c9a84c;
  cursor: pointer;
  border: 2px solid #0d0d0d;
}

.flash-distance-value {
  color: #c9a84c;
  font-size: 0.85rem;
  font-weight: 700;
  min-width: 50px;
  text-align: right;
}

.flash-filter-bar .feed-style-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.flash-filter-bar .feed-style-filter-row label {
  color: #c9a84c;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
  min-width: 60px;
}

.flash-filter-bar .feed-style-filter-row select {
  flex: 1;
  background: #0d0d0d;
  color: #f0e8d8;
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 0.82rem;
}

/* ================================================================
   CRM — Client Database
   ================================================================ */

/* Header bar */
.crm-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 0 8px;
}
.crm-header h3 {
  margin: 0;
  font-size: 1rem;
  color: #c9a84c;
  font-weight: 700;
}

/* Search + filter bar */
.crm-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 0 10px;
}
.crm-search-input {
  flex: 1;
  min-width: 140px;
  background: #0d0d0d;
  color: #f0e8d8;
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: 6px;
  padding: 7px 12px;
  font-size: 0.82rem;
}
.crm-search-input::placeholder { color: #8a7e6a; }
.crm-search-input:focus {
  outline: none;
  border-color: #c9a84c;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15);
}
.crm-tag-chips {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.crm-tag-chip {
  background: rgba(201,168,76,0.1);
  color: #c9a84c;
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 12px;
  padding: 3px 10px;
  font-size: 0.72rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.crm-tag-chip:hover,
.crm-tag-chip.active {
  background: rgba(201,168,76,0.25);
  border-color: #c9a84c;
}

/* Client cards */
.crm-client-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.crm-client-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #161616;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 8px;
  padding: 10px 14px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.crm-client-card:hover {
  border-color: rgba(201,168,76,0.35);
  background: #1a1a1a;
}
.crm-client-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(201,168,76,0.15);
  color: #c9a84c;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.crm-client-info {
  flex: 1;
  min-width: 0;
}
.crm-client-name {
  font-weight: 600;
  color: #f0e8d8;
  font-size: 0.88rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.crm-client-meta {
  color: #8a7e6a;
  font-size: 0.72rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.crm-client-tags {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.crm-client-tags span {
  background: rgba(201,168,76,0.1);
  color: #c9a84c;
  font-size: 0.62rem;
  padding: 1px 6px;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Add button */
.crm-add-btn {
  background: #c9a84c;
  color: #0d0d0d;
  border: none;
  border-radius: 6px;
  padding: 7px 16px;
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s;
}
.crm-add-btn:hover { background: #d4b65e; }

/* Show more */
.crm-show-more {
  text-align: center;
  padding: 10px;
}
.crm-show-more button {
  background: transparent;
  color: #c9a84c;
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: 6px;
  padding: 6px 20px;
  font-size: 0.78rem;
  cursor: pointer;
}
.crm-show-more button:hover {
  background: rgba(201,168,76,0.1);
}

/* Empty state */
.crm-empty {
  text-align: center;
  padding: 40px 20px;
  color: #8a7e6a;
}
.crm-empty h4 {
  color: #f0e8d8;
  margin: 0 0 6px;
  font-size: 0.95rem;
}
.crm-empty p {
  font-size: 0.8rem;
  margin: 0 0 16px;
}

/* ─── Client Detail View ─── */
.crm-detail-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0 6px;
}
.crm-back-btn {
  background: transparent;
  border: none;
  color: #c9a84c;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
}
.crm-detail-name {
  font-size: 1.05rem;
  font-weight: 700;
  color: #f0e8d8;
  flex: 1;
}
.crm-edit-btn {
  background: transparent;
  border: 1px solid rgba(201,168,76,0.3);
  color: #c9a84c;
  border-radius: 6px;
  padding: 5px 14px;
  font-size: 0.75rem;
  cursor: pointer;
}
.crm-edit-btn:hover { background: rgba(201,168,76,0.1); }

/* Detail tabs */
.crm-detail-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid rgba(201,168,76,0.15);
  margin-bottom: 12px;
}
.crm-detail-tab {
  flex: 1;
  background: transparent;
  border: none;
  color: #8a7e6a;
  padding: 8px 4px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.crm-detail-tab.active {
  color: #c9a84c;
  border-bottom-color: #c9a84c;
}
.crm-detail-panel {
  display: none;
}
.crm-detail-panel.active {
  display: block;
}

/* Info rows in detail */
.crm-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 14px;
}
.crm-info-item {
  padding: 6px 0;
}
.crm-info-item.full {
  grid-column: 1 / -1;
}
.crm-info-label {
  font-size: 0.65rem;
  color: #8a7e6a;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}
.crm-info-value {
  font-size: 0.82rem;
  color: #f0e8d8;
  word-break: break-word;
}
.crm-section-title {
  font-size: 0.78rem;
  color: #c9a84c;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 16px 0 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(201,168,76,0.12);
}

/* ─── Client Form ─── */
.crm-form {
  padding: 8px 0;
}
.crm-form-section {
  margin-bottom: 18px;
}
.crm-form-section-title {
  font-size: 0.78rem;
  color: #c9a84c;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(201,168,76,0.12);
}
.crm-form-row {
  display: flex;
  gap: 10px;
  margin-bottom: 8px;
}
.crm-form-row > .crm-form-group {
  flex: 1;
}
.crm-form-group {
  margin-bottom: 8px;
}
.crm-form-group label {
  display: block;
  font-size: 0.7rem;
  color: #8a7e6a;
  margin-bottom: 3px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.crm-form-group input,
.crm-form-group select,
.crm-form-group textarea {
  width: 100%;
  background: #0d0d0d;
  color: #f0e8d8;
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 5px;
  padding: 7px 10px;
  font-size: 0.82rem;
  box-sizing: border-box;
}
.crm-form-group input:focus,
.crm-form-group select:focus,
.crm-form-group textarea:focus {
  outline: none;
  border-color: #c9a84c;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.12);
}
.crm-form-group textarea {
  resize: vertical;
  min-height: 60px;
}
.crm-form-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.crm-form-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #c9a84c;
  flex-shrink: 0;
}
.crm-form-checkbox label {
  font-size: 0.78rem;
  color: #f0e8d8;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}

/* Save button */
.crm-save-btn {
  width: 100%;
  background: #c9a84c;
  color: #0d0d0d;
  border: none;
  border-radius: 6px;
  padding: 10px;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  margin-top: 12px;
  transition: background 0.15s;
}
.crm-save-btn:hover { background: #d4b65e; }
.crm-save-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Notes panel */
.crm-notes-area {
  width: 100%;
  background: #0d0d0d;
  color: #f0e8d8;
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 6px;
  padding: 10px;
  font-size: 0.82rem;
  min-height: 120px;
  resize: vertical;
  box-sizing: border-box;
}
.crm-notes-area:focus {
  outline: none;
  border-color: #c9a84c;
}
.crm-notes-save {
  margin-top: 8px;
  background: rgba(201,168,76,0.15);
  color: #c9a84c;
  border: 1px solid rgba(201,168,76,0.3);
  border-radius: 6px;
  padding: 7px 20px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
}
.crm-notes-save:hover { background: rgba(201,168,76,0.25); }

/* Medical badges */
.crm-medical-badge {
  display: inline-block;
  background: rgba(231,76,60,0.12);
  color: #e74c3c;
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 8px;
  margin: 2px 3px 2px 0;
}
.crm-medical-badge.green {
  background: rgba(46,204,113,0.12);
  color: #2ecc71;
}
.crm-medical-badge.amber {
  background: rgba(241,196,15,0.12);
  color: #f1c40f;
}

/* Consent card */
.crm-consent-card {
  background: #161616;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 8px;
}
.crm-consent-card h5 {
  margin: 0 0 4px;
  color: #f0e8d8;
  font-size: 0.85rem;
}
.crm-consent-card p {
  margin: 0;
  color: #8a7e6a;
  font-size: 0.72rem;
}
.crm-consent-status {
  display: inline-block;
  font-size: 0.68rem;
  padding: 1px 8px;
  border-radius: 8px;
  margin-top: 4px;
}
.crm-consent-status.valid {
  background: rgba(46,204,113,0.12);
  color: #2ecc71;
}
.crm-consent-status.revoked {
  background: rgba(231,76,60,0.12);
  color: #e74c3c;
}

/* ─── CRM form & detail — additional selectors ─── */
.crm-fieldset {
  border: none;
  margin: 0 0 18px;
  padding: 0;
}
.crm-fieldset legend {
  font-size: 0.78rem;
  color: #c9a84c;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(201,168,76,0.12);
  width: 100%;
}
.crm-field {
  margin-bottom: 8px;
}
.crm-field label {
  display: block;
  font-size: 0.7rem;
  color: #8a7e6a;
  margin-bottom: 3px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.crm-field input,
.crm-field select,
.crm-field textarea {
  width: 100%;
  background: #0d0d0d;
  color: #f0e8d8;
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 5px;
  padding: 7px 10px;
  font-size: 0.82rem;
  box-sizing: border-box;
}
.crm-field input:focus,
.crm-field select:focus,
.crm-field textarea:focus {
  outline: none;
  border-color: #c9a84c;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.12);
}
.crm-field textarea {
  resize: vertical;
  min-height: 60px;
}
.crm-field-check label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: #f0e8d8;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}
.crm-field-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #c9a84c;
  flex-shrink: 0;
}
.crm-row-2 {
  display: flex;
  gap: 10px;
}
.crm-row-2 > .crm-field {
  flex: 1;
}
.crm-form-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0 12px;
}
.crm-form-header h3 {
  margin: 0;
  font-size: 1rem;
  color: #f0e8d8;
  font-weight: 700;
}
.crm-form-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
.crm-count {
  font-weight: 400;
  color: #8a7e6a;
  font-size: 0.85rem;
}
.crm-filters {
  padding: 0 0 10px;
}
.crm-search {
  width: 100%;
  background: #0d0d0d;
  color: #f0e8d8;
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: 6px;
  padding: 7px 12px;
  font-size: 0.82rem;
  margin-bottom: 8px;
  box-sizing: border-box;
}
.crm-search::placeholder { color: #8a7e6a; }
.crm-search:focus {
  outline: none;
  border-color: #c9a84c;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.15);
}
.crm-tag-filters {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.crm-cards {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.crm-client-contact {
  color: #8a7e6a;
  font-size: 0.72rem;
}
.crm-client-source {
  color: #8a7e6a;
  font-size: 0.65rem;
  text-transform: uppercase;
}
.crm-tag {
  display: inline-block;
  background: rgba(201,168,76,0.1);
  color: #c9a84c;
  font-size: 0.62rem;
  padding: 1px 6px;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-right: 3px;
}
.crm-load-more {
  display: block;
  width: 100%;
  margin-top: 10px;
}
.crm-avatar-lg {
  width: 52px;
  height: 52px;
  font-size: 1.1rem;
}
.crm-detail-title {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}
.crm-detail-title h3 {
  margin: 0;
  font-size: 1.05rem;
  color: #f0e8d8;
}
.crm-detail-actions {
  flex-shrink: 0;
}
.crm-dtab {
  flex: 1;
  background: transparent;
  border: none;
  color: #8a7e6a;
  padding: 8px 4px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.crm-dtab.active {
  color: #c9a84c;
  border-bottom-color: #c9a84c;
}
.crm-info-grid {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.crm-info-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 5px 0;
  border-bottom: 1px solid rgba(201,168,76,0.06);
}
.crm-info-divider {
  height: 8px;
}
.crm-consent-date {
  font-size: 0.72rem;
  color: #8a7e6a;
}
.crm-consent-pdf {
  display: inline-block;
  color: #c9a84c;
  font-size: 0.72rem;
  margin-top: 4px;
  text-decoration: underline;
}
.crm-badge {
  display: inline-block;
  font-size: 0.68rem;
  padding: 1px 8px;
  border-radius: 8px;
}
.crm-badge-ok {
  background: rgba(46,204,113,0.12);
  color: #2ecc71;
}
.crm-badge-revoked {
  background: rgba(231,76,60,0.12);
  color: #e74c3c;
}
.crm-notes-section h4 {
  color: #c9a84c;
  font-size: 0.85rem;
  margin: 0 0 8px;
}
.crm-notes-content {
  color: #f0e8d8;
  font-size: 0.82rem;
  padding: 8px 0;
  white-space: pre-wrap;
}
.crm-notes-textarea {
  width: 100%;
  background: #0d0d0d;
  color: #f0e8d8;
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 6px;
  padding: 10px;
  font-size: 0.82rem;
  min-height: 120px;
  resize: vertical;
  box-sizing: border-box;
  margin-top: 8px;
}
.crm-notes-textarea:focus {
  outline: none;
  border-color: #c9a84c;
}

/* ================================================================
   CRM Phase 2 — Timeline, Signature Pad, Consent Signing
   ================================================================ */

/* Timeline */
.crm-timeline-header {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.crm-timeline {
  position: relative;
  padding-left: 28px;
}
.crm-timeline::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(201,168,76,0.15);
}
.crm-timeline-item {
  position: relative;
  margin-bottom: 12px;
  cursor: pointer;
  background: #161616;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 8px;
  padding: 10px 14px;
  transition: border-color 0.15s;
}
.crm-timeline-item:hover {
  border-color: rgba(201,168,76,0.35);
}
.crm-timeline-icon {
  position: absolute;
  left: -28px;
  top: 12px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  background: #161616;
  border: 2px solid rgba(201,168,76,0.3);
  border-radius: 50%;
  z-index: 1;
}
.crm-timeline-content {}
.crm-timeline-date {
  font-size: 0.68rem;
  color: #8a7e6a;
  margin-bottom: 2px;
}
.crm-timeline-title {
  font-size: 0.85rem;
  color: #f0e8d8;
  font-weight: 600;
  margin-bottom: 3px;
}
.crm-timeline-meta {
  font-size: 0.72rem;
  color: #8a7e6a;
}

/* Signature pad */
.crm-signature-section {
  margin: 16px 0;
}
.crm-signature-pad-wrap {
  border: 1px solid rgba(201,168,76,0.3);
  border-radius: 8px;
  overflow: hidden;
  background: #0d0d0d;
  touch-action: none;
}
.crm-signature-pad-wrap canvas {
  display: block;
  width: 100%;
  height: 160px;
  cursor: crosshair;
}
.crm-signature-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 6px;
}
.crm-clear-sig {
  background: transparent;
  border: 1px solid rgba(201,168,76,0.25);
  color: #c9a84c;
  border-radius: 5px;
  padding: 4px 14px;
  font-size: 0.72rem;
  cursor: pointer;
}
.crm-clear-sig:hover {
  background: rgba(201,168,76,0.1);
}

/* Consent signing flow */
.crm-consent-snapshot {
  background: #161616;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 12px 0;
}
.crm-consent-preview {
  margin: 12px 0;
}
.crm-consent-body {
  background: #0d0d0d;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 6px;
  padding: 14px;
  color: #f0e8d8;
  font-size: 0.82rem;
  line-height: 1.5;
  max-height: 300px;
  overflow-y: auto;
  white-space: pre-wrap;
}
