:root {
  --bg: #ffffff;
  --shell: #ffffff;
  --card: #ffffff;
  --line: rgba(16, 24, 40, 0.1);
  --text: #171a22;
  --muted: #7a7f8e;
  --green: #0f8f5a;
  --green-2: #11a364;
  --dark: #0f1218;
  --auth-accent: #12a667;
  --auth-surface: #090d13;
  --auth-panel: rgba(11, 15, 22, 0.88);
  --auth-border: rgba(255, 255, 255, 0.1);
  --auth-field: rgba(255, 255, 255, 0.045);
  --auth-text: #f5f8fc;
  --auth-muted: #96a2b5;
  --shadow: 0 28px 70px rgba(17, 24, 39, 0.08);
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

html {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* ── Pure white light mode body ── */
body,
body[data-theme="light"] {
  background: #ffffff;
  min-height: 100vh;
  color: var(--text);
  -webkit-overflow-scrolling: touch;
}

/* Logo swap — light/dark */
.brand-logo { height: 32px; width: auto; max-width: 100%; object-fit: contain; }
.brand-logo-dark { display: none; }
.brand-logo-light { display: block; }
body[data-theme="dark"] .brand-logo-dark { display: block; }
body[data-theme="dark"] .brand-logo-light { display: none; }

/* ── Global reset: no underlines on links or buttons ── */
a, a:hover, a:focus, a:visited { text-decoration: none; }
button { text-decoration: none; }

/* Remove default mobile tap flash/highlight */
a,
button,
input,
select,
textarea,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

.checkout-item-copy small,
.order-muted,
.order-card-meta,
.order-detail-meta,
.credential-panel-head p,
.thread-panel-head p,
.thread-message-head span,
.order-card-items span,
.order-card-actions .soft-pill,
.merchant-thread-form .money-field-wrap span {
  color: var(--muted);
}

.order-card-grid,
.credential-list,
.thread-list {
  display: grid;
  gap: 18px;
}

.order-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.order-card,
.order-detail-card,
.credential-panel,
.thread-panel {
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 24px;
  box-shadow: var(--shadow);
}

.order-card,
.order-detail-card {
  padding: 22px;
}

.order-card-head,
.order-line,
.order-card-actions,
.order-detail-head,
.credential-panel-head,
.thread-panel-head,
.thread-message-head,
.order-detail-layout {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.order-card-head h2,
.order-detail-head h2,
.credential-panel-head h3,
.thread-panel-head h3 {
  margin: 4px 0 0;
  font-size: 1.12rem;
  letter-spacing: -0.03em;
}

.order-card-items,
.summary-stack,
.order-detail-main {
  display: grid;
  gap: 12px;
}

.order-line {
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.order-line:first-child {
  border-top: 0;
  padding-top: 0;
}

.order-line-side {
  text-align: right;
  display: grid;
  gap: 4px;
}

.order-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 14px 0 18px;
}

.order-card-actions {
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.order-detail-layout {
  align-items: flex-start;
}

.order-detail-main {
  flex: 1 1 0;
}

.order-detail-side {
  width: min(100%, 320px);
  position: sticky;
  top: 112px;
}

.order-detail-head p {
  margin: 8px 0 0;
  color: var(--muted);
}

.order-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin: 14px 0 0;
}

.credential-panel,
.thread-panel {
  margin-top: 18px;
  padding: 18px;
}

.credential-entry {
  padding: 16px;
  border-radius: 18px;
  background: rgba(18, 24, 34, 0.04);
  border: 1px solid rgba(18, 24, 34, 0.06);
}

.credential-entry strong {
  display: block;
  margin-bottom: 8px;
}

.credential-entry code {
  display: block;
  white-space: pre-wrap;
  word-break: break-word;
  padding: 14px;
  border-radius: 14px;
  background: #121821;
  color: #eff5ff;
  font-size: 0.92rem;
}

.thread-message {
  padding: 16px 18px;
  border-radius: 20px;
  background: rgba(18, 24, 34, 0.04);
  border: 1px solid rgba(18, 24, 34, 0.06);
}

.thread-message.is-seller {
  background: rgba(15, 143, 90, 0.08);
  border-color: rgba(15, 143, 90, 0.12);
}

.thread-message.is-buyer {
  background: rgba(17, 24, 39, 0.05);
}

.thread-message.is-system {
  background: rgba(255, 199, 51, 0.12);
  border-color: rgba(255, 199, 51, 0.2);
}

.thread-message p {
  margin: 8px 0 0;
  white-space: pre-wrap;
}

.thread-form {
  margin-top: 18px;
  display: grid;
  gap: 12px;
}

.merchant-thread-form {
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.order-action-panel {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.order-action-panel h3 {
  margin: 0 0 8px;
}

.dispute-banner {
  margin-top: 18px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(194, 35, 59, 0.06);
  border: 1px solid rgba(194, 35, 59, 0.12);
}

.dispute-banner strong,
.dispute-response strong {
  display: block;
}

.dispute-banner span,
.dispute-banner p,
.dispute-response p {
  margin: 8px 0 0;
}

.dispute-response {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(194, 35, 59, 0.12);
}

.dispute-form {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

@media (max-width: 980px) {
  .order-detail-layout {
    flex-direction: column;
  }

  .order-detail-side {
    width: 100%;
    position: static;
  }
}

.seller-switcher-panel,
.seller-empty-state,
.seller-order-card,
.seller-listings-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 22px;
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow);
}

.seller-switcher-panel {
  margin-bottom: 18px;
  align-items: flex-end;
}

.seller-onboarding-card {
  margin-bottom: 18px;
  display: grid;
  gap: 12px;
}

.seller-step.is-pending {
  opacity: .85;
}

.seller-review-grid {
  margin-top: 18px;
}

.seller-switcher-panel h2 {
  margin: 6px 0 0;
}

.seller-switcher-panel p,
.seller-empty-state span,
.seller-order-card span,
.seller-listings-empty span {
  color: var(--muted);
}

.seller-switcher-form {
  min-width: 220px;
}

.seller-order-queue {
  display: grid;
  gap: 14px;
}

.seller-order-card {
  align-items: center;
}

.seller-order-card > div {
  display: grid;
  gap: 4px;
}

@media (max-width: 900px) {
  .seller-switcher-panel,
  .seller-order-card,
  .seller-empty-state,
  .seller-listings-empty,
  .first-run-banner,
  .seller-launchpad {
    flex-direction: column;
    align-items: flex-start;
  }

  .seller-switcher-form {
    width: 100%;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: var(--text);
  -webkit-overflow-scrolling: touch;
}

button, input { font: inherit; }

.market-page {
  max-width: 1280px;
  margin: 24px auto;
  padding: 0 20px 42px;
  display: flex;
  flex-direction: column;
  gap: 0; /* per-item margin-top handles gaps on desktop; override on mobile below */
}

.market-topbar {
  position: sticky;
  top: 18px;
  z-index: 120;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  border-radius: 26px;
  background: var(--shell);
  backdrop-filter: blur(24px);
  box-shadow: var(--shadow);
  border: 1px solid rgba(255, 255, 255, 0.86);
  overflow: visible;
}

.brand, .top-nav, .top-actions, .wallet-chip, .filter-bar, .action-row, .section-head, .modal-actions, .modal-head, .range-row, .hero-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-mark {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--green), var(--green-2));
  box-shadow: 0 18px 30px rgba(15, 143, 90, 0.22);
}

.brand-mark span {
  position: absolute;
  background: rgba(255,255,255,.94);
  border-radius: 999px;
}

.brand-mark span:nth-child(1) { left: 11px; top: 9px; width: 8px; height: 28px; }
.brand-mark span:nth-child(2) { right: 10px; top: 10px; width: 10px; height: 10px; }
.brand-mark span:nth-child(3) { right: 10px; bottom: 8px; width: 14px; height: 14px; }

.brand strong {
  font-size: 1.9rem;
  letter-spacing: -0.04em;
  color: var(--green);
}

.top-nav { justify-content: center; }

.nav-link,
.sell-btn,
.icon-btn,
.wallet-chip,
.chip,
.filter-btn,
.select-pill,
.mini-pill,
.reset-btn,
.view-btn,
.cart-btn,
.profile-btn,
.floating-theme,
.toggle-option,
.plain-btn,
.apply-btn,
.close-btn {
  border: 0;
  cursor: pointer;
  transition:
    transform 160ms var(--ease-out),
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.nav-link:active,
.sell-btn:active,
.wallet-chip:active,
.chip:active,
.filter-btn:active,
.select-pill:active,
.mini-pill:active,
.reset-btn:active,
.view-btn:active,
.cart-btn:active,
.profile-btn:active,
.floating-theme:active,
.toggle-option:active,
.plain-btn:active,
.apply-btn:active {
  transform: scale(0.97);
}

.nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  background: transparent;
  color: #676c7b;
  font-weight: 700;
  text-decoration: none;
}

.nav-link:hover,
.nav-link:focus-visible {
  color: var(--green);
}

.nav-link.is-active { color: var(--green); }

.wallet-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(15,143,90,.18);
  color: var(--green);
  box-shadow: 0 10px 22px rgba(17,24,39,.05);
  text-decoration: none;
}

.wallet-chip:hover,
.icon-btn:hover,
.profile-btn:hover,
.chip:hover,
.filter-btn:hover,
.select-pill:hover,
.mini-pill:hover,
.reset-btn:hover,
.view-btn:hover,
.cart-btn:hover {
  transform: translateY(-1px);
}

.wallet-chip svg,
.icon-btn svg,
.view-btn svg,
.cart-btn svg,
.reset-btn svg,
.filter-btn svg,
.soft-search svg,
.caret,
.floating-theme svg,
.profile-menu svg,
.seller-step-badge svg,
.money-field svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wallet-chip i {
  font-style: normal;
  padding-left: 10px;
  border-left: 1px solid rgba(15,143,90,.16);
}

.sell-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border-radius: 18px;
  background: #15161b;
  color: white;
  font-weight: 800;
  text-decoration: none;
}

.icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  color: #3e4350;
  box-shadow: 0 10px 22px rgba(17,24,39,.05);
  text-decoration: none;
}

.top-actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
}

.top-actions > * {
  flex: 0 0 auto;
}

.has-badge .badge-dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(15, 143, 90, 0.12);
}

.profile-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px 6px 6px;
  border-radius: 18px;
  background: rgba(227, 239, 247, 0.8);
  color: #425164;
}

.avatar-3d {
  position: relative;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: radial-gradient(circle at 30% 30%, #e5fff1, #bfd8ff 70%);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.84), 0 12px 22px rgba(17,24,39,.06);
  overflow: hidden;
}

.avatar-3d.large {
  width: 58px;
  height: 58px;
  border-radius: 18px;
}

.orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(.2px);
}

.orb-a {
  width: 28px;
  height: 28px;
  left: 7px;
  top: 8px;
  background: linear-gradient(180deg, #0f8f5a, #12a667);
}

.orb-b {
  width: 16px;
  height: 16px;
  right: 8px;
  top: 10px;
  background: linear-gradient(180deg, #ffffff, #d8f9e8);
}

.orb-c {
  width: 20px;
  height: 20px;
  right: 10px;
  bottom: 8px;
  background: linear-gradient(180deg, #eaf2ff, #bfd7ff);
}

.profile-menu {
  position: absolute;
  top: 88px;
  right: 16px;
  z-index: 140;
  width: 320px;
  padding: 16px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(16,24,40,.08);
  box-shadow: 0 24px 52px rgba(17,24,39,.12);
  transform-origin: top right;
  transition: transform 220ms var(--ease-out), opacity 180ms ease;
}

.profile-menu.hidden {
  opacity: 0;
  pointer-events: none;
  transform: scale(.97);
}

.profile-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(16,24,40,.08);
  margin-bottom: 12px;
}

.profile-head strong,
.profile-head span {
  display: block;
}

.profile-head span { color: var(--muted); margin-top: 4px; }

.profile-menu button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 10px;
  border-radius: 14px;
  background: transparent;
  color: #2f3442;
  text-align: left;
}

.profile-menu a {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 10px;
  border-radius: 14px;
  background: transparent;
  color: #2f3442;
  text-align: left;
  text-decoration: none;
}

.profile-menu [data-theme-toggle-label] {
  display: inline-block;
  line-height: 1.35;
}

.profile-menu button:hover {
  color: var(--green);
  background: rgba(15,143,90,.06);
}

.profile-menu a:hover {
  color: var(--green);
  background: rgba(15,143,90,.06);
}

.menu-group {
  display: grid;
  gap: 4px;
}

.menu-group + .menu-group {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(16,24,40,.08);
}

.hero-row {
  justify-content: space-between;
  gap: 18px;
}

.market-shell {
  margin-top: 22px;
  padding: 24px;
  border-radius: 30px;
  background: var(--shell);
  backdrop-filter: blur(26px);
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.84);
}

.page-stack {
  display: grid;
  gap: 22px;
}

.hero-copy {
  max-width: 720px;
}

.hero-copy p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.6;
}

.hero h1 {
  margin: 0 0 10px;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: .98;
  letter-spacing: -.06em;
}

.results-pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 700;
  color: var(--muted);
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(16,24,40,.08);
}

.status-pill {
  margin-top: 14px;
}

.chips-row {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 12px;
  margin: 18px 0 16px;
  padding-bottom: 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.chips-row::-webkit-scrollbar {
  display: none;
}

.journey-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 0;
}

.journey-card,
.first-run-banner,
.seller-onboarding-card,
.seller-launchpad,
.seller-listings-empty {
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(16,24,40,.03);
  border: 1px solid var(--line);
  box-shadow: 0 14px 28px rgba(17,24,39,.03);
}
body[data-theme="dark"] .seller-listings-empty {
  background: rgba(255,255,255,.03);
}

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

.journey-card strong {
  margin: 0;
  font-size: 1.6rem;
  letter-spacing: -.04em;
}

.journey-card.accent,
.first-run-banner,
.seller-launchpad {
  background: linear-gradient(135deg, rgba(15,143,90,.1), rgba(18,24,34,.04));
  border-color: rgba(15,143,90,.14);
}

.journey-label {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  font-weight: 800;
}

.first-run-banner,
.seller-launchpad {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.first-run-banner strong,
.seller-onboarding-card h2,
.seller-launchpad h2 {
  margin: 0;
  letter-spacing: -.04em;
}

.first-run-banner span,
.seller-onboarding-card p,
.seller-listings-empty span {
  color: var(--muted);
  line-height: 1.6;
}

.empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
}

@media (max-width: 480px) {
  .empty-state-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .empty-state-actions .violet-btn,
  .empty-state-actions .soft-pill,
  .empty-state-actions .primary-cta {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

.chip {
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  color: #4b5060;
  box-shadow: 0 10px 22px rgba(17,24,39,.04);
  text-decoration: none;
}

.chip:hover,
.chip:focus-visible {
  color: var(--green);
  border-color: rgba(15,143,90,.18);
}

.chip.is-active {
  color: var(--green);
  border: 1px solid rgba(15,143,90,.22);
}

.filter-bar {
  padding: 10px;
  border-radius: 18px;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: 0 18px 36px rgba(17,24,39,.04);
}

.search-field {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(16,24,40,.08);
  color: #8a90a0;
}

.search-field svg {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.search-field:focus-within {
  border-color: rgba(15,143,90,.36);
  box-shadow: 0 0 0 4px rgba(15,143,90,.1);
}

.search-field input {
  flex: 1;
  border: 0;
  background: transparent;
  color: inherit;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  min-width: 0;
  font-size: .92rem;
  line-height: 1;
}

.search-field input::placeholder {
  color: #8a90a0;
}

.table-search svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.filter-btn,
.select-pill,
.mini-pill,
.reset-btn {
  min-height: 48px;
  padding: 0 16px;
  border-radius: 13px;
  background: rgba(255,255,255,.9);
  color: #4b5060;
  border: 1px solid rgba(16,24,40,.08);
}

.filter-btn {
  min-width: 120px;
  color: var(--green);
  font-weight: 800;
  background: rgba(15,143,90,.08);
}

.filter-btn:hover,
.select-pill:hover,
.mini-pill:hover,
.reset-btn:hover,
.filter-btn:focus-visible,
.select-pill:focus-visible,
.mini-pill:focus-visible,
.reset-btn:focus-visible {
  color: var(--green);
  border-color: rgba(15,143,90,.2);
}

.mini-pill { min-width: 84px; }

.reset-btn {
  min-width: 60px;
  justify-content: center;
  color: var(--green);
}

.products-shell {
  margin-top: 18px;
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.92);
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.stat-card,
.content-panel,
.detail-panel,
.table-shell,
.seller-grid > *,
.ticket-panel,
.ticket-sidebar,
.ticket-main {
  padding: 22px;
  border-radius: 24px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.92);
  box-shadow: 0 14px 28px rgba(17,24,39,.03);
}

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

.stat-card .label {
  color: var(--muted);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
}

.stat-card strong {
  font-size: 1.8rem;
  letter-spacing: -.05em;
}

.stat-card small {
  color: var(--green);
  font-weight: 700;
}

.content-panel h2,
.detail-panel h2,
.table-shell h2,
.ticket-panel h2 {
  margin: 0 0 10px;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -.02em;
}

.content-panel p,
.detail-panel p,
.ticket-panel p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.layout-split {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, .9fr);
  gap: 18px;
}

.wallet-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 18px;
}

.wallet-card {
  padding: 26px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(15,143,90,.92), rgba(16,60,42,.94));
  color: white;
  box-shadow: 0 22px 42px rgba(15,143,90,.2);
}

.wallet-card .label {
  display: block;
  margin-bottom: 10px;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .84;
}

.wallet-card strong {
  display: block;
  font-size: 3rem;
  letter-spacing: -.06em;
}

.wallet-card p {
  margin: 10px 0 22px;
  color: rgba(255,255,255,.78);
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.soft-pill {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(15,143,90,.08);
  color: var(--green);
  border: 1px solid rgba(15,143,90,.14);
  font-size: .88rem;
  font-weight: 700;
}

.mini-stats {
  display: grid;
  gap: 14px;
}

.mini-card {
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(16,24,40,.08);
}

.mini-card span {
  display: block;
  color: var(--muted);
  font-size: .85rem;
}

.mini-card strong {
  display: block;
  margin-top: 10px;
  font-size: 2rem;
  letter-spacing: -.05em;
}

.table-shell {
  display: grid;
  gap: 18px;
}

.table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.table-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  min-width: min(100%, 320px);
  padding: 0 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(16,24,40,.08);
  color: var(--muted);
}

.table-search input {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  color: inherit;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
}

.data-table th,
.data-table td {
  padding: 14px 10px;
  text-align: left;
  border-bottom: 1px solid rgba(16,24,40,.08);
}

.data-table th {
  color: var(--muted);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 700;
}

.status-badge.pending {
  background: rgba(255, 176, 32, .12);
  color: #d98a00;
}

.status-badge.progress {
  background: rgba(59, 130, 246, .12);
  color: #2d6cdf;
}

.status-badge.success {
  background: rgba(15,143,90,.12);
  color: var(--green);
}

.status-badge.review {
  background: rgba(130, 69, 255, .12);
  color: #8245ff;
}

.status-badge.danger,
.status-badge.cancelled,
.status-badge.refunded {
  background: rgba(220, 53, 69, .1);
  color: #c9302c;
}

.status-badge.info {
  background: rgba(59, 130, 246, .1);
  color: #2d6cdf;
}

.status-badge.neutral {
  background: rgba(141, 147, 162, .14);
  color: #6b7280;
}

.empty-state {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 44px 24px;
  text-align: center;
  border-radius: 24px;
  background: rgba(255,255,255,.52);
  border: 1px dashed rgba(16,24,40,.14);
}

.empty-state strong {
  font-size: 1.25rem;
}

.seller-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 18px;
}

.listing-list,
.ticket-list {
  display: grid;
  gap: 14px;
}

.listing-item,
.ticket-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(16,24,40,.08);
}

.listing-copy strong,
.ticket-copy strong {
  display: block;
  margin-bottom: 6px;
  font-size: 1rem;
}

.listing-copy span,
.ticket-copy span {
  color: var(--muted);
  font-size: .88rem;
}

.ticket-layout {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.4fr);
  gap: 18px;
}

.message-card {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(16,24,40,.08);
}

.message-card + .message-card {
  margin-top: 12px;
}

.section-head { justify-content: flex-start; margin-bottom: 18px; }

.section-head h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -.01em;
}

.section-head span { color: #8d93a2; }

.product-card {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  grid-template-areas:
    "topline topline topline"
    "thumb copy actions"
    "seller seller seller";
  gap: 6px 22px;
  align-items: center;
  padding: 10px 16px;
  margin-bottom: 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(16,24,40,.08);
  box-shadow: 0 14px 28px rgba(17,24,39,.03);
  transition: transform 180ms var(--ease-out), box-shadow 180ms ease, border-color 180ms ease;
}

.product-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(17,24,39,.05);
}

.product-seller-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--green);
  margin-top: 2px;
  margin-bottom: 0;
  text-align: left;
  letter-spacing: -0.01em;
  grid-area: seller;
}

.thumb {
  grid-area: thumb;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #0f1117;
}

.thumb img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.thumb-tiktok { background: linear-gradient(135deg, #020202, #111116); }
.thumb-instagram { background: linear-gradient(135deg, #f58529 0%, #dd2a7b 55%, #8134af 100%); }
.thumb-whatsapp { background: linear-gradient(135deg, #26c967, #17884b); }
.thumb-facebook { background: linear-gradient(135deg, #1877f2, #2d8cff); }
.thumb-youtube { background: linear-gradient(135deg, #ff2f3a, #c6151f); }
.thumb-generic { background: linear-gradient(135deg, #314158, #182435); }

.product-copy {
  grid-area: copy;
  min-width: 0; /* CRITICAL: prevents text from blowing out the grid track */
}

.product-copy h3,
.product-copy p { margin: 0 0 4px; }

.product-card-topline {
  grid-area: topline;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.eyebrow-compact {
  min-height: 24px;
  padding: 0 8px;
  font-size: .64rem;
  letter-spacing: .09em;
}

.product-trust-chip {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(15,143,90,.08);
  color: #2d845d;
  font-size: .7rem;
  font-weight: 800;
}

.product-copy h3 {
  font-size: 1.02rem;
  line-height: 1.24;
  letter-spacing: -.03em;
}

.product-copy p {
  max-width: 75ch;
  font-size: .89rem;
  line-height: 1.5;
  color: var(--muted);
}

.product-price-stack {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.product-price-stack strong,
.product-actions strong {
  color: var(--text);
}

.product-price-stack span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.market-quickbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 14px;
  margin-top: 18px;
}

.market-balance-pill {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  border-radius: 20px;
  border: 1px solid rgba(16,24,40,.08);
  background: rgba(255,255,255,.78);
  padding: 14px 18px;
}

.market-balance-pill span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.market-balance-pill strong {
  color: var(--text);
  font-size: 1.55rem;
  line-height: 1;
  letter-spacing: -.02em;
}

.market-balance-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 14px;
  color: #fff;
  font-size: .88rem;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  box-shadow: 0 14px 28px rgba(15,143,90,.16);
}

.market-balance-action i {
  font-style: normal;
  font-size: 1.05rem;
  line-height: 1;
}

.meta {
  display: flex;
  flex-wrap: nowrap;
  column-gap: 6px;
  color: #7f8595;
  font-size: .82rem;
  line-height: 1.4;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.meta span {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

.meta span:first-child {
  flex-shrink: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 90px;
}

.meta span:not(:last-child)::after {
  content: "·";
  margin-left: 8px;
  color: #b4b8c4;
}

.product-actions {
  grid-area: actions;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  justify-content: flex-end;
}

.product-actions strong {
  font-size: 1.08rem;
  letter-spacing: -.03em;
}

.action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}

.view-btn,
.cart-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
}

.view-btn {
  min-width: 80px;
  background: transparent;
  color: #2f3545;
  border: 1px solid rgba(16,24,40,.14);
}

.cart-btn {
  min-width: 100px;
  color: white;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  box-shadow: 0 16px 28px rgba(15,143,90,.14);
}

.floating-theme {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 30;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  box-shadow: 0 18px 30px rgba(15, 143, 90, 0.22);
}

.mobile-dock {
  position: fixed;
  left: 50%;
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 28;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: min(calc(100% - 24px), 680px);
  padding: 10px;
  transform: translateX(-50%);
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(16,24,40,.08);
  box-shadow: 0 28px 60px rgba(17,24,39,.14);
  backdrop-filter: blur(18px);
}

.dock-link {
  flex: 1;
  display: grid;
  justify-items: center;
  gap: 6px;
  min-height: 72px;
  padding: 10px 8px;
  border-radius: 22px;
  background: transparent;
  color: #666d7c;
  border: 0;
  text-decoration: none;
}

.dock-link svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dock-link span { font-size: .88rem; font-weight: 700; text-decoration: none; }

.dock-link:hover,
.dock-link:focus-visible,
.dock-link.is-active {
  color: var(--green);
  text-decoration: none;
}

.overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(10, 14, 24, 0.18);
  backdrop-filter: blur(8px);
}

.overlay.hidden { display: none; }

.filter-modal {
  width: min(720px, 100%);
  max-height: min(88vh, 780px);
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(16,24,40,.08);
  box-shadow: 0 30px 70px rgba(17,24,39,.14);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform-origin: center;
  animation: modal-in 220ms var(--ease-out);
}

.modal-head {
  justify-content: space-between;
  margin-bottom: 14px;
}

.modal-head h3 {
  margin: 0 0 4px;
  font-size: 1.18rem;
}

.modal-head p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
}

.close-btn {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(16,24,40,.04);
  color: #49505e;
  font-size: 1.6rem;
}

.modal-grid {
  display: grid;
  gap: 14px;
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: rgba(104, 118, 145, 0.55) transparent;
}

.modal-grid::-webkit-scrollbar {
  width: 8px;
}

.modal-grid::-webkit-scrollbar-track {
  background: transparent;
}

.modal-grid::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(104, 118, 145, 0.42);
  border: 2px solid transparent;
  background-clip: padding-box;
}

.modal-grid::-webkit-scrollbar-thumb:hover {
  background: rgba(104, 118, 145, 0.62);
  background-clip: padding-box;
}

.modal-block {
  padding: 16px;
  border-radius: 16px;
  background: rgba(16,24,40,.03);
  border: 1px solid rgba(16,24,40,.06);
}

.modal-block h4 {
  margin: 0 0 12px;
  color: var(--text);
  font-size: .94rem;
}

.toggle-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.toggle-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.9);
  color: #43505d;
  border: 1px solid rgba(16,24,40,.08);
  font-size: .88rem;
  font-weight: 700;
  text-align: center;
}

.toggle-option:hover,
.toggle-option:focus-visible {
  color: var(--green);
  border-color: rgba(15,143,90,.22);
  background: rgba(15,143,90,.06);
}

.toggle-option.is-selected {
  color: var(--green);
  border-color: rgba(15,143,90,.22);
  background: rgba(15,143,90,.08);
}

.range-row input {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(16,24,40,.08);
  background: rgba(255,255,255,.9);
}

.modal-actions {
  justify-content: flex-end;
  margin-top: 18px;
}

.plain-btn,
.apply-btn {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 14px;
}

.plain-btn {
  background: rgba(16,24,40,.04);
  color: #45505c;
}

.apply-btn {
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
}

.subshell {
  margin-top: 22px;
  padding: 20px 18px 24px;
  border-radius: 26px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(16,24,40,.06);
  box-shadow: 0 16px 36px rgba(17,24,39,.04);
}

.subshell-header {
  padding: 0 2px 16px;
}

.subshell-header h1 {
  margin: 0;
  font-size: 1.52rem;
  font-weight: 800;
  letter-spacing: -.025em;
}

.subshell-header p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: .88rem;
}

.subshell-tabs {
  display: flex;
  gap: 28px;
  padding: 0 2px;
  border-bottom: 1px solid rgba(16,24,40,.08);
}

.subshell-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  background: transparent;
  border: 0;
  color: #666d7c;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}

.subshell-tab:hover,
.subshell-tab:focus-visible {
  color: var(--green);
}

.subshell-tab.is-active {
  color: var(--green);
}

.subshell-tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), #55d39f);
}

.subshell-empty {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 40px 20px 36px;
  text-align: center;
}

.subshell-empty svg {
  width: min(340px, 72vw);
  height: auto;
}

.subshell-empty h2 {
  margin: 8px 0 0;
  font-size: 1.28rem;
  letter-spacing: 0;
}

.subshell-empty p {
  margin: 0;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.65;
}

.market-empty-state {
  margin-top: 18px;
}

.review-item {
  align-items: flex-start;
}

.review-item p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.notification-item {
  align-items: flex-start;
}

.notification-item.is-unread {
  border-color: rgba(15,143,90,.18);
  background: linear-gradient(180deg, rgba(15,143,90,.06), rgba(255,255,255,.82));
}

.notification-item p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.violet-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  font-size: .92rem;
  font-weight: 800;
  box-shadow: 0 14px 26px rgba(15, 143, 90, 0.18);
}

.primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  font-size: .92rem;
  font-weight: 800;
  box-shadow: 0 14px 24px rgba(15, 143, 90, 0.16);
}

.subshell-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
  gap: 12px;
}

.wallet-hero {
  position: relative;
  overflow: hidden;
  min-height: 168px;
  padding: 16px;
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.06), transparent 36%),
    linear-gradient(135deg, #0f8f5a, #198761 42%, #5a6dff 100%);
  color: white;
}

.wallet-hero::before,
.wallet-hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
}

.wallet-hero::before {
  width: 280px;
  height: 280px;
  left: -70px;
  bottom: -120px;
}

.wallet-hero::after {
  width: 240px;
  height: 240px;
  right: -70px;
  top: -80px;
}

.wallet-hero-head,
.metric-stack,
.wallet-toolbar,
.wallet-toolbar-group,
.seller-shell,
.choice-copy,
.support-shell {
  display: flex;
}

.wallet-hero-head {
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.hero-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(255,255,255,.15);
}

.hero-icon svg,
.metric-icon svg,
.ticket-spot svg,
.choice-copy svg,
.empty-icon svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wallet-hero-head span,
.wallet-hero p {
  color: rgba(255,255,255,.8);
}

.wallet-hero-head strong {
  display: block;
  margin-top: 4px;
  font-size: .88rem;
}

.wallet-hero h2 {
  margin: 0 0 10px;
  font-size: 1.84rem;
  letter-spacing: -.08em;
  line-height: .96;
}

.wallet-hero p {
  margin: 0;
  max-width: 40ch;
  font-size: .8rem;
  line-height: 1.42;
}

.wallet-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.metric-stack {
  flex-direction: column;
  gap: 10px;
}

.metric-card {
  min-height: 78px;
  padding: 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff, #eef4fb);
  border: 1px solid rgba(16,24,40,.06);
}

.metric-card.soft {
  background: linear-gradient(180deg, #fbf7ff, #f4eefb);
}

.metric-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: white;
  color: var(--green);
  box-shadow: 0 10px 18px rgba(16,24,40,.05);
}

.metric-card h3 {
  margin: 10px 0 4px;
  font-size: .82rem;
  letter-spacing: 0;
}

.metric-card strong {
  font-size: 1.18rem;
  letter-spacing: -.08em;
}

.subshell-panel {
  margin-top: 12px;
  padding: 14px;
  border-radius: 18px;
  background: white;
  border: 1px solid rgba(16,24,40,.08);
}

.orders-table-panel {
  margin-top: 18px;
}

.wallet-toolbar {
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.wallet-toolbar-group {
  align-items: center;
  gap: 12px;
}

.wallet-toolbar h2,
.subshell-panel h2 {
  margin: 0;
  font-size: .96rem;
  letter-spacing: 0;
}

.dark-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #1b2330;
  color: white;
  font-size: .76rem;
  font-weight: 800;
}

.soft-search {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 260px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 14px;
  background: white;
  border: 1px solid rgba(16,24,40,.1);
  color: var(--muted);
}

.soft-search input {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  color: inherit;
  font-size: .84rem;
}

.ledger {
  border: 1px solid rgba(16,24,40,.08);
  border-radius: 18px;
  overflow: hidden;
}

.ledger-row {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 11px 13px;
  border-bottom: 1px solid rgba(16,24,40,.08);
}

.ledger-row:last-child {
  border-bottom: 0;
}

.ledger-row.header {
  color: #4f5563;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.ledger-row > * {
  flex: 1;
  min-width: 0;
}

.subshell-modal-scrim {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  place-items: center;
  padding: 16px;
  background: rgba(17,24,39,.34);
  backdrop-filter: blur(5px);
}

.subshell-modal-scrim.is-visible {
  display: grid;
}

.subshell-modal {
  width: min(680px, 100%);
  padding: 18px;
  border-radius: 20px;
  background: white;
  box-shadow: 0 24px 70px rgba(16,24,40,.16);
  max-height: calc(100vh - 32px);
  overflow: auto;
}

.subshell-modal-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.subshell-modal-head h2 {
  margin: 0;
  font-size: 1.2rem;
  letter-spacing: -.06em;
}

.subshell-modal-head p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .88rem;
}

.modal-close-light {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: transparent;
  color: #697183;
  border: 0;
  font-size: 1.8rem;
}

.subshell-payment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.subshell-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  padding: 0 14px;
  border-radius: 14px;
  background: white;
  border: 1px solid #dddfea;
  font-size: .88rem;
  font-weight: 800;
}

.subshell-choice.is-active {
  border-color: rgba(15,143,90,.42);
  box-shadow: 0 0 0 2px rgba(15,143,90,.08);
}

.money-field-wrap,
.currency-wrap {
  margin-top: 14px;
}

.money-field-wrap label,
.currency-wrap h3 {
  display: block;
  margin-bottom: 10px;
  font-size: .84rem;
  font-weight: 800;
}

.money-field {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid #d9deea;
}

.money-field input {
  width: 100%;
  border: 0;
  background: transparent;
  outline: none;
  font-size: .9rem;
}

.money-field span {
  color: var(--muted);
  font-size: 1.2rem;
}

.quick-money {
  display: flex;
  justify-content: end;
  gap: 10px;
  margin-top: 12px;
}

.money-chip {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 14px;
  background: white;
  border: 1px solid #dde1ea;
  font-size: .84rem;
  font-weight: 800;
}

.bonus-note {
  display: flex;
  gap: 14px;
  padding: 14px;
  margin-top: 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,188,55,.12), rgba(15,143,90,.1));
  border: 1px solid rgba(140,67,255,.14);
}

.bonus-note strong {
  display: block;
  margin-bottom: 4px;
  font-size: .9rem;
}

.bonus-note span:last-child {
  font-size: .84rem;
}

.bonus-dot {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff910b, #ffbd33);
  color: white;
  font-weight: 800;
}

.currency-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.currency-card {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 148px;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 14px;
  background: white;
  border: 1px solid #dde1ea;
  font-size: .84rem;
  font-weight: 800;
}

.currency-card.is-active {
  color: var(--green);
  border-color: rgba(15,143,90,.42);
  background: rgba(15,143,90,.06);
}

.flag {
  width: 36px;
  height: 24px;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.08);
}

.flag.ng { background: linear-gradient(90deg, #0a9b3d 0 33%, #fff 33% 66%, #0a9b3d 66%); }
.flag.gh { background: linear-gradient(180deg, #d7232f 0 33%, #f5d000 33% 66%, #0d7c42 66%); }
.flag.ke { background: linear-gradient(180deg, #1b1b1b 0 24%, #fff 24% 30%, #be2236 30% 70%, #fff 70% 76%, #14703f 76%); }
.flag.cm { background: linear-gradient(90deg, #0f8f3d 0 33%, #d62a3d 33% 66%, #f4c413 66%); }
.flag.sn { background: linear-gradient(90deg, #0f8f3d 0 33%, #f8d334 33% 66%, #d62a3d 66%); }

.subshell-modal-actions {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
}

.note-box {
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  background: #f7f8fb;
  color: var(--muted);
  font-size: .84rem;
}

.note-box-spaced {
  margin-bottom: 14px;
}

.seller-flow {
  display: grid;
  grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
  gap: 16px;
}

.seller-rail {
  padding: 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(15,143,90,.05), rgba(15,143,90,.03));
  border: 1px solid rgba(16,24,40,.06);
}

.seller-role-bridge {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(16,24,40,.06);
}

.seller-role-bridge h2 {
  margin: 0;
  font-size: 1.08rem;
}

.seller-role-bridge p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.6;
}

.seller-role-grid {
  display: grid;
  gap: 10px;
}

.seller-role-card {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(248,250,255,.84);
  border: 1px solid rgba(16,24,40,.06);
}

.seller-role-card strong {
  font-size: .88rem;
}

.seller-role-card span {
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.55;
}

.seller-step-list {
  display: grid;
  gap: 14px;
}

.seller-step {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: center;
}

.seller-step-badge {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: white;
  border: 2px solid #e2e6ef;
  color: #8b93a5;
}

.seller-step.is-active .seller-step-badge {
  border-color: var(--green);
  color: var(--green);
}

.seller-step small,
.seller-step strong {
  display: block;
}

.seller-step small {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: .76rem;
}

.seller-step strong {
  font-size: .9rem;
}

.seller-step.is-active strong {
  color: var(--green);
}

.seller-card {
  padding: 16px;
  border-radius: 18px;
  background: white;
  border: 1px solid rgba(16,24,40,.08);
}

.seller-card h2 {
  margin: 0 0 16px;
  font-size: 1.1rem;
  letter-spacing: 0;
}

.seller-upgrade-intro {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.seller-upgrade-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.seller-upgrade-points span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(15,143,90,.08);
  color: var(--green);
  font-size: .78rem;
  font-weight: 700;
}

.seller-choice-list {
  display: grid;
  gap: 10px;
}

.seller-choice-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border-radius: 14px;
  background: #fafbfc;
  border: 1px solid #eef1f5;
  transition: transform 160ms ease-out, border-color 160ms ease-out, box-shadow 160ms ease-out;
}

.seller-choice-item:hover,
.seller-choice-item:focus-within {
  transform: translateY(-1px);
  border-color: rgba(15,143,90,.18);
  box-shadow: 0 14px 26px rgba(17,24,39,.04);
}

.choice-copy {
  align-items: center;
  gap: 12px;
}

.choice-copy h3 {
  margin: 0 0 4px;
  font-size: .88rem;
}

.choice-copy p {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
}

.choice-ring {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 2px solid #d4d9e3;
}

.seller-choice-item.is-active .choice-ring {
  border-color: var(--green);
}

.seller-upgrade-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  margin-bottom: 16px;
}

.seller-upgrade-summary div {
  display: grid;
  gap: 6px;
  padding: 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,250,255,.92));
  border: 1px solid rgba(16,24,40,.06);
}

.seller-upgrade-summary span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.seller-upgrade-summary strong {
  font-size: .94rem;
  letter-spacing: -.02em;
}

.seller-footer {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.seller-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.seller-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.seller-summary-card {
  padding: 14px;
  border-radius: 18px;
  background: white;
  border: 1px solid rgba(16,24,40,.08);
}

.seller-summary-card.accent {
  background: linear-gradient(135deg, #0f8f5a, #127450 45%, #4266ff 100%);
  color: white;
}

.seller-summary-label {
  display: block;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.seller-summary-card.accent .seller-summary-label,
.seller-summary-card.accent p {
  color: rgba(255,255,255,.82);
}

.seller-summary-card strong {
  display: block;
  margin-top: 8px;
  font-size: 1.36rem;
  letter-spacing: -.05em;
}

.seller-summary-card p {
  margin: 8px 0 0;
  font-size: .8rem;
  line-height: 1.5;
  color: var(--muted);
}

.seller-panel-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.seller-panel-toolbar h2 {
  margin: 0 0 4px;
}

.seller-panel-toolbar p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}

.seller-listings-table {
  display: grid;
  gap: 8px;
}

.seller-listings-head,
.seller-listing-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.6fr) .85fr .85fr .65fr .5fr .7fr .8fr;
  gap: 12px;
  align-items: center;
}

.seller-listings-head {
  padding: 0 8px 8px;
  color: var(--muted);
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.seller-listing-row {
  padding: 12px 10px;
  border-radius: 16px;
  background: rgba(16,24,40,.02);
  border: 1px solid rgba(16,24,40,.08);
}

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

.seller-listing-product strong {
  display: block;
  margin-bottom: 3px;
  font-size: .88rem;
}

.seller-listing-product span:last-child {
  color: var(--muted);
  font-size: .78rem;
}

.seller-inline-note {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}

.seller-launchpad {
  margin-bottom: 18px;
}

.seller-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.seller-field-span {
  grid-column: 1 / -1;
}

.seller-select-wrap {
  position: relative;
}

.seller-select {
  width: 100%;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid #d9deea;
  background: white;
  color: inherit;
  font: inherit;
  outline: none;
  appearance: none;
}

.cart-shell {
  max-width: none;
}

.cart-populated {
  align-items: start;
}

.cart-populated .table-shell,
.cart-populated .detail-panel,
.cart-populated .checkout-summary-card {
  border-radius: 18px;
}

.cart-populated .detail-panel p {
  max-width: 54ch;
  font-size: .84rem;
}

.cart-populated .checkout-item {
  padding-top: 4px;
}

.cart-populated .checkout-summary-card {
  gap: 14px;
}

.cart-empty {
  display: grid;
  justify-items: center;
  gap: 18px;
  max-width: 560px;
  min-height: 260px;
  margin: 0 auto;
  padding: 24px 18px;
  border: 1px dashed rgba(16,24,40,.12);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(248,250,255,.88));
  text-align: center;
}

.empty-icon {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(15,143,90,.14), rgba(15,143,90,.05));
  color: var(--green);
}

.cart-empty h2 {
  margin: 0;
  font-size: 1.26rem;
  letter-spacing: 0;
}

.cart-empty p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.58;
}

.support-frame {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 16px;
  margin-top: 14px;
}

.support-side {
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  background: #171d28;
  color: white;
  overflow: hidden;
}

.support-side-top {
  padding: 18px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.support-side-top h2 {
  margin: 0 0 6px;
  font-size: 1.12rem;
  letter-spacing: -.06em;
}

.support-side-top p {
  margin: 0 0 18px;
  color: rgba(255,255,255,.62);
  font-size: .84rem;
}

.support-empty {
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 34px 18px;
  text-align: center;
  color: rgba(255,255,255,.72);
}

.support-ticket-list {
  padding: 18px;
}

.support-empty-spot {
  width: 88px;
  height: 88px;
  margin-bottom: 0;
  background: rgba(255,255,255,.06);
  color: #6f7a8d;
}

.support-empty-title {
  font-size: 1.02rem;
}

.currency-wrap-compact {
  margin-top: 0;
}

.money-field-textarea {
  align-items: start;
  height: auto;
  padding: 14px;
}

.money-textarea {
  width: 100%;
  min-height: 120px;
  border: 0;
  outline: none;
  background: transparent;
  color: inherit;
  resize: vertical;
  font: inherit;
}

.support-main {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 320px;
  padding: 18px;
  border-radius: 20px;
  background: #101621;
  color: white;
  border: 1px solid rgba(255,255,255,.06);
  text-align: center;
}

.support-main.has-thread {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  text-align: left;
}

.support-thread-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 1080px) {
  .journey-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ticket-spot {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: rgba(255, 92, 58, 0.12);
  color: #ff6b49;
  margin-bottom: 18px;
}

.support-main h2 {
  margin: 0 0 12px;
  font-size: 1.18rem;
  letter-spacing: 0;
}

.support-main p {
  margin: 0 0 24px;
  max-width: 460px;
  color: rgba(255,255,255,.72);
  font-size: .86rem;
  line-height: 1.65;
}

.detail-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: #8891a3;
  font-size: .78rem;
}

.detail-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.detail-breadcrumb strong,
.detail-breadcrumb a:hover {
  color: var(--text);
}

.detail-layout,
.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .72fr);
  gap: 12px;
}

.detail-main-column,
.checkout-main,
.checkout-side,
.detail-side-column {
  display: grid;
  gap: 12px;
}

.checkout-flow {
  display: grid;
  gap: 12px;
}

.detail-media {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
}

.detail-stage {
  display: grid;
  gap: 16px;
  place-items: center;
  min-height: 240px;
  padding: 18px;
  border-radius: 16px;
  background:
    radial-gradient(circle at top, rgba(15,143,90,.18), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

.detail-logo {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 24px;
  background: #0f1117;
  box-shadow: 0 18px 32px rgba(0,0,0,.22);
}

.detail-logo img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.detail-logo.small {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  box-shadow: none;
}

.detail-logo.small img {
  width: 20px;
  height: 20px;
}

.detail-logo-tiktok { background: linear-gradient(135deg, #020202, #111116); }

.detail-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.detail-thumbs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.detail-thumb {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.06);
  color: #dfe5ef;
  font-size: .8rem;
  font-weight: 700;
}

.detail-thumb-card {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  color: #7ce4af;
}

.detail-thumb.is-active {
  border-color: rgba(124,228,175,.36);
  background: rgba(15,143,90,.08);
}

.detail-copy-panel {
  display: grid;
  gap: 14px;
}

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

.product-highlight {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.06);
}

.product-highlight strong {
  font-size: .94rem;
}

.product-highlight span {
  color: #95a0b3;
  font-size: .84rem;
  line-height: 1.55;
}

.detail-copy-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(15,143,90,.1);
  color: #7ce4af;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.detail-copy-head h1 {
  margin: 10px 0 0;
  font-size: 1.28rem;
  letter-spacing: -.01em;
  line-height: 1.1;
}

.price-stack {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.price-stack strong {
  font-size: 1.28rem;
  letter-spacing: -.02em;
}

.price-stack span {
  color: #91a0b6;
  font-size: .82rem;
}

.detail-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.detail-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 18px;
  color: #c5cddb;
  font-size: .84rem;
  line-height: 1.55;
}

.detail-list.compact {
  gap: 8px;
  font-size: .86rem;
}

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

.trust-item {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
}

.trust-item strong {
  font-size: 1.08rem;
}

.trust-item span {
  color: #95a0b3;
  font-size: .82rem;
}

.seller-mini-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.seller-mini-metrics div {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.06);
}

.seller-mini-metrics strong {
  font-size: 1rem;
}

.seller-mini-metrics span {
  color: #95a0b3;
  font-size: .79rem;
}

.listing-side {
  display: grid;
  justify-items: end;
  gap: 10px;
}

.detail-purchase-card {
  display: grid;
  gap: 16px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
}

.detail-purchase-card h2 {
  margin: 0;
  font-size: 1.02rem;
}

.purchase-rows,
.summary-stack {
  display: grid;
  gap: 10px;
}

.purchase-row,
.summary-stack div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.purchase-row:last-child,
.summary-stack div:last-child {
  border-bottom: 0;
}

.purchase-row span,
.summary-stack span {
  color: #95a0b3;
  font-size: .8rem;
}

.purchase-row strong,
.summary-stack strong {
  font-size: .84rem;
}

.summary-total strong {
  font-size: 1rem;
}

.qty-stepper {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}

.qty-stepper button {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: var(--text);
  border: 0;
  font-weight: 800;
}

.detail-cta-row,
.detail-cta-column {
  display: flex;
  gap: 10px;
}

.detail-cta-column {
  flex-direction: column;
}

.plain-link {
  color: #7ce4af;
  font-size: .8rem;
  font-weight: 700;
}

.seller-mini-card {
  gap: 16px;
}

.seller-profile-mini {
  display: flex;
  align-items: center;
  gap: 12px;
}

.seller-profile-mini strong,
.checkout-item-copy strong {
  display: block;
  margin-bottom: 4px;
}

.seller-profile-mini span,
.checkout-item-copy span {
  color: #95a0b3;
  font-size: .84rem;
}

.seller-avatar {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(15,143,90,.18), rgba(90,109,255,.18));
  color: #dff7ea;
  font-weight: 800;
}

.checkout-item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 8px 0 0;
}

.checkout-item-copy {
  min-width: 0;
}

.checkout-item-copy strong {
  overflow-wrap: anywhere;
}

.checkout-item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.checkout-item-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  color: #aab5c8;
  font-size: .74rem;
  line-height: 1;
}

.checkout-item-meta {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.checkout-item-meta span {
  color: #95a0b3;
  font-size: .82rem;
}

.checkout-item-meta strong {
  font-size: .9rem;
}

.checkout-method-list {
  display: grid;
  gap: 12px;
}

.checkout-method {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  color: var(--text);
  text-align: left;
}

.checkout-method strong {
  display: block;
  margin-bottom: 4px;
  font-size: .88rem;
}

.checkout-method span,
.checkout-method em {
  color: #95a0b3;
  font-size: .78rem;
  font-style: normal;
}

.checkout-method.is-active {
  border-color: rgba(124,228,175,.36);
  background: rgba(15,143,90,.08);
}

.promo-row {
  display: flex;
  gap: 12px;
}

.promo-input {
  flex: 1;
  min-width: 0;
}

.promo-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 20px;
  border-radius: 13px;
  border: 0;
  background: var(--green);
  color: #fff;
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  transition: opacity 150ms;
}
.promo-apply-btn:hover { opacity: 0.88; }
body[data-theme="dark"] .promo-apply-btn { background: var(--green); }

.checkout-summary-card {
  position: sticky;
  top: 110px;
}

.checkout-note {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15,143,90,.08);
  border: 1px solid rgba(124,228,175,.16);
}

.checkout-note strong {
  font-size: .84rem;
}

.checkout-note span {
  color: #b9c5d7;
  font-size: .78rem;
  line-height: 1.5;
}

.checkout-wallet-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1.5px solid rgba(15,143,90,.35);
  color: var(--green);
  font-size: .86rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .16s, border-color .16s;
}

.checkout-wallet-link:hover {
  background: rgba(15,143,90,.07);
  border-color: rgba(15,143,90,.55);
}

.full-width {
  width: 100%;
  justify-content: center;
}

@media (max-width: 980px) {
  .detail-layout,
  .checkout-layout,
  .detail-info-grid {
    grid-template-columns: 1fr;
  }

  .checkout-summary-card {
    position: static;
  }

  .detail-stage {
    min-height: 260px;
    padding: 22px;
  }

  .detail-copy-head {
    flex-direction: column;
    align-items: start;
  }

  .price-stack {
    justify-items: start;
  }
}

@media (max-width: 720px) {
  .detail-breadcrumb {
    flex-wrap: wrap;
  }

  .detail-thumbs,
  .trust-grid {
    grid-template-columns: 1fr;
  }

  .checkout-item {
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas:
      "thumb copy"
      "meta meta";
    align-items: start;
    gap: 12px;
    padding: 12px 0 0;
  }

  .checkout-item > .thumb {
    grid-area: thumb;
  }

  .checkout-item-copy {
    grid-area: copy;
    display: grid;
    gap: 8px;
  }

  .checkout-item-copy strong {
    font-size: 1rem;
    line-height: 1.2;
  }

  .checkout-item-copy span {
    line-height: 1.45;
  }

  .checkout-item-copy small {
    display: block;
    max-width: none;
    line-height: 1.5;
  }

  .checkout-item-tags {
    gap: 6px;
  }

  .checkout-item-tags span {
    font-size: .7rem;
  }

  .checkout-item-meta {
    grid-area: meta;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-left: 56px;
    padding-top: 2px;
  }

  .promo-row,
  .detail-cta-row {
    flex-direction: column;
  }

  .detail-cta-row > *,
  .promo-row > * {
    width: 100%;
  }

  .cart-populated,
  .checkout-layout {
    gap: 12px;
  }

  .cart-populated .checkout-side,
  .checkout-side {
    padding-bottom: 10px;
  }
}

@media (max-width: 420px) {
  .checkout-item {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
  }

  .checkout-item-meta {
    padding-left: 50px;
  }
}

body[data-theme="dark"] {
  --bg: #0f0f18;
  --shell: rgba(18, 18, 28, 0.55);
  --card: rgba(18, 18, 28, 0.55);
  --line: rgba(255,255,255,.06);
  --text: #e8e8ee;
  --muted: #8888a0;
  background-color: #0f0f18;
  color: #e8e8ee;
}

body[data-theme="dark"]::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -999;
  background:
    radial-gradient(ellipse at 15% 45%, rgba(80,50,90,0.6) 0%, transparent 50%),
    radial-gradient(ellipse at 85% 15%, rgba(30,60,80,0.5) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 85%, rgba(60,30,50,0.4) 0%, transparent 45%),
    radial-gradient(ellipse at 70% 50%, rgba(40,40,70,0.3) 0%, transparent 40%),
    linear-gradient(160deg, #0f0f18 0%, #141420 20%, #10101c 40%, #0d1117 60%, #121218 80%, #0e0e16 100%);
  pointer-events: none;
}

body[data-theme="dark"] .market-topbar,
body[data-theme="dark"] .market-shell,
body[data-theme="dark"] .products-shell,
body[data-theme="dark"] .filter-bar,
body[data-theme="dark"] .icon-btn,
body[data-theme="dark"] .wallet-chip,
body[data-theme="dark"] .chip,
body[data-theme="dark"] .select-pill,
body[data-theme="dark"] .mini-pill,
body[data-theme="dark"] .reset-btn,
body[data-theme="dark"] .search-field,
body[data-theme="dark"] .profile-menu,
body[data-theme="dark"] .filter-modal,
body[data-theme="dark"] .toggle-option,
body[data-theme="dark"] .range-row input,
body[data-theme="dark"] .plain-btn,
body[data-theme="dark"] .profile-btn {
  color: var(--text);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .market-topbar,
body[data-theme="dark"] .market-shell,
body[data-theme="dark"] .products-shell {
  background: rgba(18, 18, 28, 0.55);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
}

body[data-theme="dark"] .results-pill {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.06);
  color: #c4ccd9;
}

body[data-theme="dark"] .filter-modal {
  background:
    linear-gradient(180deg, rgba(19, 24, 34, 0.98), rgba(13, 18, 27, 0.98));
  border-color: rgba(255,255,255,.06);
  box-shadow: 0 36px 90px rgba(0, 0, 0, 0.42);
}

body[data-theme="dark"] .overlay {
  background: rgba(4, 7, 12, 0.68);
  backdrop-filter: blur(16px);
}

body[data-theme="dark"] .icon-btn,
body[data-theme="dark"] .wallet-chip,
body[data-theme="dark"] .chip,
body[data-theme="dark"] .select-pill,
body[data-theme="dark"] .mini-pill,
body[data-theme="dark"] .reset-btn,
body[data-theme="dark"] .search-field,
body[data-theme="dark"] .filter-bar,
body[data-theme="dark"] .toggle-option,
body[data-theme="dark"] .range-row input,
body[data-theme="dark"] .plain-btn,
body[data-theme="dark"] .profile-btn {
  background: rgba(255,255,255,.035);
}

body[data-theme="dark"] .filter-bar {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.07);
}

body[data-theme="dark"] .search-field {
  background: rgba(9, 13, 20, 0.82);
  color: #d8dfeb;
}

body[data-theme="dark"] .search-field:focus-within,
body[data-theme="dark"] .table-search:focus-within {
  border-color: rgba(15,143,90,.34);
  box-shadow: 0 0 0 4px rgba(15,143,90,.12);
}

body[data-theme="dark"] .search-field input::placeholder {
  color: #8e98aa;
}

body[data-theme="dark"] .chip:hover,
body[data-theme="dark"] .nav-link:hover,
body[data-theme="dark"] .select-pill:hover,
body[data-theme="dark"] .mini-pill:hover,
body[data-theme="dark"] .reset-btn:hover,
body[data-theme="dark"] .nav-link:focus-visible,
body[data-theme="dark"] .chip:focus-visible,
body[data-theme="dark"] .select-pill:focus-visible,
body[data-theme="dark"] .mini-pill:focus-visible,
body[data-theme="dark"] .reset-btn:focus-visible {
  color: #7ce4af;
}

body[data-theme="dark"] .product-card {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .market-balance-pill {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .market-balance-pill strong {
  color: #f5f7fb;
}

body[data-theme="dark"] .stat-card,
body[data-theme="dark"] .content-panel,
body[data-theme="dark"] .detail-panel,
body[data-theme="dark"] .table-shell,
body[data-theme="dark"] .seller-grid > *,
body[data-theme="dark"] .ticket-panel,
body[data-theme="dark"] .ticket-sidebar,
body[data-theme="dark"] .ticket-main {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .mini-card,
body[data-theme="dark"] .listing-item,
body[data-theme="dark"] .ticket-item,
body[data-theme="dark"] .message-card,
body[data-theme="dark"] .empty-state,
body[data-theme="dark"] .table-search {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .data-table th,
body[data-theme="dark"] .data-table td {
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .empty-state {
  border-style: dashed;
}

body[data-theme="dark"] .hero-copy p,
body[data-theme="dark"] .mini-card span,
body[data-theme="dark"] .listing-copy span,
body[data-theme="dark"] .ticket-copy span,
body[data-theme="dark"] .data-table th,
body[data-theme="dark"] .table-search,
body[data-theme="dark"] .section-head span {
  color: #98a3b7;
}

body[data-theme="dark"] .view-btn {
  color: #eef3fb;
  border-color: rgba(255,255,255,.12);
}

body[data-theme="dark"] .profile-head,
body[data-theme="dark"] .profile-menu button {
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .profile-menu {
  background: #0f1118 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-color: rgba(255,255,255,.08) !important;
}

body[data-theme="dark"] .profile-menu button,
body[data-theme="dark"] .profile-menu a {
  color: #edf2fa;
}

body[data-theme="dark"] .profile-menu button:hover,
body[data-theme="dark"] .profile-menu a:hover {
  color: #7ce4af;
  background: rgba(15,143,90,.08);
}

body[data-theme="dark"] .modal-head h3,
body[data-theme="dark"] .modal-block h4,
body[data-theme="dark"] .toggle-option,
body[data-theme="dark"] .close-btn {
  color: #eef3fb;
}

body[data-theme="dark"] .menu-group + .menu-group {
  border-top-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .filter-btn,
body[data-theme="dark"] .wallet-chip,
body[data-theme="dark"] .badge-dot,
body[data-theme="dark"] .floating-theme,
body[data-theme="dark"] .dock-link.is-active {
  box-shadow: 0 0 0 1px rgba(15, 143, 90, 0.12);
}

body[data-theme="dark"] .chip.is-active {
  color: #7ce4af;
  background: rgba(15, 143, 90, 0.14);
  border-color: rgba(15, 143, 90, 0.35);
  font-weight: 500;
  box-shadow: 0 0 0 1px rgba(15, 143, 90, 0.22);
}

body[data-theme="dark"] .mobile-dock {
  background: rgba(18, 18, 28, 0.6); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .dock-link {
  color: #9099ab;
}

body[data-theme="dark"] .dock-link:hover,
body[data-theme="dark"] .dock-link:focus-visible,
body[data-theme="dark"] .dock-link.is-active {
  color: #7ce4af;
}

body[data-theme="dark"] .modal-block {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.075);
}

body[data-theme="dark"] .subshell {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255,255,255,.06);
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.22);
}

body[data-theme="dark"] .subshell-tabs,
body[data-theme="dark"] .ledger,
body[data-theme="dark"] .ledger-row,
body[data-theme="dark"] .seller-card,
body[data-theme="dark"] .seller-rail,
body[data-theme="dark"] .subshell-panel,
body[data-theme="dark"] .metric-card,
body[data-theme="dark"] .cart-empty,
body[data-theme="dark"] .support-side,
body[data-theme="dark"] .support-main,
body[data-theme="dark"] .subshell-modal,
body[data-theme="dark"] .seller-choice-item,
body[data-theme="dark"] .currency-card,
body[data-theme="dark"] .money-field,
body[data-theme="dark"] .money-chip,
body[data-theme="dark"] .soft-search,
body[data-theme="dark"] .note-box,
body[data-theme="dark"] .bonus-note,
body[data-theme="dark"] .subshell-choice,
body[data-theme="dark"] .seller-step-badge,
body[data-theme="dark"] .metric-icon {
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .subshell-header p,
body[data-theme="dark"] .subshell-empty p,
body[data-theme="dark"] .choice-copy p,
body[data-theme="dark"] .seller-step small,
body[data-theme="dark"] .note-box,
body[data-theme="dark"] .subshell-modal-head p,
body[data-theme="dark"] .bonus-note span:last-child,
body[data-theme="dark"] .ledger-row.header,
body[data-theme="dark"] .soft-search,
body[data-theme="dark"] .soft-search input::placeholder {
  color: #98a3b7;
}

body[data-theme="dark"] .subshell-tab {
  color: #7f8797;
}

body[data-theme="dark"] .subshell-tab:hover,
body[data-theme="dark"] .subshell-tab:focus-visible,
body[data-theme="dark"] .subshell-tab.is-active {
  color: #7ce4af;
}

body[data-theme="dark"] .wallet-hero {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

body[data-theme="dark"] .metric-card {
  background: linear-gradient(180deg, rgba(22, 28, 39, 0.94), rgba(16, 20, 30, 0.94));
}

body[data-theme="dark"] .metric-card.soft {
  background: linear-gradient(180deg, rgba(24, 22, 34, 0.94), rgba(18, 17, 28, 0.94));
}

body[data-theme="dark"] .metric-icon,
body[data-theme="dark"] .seller-step-badge {
  background: rgba(255,255,255,.035);
  color: #7ce4af;
  box-shadow: none;
}

body[data-theme="dark"] .metric-card h3,
body[data-theme="dark"] .subshell-panel h2,
body[data-theme="dark"] .wallet-toolbar h2,
body[data-theme="dark"] .seller-card h2,
body[data-theme="dark"] .choice-copy h3,
body[data-theme="dark"] .currency-wrap h3,
body[data-theme="dark"] .money-field-wrap label {
  color: #f5f7fb;
}

body[data-theme="dark"] .subshell-panel,
body[data-theme="dark"] .seller-card,
body[data-theme="dark"] .subshell-modal {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
}

body[data-theme="dark"] .seller-summary-card,
body[data-theme="dark"] .seller-listing-row {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .seller-summary-card.accent {
  background: linear-gradient(135deg, #0f8f5a, #127450 45%, #3855d7 100%);
}

body[data-theme="dark"] .seller-summary-label,
body[data-theme="dark"] .seller-panel-toolbar p,
body[data-theme="dark"] .seller-listing-product span:last-child,
body[data-theme="dark"] .seller-inline-note,
body[data-theme="dark"] .seller-listings-head {
  color: #98a3b7;
}

body[data-theme="dark"] .soft-search,
body[data-theme="dark"] .money-field,
body[data-theme="dark"] .currency-card,
body[data-theme="dark"] .subshell-choice,
body[data-theme="dark"] .seller-choice-item,
body[data-theme="dark"] .seller-select {
  background: rgba(255,255,255,.03);
}

body[data-theme="dark"] .money-chip {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.15);
  color: #eef3fb;
}

body[data-theme="dark"] .money-chip:hover {
  background: rgba(255,255,255,.14);
}

body[data-theme="dark"] .soft-search input,
body[data-theme="dark"] .money-field input,
body[data-theme="dark"] .seller-select,
body[data-theme="dark"] .money-textarea {
  color: #eef3fb;
}

body[data-theme="dark"] .ledger {
  background: rgba(255,255,255,.015);
}

body[data-theme="dark"] .subshell-empty {
  background: transparent;
}

body[data-theme="dark"] .subshell-empty h2,
body[data-theme="dark"] .cart-empty h2,
body[data-theme="dark"] .support-main h2 {
  color: #f5f7fb;
}

body[data-theme="dark"] .cart-empty {
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.018));
  border-color: rgba(255,255,255,.1);
}

body[data-theme="dark"] .empty-icon {
  background: linear-gradient(180deg, rgba(15,143,90,.16), rgba(90,109,255,.14));
  color: #8cf0bc;
}

body[data-theme="dark"] .seller-rail {
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.015));
}

body[data-theme="dark"] .seller-choice-item:hover,
body[data-theme="dark"] .seller-choice-item:focus-within,
body[data-theme="dark"] .currency-card:hover,
body[data-theme="dark"] .money-chip:hover,
body[data-theme="dark"] .subshell-choice:hover,
body[data-theme="dark"] .toggle-option:hover,
body[data-theme="dark"] .toggle-option:focus-visible {
  border-color: rgba(15,143,90,.28);
  background: rgba(15,143,90,.08);
  color: #7ce4af;
}

body[data-theme="dark"] .subshell-choice.is-active,
body[data-theme="dark"] .currency-card.is-active {
  border-color: rgba(124,228,175,.5);
  color: #7ce4af;
  background: rgba(15,143,90,.12);
  box-shadow: none;
}

body[data-theme="dark"] .toggle-option.is-selected {
  color: #7ce4af;
  border-color: rgba(124,228,175,.34);
  background: rgba(15,143,90,.12);
}

body[data-theme="dark"] .bonus-note {
  background: linear-gradient(135deg, rgba(15,143,90,.14), rgba(90,109,255,.14));
}

body[data-theme="dark"] .note-box {
  background: rgba(255,255,255,.03);
}

body[data-theme="dark"] .dark-pill {
  background: rgba(255,255,255,.06);
  color: #eef3fb;
}

body[data-theme="dark"] .primary-cta {
  box-shadow: 0 18px 30px rgba(15, 143, 90, 0.2);
}

body[data-theme="dark"] .subshell-modal-scrim {
  background: rgba(4, 7, 12, 0.72);
  backdrop-filter: blur(16px);
}

body[data-theme="dark"] .modal-close-light {
  background: rgba(255,255,255,.04);
  color: #cfd7e5;
}

body[data-theme="dark"] .modal-head h3,
body[data-theme="dark"] .modal-block h4,
body[data-theme="dark"] .range-row input {
  color: #f5f7fb;
}

body[data-theme="dark"] .modal-head p {
  color: #98a3b7;
}

body[data-theme="dark"] .close-btn {
  background: rgba(255,255,255,.04);
  color: #cfd7e5;
}

body[data-theme="dark"] .plain-btn {
  background: rgba(255,255,255,.06);
  color: #d6ddea;
}

body[data-theme="dark"] .apply-btn {
  box-shadow: 0 18px 32px rgba(15, 143, 90, 0.22);
}

body[data-theme="dark"] .range-row input {
  background: rgba(255,255,255,.04);
}

body[data-theme="dark"] .toggle-option:hover,
body[data-theme="dark"] .toggle-option:focus-visible {
  color: #7ce4af;
  border-color: rgba(15,143,90,.28);
  background: rgba(15,143,90,.1);
}

body[data-theme="dark"] select option {
  background-color: #161b22;
  color: #eef3fb;
}

body[data-theme="dark"] input:-webkit-autofill,
body[data-theme="dark"] input:-webkit-autofill:hover, 
body[data-theme="dark"] input:-webkit-autofill:focus, 
body[data-theme="dark"] input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #161b22 inset !important;
  transition: background-color 5000s ease-in-out 0s;
  -webkit-text-fill-color: #eef3fb !important;
}

@keyframes modal-in {
  from { opacity: 0; transform: scale(.96) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

@media (max-width: 980px) {
  .auth-stage {
    grid-template-columns: 1fr;
  }

  .market-topbar {
    grid-template-columns: 1fr;
  }

  .top-nav, .top-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .filter-bar {
    flex-wrap: wrap;
  }

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

  .product-actions {
    justify-items: start;
    min-width: 0;
  }

  .action-row { justify-content: flex-start; }

  .product-price-stack {
    justify-items: start;
  }

  .product-highlight-row,
  .seller-mini-metrics,
  .auth-role-strip,
  .seller-upgrade-summary {
    grid-template-columns: 1fr;
  }

  .stat-grid,
  .wallet-grid,
  .seller-grid,
  .ticket-layout,
  .layout-split,
  .subshell-grid,
  .seller-flow,
  .support-frame {
    grid-template-columns: 1fr;
  }

  .seller-flow {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .auth-card-top {
    flex-direction: row;
    align-items: center;
  }

  .auth-panel-brand {
    display: inline-flex;
  }

  .auth-showcase > .auth-brand {
    display: none;
  }

  .market-page {
    margin: 10px auto;
    padding: 0 12px 96px;
    gap: 18px;            /* clear breathing room: topbar → welcome → products */
  }

  .market-shell, .market-topbar {
    padding: 16px 14px;
  }

  /* Explicit margin guarantees space between topbar and hero */
  .market-shell { margin-top: 18px !important; }
  .products-shell { margin-top: 0; }

  .market-topbar {
    position: relative;
    grid-template-columns: 1fr auto;
    gap: 12px;
    border-radius: 22px;
    z-index: 40;
  }

  .brand {
    min-width: 0;
    overflow: hidden;
    gap: 10px;
  }

  .brand strong {
    font-size: .86rem;
    line-height: 1;
    letter-spacing: -.04em;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  .brand-mark span:nth-child(1) {
    left: 8px;
    top: 7px;
    width: 6px;
    height: 19px;
  }

  .brand-mark span:nth-child(2) {
    right: 7px;
    top: 7px;
    width: 7px;
    height: 7px;
  }

  .brand-mark span:nth-child(3) {
    right: 7px;
    bottom: 6px;
    width: 10px;
    height: 10px;
  }

  .top-nav {
    display: none;
  }

  .top-actions {
    grid-column: 2;
    display: flex;
    justify-content: end;
    gap: 8px;
    align-items: center;
  }

  .wallet-chip {
    display: inline-flex;
    min-height: 36px;
    padding: 0 10px;
    border-radius: 12px;
    gap: 8px;
    font-size: .84rem;
    font-weight: 800;
  }

  .wallet-chip svg {
    display: none;
  }

  .wallet-chip i {
    padding-left: 8px;
    font-size: .95rem;
  }

  .sell-btn {
    display: none;
  }

  .top-actions > .icon-btn {
    display: none;
  }

  .icon-btn {
    width: 36px;
    height: 36px;
    border-radius: 12px;
  }

  .profile-btn {
    padding: 3px 8px 3px 3px;
    min-height: 36px;
    border-radius: 14px;
    gap: 6px;
  }

  .avatar-3d {
    width: 34px;
    height: 34px;
    border-radius: 12px;
  }

  .caret {
    width: 14px;
    height: 14px;
  }

  .hero-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    margin-bottom: 10px;
    gap: 10px;
  }

  .hero h1 {
    font-size: 1.2rem;
    margin-bottom: 0;
  }

  .results-pill {
    padding: 0;
    min-height: auto;
    background: transparent;
    border: 0;
    font-size: .88rem;
    align-self: center;
  }

  .chips-row {
    margin: 10px -16px;
    padding: 2px 16px 6px;
  }

  .chip {
    flex: 0 0 auto;
    min-width: max-content;
    padding: 9px 13px;
    border-radius: 12px;
    font-size: .88rem;
  }

  .filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 96px;
    gap: 8px;
    padding: 8px;
    align-items: stretch;
  }

  .search-field {
    grid-column: 1;
    min-height: 48px;
    padding: 0 12px;
    border-radius: 14px;
  }

  .filter-btn,
  .select-pill,
  .mini-pill,
  .reset-btn {
    width: auto;
    min-height: 50px;
    padding: 0 14px;
  }

  .select-pill,
  .mini-pill,
  .reset-btn {
    display: none;
  }

  .filter-btn {
    min-width: 0;
    width: 96px;
    justify-self: stretch;
    border-radius: 14px;
    padding: 0 12px;
    gap: 6px;
    justify-content: center;
    font-size: .88rem;
  }

  .overlay {
    align-items: end;
    padding: 0;
  }

  .filter-modal {
    width: 100%;
    max-height: min(82vh, 720px);
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
    border-radius: 24px 24px 0 0;
    animation: modal-in 220ms var(--ease-out);
  }

  .modal-head {
    position: sticky;
    top: 0;
    z-index: 1;
    align-items: start;
    flex-wrap: nowrap;
    padding-bottom: 12px;
    background: linear-gradient(180deg, rgba(12, 17, 25, 0.98), rgba(12, 17, 25, 0.92));
  }

  .modal-head h3 {
    font-size: 1.1rem;
    margin: 0 0 3px;
  }

  .modal-head p {
    font-size: .8rem;
    margin: 0;
    color: var(--muted);
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .modal-grid {
    gap: 12px;
    overflow: auto;
  }

  .modal-block {
    padding: 14px;
    border-radius: 16px;
  }

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

  .toggle-grid.wide {
    grid-template-columns: 1fr;
  }

  .toggle-option {
    justify-content: center;
    min-height: 44px;
    padding: 10px 12px;
  }

  .range-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .modal-actions {
    position: sticky;
    bottom: 0;
    padding-top: 14px;
    background: linear-gradient(180deg, rgba(12, 17, 25, 0.9), rgba(12, 17, 25, 0.98));
    justify-content: stretch;
    gap: 10px;
  }

  .plain-btn,
  .apply-btn {
    flex: 1;
  }

  .products-shell {
    margin-top: 12px;
    padding: 12px 12px 64px;
    border-radius: 22px;
  }

  .subshell {
    padding: 18px 14px 122px;
    border-radius: 24px;
  }

  .subshell-header {
    padding: 0 0 16px;
  }

  .subshell-header h1 {
    font-size: 1.48rem;
  }

  .subshell-tabs {
    gap: 24px;
    overflow: auto;
    white-space: nowrap;
  }

  .subshell-empty {
    padding: 48px 14px 36px;
  }

  .subshell-empty h2 {
    font-size: 1.24rem;
  }

  .auth-showcase {
    min-height: auto;
    padding: 16px 16px 10px;
    align-content: start;
    gap: 14px;
  }

  .auth-panel {
    padding: 26px 18px 34px;
  }

  .auth-showcase-copy h2 {
    margin-top: 10px;
    font-size: 1.58rem;
    line-height: 1.02;
  }

  .auth-showcase-copy p {
    margin-top: 12px;
    font-size: 0.9rem;
    line-height: 1.58;
  }

  .auth-showcase-footer {
    display: none;
  }

  .auth-role-strip {
    grid-template-columns: 1fr;
  }

  .auth-role-card {
    padding: 12px 14px;
  }

  .wallet-hero,
  .metric-card,
  .subshell-panel,
  .seller-card,
  .seller-summary-card {
    padding: 16px;
  }

  .wallet-hero h2,
  .metric-card strong,
  .cart-empty h2 {
    font-size: 1.68rem;
  }

  .wallet-toolbar,
  .wallet-toolbar-group,
  .subshell-modal-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .soft-search {
    min-width: 100%;
  }

  .ledger {
    overflow: auto;
  }

  .ledger-row {
    min-width: 760px;
  }

  .subshell-payment-grid {
    grid-template-columns: 1fr;
  }

  .quick-money {
    justify-content: stretch;
    flex-wrap: wrap;
  }

  .currency-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .currency-card {
    min-width: 0;
  }

  .cart-empty {
    min-height: 320px;
    padding: 28px 16px;
  }

  .support-main {
    min-height: 420px;
    padding: 22px;
  }

  .page-stack {
    gap: 16px;
  }

  .stat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .stat-card,
  .content-panel,
  .detail-panel,
  .table-shell,
  .seller-grid > *,
  .ticket-panel,
  .ticket-sidebar,
  .ticket-main {
    padding: 16px;
    border-radius: 22px;
  }

  .table-toolbar {
    align-items: stretch;
  }

  .table-search {
    min-width: 100%;
  }

  .data-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .section-head {
    margin-bottom: 8px;
  }

  .section-head h2 {
    font-size: .96rem;
  }

  .product-card {
    grid-template-columns: 34px 1fr auto;
    grid-template-areas:
      "topline topline topline"
      "thumb copy actions"
      "seller seller seller";
    align-items: center;
    gap: 6px 14px;
    padding: 8px 14px;
    border-radius: 12px;
  }
  
  .product-trust-chip {
    display: inline-flex !important;
  }

  .thumb {
    grid-area: thumb;
    width: 34px;
    height: 34px;
    border-radius: 9px;
  }

  .product-copy {
    grid-area: copy;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
  }

  .product-card-topline {
    grid-area: topline;
    margin-bottom: 1px;
  }

  .thumb img {
    width: 16px;
    height: 16px;
  }

  .product-copy h3 {
    grid-area: unset;
    font-size: clamp(0.85rem, 3.8vw, 0.95rem);
    line-height: 1.25;
    margin-bottom: 0;
    margin-top: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-width: 0;
  }

  .product-seller-label {
    grid-area: seller;
    margin-top: 2px;
    margin-bottom: 0;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--green);
    text-align: left;
  }

  .product-copy p {
    display: none;
  }

  .meta {
    grid-area: unset;
    gap: 4px;
    font-size: .72rem;
    min-width: 0;
    flex-wrap: wrap;
    overflow: visible;
    white-space: normal;
    row-gap: 4px;
  }

  .meta span {
    min-width: 0;
    max-width: 100%;
  }

  .meta:first-of-type span:first-child {
    display: none;
  }

  .meta span:not(:last-child)::after {
    margin-left: 6px;
  }

  .meta + .meta {
    display: grid;
    gap: 4px;
  }

  .meta + .meta span::after {
    display: none;
  }

  .product-actions {
    grid-area: actions;
    min-width: 0;
    gap: 10px;
    justify-items: end;
  }

  .product-actions strong {
    font-size: .95rem;
    line-height: 1;
    color: var(--text);
  }

  .action-row {
    gap: 8px;
    flex-direction: row;
  }

  /* ── Icon buttons: collapse to circle ONLY inside product/action rows ── */
  .action-row .view-btn,
  .product-actions .view-btn,
  .action-row .cart-btn,
  .product-actions .cart-btn {
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
    border-radius: 999px;
  }

  .action-row .view-btn span,
  .product-actions .view-btn span,
  .action-row .cart-btn span,
  .product-actions .cart-btn span {
    display: none;
  }

  .action-row .view-btn,
  .product-actions .view-btn {
    color: #2f3545;
    border-color: rgba(16,24,40,.14);
    background: transparent;
  }

  .action-row .cart-btn,
  .product-actions .cart-btn {
    color: #fff;
    background: linear-gradient(135deg, var(--green), var(--green-2));
  }

  .action-row .view-btn {
    border-color: rgba(130, 69, 255, 0.22);
    color: #8f46ff;
  }

  .action-row .cart-btn,
  .product-actions .cart-btn {
    min-width: 38px;
    background: linear-gradient(135deg, var(--green), var(--green-2));
    color: #f7fff8;
    box-shadow: none;
  }

  /* ── Text CTA buttons: view-btn/cart-btn used outside action rows ── */
  /* render as full-text soft pills — never collapse */
  .view-btn:not(.action-row .view-btn):not(.product-actions .view-btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 0 18px;
    border-radius: 12px;
    font-size: 0.84rem;
    font-weight: 600;
    white-space: nowrap;
    width: auto;
    min-width: 0;
  }

  .cart-btn:not(.action-row .cart-btn):not(.product-actions .cart-btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 20px;
    border-radius: 12px;
    font-size: 0.88rem;
    font-weight: 700;
    white-space: nowrap;
    width: auto;
    min-width: 0;
  }

  .mobile-dock {
    display: flex;
    bottom: max(8px, env(safe-area-inset-bottom));
    min-height: 68px;
    width: min(calc(100% - 20px), 460px);
    padding: 6px;
    border-radius: 22px;
  }

  .dock-link {
    min-height: 56px;
    gap: 4px;
    padding: 7px 4px;
    border-radius: 18px;
  }

  .dock-link span {
    font-size: .76rem;
  }

  .profile-menu {
    position: fixed;
    top: 86px;
    right: 10px;
    left: 10px;
    z-index: 200;
    width: auto;
    max-height: calc(100vh - 112px);
    overflow: auto;
    padding: 12px;
    border-radius: 22px;
    background: #ffffff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid rgba(16,24,40,.08);
    box-shadow: 0 32px 80px rgba(17,24,39,.18);
    scrollbar-width: thin;
    scrollbar-color: rgba(104, 118, 145, 0.55) transparent;
  }

  .profile-menu::-webkit-scrollbar {
    width: 8px;
  }

  .profile-menu::-webkit-scrollbar-track {
    background: transparent;
  }

  .profile-menu::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(104, 118, 145, 0.42);
  }

  .profile-head {
    gap: 12px;
    padding-bottom: 12px;
    margin-bottom: 10px;
  }

  .profile-head strong {
    font-size: .9rem;
    line-height: 1.2;
  }

  .profile-head span {
    font-size: .84rem;
  }

  .profile-menu button {
    padding: 11px 10px;
    border-radius: 12px;
  }

  .checkout-layout,
  .detail-layout,
  .support-frame,
  .seller-flow,
  .subshell-grid,
  .seller-summary-grid {
    gap: 12px;
  }

  .seller-summary-grid,
  .seller-listings-head,
  .seller-listing-row,
  .seller-form-grid {
    grid-template-columns: 1fr;
  }

  .seller-listings-head {
    display: none;
  }

  .seller-listing-row {
    gap: 8px;
  }

  .seller-panel-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .checkout-main,
  .checkout-side,
  .detail-main-column,
  .detail-side-column {
    gap: 12px;
  }

  .table-shell,
  .detail-panel,
  .detail-purchase-card,
  .support-main,
  .support-side,
  .seller-card,
  .seller-rail {
    border-radius: 18px;
  }

  .wallet-hero {
    min-height: 158px;
    border-radius: 18px;
  }

  .wallet-hero p {
    font-size: .8rem;
  }

  .metric-card {
    min-height: 76px;
    border-radius: 16px;
  }

  .metric-card h3 {
    font-size: .84rem;
  }

  .wallet-toolbar h2,
  .subshell-panel h2,
  .seller-card h2,
  .detail-purchase-card h2,
  .support-main h2 {
    font-size: 1rem;
  }

  .checkout-summary-card,
  .cart-populated .checkout-summary-card {
    position: static;
  }

  .cart-shell .subshell-header p,
  .checkout-main .table-shell span,
  .detail-panel p,
  .support-main p {
    font-size: .82rem;
  }

  .cart-populated .checkout-item {
    grid-template-columns: 44px 1fr;
  }

  .cart-populated .checkout-item-meta {
    grid-column: 1 / -1;
    justify-items: start;
    padding-left: 56px;
  }

  .cart-populated .detail-cta-row,
  .detail-cta-column {
    flex-direction: column;
  }

  .cart-populated .detail-cta-row > *,
  .detail-cta-column > * {
    width: 100%;
  }

  .cart-populated .checkout-side,
  .checkout-side,
  .cart-shell {
    padding-bottom: 6px;
  }
}

/* ================================================================
   ENHANCEMENT ADDITIONS — Accs360 UI Upgrade Pass
   ================================================================ */

/* ---- Auth: status banner ---- */
.auth-status-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 16px;
  border-radius: 16px;
  background: rgba(18, 166, 103, 0.12);
  border: 1px solid rgba(18, 166, 103, 0.22);
  color: #7be0b1;
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.auth-status-banner svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ---- Auth: field label row (label + forgot link on same row) ---- */
.auth-field-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.auth-field-label-row > span {
  font-size: 0.98rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.92);
}

.auth-forgot-link {
  font-size: .86rem;
  font-weight: 600;
}

/* Override margin when inside label-row: money-field-wrap label spacing handled here */
.auth-field-label-row ~ .money-field {
  margin-top: 0;
}

/* ---- Auth: optional field hint ---- */
.auth-field-optional {
  font-weight: 400;
  opacity: .65;
  font-size: .86em;
}

/* ---- Auth: ToS inline links ---- */
.auth-tos-link { color: #fff; font-weight: 700; text-decoration: none; }
.auth-tos-link:hover { text-decoration: none; }

/* ---- Auth: kicker soft (showcase side) ---- */
.auth-kicker-soft {
  background: rgba(18, 166, 103, 0.18);
  color: #7ce0af;
}

/* ---- Platform: alerts replacing old results-pill for flash messages ---- */
.platform-alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0 0;
  padding: 13px 16px;
  border-radius: 18px;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.55;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 220ms ease, transform 220ms ease, margin 220ms ease, padding 220ms ease;
}

.platform-alert svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.platform-alert p { margin: 0; }

.platform-alert.is-dismissing {
  opacity: 0;
  transform: translateY(-6px);
}

.platform-alert.is-hidden {
  display: none;
}

.platform-alert-success {
  background: rgba(15, 143, 90, 0.1);
  border: 1px solid rgba(15, 143, 90, 0.18);
  color: var(--green);
}

.platform-alert-error {
  background: rgba(194, 35, 59, 0.08);
  border: 1px solid rgba(194, 35, 59, 0.14);
  color: #d94466;
}

body[data-theme="dark"] .platform-alert-success { color: #7ce4af; }
body[data-theme="dark"] .platform-alert-error { color: #f08099; }

/* ---- Floating support button ---- */
.floating-support {
  position: fixed;
  right: 22px;
  bottom: 88px;
  z-index: 30;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 16px;
  background: rgba(15, 143, 90, 0.12);
  border: 1px solid rgba(15, 143, 90, 0.22);
  color: var(--green);
  text-decoration: none;
  transition: transform 160ms var(--ease-out), background-color 160ms ease, box-shadow 160ms ease;
}

.floating-support svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.floating-support:hover {
  transform: translateY(-2px);
  background: rgba(15, 143, 90, 0.18);
  box-shadow: 0 14px 28px rgba(15, 143, 90, 0.16);
}

body[data-theme="dark"] .floating-support {
  background: rgba(15, 143, 90, 0.1);
  border-color: rgba(15, 143, 90, 0.18);
  color: #7ce4af;
}

@media (max-width: 760px) {
  .floating-support { bottom: 98px; right: 14px; width: 44px; height: 44px; border-radius: 14px; }
}

/* ================================================================
   ACCOUNT PAGE — Identity card
   ================================================================ */
.account-identity-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  margin: 0 0 12px;
  border-radius: 22px;
  background: var(--shell);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: var(--shadow);
}

body[data-theme="dark"] .account-identity-card {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.06);
}

.account-avatar-wrap {
  position: relative;
  flex: 0 0 auto;
}

.account-avatar-badge {
  position: absolute;
  bottom: -4px;
  right: -4px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 9px;
  background: var(--card);
  border: 2px solid var(--bg);
  color: var(--muted);
  cursor: default;
}

.account-avatar-badge svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-identity-copy {
  display: grid;
  gap: 4px;
}

.account-identity-copy strong {
  font-size: 1.08rem;
  letter-spacing: -.02em;
}

.account-identity-copy > span {
  color: var(--muted);
  font-size: .88rem;
}

.account-ref-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.account-ref-label {
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  color: var(--muted);
}

.account-ref-code {
  font-family: monospace;
  font-size: .88rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(15,143,90,.08);
  color: var(--green);
  border: 1px solid rgba(15,143,90,.14);
  letter-spacing: .04em;
}

body[data-theme="dark"] .account-ref-code {
  color: #7ce4af;
  background: rgba(15,143,90,.12);
}

.account-copy-btn {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(16,24,40,.1);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  transition: color 140ms ease, background-color 140ms ease;
}

.account-copy-btn svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-copy-btn:hover, .account-copy-btn.is-copied {
  color: var(--green);
  background: rgba(15,143,90,.06);
  border-color: rgba(15,143,90,.2);
}

/* password field inside subshell (account page) */
.subshell-panel .auth-password-field {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  padding-right: 8px;
}

.subshell-panel .auth-password-toggle {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 700;
  min-width: 50px;
  height: 36px;
  border-radius: 10px;
  font-size: .82rem;
  cursor: pointer;
  transition: color 140ms ease, background-color 140ms ease;
}

.subshell-panel .auth-password-toggle:hover {
  color: var(--green);
  background: rgba(15,143,90,.06);
}

/* ================================================================
   WALLET PAGE — Premium wallet card
   ================================================================ */
.wallet-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: 14px;
  margin-bottom: 12px;
}

.wallet-card-premium {
  position: relative;
  overflow: hidden;
  padding: 2px;
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(15,143,90,.4), rgba(90,109,255,.3), rgba(15,143,90,.2));
}

.wallet-card-inner {
  position: relative;
  z-index: 1;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0f8f5a, #128456 35%, #4566e8 100%);
  color: white;
  min-height: 200px;
  display: grid;
  align-content: space-between;
}

.wallet-card-premium::before {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  right: -80px;
  top: -80px;
  pointer-events: none;
}

.wallet-card-premium::after {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.06);
  left: -50px;
  bottom: -60px;
  pointer-events: none;
}

.wallet-card-label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.82);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.wallet-card-label svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wallet-card-balance {
  font-size: clamp(2.4rem, 5vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: 1;
  margin: 8px 0 4px;
}

.wallet-card-hint {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: .78rem;
}

.wallet-card-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.wallet-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 12px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.22);
  color: white;
  font-size: .84rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 160ms ease, transform 160ms ease;
}

.wallet-action-btn.primary {
  background: rgba(255,255,255,.22);
}

.wallet-action-btn:hover {
  background: rgba(255,255,255,.28);
  transform: translateY(-1px);
}

.wallet-action-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Wallet stats sidebar */
.wallet-stats-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wallet-stat-card {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: 20px;
  background: var(--card);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: var(--shadow);
}

body[data-theme="dark"] .wallet-stat-card {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.06);
}

.wallet-stat-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(15,143,90,.1);
  color: var(--green);
  flex: 0 0 auto;
}

.wallet-stat-icon.muted {
  background: rgba(16,24,40,.05);
  color: var(--muted);
}

body[data-theme="dark"] .wallet-stat-icon.muted {
  background: rgba(255,255,255,.04);
}

.wallet-stat-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wallet-stat-card > div span {
  display: block;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}

.wallet-stat-card > div strong {
  display: block;
  margin-top: 6px;
  font-size: 1.24rem;
  letter-spacing: -.04em;
}

/* Wallet empty state icon */
.wallet-empty-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(15,143,90,.1);
  color: var(--green);
}

.wallet-empty-icon svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Ledger enhancements */
.ledger-ref {
  font-size: .78rem;
  color: var(--muted);
  font-family: monospace;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ledger-amount { font-weight: 700; }
.ledger-amount.is-credit { color: var(--green); }
.ledger-amount.is-debit { color: #d94466; }
body[data-theme="dark"] .ledger-amount.is-credit { color: #7ce4af; }
body[data-theme="dark"] .ledger-amount.is-debit { color: #f08099; }

.ledger-date {
  color: var(--muted);
  font-size: .84rem;
}

/* Deposit modal wider variant */
.deposit-modal-wide {
  width: min(780px, 100%);
}

/* Deposit amount block */
.deposit-amount-block {
  margin-top: 16px;
}

.deposit-amount-field {
  min-height: 56px;
  border-radius: 16px;
  font-size: 1.1rem;
}

.deposit-currency-sym {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--muted);
}

/* Deposit method cards */
.deposit-method-block {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.deposit-method-card {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.6);
  border: 2px solid transparent;
  border-color: rgba(16,24,40,.08);
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

body[data-theme="dark"] .deposit-method-card {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.06);
}

.deposit-method-card.is-active {
  border-color: rgba(15,143,90,.42);
  box-shadow: 0 0 0 3px rgba(15,143,90,.08);
}

.deposit-method-card:not(.is-active) .currency-wrap,
.deposit-method-card:not(.is-active) .deposit-note {
  display: none;
}

.deposit-method-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.deposit-method-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(15,143,90,.1);
  color: var(--green);
  flex: 0 0 auto;
}

.deposit-method-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.deposit-method-top strong {
  display: block;
  font-size: .94rem;
  margin-bottom: 3px;
}

.deposit-method-top p {
  margin: 0;
  color: var(--muted);
  font-size: .82rem;
}

.deposit-note {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(16,24,40,.04);
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.55;
}

body[data-theme="dark"] .deposit-note {
  background: rgba(255,255,255,.04);
}

/* ZAR flag */
.flag.za { background: linear-gradient(180deg, #007a4d 0 22%, #fff 22% 28%, #de3831 28% 72%, #fff 72% 78%, #002395 78%); }

@media (max-width: 760px) {
  .wallet-overview-grid { grid-template-columns: 1fr; }
  .wallet-stats-col { flex-direction: row; }
  .wallet-stat-card { flex: 1; }
}

/* ================================================================
   ORDERS PAGE
   ================================================================ */
.orders-empty-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(15,143,90,.1);
  color: var(--green);
  margin-bottom: 4px;
}

.orders-empty-icon svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.orders-list-grid {
  margin-top: 16px;
}

.order-dispute-flag {
  color: #d94466;
  font-size: .82rem;
  font-weight: 700;
}

body[data-theme="dark"] .order-dispute-flag { color: #f08099; }

/* ================================================================
   REFERRALS PAGE
   ================================================================ */
.referral-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.referral-metric-card {
  padding: 18px 20px;
  border-radius: 22px;
  background: var(--card);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: var(--shadow);
  display: grid;
  gap: 6px;
}

body[data-theme="dark"] .referral-metric-card {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.06);
}

.referral-metric-card.accent {
  background: linear-gradient(135deg, #0f8f5a, #127450 50%, #4266ff 100%);
  color: white;
}

.referral-metric-label {
  display: block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}

.referral-metric-card.accent .referral-metric-label,
.referral-metric-card.accent p {
  color: rgba(255,255,255,.78);
}

.referral-metric-card strong {
  display: block;
  font-size: 1.6rem;
  letter-spacing: -.05em;
}

.referral-metric-card p {
  margin: 0;
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.5;
}

/* Referral code card */
.referral-code-card {
  padding: 16px;
  border-radius: 18px;
  background: rgba(15,143,90,.06);
  border: 1px solid rgba(15,143,90,.14);
  margin-bottom: 8px;
}

body[data-theme="dark"] .referral-code-card {
  background: rgba(15,143,90,.08);
  border-color: rgba(15,143,90,.18);
}

.referral-code-label {
  display: block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--green);
  margin-bottom: 8px;
}

body[data-theme="dark"] .referral-code-label { color: #7ce4af; }

.referral-code-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.referral-code-display {
  font-size: 1.4rem;
  font-weight: 800;
  font-family: monospace;
  letter-spacing: .12em;
  color: var(--green);
}

body[data-theme="dark"] .referral-code-display { color: #7ce4af; }

.referral-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(15,143,90,.22);
  background: transparent;
  color: var(--green);
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 140ms ease, transform 140ms ease;
}

.referral-copy-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.referral-copy-btn:hover, .referral-copy-btn.is-copied {
  background: rgba(15,143,90,.08);
  transform: translateY(-1px);
}

.referral-link-row {
  display: flex;
  gap: 10px;
  align-items: stretch;
}

.referral-link-field {
  flex: 1;
  min-width: 0;
}

.referral-link-field input {
  font-size: .8rem;
  color: var(--muted);
}

/* Referral steps */
.referral-steps {
  display: grid;
  gap: 14px;
}

.referral-step {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.referral-step-num {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(15,143,90,.1);
  color: var(--green);
  font-size: .86rem;
  font-weight: 800;
}

body[data-theme="dark"] .referral-step-num { background: rgba(15,143,90,.12); color: #7ce4af; }

.referral-step strong { display: block; font-size: .9rem; margin-bottom: 4px; }
.referral-step p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }

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

/* ================================================================
   NOTIFICATIONS PAGE
   ================================================================ */
.notification-list { gap: 10px; }

.notification-item { align-items: flex-start; }

.notification-icon-wrap {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(15,143,90,.08);
  color: var(--green);
  margin-top: 2px;
}

body[data-theme="dark"] .notification-icon-wrap { background: rgba(15,143,90,.12); color: #7ce4af; }

.notif-type-icon {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.notification-copy p { margin: 6px 0 0; font-size: .84rem; line-height: 1.55; color: var(--muted); }

.notif-unread-dot {
  color: var(--green);
  font-weight: 700;
}

body[data-theme="dark"] .notif-unread-dot { color: #7ce4af; }

/* ================================================================
   SUPPORT PAGE — polish
   ================================================================ */
.is-active-ticket {
  border-color: rgba(15,143,90,.28);
  background: rgba(15,143,90,.05);
}

body[data-theme="dark"] .is-active-ticket {
  border-color: rgba(15,143,90,.22);
  background: rgba(15,143,90,.08);
}

/* ================================================================
   DARK MODE — new component overrides
   ================================================================ */
body[data-theme="dark"] .account-identity-card {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .wallet-card-premium {
  background: linear-gradient(135deg, rgba(15,143,90,.5), rgba(66,102,255,.4));
}

body[data-theme="dark"] .deposit-method-card {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.06);
}

body[data-theme="dark"] .deposit-method-card.is-active {
  border-color: rgba(15,143,90,.42);
  box-shadow: 0 0 0 3px rgba(15,143,90,.1);
}

body[data-theme="dark"] .deposit-method-top strong { color: #f5f7fb; }
body[data-theme="dark"] .referral-metric-card { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.06); }
body[data-theme="dark"] .referral-code-card { background: rgba(15,143,90,.08); border-color: rgba(15,143,90,.18); }
body[data-theme="dark"] .referral-copy-btn { border-color: rgba(15,143,90,.22); color: #7ce4af; }
body[data-theme="dark"] .referral-copy-btn:hover { background: rgba(15,143,90,.1); }


/* ================================================================
   MOBILE FIXES — Comprehensive pass
   ================================================================ */

/* ---- Auth mobile: single column, form on top, showcase strip below ---- */
@media (max-width: 980px) {
  /* Auth panel: full width, min-height of screen */
  .auth-stage {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .auth-panel {
    order: 1;
    min-height: 100dvh;
    border-left: 0;
    padding: 36px 24px 44px;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .auth-panel-inner {
    max-width: 100%;
    padding-top: 8px;
  }

  /* Show mobile brand since left panel is hidden above the fold */
  .auth-panel-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: white;
    margin-bottom: 28px;
  }

  .auth-panel-brand .brand-mark {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: linear-gradient(180deg, var(--green), var(--green-2));
    box-shadow: 0 10px 20px rgba(15,143,90,.28);
  }

  .auth-panel-brand strong { font-size: 1.3rem; font-weight: 800; letter-spacing: -.04em; }

  .auth-head-row { margin-bottom: 24px; }
  .auth-head-row h1 { font-size: clamp(1.7rem, 7vw, 2.2rem); }

  /* Showcase becomes a compact dark strip at the bottom with the headline */
  .auth-showcase {
    order: 2;
    min-height: 180px;
    padding: 28px 24px 32px;
    justify-content: flex-end;
    border-top: 1px solid rgba(255,255,255,.05);
  }

  /* Hide the brand from the showcase on mobile (it's shown in panel now) */
  .auth-showcase .auth-brand { display: none; }

  .auth-showcase-copy h2 {
    font-size: clamp(2rem, 9vw, 3rem);
  }
}

@media (max-width: 480px) {
  .auth-panel { padding: 24px 18px 36px; }
  .auth-showcase { min-height: 140px; padding: 22px 18px; }
  .auth-input-wrap, .auth-submit { height: 50px; border-radius: 11px; }
  .auth-head-row h1 { font-size: 1.65rem; }
  .auth-form { gap: 14px; }
}

/* ================================================================
   PLATFORM TOPBAR — Fix unauthenticated mobile overflow
   ================================================================ */
@media (max-width: 760px) {
  /* Fix: "Log in" + "Create account" buttons overflow on mobile when not logged in */
  .top-actions {
    gap: 6px;
    flex-wrap: nowrap;
    overflow: hidden;
  }

  /* Guest state: hide the text-only "Create account" button, show just Login */
  .top-actions .view-btn,
  .top-actions .cart-btn {
    min-width: 0;
    font-size: .8rem;
    padding: 0 10px;
    height: 36px;
    border-radius: 10px;
    white-space: nowrap;
  }

  /* Keep icon buttons compact */
  .top-actions .icon-btn {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
  }
}

/* ================================================================
   PLATFORM SHELL — Dock padding on all pages
   ================================================================ */

/* Market page already has padding-bottom: 132px at 760px.
   Ensure every subshell page has enough bottom clearance for the dock */
@media (max-width: 760px) {
  .subshell {
    padding-bottom: 110px; /* dock is ~68px + 20px gap + safe area */
  }

  /* Wallet overview: single column on mobile */
  .wallet-overview-grid {
    grid-template-columns: 1fr;
  }

  .wallet-stats-col {
    flex-direction: row;
    gap: 10px;
  }

  .wallet-stat-card {
    flex: 1;
    min-width: 0;
  }

  .wallet-stat-card > div span {
    font-size: .7rem;
  }

  .wallet-stat-card > div strong {
    font-size: 1rem;
  }

  /* Wallet card balance — reduce font on small screens */
  .wallet-card-balance {
    font-size: 2.2rem;
  }

  /* Referral: 3 cols → 1 col */
  .referral-metrics {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .referral-link-row {
    flex-direction: column;
  }

  /* Notifications: add icon space */
  .notification-icon-wrap {
    width: 32px;
    height: 32px;
    border-radius: 10px;
  }

  /* Orders card: keep padding sane */
  .order-card {
    padding: 16px;
  }

  /* Account identity card: stack on mobile */
  .account-identity-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
  }

  .account-ref-row {
    flex-wrap: wrap;
  }

  .floating-support {
    display: none;
  }

  /* Profile menu: already handled but ensure z-index above dock */
  .profile-menu {
    z-index: 120;
    bottom: auto;
  }

  /* Support page: thread area scrollable */
  .support-thread-list {
    max-height: 50vh;
    overflow-y: auto;
  }

  /* Deposit modal: full-width inputs */
  .deposit-modal-wide {
    width: 100%;
  }

  .deposit-method-top {
    align-items: flex-start;
  }

  /* Wallet toolbar: stacks properly */
  .wallet-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .soft-search {
    min-width: 100%;
  }

  /* Ledger on mobile: force horizontal scroll with min-width */
  .ledger { overflow-x: auto; }
  .ledger-row { min-width: 560px; font-size: .82rem; }

  /* Subshell tabs: horizontal scroll */
  .subshell-tabs {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .subshell-tabs::-webkit-scrollbar { display: none; }
}

/* ================================================================
   VERY SMALL SCREENS (≤ 375px)
   ================================================================ */
@media (max-width: 375px) {
  .market-topbar {
    padding: 10px;
    gap: 8px;
  }

  .brand strong { font-size: .76rem; }

  .top-actions .view-btn { display: none; } /* On tiny screens keep only sign-in */
  .top-actions .cart-btn { font-size: .78rem; padding: 0 10px; }

  .auth-head-row h1 { font-size: 1.5rem; }
  .auth-panel { padding: 20px 14px 32px; }
  .auth-input-wrap { height: 48px; }
  .auth-submit { height: 48px; font-size: .94rem; }

  .wallet-card-balance { font-size: 1.9rem; }
  .wallet-card-inner { padding: 18px; }

  .referral-code-display { font-size: 1.1rem; }
  .referral-copy-btn { padding: 0 10px; font-size: .78rem; }
}


/* ================================================================
   GUEST NAV BUTTONS — topbar login/signup for unauthenticated users
   ================================================================ */
.nav-guest-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 16px;
  border-radius: 14px;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 160ms var(--ease-out), background-color 160ms ease, box-shadow 160ms ease;
}

.nav-guest-btn:active { transform: scale(0.97); }

.nav-guest-login {
  background: transparent;
  color: #4b5060;
  border: 1px solid rgba(16,24,40,.14);
}

.nav-guest-login:hover {
  color: var(--green);
  border-color: rgba(15,143,90,.2);
  background: rgba(15,143,90,.04);
}

.nav-guest-register {
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  border: 0;
  box-shadow: 0 10px 22px rgba(15,143,90,.18);
}

.nav-guest-register:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(15,143,90,.22);
}

body[data-theme="dark"] .nav-guest-login {
  color: #c8d0de;
  border-color: rgba(255,255,255,.1);
}

body[data-theme="dark"] .nav-guest-login:hover {
  color: #7ce4af;
  border-color: rgba(15,143,90,.22);
  background: rgba(15,143,90,.08);
}

/* On mobile: show only the compact register button, hide login (dock handles it) */
@media (max-width: 760px) {
  .nav-guest-login { display: none; }

  .nav-guest-register {
    height: 36px;
    padding: 0 14px;
    font-size: .84rem;
    border-radius: 12px;
    box-shadow: none;
  }
}


/* ================================================================
   MOBILE FIX PASS 2
   ================================================================ */

/* Auth: fill the right panel fully on mobile so no dead space */
@media (max-width: 980px) {
  .auth-panel {
    min-height: 100dvh;
    /* justify-content center on large desktop, start on mobile */
    justify-content: flex-start;
  }

  .auth-panel-inner {
    width: 100%;
    padding-top: 0;
  }
}

/* Auth: showcase strip at bottom — tighter on mobile */
@media (max-width: 980px) {
  .auth-showcase {
    min-height: 200px;
    padding: 28px 24px 36px;
  }

  /* Right-align headline on mobile for visual balance */
  .auth-showcase-copy {
    width: 100%;
  }

  .auth-showcase-copy h2 {
    text-align: right;
    font-size: clamp(2.1rem, 10vw, 3.2rem);
  }
}

/* Market page: ensure padding-bottom is always enough for dock */
@media (max-width: 900px) {
  .market-page {
    padding-bottom: 110px;
  }
}

/* Dock: ensure 4th+ item is not cut off */
@media (max-width: 760px) {
  /* Add extra bottom space to any page content container */
  body { padding-bottom: 68px; }

  /* Subshell pages need explicit clearance */
  .subshell { padding-bottom: 100px; }
  .market-page, .market-shell { padding-bottom: 90px; }
}


/* ================================================================
   AUTH — FINTECH PREMIUM
   ================================================================ */


.auth-body-fintech {
  min-height: 100dvh;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: #ffffff;
  color: #1a1a2e;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.auth-body-fintech::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  pointer-events: none;
}

.auth-fintech-layout {
  position: relative;
  width: 100%;
  max-width: 440px;
  padding: 40px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  z-index: 10;
}

/* Logo */
.auth-fintech-brand {
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-logo {
  height: 32px;
  width: auto;
  object-fit: contain;
}

/* Card — frosted glass */
.auth-fintech-card {
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(60px) saturate(1.6);
  -webkit-backdrop-filter: blur(60px) saturate(1.6);
  border: 1px solid rgba(255,255,255,0.45);
  border-radius: 24px;
  padding: 36px 30px;
  box-shadow:
    0 2px 8px rgba(0,0,0,0.03),
    0 12px 40px rgba(0,0,0,0.05),
    inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Sparkle removed */

.auth-fintech-head {
  text-align: left;
  margin-bottom: 20px;
}

.auth-fintech-head h1 {
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0 0 8px 0;
  color: #111;
}

.auth-fintech-head p {
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

.auth-fintech-switch {
  margin-top: 12px;
  font-size: 0.86rem;
  color: #9ca3af;
}

.auth-fintech-switch a {
  color: #111;
  font-weight: 600;
  text-decoration: none;
  margin-left: 4px;
  border-bottom: 1px solid rgba(0,0,0,0.15);
  transition: border-color 0.2s;
}

.auth-fintech-switch a:hover {
  border-color: rgba(0,0,0,0.5);
  text-decoration: none;
}

/* ── Invite / Avatar row (register page) ─── */
.auth-invite-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.invite-label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #b5bcc6;
  font-size: 0.82rem;
  font-weight: 400;
  flex-shrink: 0;
  opacity: 0.7;
}

.invite-label svg {
  width: 16px;
  height: 16px;
  stroke-width: 1.2;
}

.invite-avatars {
  display: flex;
  align-items: center;
}

.invite-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  margin-left: -8px;
  border: 2px solid rgba(255,255,255,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.invite-avatar:first-child {
  margin-left: 0;
}

.invite-avatar svg {
  width: 20px;
  height: 20px;
}

.invite-count {
  background: rgba(0,0,0,0.04);
  color: #9ca3af;
  font-size: 0.72rem;
  font-weight: 600;
  border-color: rgba(255,255,255,0.6);
}

/* Avatar 3D gradient fills */
.invite-avatar.av-1 { background: linear-gradient(145deg, #f5a623 0%, #e8913a 50%, #d4782e 100%); box-shadow: 0 2px 6px rgba(245,166,35,0.35); }
.invite-avatar.av-2 { background: linear-gradient(145deg, #f06292 0%, #e91e63 50%, #c2185b 100%); box-shadow: 0 2px 6px rgba(233,30,99,0.3); }
.invite-avatar.av-3 { background: linear-gradient(145deg, #ab82ff 0%, #7c4dff 50%, #6200ea 100%); box-shadow: 0 2px 6px rgba(124,77,255,0.3); }
.invite-avatar.av-4 { background: linear-gradient(145deg, #4dd0e1 0%, #26c6da 50%, #00acc1 100%); box-shadow: 0 2px 6px rgba(0,172,193,0.3); }

/* Switch link at bottom of card */
.auth-switch-bottom {
  text-align: center;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,0.05);
}

/* ── Form ─── */
.auth-fintech-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.verify-email-intro {
  align-items: center;
  text-align: center;
  margin-bottom: 8px;
}

.verify-email-icon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.verify-email-address {
  color: #111;
  font-size: 1.1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.verify-email-form {
  width: 100%;
}

.verify-email-submit {
  width: 100%;
}

.fintech-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fintech-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.fintech-field label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a1a2e;
}

.fintech-field label span {
  font-weight: 400;
  color: #9ca3af;
}

.fintech-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.fintech-label-row a {
  font-size: 0.8rem;
  color: #9ca3af;
  text-decoration: none;
  font-weight: 500;
}

.fintech-label-row a:hover {
  color: #111;
}

/* Inputs — clean, no icons */
.fintech-input-box {
  position: relative;
  height: 48px;
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
}

.fintech-input-box.has-error {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.03);
}

.fintech-input-box:focus-within {
  border-color: rgba(0,0,0,0.08);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
  outline: none;
}

.fintech-input-box .field-icon {
  width: 18px;
  height: 18px;
  color: #9ca3af;
  margin-left: 14px;
  margin-right: 8px;
  flex-shrink: 0;
}

.fintech-input-box:focus-within .field-icon {
  color: #6b7280;
}

.fintech-input-box input {
  flex: 1;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  color: #111;
  font-family: inherit;
  font-size: 0.9rem;
  padding: 0 14px;
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
}

.fintech-input-box input:focus {
  outline: none;
  box-shadow: none;
}

.fintech-input-box input:-webkit-autofill,
.fintech-input-box input:-webkit-autofill:hover,
.fintech-input-box input:-webkit-autofill:focus,
.fintech-input-box input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px rgba(255,255,255,0.5) inset !important;
    transition: background-color 5000s ease-in-out 0s;
    -webkit-text-fill-color: #111 !important;
}

.fintech-input-box input::placeholder {
  color: #b5bcc6;
}

.fintech-eye {
  background: none;
  border: none;
  color: #b5bcc6;
  padding: 0 14px;
  height: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}

.fintech-eye:hover {
  color: #6b7280;
}

.fintech-eye svg {
  width: 17px;
  height: 17px;
}

.fintech-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: -2px;
}

.fintech-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}

.fintech-check input {
  display: none;
}

.fintech-check .check-box {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.1);
  background: rgba(255,255,255,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  flex-shrink: 0;
  transition: all 0.2s;
}

.fintech-check .check-box svg {
  width: 12px;
  height: 12px;
  color: transparent;
  transition: color 0.2s;
}

.fintech-check input:checked + .check-box {
  background: #111;
  border-color: #111;
}

.fintech-check input:checked + .check-box svg {
  color: #fff;
}

.fintech-check span {
  font-size: 0.82rem;
  color: #6b7280;
  line-height: 1.4;
}

.fintech-check a {
  color: #111;
  text-decoration: underline;
  text-decoration-color: rgba(0,0,0,0.15);
  text-underline-offset: 2px;
}

.fintech-check a:hover {
  text-decoration-color: rgba(0,0,0,0.5);
}

.terms-check {
  margin-top: 4px;
}

.fintech-submit {
  margin-top: 6px;
  height: 50px;
  background: #111;
  border: none;
  border-radius: 12px;
  color: #fff;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,0.12);
  transition: all 0.25s ease;
}

.fintech-submit svg {
  width: 17px;
  height: 17px;
  transition: transform 0.2s ease;
}

.fintech-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.18);
  background: #222;
}

.fintech-submit:hover svg {
  transform: translateX(3px);
}

.fintech-submit:active {
  transform: translateY(0);
}

.auth-fintech-flash {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  margin-bottom: 20px;
  font-size: 0.86rem;
  line-height: 1.4;
}

.auth-fintech-flash svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}

.auth-fintech-flash.success {
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.15);
  color: #065f46;
}

.auth-fintech-flash.success svg { fill: none; stroke: currentColor; stroke-width: 2; }

.auth-fintech-flash.error {
  background: rgba(239, 68, 68, 0.06);
  border: 1px solid rgba(239, 68, 68, 0.15);
  color: #991b1b;
}

.auth-fintech-flash.error svg { fill: none; stroke: currentColor; stroke-width: 2; }
.auth-fintech-flash.error p { margin: 0 0 4px 0; }
.auth-fintech-flash.error p:last-child { margin: 0; }

.auth-fintech-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  font-size: 0.7rem;
  color: rgba(0,0,0,0.25);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}

@media (max-width: 640px) {
  .auth-body-fintech {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 6vh;
  }

  /* Registration has many fields — let it scroll naturally */
  .auth-body-fintech.auth-register {
    padding-top: 0;
  }

  .auth-fintech-layout {
    padding: 20px 16px 16px;
    gap: 14px;
  }

  .auth-fintech-card {
    padding: 28px 22px;
    border-radius: 20px;
  }

  .fintech-field-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .verify-email-intro {
    gap: 10px;
    margin-bottom: 4px;
  }

  .verify-email-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 10px;
  }

  .verify-email-address {
    font-size: 1rem;
  }

  .verify-email-submit {
    min-height: 48px;
    padding: 0 16px;
    justify-content: center;
    text-align: center;
  }
}

/* ── Auth Dark Mode ──────────────────────────────────────────────── */

[data-theme="dark"] .auth-body-fintech {
  background:
    radial-gradient(ellipse at 15% 45%, rgba(80,50,90,0.6) 0%, transparent 50%),
    radial-gradient(ellipse at 85% 15%, rgba(30,60,80,0.5) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 85%, rgba(60,30,50,0.4) 0%, transparent 45%),
    radial-gradient(ellipse at 70% 50%, rgba(40,40,70,0.3) 0%, transparent 40%),
    linear-gradient(160deg, #0f0f18 0%, #141420 20%, #10101c 40%, #0d1117 60%, #121218 80%, #0e0e16 100%);
  color: #e8e8ee;
}

[data-theme="dark"] .auth-body-fintech::before {
  background:
    radial-gradient(circle at 25% 25%, rgba(100,60,120,0.12) 0%, transparent 35%),
    radial-gradient(circle at 75% 75%, rgba(40,60,100,0.1) 0%, transparent 35%);
}

[data-theme="dark"] .auth-fintech-brand img.auth-logo-light { display: none; }
[data-theme="dark"] .auth-fintech-brand img.auth-logo-dark  { display: block; }
.auth-fintech-brand img.auth-logo-dark { display: none; }

[data-theme="dark"] .auth-fintech-card {
  background: rgba(18, 18, 28, 0.55);
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow:
    0 2px 8px rgba(0,0,0,0.15),
    0 12px 40px rgba(0,0,0,0.25),
    inset 0 1px 0 rgba(255,255,255,0.04);
}

[data-theme="dark"] .auth-fintech-card::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%23606068'/%3E%3Cstop offset='50%25' stop-color='%23505058'/%3E%3Cstop offset='100%25' stop-color='%23404048'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M12 2l2.4 7.2L22 12l-7.6 2.8L12 22l-2.4-7.2L2 12l7.6-2.8L12 2z' fill='url(%23g)'/%3E%3C/svg%3E");
  opacity: 0.5;
}

[data-theme="dark"] .auth-fintech-head h1 {
  color: #f0f0f5;
}

[data-theme="dark"] .auth-fintech-head p {
  color: #8888a0;
}

[data-theme="dark"] .auth-fintech-switch {
  color: #6b6b80;
}

[data-theme="dark"] .auth-fintech-switch a {
  color: #d0d0dd;
  border-bottom-color: rgba(255,255,255,0.12);
}

[data-theme="dark"] .auth-fintech-switch a:hover {
  border-bottom-color: rgba(255,255,255,0.4);
}

[data-theme="dark"] .auth-switch-bottom {
  border-top-color: rgba(255,255,255,0.06);
}

[data-theme="dark"] .invite-label {
  color: #6b6b80;
}

[data-theme="dark"] .auth-invite-row {
  border-bottom-color: rgba(255,255,255,0.06);
}

[data-theme="dark"] .invite-avatar {
  border-color: rgba(18,18,28,0.8);
}

[data-theme="dark"] .invite-count {
  background: rgba(255,255,255,0.06);
  color: #6b6b80;
  border-color: rgba(18,18,28,0.6);
}

[data-theme="dark"] .fintech-field label {
  color: #c0c0d0;
}

[data-theme="dark"] .fintech-field label span {
  color: #6b6b80;
}

[data-theme="dark"] .fintech-label-row a {
  color: #6b6b80;
}

[data-theme="dark"] .fintech-label-row a:hover {
  color: #d0d0dd;
}

[data-theme="dark"] .fintech-input-box {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255,255,255,0.07);
}

[data-theme="dark"] .fintech-input-box.has-error {
  border-color: rgba(239, 68, 68, 0.4);
  background: rgba(239, 68, 68, 0.06);
}

[data-theme="dark"] .fintech-input-box:focus-within {
  border-color: rgba(255,255,255,0.12);
  background: rgba(255, 255, 255, 0.07);
}

[data-theme="dark"] .fintech-input-box input {
  color: #f0f0f5;
}

[data-theme="dark"] .fintech-input-box input::placeholder {
  color: #4a4a5c;
}

[data-theme="dark"] .fintech-input-box input:-webkit-autofill,
[data-theme="dark"] .fintech-input-box input:-webkit-autofill:hover,
[data-theme="dark"] .fintech-input-box input:-webkit-autofill:focus,
[data-theme="dark"] .fintech-input-box input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px rgba(18,18,28,0.9) inset !important;
  -webkit-text-fill-color: #f0f0f5 !important;
}

[data-theme="dark"] .fintech-eye {
  color: #4a4a5c;
}

[data-theme="dark"] .fintech-eye:hover {
  color: #8888a0;
}

[data-theme="dark"] .fintech-check .check-box {
  border-color: rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.04);
}

[data-theme="dark"] .fintech-check input:checked + .check-box {
  background: #e8e8ee;
  border-color: #e8e8ee;
}

[data-theme="dark"] .fintech-check input:checked + .check-box svg {
  color: #111;
}

[data-theme="dark"] .fintech-check span {
  color: #8888a0;
}

[data-theme="dark"] .fintech-check a {
  color: #d0d0dd;
  text-decoration-color: rgba(255,255,255,0.15);
}

[data-theme="dark"] .fintech-check a:hover {
  text-decoration-color: rgba(255,255,255,0.4);
}

[data-theme="dark"] .fintech-submit {
  background: #e8e8ee;
  color: #111;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

[data-theme="dark"] .fintech-submit:hover {
  background: #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

[data-theme="dark"] .auth-fintech-flash.success {
  background: rgba(16, 185, 129, 0.1);
  border-color: rgba(16, 185, 129, 0.2);
  color: #6ee7b7;
}

[data-theme="dark"] .auth-fintech-flash.error {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.2);
  color: #fca5a5;
}

[data-theme="dark"] .auth-fintech-footer {
  color: rgba(255,255,255,0.15);
}

[data-theme="dark"] .verify-email-address {
  color: #f0f0f5;
}

/* ── Theme Toggle ─── */
.theme-toggle {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 100;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  background: rgba(255,255,255,0.35);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.theme-toggle:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 14px rgba(0,0,0,0.1);
}

.theme-toggle svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease;
}

.theme-toggle .icon-sun {
  color: #f59e0b;
}

.theme-toggle .icon-moon {
  color: #a5b4fc;
  display: none;
}

[data-theme="dark"] .theme-toggle {
  background: rgba(255,255,255,0.07);
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

[data-theme="dark"] .theme-toggle:hover {
  background: rgba(255,255,255,0.12);
}

[data-theme="dark"] .theme-toggle .icon-sun {
  display: none;
}

[data-theme="dark"] .theme-toggle .icon-moon {
  display: block;
}

@media (max-width: 640px) {
  .theme-toggle {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
  }
  .theme-toggle svg {
    width: 16px;
    height: 16px;
  }
}



/* ================================================================
   MOBILE COMPATIBILITY — PLATFORM
   ================================================================ */

@media (max-width: 900px) {
  /* Dock clearance */
  body { padding-bottom: 68px; }
  .subshell, .market-page, .market-shell { padding-bottom: 96px; }
  .wallet-overview-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .wallet-stats-col {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }
  .wallet-stat-card {
    flex: 1 1 140px;
  }
  .deposit-modal-wide {
    width: 100%;
    margin: 16px;
  }
  
  /* Tables & Lists overflowing */
  .ledger {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }
  .ledger-row {
    min-width: 580px; 
  }
  .order-card-grid {
    grid-template-columns: 1fr;
  }
  .support-thread-list {
    max-height: 60vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  /* Referral fixes */
  .referral-metrics {
    grid-template-columns: 1fr;
  }
  .referral-link-row {
    flex-direction: column;
    align-items: stretch;
  }
  
  /* Listing Items */
  .listing-item {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 12px;
  }
  .listing-side {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  
  /* Account settings fixes */
  .account-identity-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
  }
  .account-ref-row {
    flex-wrap: wrap;
  }

  /* Submenus */
  .subshell-tabs {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .subshell-tabs::-webkit-scrollbar { display: none; }
  
  .top-actions {
    gap: 8px;
  }
}

@media (max-width: 480px) {
  .brand strong { font-size: 0.85rem; }
  .market-balance-pill strong {
    font-size: 1.2rem;
  }
  .market-balance-action {
    width: 100%;
  }
  .wallet-card-balance { font-size: 2.2rem; }
}

/* ================================================
   Seller upgrade – step-card payment redesign
   ================================================ */

.seller-step-rail-header {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0 4px 14px;
  border-bottom: 1px solid rgba(16,24,40,.06);
  margin-bottom: 14px;
}

.info-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border: 1.5px solid rgba(15,143,90,.3);
  border-radius: 999px;
  background: rgba(15,143,90,.06);
  color: #0f8f5a;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 150ms, border-color 150ms;
  margin-top: 8px;
}
.info-trigger svg { width: 15px; height: 15px; flex-shrink: 0; }
.info-trigger:hover { background: rgba(15,143,90,.12); border-color: rgba(15,143,90,.5); }

.ad-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,11,18,.55);
  backdrop-filter: blur(4px);
  z-index: 900;
}
.ad-modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(480px, calc(100vw - 40px));
  background: #fff;
  border-radius: 22px;
  padding: 32px 28px 28px;
  box-shadow: 0 32px 80px rgba(10,11,18,.22);
  z-index: 901;
}
body[data-theme="dark"] .ad-modal {
  background: #15181f;
  border: 1px solid rgba(255,255,255,.07);
}
.ad-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1.5px solid rgba(16,24,40,.12);
  background: transparent;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--muted);
}
.ad-close svg { width: 16px; height: 16px; }
.ad-modal h3 {
  margin: 0 0 16px;
  font-size: 1.1rem;
  letter-spacing: -0.03em;
}
.oi-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 10px;
}
.oi-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
}
.oi-dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
}
.oi-note {
  margin: 0;
  font-size: 0.8rem;
  color: var(--muted);
  padding-top: 14px;
  border-top: 1px solid rgba(16,24,40,.07);
}

.sc-payment-title {
  margin: 0 0 20px;
  font-size: 1.25rem;
  letter-spacing: -0.03em;
}

.sc-method-list { display: grid; gap: 0; }

.sc-method-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 14px;
  border: 1px solid rgba(16,24,40,.08);
  border-radius: 14px;
  margin-bottom: 10px;
  background: #fafbfc;
  cursor: pointer;
  transition: border-color 160ms, background 160ms;
}
.sc-method-item:hover        { border-color: rgba(15,143,90,.3); background: rgba(15,143,90,.03); }
.sc-method-item.is-active    { border-color: rgba(15,143,90,.55); background: rgba(15,143,90,.05); }

body[data-theme="dark"] .sc-method-item           { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.07); }
body[data-theme="dark"] .sc-method-item:hover     { border-color: rgba(15,143,90,.45); background: rgba(15,143,90,.07); }
body[data-theme="dark"] .sc-method-item.is-active { border-color: #0f8f5a; background: rgba(15,143,90,.1); }

.sc-method-left { display: flex; align-items: center; gap: 12px; flex: 1; }
.sc-method-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(16,24,40,.05);
  flex-shrink: 0;
}
.sc-method-icon svg { width: 18px; height: 18px; color: #6b7280; }
.sc-method-item.is-active .sc-method-icon svg { color: #0f8f5a; }
.sc-method-left strong { display: block; font-size: 0.88rem; margin-bottom: 2px; }
.sc-method-left span   { display: block; font-size: 0.78rem; color: var(--muted); }

.sc-radio {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #cdd2db;
  transition: border-color 160ms, background 160ms;
  position: relative;
}
.sc-method-item.is-active .sc-radio { border-color: #0f8f5a; background: #0f8f5a; }
.sc-method-item.is-active .sc-radio::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #fff;
}

.sc-sub-block {
  margin: -4px 0 14px;
  padding: 16px;
  border-radius: 12px;
  background: rgba(15,143,90,.04);
  border: 1px solid rgba(15,143,90,.12);
}
body[data-theme="dark"] .sc-sub-block {
  background: rgba(15,143,90,.07);
  border-color: rgba(15,143,90,.2);
}
.sc-sub-label {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--muted);
}

.sc-currency-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.sc-curr-btn {
  min-width: 72px;
  height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1.5px solid rgba(16,24,40,.1);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 140ms, background 140ms, color 140ms;
}
.sc-curr-btn:hover     { border-color: #0f8f5a; color: #0f8f5a; }
.sc-curr-btn.is-active { border-color: #0f8f5a; background: #0f8f5a; color: #fff; }
body[data-theme="dark"] .sc-curr-btn            { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); color: var(--auth-text); }
body[data-theme="dark"] .sc-curr-btn.is-active  { background: #0f8f5a; border-color: #0f8f5a; color: #fff; }

.sc-amount-note { margin: 0; font-size: 0.8rem; color: var(--muted); font-style: italic; }

.sc-select-wrap { position: relative; display: inline-flex; align-items: center; }
.sc-select {
  appearance: none;
  -webkit-appearance: none;
  height: 42px;
  padding: 0 40px 0 14px;
  border-radius: 10px;
  border: 1.5px solid rgba(16,24,40,.1);
  background: #fff;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  outline: none;
  transition: border-color 140ms;
  min-width: 220px;
}
.sc-select:focus { border-color: #0f8f5a; }
body[data-theme="dark"] .sc-select               { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); color: var(--auth-text); }
body[data-theme="dark"] .sc-select option        { background: #1a1d27; color: #f5f8fc; }
.sc-select-caret { position: absolute; right: 12px; width: 16px; height: 16px; pointer-events: none; color: var(--muted); }

.sc-footer { margin-top: 20px; display: flex; justify-content: center; }
.sc-pay-btn {
  min-width: 260px;
  height: 50px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #0f8f5a 0%, #11a364 50%, #0f8f5a 100%);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(15,143,90,.32);
  transition: opacity 160ms, box-shadow 160ms, transform 120ms;
}
.sc-pay-btn:hover  { opacity: 0.9; box-shadow: 0 16px 36px rgba(15,143,90,.42); transform: translateY(-1px); }
.sc-pay-btn:active { transform: translateY(0); }

/* Rails steps – purple accent */
.seller-step.is-active .seller-step-badge { border-color: #0f8f5a; color: #0f8f5a; }
.seller-step.is-active strong             { color: #0f8f5a; }

/* ================================================
   COMPREHENSIVE MOBILE PERFECTION PASS (≤760px)
   ================================================ */
@media (max-width: 760px) {

  /* ── Page & shell spacing ── */
  .market-page {
    margin: 10px auto;
    gap: 18px;   /* topbar → welcome card → products — clear separation */
  }

  /* No extra margin-top — gap on market-page handles all spacing */
  .market-shell {
    margin-top: 0;
    padding: 16px 14px;
    border-radius: 22px;
  }

  .products-shell {
    margin-top: 0;
    padding: 16px 14px;
    border-radius: 20px;
  }

  /* ── Listing cards ── */
  .listing-list {
    display: flex;
    flex-direction: column;
    gap: 12px;         /* space between each card */
  }

  .listing-item {
    margin-bottom: 0;  /* gap handles spacing now */
    border-radius: 16px;
    padding: 14px;
  }

  /* ── Section header ── */
  .section-head {
    margin-bottom: 12px;
    padding-bottom: 0;
  }

  /* ── Hero area ── */
  .hero {
    padding-bottom: 6px;
  }

  .hero-row {
    margin-bottom: 8px;
  }

  /* Space between topbar and hero greeting */
  .market-topbar + .hero,
  .hero {
    margin-top: 0;
  }

  /* ── Sub-shell pages (wallet, orders, seller, etc.) ── */
  .subshell {
    padding: 16px 14px 130px;
    border-radius: 22px;
  }

  .subshell-header {
    padding-bottom: 14px;
    margin-bottom: 4px;
  }

  .subshell-header h1 {
    font-size: 1.3rem;
  }

  /* Panels inside subshell – consistent gaps */
  .subshell-panel {
    padding: 16px 14px;
    border-radius: 18px;
    margin-bottom: 12px;
  }

  .page-stack {
    gap: 12px;
  }

  /* ── Wallet page ── */
  .wallet-hero {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .wallet-card-balance {
    font-size: 2rem;
  }

  .wallet-toolbar {
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
  }

  .wallet-toolbar-group {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  /* Deposit button full width on mobile */
  .wallet-toolbar-group .primary-cta {
    flex-shrink: 0;
  }

  /* ── Metric / stat cards ── */
  .stat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .metric-card {
    padding: 14px 12px;
    min-height: 70px;
  }

  /* ── Seller / merchant flow ── */
  .seller-flow {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .seller-rail {
    border-radius: 16px;
    padding: 14px;
  }

  .seller-card {
    border-radius: 16px;
    padding: 16px;
  }

  /* Seller summary grid → 2-col on mobile */
  .seller-summary-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .seller-summary-card {
    padding: 14px 12px;
  }

  /* Payment method rows on mobile */
  .sc-method-item {
    padding: 14px 12px;
  }

  .sc-pay-btn {
    min-width: 0;
    width: 100%;
  }

  .sc-footer {
    padding: 0 0 8px;
  }

  .sc-currency-grid {
    gap: 6px;
  }

  .sc-curr-btn {
    min-width: 60px;
    height: 36px;
    font-size: 0.78rem;
  }

  /* ── Order cards ── */
  .order-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .order-card,
  .order-detail-card {
    padding: 16px 14px;
    border-radius: 16px;
  }

  /* ── Product detail page ── */
  .detail-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .detail-purchase-card {
    padding: 16px;
    border-radius: 16px;
  }

  /* ── Cart / checkout ── */
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  /* ── Support page ── */
  .support-frame {
    grid-template-columns: 1fr;
  }

  .support-main,
  .support-side {
    border-radius: 16px;
  }

  /* ── Referrals ── */
  .referral-stat-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  /* ── Buttons – touch friendly minimum sizes ── */
  .primary-cta,
  .violet-btn,
  .sc-pay-btn,
  .apply-btn {
    min-height: 48px;
    font-size: 0.9rem;
  }

  .view-btn,
  .cart-btn {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }

  /* ── Text safety on narrow screens ── */
  .subshell-header p,
  .seller-inline-note,
  .oi-note,
  .seller-empty-state span {
    font-size: 0.82rem;
    line-height: 1.5;
  }

  /* Prevent long words / URLs from overflowing cards */
  .order-card,
  .listing-item,
  .seller-summary-card,
  .subshell-panel,
  .wallet-hero {
    word-break: break-word;
    overflow-wrap: break-word;
  }

  /* ── Account / profile pages ── */
  .account-identity-card {
    gap: 14px;
  }

  .account-ref-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  /* ── Info modal (seller benefits popup) ── */
  .ad-modal {
    padding: 26px 20px 22px;
    border-radius: 18px;
  }

  /* ── Dock safe padding ── */
  body {
    padding-bottom: max(90px, calc(90px + env(safe-area-inset-bottom)));
  }
}

/* ── Extra small screens (≤480px) ── */
@media (max-width: 480px) {
  .market-shell {
    padding: 14px 12px;
  }

  .products-shell {
    padding: 14px 12px;
  }

  .hero h1 {
    font-size: 1.15rem;
  }

  .stat-grid,
  .seller-summary-grid,
  .referral-stat-grid {
    grid-template-columns: 1fr;
  }

  .listing-item {
    padding: 12px;
  }

  .sc-payment-title {
    font-size: 1.1rem;
  }

  .sc-method-left strong {
    font-size: 0.84rem;
  }

  .sc-method-left span {
    font-size: 0.74rem;
  }

  .subshell-header h1 {
    font-size: 1.2rem;
  }

  .wallet-card-balance {
    font-size: 1.8rem;
  }
}

/* ==========================================================================
   Extreme Mobile Refactor: Product Details (Straight to point UX)
   ========================================================================== */
@media (max-width: 760px) {
  /* 1. Hide non-critical fluff to make it sharp */
  .detail-breadcrumb,
  .detail-thumbs,
  .product-highlight-row,
  .detail-info-grid .detail-panel:nth-child(2) { /* Delivery notes panel hidden */
    display: none !important;
  }

  /* 2. Flatten columns so we can reorder children vertically */
  .detail-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  
  .detail-main-column,
  .detail-side-column {
    display: contents !important;
  }

  /* 3. Reorder for maximum conversion: Image -> Title/Price -> BUY BOX -> Details */
  .detail-media { order: 1; }
  .detail-copy-panel { order: 2; padding: 18px 16px; margin-bottom: 0; }
  .detail-purchase-card { 
    order: 3; 
    border: 2px solid rgba(15, 143, 90, 0.2) !important;
    box-shadow: 0 12px 30px rgba(15, 143, 90, 0.08); /* Highlight the buy box */
  }
  .detail-info-grid { order: 4; }
  .table-shell { order: 5; }

  /* 4. Tweak logo stage for tighter mobile fit */
  .detail-stage {
    min-height: 140px !important;
    padding: 18px !important;
  }
  
  .detail-logo {
    width: 56px !important;
    height: 56px !important;
  }
}

/* ==========================================================================
   Product Detail Refresh
   ========================================================================== */
.product-detail-shell {
  display: grid;
  gap: 18px;
}

.product-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .6fr);
  gap: 18px;
  align-items: start;
}

.product-detail-main,
.product-detail-side {
  display: grid;
  gap: 18px;
}

.product-hero-card,
.product-section-card,
.product-seller-card,
.product-buy-card {
  border-radius: 22px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 20px 48px rgba(5,10,18,.18);
}

.product-hero-card {
  display: grid;
  grid-template-columns: minmax(240px, .82fr) minmax(0, 1fr);
  gap: 20px;
  padding: 20px;
}

.product-hero-media,
.product-hero-copy {
  display: grid;
  gap: 16px;
}

.product-hero-stage {
  display: grid;
  place-items: center;
  min-height: 280px;
  padding: 24px;
  border-radius: 20px;
  background:
    radial-gradient(circle at top, rgba(15,143,90,.18), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.product-hero-logo {
  width: 112px;
  height: 112px;
  border-radius: 28px;
}

.product-hero-logo img {
  width: 48px;
  height: 48px;
}

.product-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.product-heading-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.product-heading-row h1 {
  margin: 10px 0 0;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.product-lead {
  margin: 0;
  color: #cfd6e2;
  font-size: .96rem;
  line-height: 1.75;
  max-width: 62ch;
}

.product-fact-list,
.product-seller-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.product-fact-item {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.07);
}

.product-fact-item span {
  color: #8f9bb0;
  font-size: .77rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.product-fact-item strong {
  color: #f5f7fb;
  font-size: .92rem;
  line-height: 1.45;
}

.product-section-card,
.product-seller-card,
.product-buy-card {
  padding: 18px;
}

.product-detail-list {
  margin-top: 4px;
}

.product-empty-state {
  display: grid;
  gap: 8px;
  padding: 4px 0;
}

.product-empty-state h3,
.product-review-meta strong,
.product-related-card strong,
.product-buy-top h2,
.product-seller-card h2 {
  margin: 0;
}

.product-empty-state p,
.product-review-card p,
.product-buy-top p,
.product-seller-card p {
  margin: 0;
  color: #93a0b6;
  line-height: 1.7;
}

.product-review-list,
.product-related-list {
  display: grid;
  gap: 12px;
}

.product-review-card,
.product-related-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07);
}

.product-review-meta,
.product-related-card,
.product-buy-top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.product-review-meta span,
.product-related-card span {
  color: #93a0b6;
  font-size: .84rem;
  line-height: 1.5;
}

.product-related-side {
  display: grid;
  justify-items: end;
  gap: 8px;
  text-align: right;
}

.product-buy-card {
  position: sticky;
  top: 96px;
  gap: 18px;
}

.product-buy-top strong {
  font-size: 1.5rem;
  letter-spacing: -.03em;
}

.product-primary-btn,
.product-secondary-btn {
  width: 100%;
  justify-content: center;
}

.product-buy-meta {
  display: grid;
  gap: 8px;
}

.product-seller-card {
  gap: 18px;
}

.seller-profile-mini > div {
  min-width: 0;
}

.product-seller-card h2 {
  line-height: 1.05;
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .product-detail-layout,
  .product-hero-card {
    grid-template-columns: 1fr;
  }

  .product-detail-side,
  .product-detail-side > *,
  .product-seller-card {
    width: 100%;
  }

  .product-seller-facts {
    grid-template-columns: 1fr;
  }

  .product-buy-card {
    position: static;
    top: auto;
  }
}

@media (max-width: 760px) {
  .product-detail-shell {
    gap: 14px;
  }

  .product-detail-layout,
  .product-detail-main,
  .product-detail-side {
    gap: 14px;
  }

  .product-detail-layout {
    display: flex;
    flex-direction: column;
  }

  .product-detail-main,
  .product-detail-side {
    display: contents;
  }

  .product-hero-card { order: 1; }
  .product-buy-card { order: 2; }
  .product-seller-card { order: 3; }
  .product-expect-card { order: 4; }
  .product-reviews-card { order: 5; }
  .product-related-section { order: 6; }

  .product-hero-card,
  .product-section-card,
  .product-seller-card,
  .product-buy-card {
    padding: 16px;
    border-radius: 18px;
  }

  .product-hero-stage {
    min-height: 180px;
    padding: 18px;
  }

  .product-hero-logo {
    width: 76px;
    height: 76px;
    border-radius: 22px;
  }

  .product-hero-logo img {
    width: 34px;
    height: 34px;
  }

  .product-heading-row,
  .product-review-meta,
  .product-related-card,
  .product-buy-top {
    flex-direction: column;
  }

  .product-heading-row h1 {
    font-size: 1.34rem;
  }

  .price-stack {
    justify-items: start;
  }

  .product-fact-list,
  .product-seller-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-fact-list {
    grid-template-columns: 1fr;
  }

  .product-related-side {
    justify-items: start;
    text-align: left;
  }

  .detail-breadcrumb {
    margin-bottom: 0;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 2px;
  }

  .product-seller-card {
    padding: 14px;
    gap: 14px;
  }

  .seller-profile-mini {
    align-items: flex-start;
    gap: 10px;
  }

  .seller-avatar {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: .92rem;
  }

  .product-seller-card h2 {
    font-size: 1.12rem;
  }

  .product-seller-card p {
    font-size: .82rem;
    line-height: 1.45;
  }

  .product-seller-facts {
    gap: 10px;
  }

  .product-seller-facts .product-fact-item {
    padding: 12px 13px;
    gap: 5px;
    min-width: 0;
  }

  .product-seller-facts .product-fact-item span {
    font-size: .7rem;
    letter-spacing: .07em;
  }

  .product-seller-facts .product-fact-item strong {
    font-size: .88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 380px) {
  .product-seller-facts {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Orders Refresh
   ========================================================================== */
.orders-page-shell,
.order-page-shell {
  display: grid;
  gap: 18px;
}

.orders-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.orders-filter-chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.025);
  color: #97a2b5;
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
}

.orders-filter-chip.is-active,
.orders-filter-chip:hover {
  color: #eafbf2;
  background: rgba(15,143,90,.14);
  border-color: rgba(124,228,175,.26);
}

.orders-history-list,
.order-items-list {
  display: grid;
  gap: 14px;
}

.order-history-item,
.order-item-block {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 18px 42px rgba(5,10,18,.15);
}

.order-history-top,
.order-item-top,
.order-history-line,
.order-history-footer,
.order-page-header,
.order-page-actions,
.order-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.order-history-title,
.order-history-product {
  min-width: 0;
}

.order-history-title h2,
.order-item-top h2,
.order-page-header h1 {
  margin: 0;
  line-height: 1.08;
  letter-spacing: -.03em;
}

.order-page-header h1 {
  font-size: 1.52rem;
  font-weight: 800;
}

.order-history-title h2,
.order-item-top h2 {
  font-size: 1.08rem;
}

.order-history-title p,
.order-item-top p,
.order-page-header p {
  margin: 6px 0 0;
  color: #93a0b6;
  line-height: 1.6;
}

.order-history-summary,
.order-item-summary,
.order-history-notes,
.order-page-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.order-history-summary span,
.order-item-summary span,
.order-page-stat {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.07);
  color: #c7d0dd;
  font-size: .8rem;
  white-space: nowrap;
}

.order-page-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.order-page-stat {
  min-height: 0;
  padding: 14px 16px;
  border-radius: 16px;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  gap: 6px;
}

.order-page-stat span {
  color: #8e9bb0;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.order-page-stat strong {
  color: #f5f7fb;
  font-size: .96rem;
}

.order-history-lines {
  display: grid;
  gap: 0;
}

.order-history-line {
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}

.order-history-line:first-child {
  padding-top: 0;
  border-top: 0;
}

.order-history-product strong,
.order-history-side strong {
  display: block;
}

.order-history-product span,
.order-history-side span,
.order-section-head span {
  color: #93a0b6;
  font-size: .82rem;
  line-height: 1.55;
}

.order-history-side {
  display: grid;
  justify-items: end;
  gap: 4px;
  text-align: right;
}

.order-history-link {
  min-width: 118px;
  justify-content: center;
}

.order-page-actions {
  flex-wrap: wrap;
}

.order-item-section {
  display: grid;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.06);
}

.order-section-head h3 {
  margin: 0;
  font-size: .98rem;
}

.order-item-top > div,
.order-page-header > div,
.order-section-head > div {
  display: grid;
  gap: 6px;
}

.order-item-top .eyebrow {
  margin-bottom: 2px;
}

.order-item-section > p,
.order-item-section > strong,
.order-item-section .order-muted,
.order-item-section .order-inline-note,
.order-item-section .order-credential-list,
.order-item-section .order-thread-list,
.order-item-section .thread-form,
.order-item-section > form,
.order-item-section .order-inline-form {
  margin: 0;
}

.order-item-section > strong {
  display: block;
}

.order-inline-note {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
}

.order-inline-note p {
  margin: 0;
}

.order-credential-list,
.order-thread-list {
  display: grid;
  gap: 10px;
}

.order-credential-row {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07);
}

.order-credential-row code {
  white-space: pre-wrap;
  word-break: break-word;
}

.order-inline-form {
  margin-top: 2px;
}

.order-item-section > form,
.order-item-section .thread-form {
  display: grid;
  gap: 14px;
}

.order-item-section .seller-form-grid {
  gap: 16px;
}

.order-item-section .money-field-wrap {
  margin-top: 0;
  display: grid;
  gap: 8px;
}

.order-item-section .money-field-wrap > span {
  display: block;
  color: #dfe5ef;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.4;
}

.order-item-section .money-field,
.order-item-section .seller-select {
  min-height: 48px;
}

.order-item-section .money-field-textarea {
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
}

.order-item-section .money-textarea {
  min-height: 116px;
  line-height: 1.6;
}

.order-item-section .cart-btn,
.order-item-section .view-btn,
.order-item-section .sell-btn {
  margin-top: 2px;
}

.order-page-actions .soft-pill {
  min-height: 40px;
}

@media (max-width: 980px) {
  .order-page-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .orders-page-shell,
  .order-page-shell {
    gap: 14px;
  }

  .orders-filter-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .orders-filter-row::-webkit-scrollbar {
    display: none;
  }

  .order-history-item,
  .order-item-block {
    padding: 16px;
    border-radius: 18px;
    gap: 12px;
  }

  .order-history-top,
  .order-item-top,
  .order-history-line,
  .order-history-footer,
  .order-page-header,
  .order-section-head {
    flex-direction: column;
  }

  .order-history-side {
    justify-items: start;
    text-align: left;
  }

  .order-history-footer {
    gap: 12px;
  }

  .order-history-link {
    width: 100%;
  }

  .order-page-summary {
    grid-template-columns: 1fr;
  }

  .order-page-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .order-page-actions .soft-pill {
    justify-content: center;
  }

  .order-history-summary,
  .order-item-summary,
  .order-history-notes {
    gap: 8px;
  }

  .order-history-summary span,
  .order-item-summary span {
    min-height: 34px;
    padding: 0 10px;
    font-size: .76rem;
  }

  .order-item-section {
    gap: 12px;
    padding-top: 12px;
  }

  .order-item-section .seller-form-grid {
    gap: 14px;
  }

  .order-item-section .money-field-wrap {
    gap: 7px;
  }

  .order-item-section .money-field-wrap > span {
    font-size: .78rem;
  }

  .order-item-section .money-field,
  .order-item-section .seller-select {
    min-height: 46px;
  }

  .order-item-section .money-textarea {
    min-height: 108px;
  }

  .order-item-section .cart-btn,
  .order-item-section .view-btn,
  .order-item-section .sell-btn,
  .order-page-actions .soft-pill {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   Polish Pass — Interaction States, Hierarchy & Consistency
   ========================================================================== */

/* Cursor affordance on interactive elements */
.orders-filter-chip,
.orders-filter-chip[href],
a.orders-filter-chip {
  cursor: pointer;
}

/* Order footer alignment: button should center-align with the pills row */
.order-history-footer {
  align-items: center !important;
}

/* Product buy-meta: muted info row */
.product-buy-meta span {
  display: block;
  color: #93a0b6;
  font-size: .78rem;
  line-height: 1.55;
}

/* Subtle hover lift on order history cards */
.order-history-item {
  transition: box-shadow .18s, border-color .18s;
}

.order-history-item:hover {
  box-shadow: 0 24px 56px rgba(5,10,18,.22);
  border-color: rgba(255,255,255,.12);
}

/* Subtle hover on product review and related cards */
.product-review-card,
.product-related-card {
  transition: background .16s, border-color .16s;
}

.product-review-card:hover,
.product-related-card:hover {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
}

/* Ensure section-head aligns items correctly */
.section-head {
  align-items: center;
}

/* order-section-head in order items: align center for badge+heading row */
.order-section-head {
  align-items: center;
}

/* Dark mode: status-badge danger/cancelled */
body[data-theme="dark"] .status-badge.danger,
body[data-theme="dark"] .status-badge.cancelled,
body[data-theme="dark"] .status-badge.refunded {
  background: rgba(220, 53, 69, .13);
  color: #fc7a7a;
}

body[data-theme="dark"] .status-badge.neutral {
  background: rgba(255,255,255,.07);
  color: #8d93a2;
}

/* Product hero stage: add subtle border in dark mode */
body[data-theme="dark"] .product-hero-stage {
  border: 1px solid rgba(255,255,255,.06);
}

/* ==========================================================================
   Light Mode Overrides for Refresh Components
   (All new Refresh sections use dark-optimized inline colors by default)
   ========================================================================== */

/* Product detail — light mode */
body:not([data-theme="dark"]) .product-hero-card,
body:not([data-theme="dark"]) .product-section-card,
body:not([data-theme="dark"]) .product-seller-card,
body:not([data-theme="dark"]) .product-buy-card {
  background: #fff;
  border-color: rgba(16,24,40,.08);
  box-shadow: 0 4px 20px rgba(17,24,39,.06);
}

body:not([data-theme="dark"]) .product-fact-item,
body:not([data-theme="dark"]) .product-review-card,
body:not([data-theme="dark"]) .product-related-card {
  background: rgba(16,24,40,.025);
  border-color: rgba(16,24,40,.08);
}

body:not([data-theme="dark"]) .product-fact-item:hover,
body:not([data-theme="dark"]) .product-review-card:hover,
body:not([data-theme="dark"]) .product-related-card:hover {
  background: rgba(16,24,40,.04);
}

body:not([data-theme="dark"]) .product-heading-row h1,
body:not([data-theme="dark"]) .product-fact-item strong,
body:not([data-theme="dark"]) .product-buy-top strong,
body:not([data-theme="dark"]) .product-review-meta strong,
body:not([data-theme="dark"]) .product-related-card strong {
  color: #171a22;
}

body:not([data-theme="dark"]) .product-fact-item span,
body:not([data-theme="dark"]) .product-buy-meta span {
  color: #6b7280;
}

body:not([data-theme="dark"]) .product-lead,
body:not([data-theme="dark"]) .product-review-meta span,
body:not([data-theme="dark"]) .product-related-card span,
body:not([data-theme="dark"]) .product-empty-state p,
body:not([data-theme="dark"]) .product-seller-card p,
body:not([data-theme="dark"]) .product-buy-top p {
  color: #5a6478;
}

body:not([data-theme="dark"]) .product-hero-stage {
  background: radial-gradient(circle at top, rgba(15,143,90,.07), transparent 50%),
              linear-gradient(180deg, #f3f7f5, #eef3f0);
  border: 1px solid rgba(15,143,90,.1);
}

body:not([data-theme="dark"]) .product-chip-row .soft-pill {
  background: rgba(15,143,90,.07);
  border-color: rgba(15,143,90,.16);
  color: #0f8f5a;
}

/* Orders — light mode */
body:not([data-theme="dark"]) .order-history-item,
body:not([data-theme="dark"]) .order-item-block {
  background: #fff;
  border-color: rgba(16,24,40,.08);
  box-shadow: 0 4px 16px rgba(17,24,39,.05);
}

body:not([data-theme="dark"]) .order-history-item:hover {
  box-shadow: 0 8px 28px rgba(17,24,39,.09);
  border-color: rgba(16,24,40,.13);
}

body:not([data-theme="dark"]) .order-history-line {
  border-top-color: rgba(16,24,40,.07);
}

body:not([data-theme="dark"]) .order-history-summary span,
body:not([data-theme="dark"]) .order-item-summary span,
body:not([data-theme="dark"]) .order-page-stat {
  background: rgba(16,24,40,.03);
  border-color: rgba(16,24,40,.08);
  color: #4a5568;
}

body:not([data-theme="dark"]) .order-history-title h2,
body:not([data-theme="dark"]) .order-item-top h2,
body:not([data-theme="dark"]) .order-page-header h1,
body:not([data-theme="dark"]) .order-section-head h3,
body:not([data-theme="dark"]) .order-page-stat strong,
body:not([data-theme="dark"]) .order-history-product strong,
body:not([data-theme="dark"]) .order-history-side strong {
  color: #171a22;
}

body:not([data-theme="dark"]) .order-history-title p,
body:not([data-theme="dark"]) .order-item-top p,
body:not([data-theme="dark"]) .order-page-header p,
body:not([data-theme="dark"]) .order-history-product span,
body:not([data-theme="dark"]) .order-history-side span,
body:not([data-theme="dark"]) .order-section-head span,
body:not([data-theme="dark"]) .order-page-stat span {
  color: #6b7280;
}

body:not([data-theme="dark"]) .order-inline-note,
body:not([data-theme="dark"]) .order-credential-row {
  background: rgba(16,24,40,.025);
  border-color: rgba(16,24,40,.07);
}

body:not([data-theme="dark"]) .order-item-section {
  border-top-color: rgba(16,24,40,.08);
}

body:not([data-theme="dark"]) .orders-filter-chip {
  border-color: rgba(16,24,40,.12);
  background: rgba(16,24,40,.025);
  color: #4a5568;
}

body:not([data-theme="dark"]) .orders-filter-chip.is-active,
body:not([data-theme="dark"]) .orders-filter-chip:hover {
  color: #0f6840;
  background: rgba(15,143,90,.08);
  border-color: rgba(15,143,90,.2);
}

/* Orders page stat grid — light mode */
body:not([data-theme="dark"]) .order-page-summary .order-page-stat {
  background: #fff;
  border-color: rgba(16,24,40,.08);
}

/* Checkout note — light mode */
body:not([data-theme="dark"]) .checkout-note {
  background: rgba(15,143,90,.06);
  border-color: rgba(15,143,90,.14);
}

body:not([data-theme="dark"]) .checkout-note span {
  color: #4a5568;
}

/* checkout-wallet-link — light mode */
body:not([data-theme="dark"]) .checkout-wallet-link {
  border-color: rgba(15,143,90,.3);
  color: #0f8f5a;
}

/* Status badge — light mode text adjustments */
body:not([data-theme="dark"]) .status-badge.pending {
  color: #b06b00;
}

body:not([data-theme="dark"]) .status-badge.progress {
  color: #1e56c4;
}

body:not([data-theme="dark"]) .status-badge.review {
  color: #6b30d4;
}

body:not([data-theme="dark"]) .status-badge.danger,
body:not([data-theme="dark"]) .status-badge.cancelled,
body:not([data-theme="dark"]) .status-badge.refunded {
  color: #b52020;
}

/* Improved focus rings for accessibility */
.money-field:focus-within,
.soft-search:focus-within {
  outline: 2px solid rgba(15,143,90,.4);
  outline-offset: 0;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(15,143,90,.45);
  outline-offset: 2px;
}

button:focus-visible,
a:focus-visible {
  outline: 2px solid rgba(15,143,90,.55);
  outline-offset: 3px;
  border-radius: 6px;
}

/* Light mode — detail-purchase-card, summary-stack, qty-stepper */
body:not([data-theme="dark"]) .detail-purchase-card {
  background: #fff;
  border-color: rgba(16,24,40,.08);
  box-shadow: 0 4px 18px rgba(17,24,39,.06);
}

body:not([data-theme="dark"]) .summary-stack div,
body:not([data-theme="dark"]) .purchase-row {
  border-bottom-color: rgba(16,24,40,.07);
}

body:not([data-theme="dark"]) .summary-stack span,
body:not([data-theme="dark"]) .purchase-row span {
  color: #6b7280;
}

body:not([data-theme="dark"]) .summary-stack strong,
body:not([data-theme="dark"]) .purchase-row strong,
body:not([data-theme="dark"]) .detail-purchase-card h2 {
  color: #171a22;
}

body:not([data-theme="dark"]) .qty-stepper {
  background: rgba(16,24,40,.03);
  border-color: rgba(16,24,40,.1);
}

/* Light mode — checkout-note for cart summary card */
body:not([data-theme="dark"]) .detail-purchase-card .checkout-note {
  background: rgba(15,143,90,.05);
  border-color: rgba(15,143,90,.12);
}

/* Light mode — listing items (notifications, support tickets) */
body:not([data-theme="dark"]) .listing-item {
  background: #fff;
  border-color: rgba(16,24,40,.08);
}

body:not([data-theme="dark"]) .listing-copy strong {
  color: #171a22;
}

body:not([data-theme="dark"]) .listing-copy span {
  color: #6b7280;
}

/* Light mode — subshell-panel and wallet-toolbar headings */
body:not([data-theme="dark"]) .subshell-panel,
body:not([data-theme="dark"]) .wallet-toolbar {
  background: rgba(255,255,255,.78);
  border-color: rgba(16,24,40,.08);
}

/* Light mode — section-head span (count label) */
body:not([data-theme="dark"]) .section-head span {
  color: #7a7f8e;
}

/* Light mode — subshell-empty */
body:not([data-theme="dark"]) .subshell-empty {
  background: rgba(255,255,255,.8);
  border-color: rgba(16,24,40,.1);
}

/* Dark mode — product-trust-chip needs visible green text */
body[data-theme="dark"] .product-trust-chip {
  background: rgba(15,143,90,.14);
  color: #7ce4af;
}

/* Light mode — product-trust-chip on marketplace cards */
body:not([data-theme="dark"]) .product-trust-chip {
  background: rgba(15,143,90,.07);
  color: #0a7047;
}

/* Light mode — orders-history-list and order items */
body:not([data-theme="dark"]) .orders-history-list {
  /* correct gap is already set */
}

/* Light mode — order-history-notes soft-pills */
body:not([data-theme="dark"]) .order-history-notes .soft-pill {
  background: rgba(16,24,40,.04);
  border-color: rgba(16,24,40,.1);
  color: #4a5568;
}

/* Light mode — checkout-method payment cards */
body:not([data-theme="dark"]) .checkout-method {
  background: #fff;
  border-color: rgba(16,24,40,.1);
}

body:not([data-theme="dark"]) .checkout-method span,
body:not([data-theme="dark"]) .checkout-method em {
  color: #6b7280;
}

body:not([data-theme="dark"]) .checkout-method.is-active {
  border-color: rgba(15,143,90,.35);
  background: rgba(15,143,90,.05);
}

/* Light mode — order-item-block (order-show page) */
body:not([data-theme="dark"]) .order-item-block {
  background: #fff;
  border-color: rgba(16,24,40,.08);
}

/* Light mode — seller-step and progress forms */
body:not([data-theme="dark"]) .seller-step {
  background: #fff;
  border-color: rgba(16,24,40,.08);
}

/* Dark mode — checkout-method hover */
body[data-theme="dark"] .checkout-method:hover {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.12);
}

/* ==========================================================================
   Mobile — Additional Responsive Polish
   ========================================================================== */

@media (max-width: 760px) {
  /* Checkout wallet link full-width on mobile */
  .checkout-wallet-link {
    width: 100%;
  }

  /* Order page summary: single column on small screens */
  .order-page-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Checkout method cards: reduce padding */
  .checkout-method {
    padding: 10px 12px;
    gap: 12px;
  }

  .checkout-method strong {
    font-size: .84rem;
  }

  /* Product fact list on mobile: single column layout */
  .product-fact-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Order history footer: allow wrap for button and pills */
  .order-history-footer {
    flex-wrap: wrap;
    gap: 12px;
  }

  /* Order history link: full-width on smallest screens */
  .order-history-link {
    flex: 1 1 auto;
  }

  /* Section head on mobile: tighter margin */
  .section-head {
    margin-bottom: 14px;
  }

  /* Detail-panel h2 smaller on mobile */
  .detail-panel h2,
  .table-shell h2 {
    font-size: 1.02rem;
  }
}

@media (max-width: 480px) {
  /* Stack order page summary to single column on very small */
  .order-page-summary {
    grid-template-columns: 1fr;
  }

  /* Detail cta column: ensure button fills width */
  .detail-cta-column > * {
    width: 100%;
  }

  /* Product fact list: full width items */
  .product-fact-list {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   COMPREHENSIVE POLISH PASS — UI/UX Refinements (Phase 2)
   ========================================================================== */

/* ── Danger / destructive button ── */
.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 14px;
  background: transparent;
  color: #c9302c;
  border: 1px solid rgba(201, 48, 44, .28);
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms var(--ease-out);
}

.btn-danger:hover,
.btn-danger:focus-visible {
  background: rgba(201, 48, 44, .06);
  border-color: rgba(201, 48, 44, .46);
  transform: translateY(-1px);
}

.btn-danger:active {
  transform: scale(0.97);
}

body[data-theme="dark"] .btn-danger {
  color: #fc8080;
  border-color: rgba(252, 128, 128, .22);
}

body[data-theme="dark"] .btn-danger:hover {
  background: rgba(252, 128, 128, .08);
  border-color: rgba(252, 128, 128, .34);
}

/* ── Credential copy button ── */
.credential-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(15, 143, 90, .2);
  background: transparent;
  color: var(--green);
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 140ms ease, transform 140ms ease;
}

.credential-copy-btn svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.credential-copy-btn:hover,
.credential-copy-btn.is-copied {
  background: rgba(15, 143, 90, .08);
  transform: translateY(-1px);
}

.credential-copy-btn.is-copied {
  color: #0f8f5a;
}

body[data-theme="dark"] .credential-copy-btn {
  border-color: rgba(15, 143, 90, .22);
  color: #7ce4af;
}

body[data-theme="dark"] .credential-copy-btn.is-copied {
  color: #7ce4af;
}

.order-credential-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(18, 24, 34, .04);
  border: 1px solid rgba(18, 24, 34, .06);
}

body[data-theme="dark"] .order-credential-row {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .07);
}

.order-credential-row code {
  display: block;
  white-space: pre-wrap;
  word-break: break-all;
  padding: 10px 12px;
  border-radius: 12px;
  background: #121821;
  color: #eff5ff;
  font-size: .84rem;
  line-height: 1.6;
  flex: 1;
  min-width: 0;
}

.order-credential-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

/* ── Ledger footer ── */
.ledger-footer {
  padding: 14px 16px;
  display: flex;
  justify-content: center;
  gap: 12px;
  border-top: 1px solid rgba(128, 128, 128, .2);
}

body[data-theme="dark"] .ledger-footer {
  border-top-color: rgba(255, 255, 255, .07);
}

/* ── Platform alert animations ── */
.platform-alert {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 0;
  padding: 14px 18px;
  border-radius: 18px;
  font-size: .9rem;
  font-weight: 600;
  animation: alert-slide-in 280ms var(--ease-out);
}

@keyframes alert-slide-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.platform-alert svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.platform-alert-success {
  background: rgba(15, 143, 90, .1);
  border: 1px solid rgba(15, 143, 90, .2);
  color: #0f8f5a;
}

.platform-alert-error {
  background: rgba(201, 48, 44, .08);
  border: 1px solid rgba(201, 48, 44, .18);
  color: #b83030;
}

body[data-theme="dark"] .platform-alert-success {
  background: rgba(15, 143, 90, .12);
  border-color: rgba(15, 143, 90, .2);
  color: #7ce4af;
}

body[data-theme="dark"] .platform-alert-error {
  background: rgba(252, 128, 128, .08);
  border-color: rgba(252, 128, 128, .16);
  color: #fc8080;
}

/* ── Profile menu overlay backdrop for closing ── */
.profile-menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 119;
  display: none;
}

.profile-menu-backdrop.is-visible {
  display: block;
}

/* ── Support sidebar mobile toggle ── */
.support-sidebar-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 14px;
  background: rgba(15, 143, 90, .08);
  border: 1px solid rgba(15, 143, 90, .16);
  color: var(--green);
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 14px;
}

.support-sidebar-toggle svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ── Seller listings table — mobile horizontal scroll ── */
.seller-listings-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  border: 1px solid rgba(16, 24, 40, .08);
}

body[data-theme="dark"] .seller-listings-table-wrap {
  border-color: rgba(255, 255, 255, .06);
}

.seller-listings-table {
  min-width: 760px;
  border: 0;
  border-radius: 0;
}

/* ── Account identity card ── */
.account-identity-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 22px;
  margin-bottom: 14px;
  border-radius: 22px;
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: var(--shadow);
}

body[data-theme="dark"] .account-identity-card {
  border-color: rgba(255, 255, 255, .06);
}

.account-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.account-avatar-badge {
  position: absolute;
  bottom: -4px;
  right: -4px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: #fff;
  border: 2px solid rgba(16, 24, 40, .06);
  color: var(--muted);
  cursor: default;
}

body[data-theme="dark"] .account-avatar-badge {
  background: rgba(30, 36, 50, .9);
  border-color: rgba(255, 255, 255, .1);
}

.account-avatar-badge svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-identity-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.account-identity-copy strong {
  font-size: 1.15rem;
  letter-spacing: -.02em;
}

.account-identity-copy > span {
  display: block;
  color: var(--muted);
  font-size: .86rem;
}

.account-ref-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.account-ref-label {
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}

.account-ref-code {
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(15, 143, 90, .08);
  color: var(--green);
  font-family: monospace;
  font-size: .9rem;
  letter-spacing: .06em;
  border: 1px solid rgba(15, 143, 90, .14);
}

body[data-theme="dark"] .account-ref-code {
  background: rgba(15, 143, 90, .1);
  color: #7ce4af;
  border-color: rgba(15, 143, 90, .18);
}

.account-copy-btn {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: transparent;
  border: 1px solid rgba(15, 143, 90, .18);
  color: var(--green);
  cursor: pointer;
  transition: background-color 140ms ease, transform 140ms ease;
}

.account-copy-btn svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.account-copy-btn:hover,
.account-copy-btn.is-copied {
  background: rgba(15, 143, 90, .08);
  transform: translateY(-1px);
}

body[data-theme="dark"] .account-copy-btn {
  color: #7ce4af;
  border-color: rgba(15, 143, 90, .2);
}

/* ── Seller summary grid — 3-col on medium, 2-col on mobile ── */
@media (max-width: 980px) {
  .seller-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .seller-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ── Checkout: payment method toggle via JS ── */
.checkout-method-list {
  display: grid;
  gap: 10px;
}

.checkout-method {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .6);
  border: 1px solid rgba(16, 24, 40, .1);
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.checkout-method div {
  flex: 1;
  min-width: 0;
}

.checkout-method strong {
  display: block;
  font-size: .92rem;
  margin-bottom: 3px;
}

.checkout-method span {
  display: block;
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.5;
}

.checkout-method em {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(16, 24, 40, .05);
  color: var(--muted);
  font-style: normal;
  font-size: .74rem;
  font-weight: 700;
  white-space: nowrap;
}

.checkout-method.is-active {
  border-color: rgba(15, 143, 90, .36);
  background: rgba(15, 143, 90, .05);
  box-shadow: 0 0 0 3px rgba(15, 143, 90, .08);
}

.checkout-method.is-active em {
  background: rgba(15, 143, 90, .1);
  color: var(--green);
}

body[data-theme="dark"] .checkout-method {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .09);
}

body[data-theme="dark"] .checkout-method.is-active {
  border-color: rgba(15, 143, 90, .32);
  background: rgba(15, 143, 90, .08);
}

/* ── Checkout note ── */
.checkout-note {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(15, 143, 90, .06);
  border: 1px solid rgba(15, 143, 90, .14);
  font-size: .84rem;
  line-height: 1.6;
}

.checkout-note strong {
  display: block;
  margin-bottom: 4px;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--green);
}

.checkout-note span {
  color: var(--muted);
}

/* ── Checkout wallet link ── */
.checkout-wallet-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 14px;
  background: transparent;
  border: 1px solid rgba(15, 143, 90, .28);
  color: var(--green);
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.checkout-wallet-link:hover {
  background: rgba(15, 143, 90, .06);
  border-color: rgba(15, 143, 90, .4);
}

body[data-theme="dark"] .checkout-wallet-link {
  color: #7ce4af;
  border-color: rgba(15, 143, 90, .24);
}

/* ── Detail CTA column / row ── */
.detail-cta-column {
  display: grid;
  gap: 10px;
}

.detail-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

/* ── Order inline note ── */
.order-inline-note {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(16, 24, 40, .03);
  border: 1px solid rgba(16, 24, 40, .07);
}

.order-inline-note strong {
  display: block;
  font-size: .82rem;
  margin-bottom: 4px;
}

body[data-theme="dark"] .order-inline-note {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .07);
}

/* ── Order inline form ── */
.order-inline-form {
  margin-top: 14px;
}

/* ── Summary stack ── */
.summary-stack {
  border-radius: 14px;
  border: 1px solid rgba(16, 24, 40, .08);
  overflow: hidden;
}

.summary-stack div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid rgba(16, 24, 40, .07);
  font-size: .9rem;
}

.summary-stack div:last-child {
  border-bottom: 0;
}

.summary-stack div span {
  color: var(--muted);
}

.summary-total {
  background: rgba(15, 143, 90, .04);
}

.summary-total span,
.summary-total strong {
  font-weight: 800 !important;
}

body[data-theme="dark"] .summary-stack {
  border-color: rgba(255, 255, 255, .06);
}

body[data-theme="dark"] .summary-stack div {
  border-bottom-color: rgba(255, 255, 255, .06);
}

body[data-theme="dark"] .summary-stack div span {
  color: #9aa2b1;
}

body[data-theme="dark"] .summary-total {
  background: rgba(15, 143, 90, .06);
}

/* ── Purchase card ── */
.detail-purchase-card {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  box-shadow: 0 20px 48px rgba(5, 10, 18, .18);
  display: grid;
  gap: 14px;
}

body:not([data-theme="dark"]) .detail-purchase-card {
  background: #fff;
  border-color: rgba(16, 24, 40, .08);
  box-shadow: 0 4px 18px rgba(17, 24, 39, .06);
}

.detail-purchase-card h2 {
  margin: 0;
  font-size: 1.05rem;
  letter-spacing: -.02em;
}

/* ── Seller panel toolbar ── */
.seller-panel-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.seller-panel-toolbar > div h2 {
  margin: 0 0 4px;
  font-size: 1rem;
  letter-spacing: -.01em;
}

.seller-panel-toolbar > div p {
  margin: 0;
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.55;
}

@media (max-width: 640px) {
  .seller-panel-toolbar {
    flex-direction: column;
  }

  .seller-panel-toolbar .primary-cta,
  .seller-panel-toolbar .cart-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ── Notification icon wrap size ── */
.notification-icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: 13px;
}

/* ── Subshell panel heading consistency ── */
.subshell-panel .section-head h2,
.subshell-panel h2 {
  font-size: 1rem;
  letter-spacing: -.01em;
}

/* ── Support page ── */
.support-frame {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.support-side {
  border-radius: 20px;
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: var(--shadow);
  overflow: hidden;
  position: sticky;
  top: 108px;
}

body[data-theme="dark"] .support-side {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255, 255, 255, .06);
}

.support-side-top {
  padding: 16px;
  border-bottom: 1px solid rgba(16, 24, 40, .08);
}

body[data-theme="dark"] .support-side-top {
  border-bottom-color: rgba(255, 255, 255, .07);
}

.support-side-top h2 {
  margin: 0 0 2px;
  font-size: 1rem;
  letter-spacing: -.01em;
}

.support-side-top p {
  margin: 0 0 12px;
  font-size: .8rem;
  color: var(--muted);
}

.support-ticket-list {
  padding: 10px;
  max-height: min(50vh, 460px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(104, 118, 145, .38) transparent;
  gap: 6px !important;
}

.support-ticket-list::-webkit-scrollbar {
  width: 5px;
}

.support-ticket-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(104, 118, 145, .34);
}

.support-main {
  border-radius: 20px;
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: var(--shadow);
  padding: 20px;
  display: grid;
  gap: 14px;
  align-content: start;
}

body[data-theme="dark"] .support-main {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255, 255, 255, .06);
}

.support-thread-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(16, 24, 40, .08);
}

body[data-theme="dark"] .support-thread-head {
  border-bottom-color: rgba(255, 255, 255, .07);
}

.support-thread-head h2 {
  margin: 0 0 4px;
  font-size: 1.05rem;
  letter-spacing: -.02em;
}

.support-thread-head p {
  margin: 0;
  font-size: .8rem;
  color: var(--muted);
}

.support-thread-list {
  display: grid;
  gap: 10px;
}

.support-empty {
  padding: 24px 16px;
  text-align: center;
  display: grid;
  gap: 8px;
  justify-items: center;
}

.support-empty-spot {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: rgba(15, 143, 90, .07);
  color: var(--green);
}

.support-empty-title {
  font-size: .9rem;
}

.ticket-spot {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(15, 143, 90, .08);
  color: var(--green);
  justify-self: center;
}

.ticket-spot svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.support-main:not(.has-thread) {
  text-align: center;
  justify-items: center;
  padding: 32px 20px;
}

.support-main:not(.has-thread) h2 {
  margin: 0;
  font-size: 1.15rem;
}

.support-main:not(.has-thread) > p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.65;
  max-width: 44ch;
}

@media (max-width: 900px) {
  .support-frame {
    grid-template-columns: 1fr;
  }

  .support-side {
    position: static;
  }

  .support-ticket-list {
    max-height: 240px;
  }

  .support-sidebar-toggle {
    display: inline-flex;
  }

  .support-side.is-collapsed .support-ticket-list {
    display: none;
  }
}

/* ── Orders page filter chips ── */
.orders-filter-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 16px;
}

.orders-filter-row::-webkit-scrollbar {
  display: none;
}

.orders-filter-chip {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(16, 24, 40, .1);
  background: rgba(255, 255, 255, .7);
  color: #4a5568;
  font-size: .86rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
  white-space: nowrap;
}

.orders-filter-chip:hover {
  color: var(--green);
  background: rgba(15, 143, 90, .07);
  border-color: rgba(15, 143, 90, .18);
}

.orders-filter-chip.is-active {
  color: var(--green);
  background: rgba(15, 143, 90, .1);
  border-color: rgba(15, 143, 90, .22);
}

body[data-theme="dark"] .orders-filter-chip {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .1);
  color: #b0bbd1;
}

body[data-theme="dark"] .orders-filter-chip:hover,
body[data-theme="dark"] .orders-filter-chip.is-active {
  color: #7ce4af;
  background: rgba(15, 143, 90, .1);
  border-color: rgba(15, 143, 90, .22);
}

/* ── Price stack ── */
.price-stack {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.price-stack strong {
  font-size: 1.6rem;
  letter-spacing: -.04em;
}

.price-stack span {
  font-size: .76rem;
  color: #8f9bb0;
  font-weight: 600;
}

/* ── Plain link ── */
.plain-link {
  font-size: .86rem;
  font-weight: 700;
  color: var(--green);
  text-decoration: none;
  transition: opacity 150ms ease;
}

.plain-link:hover {
  opacity: .76;
}

body[data-theme="dark"] .plain-link { color: #7ce4af; }

/* ── Seller listings table ── */
.seller-listings-head,
.seller-listing-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  font-size: .86rem;
}

.seller-listings-head {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  background: rgba(16, 24, 40, .025);
  border-radius: 12px 12px 0 0;
}

body[data-theme="dark"] .seller-listings-head {
  background: rgba(255, 255, 255, .025);
}

.seller-listing-row {
  border-top: 1px solid rgba(16, 24, 40, .07);
}

body[data-theme="dark"] .seller-listing-row {
  border-top-color: rgba(255, 255, 255, .06);
}

.seller-listing-row:hover {
  background: rgba(15, 143, 90, .025);
}

.seller-listing-product {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.seller-listing-product > div {
  min-width: 0;
}

.seller-listing-product strong {
  display: block;
  font-size: .88rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.seller-listing-product span {
  display: block;
  font-size: .76rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.seller-inline-note {
  display: block;
  font-size: .74rem;
  color: var(--muted);
  margin-top: 2px;
}

/* ── Seller-form-grid ── */
.seller-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.seller-field-span {
  grid-column: 1 / -1;
}

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

/* ── Mobile dock: active indicator ── */
.dock-link.is-active {
  background: rgba(15, 143, 90, .1);
  border-radius: 18px;
}

/* ── Floating support: hide on mobile ── */
@media (max-width: 900px) {
  .floating-support {
    display: none;
  }
}

/* ── Filter bar: search full-width on mobile ── */
@media (max-width: 760px) {
  .filter-bar {
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px;
  }

  .search-field {
    flex: 1 1 100%;
    order: -1;
  }

  .filter-btn {
    flex: 1;
  }

  .select-pill,
  .mini-pill {
    flex: 1;
    min-width: auto;
    justify-content: center;
    font-size: .82rem;
    padding: 0 10px;
  }

  .reset-btn {
    flex-shrink: 0;
  }
}

/* ── Cart shell layout ── */
.cart-shell .section-head h2 {
  margin: 0;
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .62fr);
  gap: 16px;
  align-items: start;
  margin-top: 14px;
}

.checkout-main {
  display: grid;
  gap: 14px;
}

.checkout-side {
  position: sticky;
  top: 108px;
}

@media (max-width: 900px) {
  .checkout-layout {
    grid-template-columns: 1fr;
  }

  .checkout-side {
    position: static;
  }
}

.checkout-summary-card h2 {
  margin: 0 0 12px;
  font-size: 1rem;
  letter-spacing: -.01em;
}

/* ── Checkout item ── */
.checkout-item {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 14px 0;
  border-top: 1px solid rgba(16, 24, 40, .07);
}

.checkout-item:first-child {
  border-top: 0;
  padding-top: 0;
}

body[data-theme="dark"] .checkout-item {
  border-top-color: rgba(255, 255, 255, .06);
}

.checkout-item-copy strong {
  display: block;
  font-size: .94rem;
  margin-bottom: 4px;
}

.checkout-item-copy span,
.checkout-item-copy small {
  display: block;
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.55;
}

.checkout-item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.checkout-item-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 6px;
  background: rgba(16, 24, 40, .04);
  color: #5a6478;
  font-size: .72rem;
  font-weight: 700;
}

body[data-theme="dark"] .checkout-item-tags span {
  background: rgba(255, 255, 255, .05);
  color: #8a96aa;
}

.checkout-item-meta {
  text-align: right;
  display: grid;
  gap: 4px;
}

.checkout-item-meta strong {
  font-size: .98rem;
  letter-spacing: -.02em;
}

.checkout-item-meta span {
  font-size: .78rem;
  color: var(--muted);
}

/* ── Cart empty state ── */
.cart-empty {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 52px 24px 44px;
  text-align: center;
}

.cart-empty .empty-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: rgba(15, 143, 90, .08);
  color: var(--green);
}

.cart-empty .empty-icon svg {
  width: 28px;
  height: 28px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cart-empty h2 {
  margin: 4px 0 0;
  font-size: 1.3rem;
  letter-spacing: -.02em;
}

.cart-empty p {
  margin: 0;
  color: var(--muted);
  font-size: .88rem;
  max-width: 36ch;
  line-height: 1.65;
}

/* ── primary-cta full-width variant ── */
.primary-cta.full-width {
  width: 100%;
  justify-content: center;
}

/* ── Seller summary card label ── */
.seller-summary-label {
  color: var(--muted) !important;
}

.seller-summary-card > strong {
  display: block;
  margin-top: 4px;
  font-size: 1.5rem;
  letter-spacing: -.04em;
}

.seller-summary-card > p {
  margin: 4px 0 0;
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.5;
}

.seller-summary-card.accent .seller-summary-label,
.seller-summary-card.accent > p {
  color: rgba(255, 255, 255, .78) !important;
}

.seller-summary-card.accent > strong {
  color: white;
}

/* ── Order history items ── */
.orders-history-list {
  display: grid;
  gap: 12px;
}

.order-history-item {
  padding: 20px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  box-shadow: 0 16px 40px rgba(5, 10, 18, .12);
  display: grid;
  gap: 12px;
}

.order-history-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.order-history-title h2 {
  margin: 0 0 3px;
  font-size: 1.02rem;
  letter-spacing: -.02em;
}

.order-history-title p {
  margin: 0;
  font-size: .8rem;
  color: var(--muted);
}

.order-history-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.order-history-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .06);
  font-size: .78rem;
  font-weight: 700;
  color: var(--muted);
}

.order-history-lines {
  display: grid;
  gap: 0;
}

.order-history-line {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.order-history-product strong {
  display: block;
  font-size: .9rem;
  margin-bottom: 2px;
}

.order-history-product span {
  font-size: .78rem;
  color: var(--muted);
}

.order-history-side {
  text-align: right;
  display: grid;
  gap: 3px;
}

.order-history-side strong {
  font-size: .92rem;
  letter-spacing: -.02em;
}

.order-history-side span {
  font-size: .76rem;
  color: var(--muted);
}

.order-history-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.order-history-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* ── Order page header ── */
.order-page-shell {
  display: grid;
  gap: 14px;
}

.order-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.order-page-header h1 {
  margin: 0 0 4px;
  font-size: 1.4rem;
  letter-spacing: -.03em;
}

.order-page-header p {
  margin: 0;
  font-size: .84rem;
  color: var(--muted);
}

.order-page-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.order-page-stat {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
}

.order-page-stat span {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}

.order-page-stat strong {
  font-size: 1.1rem;
  letter-spacing: -.03em;
}

.order-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ── Order item blocks ── */
.order-items-list {
  display: grid;
  gap: 14px;
}

.order-item-block {
  padding: 20px 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .06);
  box-shadow: 0 16px 40px rgba(5, 10, 18, .12);
  display: grid;
  gap: 14px;
}

.order-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.order-item-top h2 {
  margin: 0 0 3px;
  font-size: 1.05rem;
  letter-spacing: -.02em;
}

.order-item-top p {
  margin: 0;
  font-size: .82rem;
  color: var(--muted);
}

.order-item-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.order-item-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .06);
  font-size: .78rem;
  font-weight: 600;
  color: var(--muted);
}

.order-item-section {
  display: grid;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.order-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.order-section-head h3 {
  margin: 0;
  font-size: .94rem;
  letter-spacing: -.01em;
}

.order-section-head span {
  font-size: .78rem;
  color: var(--muted);
}

/* ── Order thread ── */
.order-thread-list,
.thread-list {
  display: grid;
  gap: 10px;
}

/* ── Seller order show page ── */
.order-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .55fr);
  gap: 16px;
  align-items: start;
  margin-top: 14px;
}

.order-detail-main {
  display: grid;
  gap: 14px;
  flex: 1;
}

.order-detail-side {
  position: sticky;
  top: 108px;
}

@media (max-width: 900px) {
  .order-detail-layout {
    grid-template-columns: 1fr;
  }

  .order-detail-side {
    position: static;
  }
}

/* ── Subshell-header on orders page ── */
.orders-page-shell .subshell-header {
  padding-bottom: 12px;
}

.orders-header {
  padding-bottom: 0;
}

/* ── Platform alert ── */
body[data-theme="dark"] .platform-alert-success {
  background: rgba(15, 143, 90, .12);
  border-color: rgba(15, 143, 90, .2);
  color: #7ce4af;
}

body[data-theme="dark"] .platform-alert-error {
  background: rgba(252, 128, 128, .08);
  border-color: rgba(252, 128, 128, .16);
  color: #fc8080;
}

/* ── Cart populated grid ── */
.cart-populated {
  margin-top: 14px;
}

/* ── Eyebrow ── */
.eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(15, 143, 90, .08);
  color: var(--green);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .09em;
}

body[data-theme="dark"] .eyebrow { color: #7ce4af; background: rgba(15, 143, 90, .1); }

/* ── Seller profile mini ── */
.seller-profile-mini {
  display: flex;
  align-items: center;
  gap: 14px;
}

.seller-avatar {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0f8f5a, #1a5cdf);
  color: white;
  font-size: 1.15rem;
  font-weight: 800;
  flex-shrink: 0;
}

/* ── SC payment styles (seller onboarding) ── */
.sc-payment-title {
  margin: 0 0 14px;
  font-size: 1.1rem;
  letter-spacing: -.02em;
}

.sc-method-list {
  display: grid;
  gap: 10px;
}

.sc-method-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .6);
  border: 1px solid rgba(16, 24, 40, .09);
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

body[data-theme="dark"] .sc-method-item {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .06);
}

.sc-method-item:hover {
  border-color: rgba(15, 143, 90, .2);
}

.sc-method-item.is-active {
  border-color: rgba(15, 143, 90, .36);
  background: rgba(15, 143, 90, .05);
  box-shadow: 0 0 0 3px rgba(15, 143, 90, .07);
}

body[data-theme="dark"] .sc-method-item.is-active {
  background: rgba(15, 143, 90, .08);
  border-color: rgba(15, 143, 90, .3);
}

.sc-method-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.sc-method-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(15, 143, 90, .08);
  color: var(--green);
  flex-shrink: 0;
}

body[data-theme="dark"] .sc-method-icon { background: rgba(15, 143, 90, .1); color: #7ce4af; }

.sc-method-left strong {
  display: block;
  font-size: .9rem;
  margin-bottom: 2px;
}

.sc-method-left span {
  display: block;
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.45;
}

.sc-radio {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(16, 24, 40, .2);
  flex-shrink: 0;
  position: relative;
  transition: border-color 160ms ease;
}

.sc-method-item.is-active .sc-radio {
  border-color: var(--green);
}

.sc-method-item.is-active .sc-radio::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--green);
}

body[data-theme="dark"] .sc-radio { border-color: rgba(255, 255, 255, .2); }
body[data-theme="dark"] .sc-method-item.is-active .sc-radio { border-color: #7ce4af; }
body[data-theme="dark"] .sc-method-item.is-active .sc-radio::after { background: #7ce4af; }

.sc-sub-block {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(16, 24, 40, .025);
  border: 1px solid rgba(16, 24, 40, .06);
  margin-top: -4px;
}

body[data-theme="dark"] .sc-sub-block {
  background: rgba(255, 255, 255, .02);
  border-color: rgba(255, 255, 255, .06);
}

.sc-sub-label {
  margin: 0 0 10px;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}

.sc-currency-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sc-curr-btn {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .8);
  border: 1px solid rgba(16, 24, 40, .1);
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 150ms ease, background-color 150ms ease;
}

body[data-theme="dark"] .sc-curr-btn {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .1);
  color: #d0d8e6;
}

.sc-curr-btn.is-active {
  border-color: rgba(15, 143, 90, .36);
  background: rgba(15, 143, 90, .08);
  color: var(--green);
}

body[data-theme="dark"] .sc-curr-btn.is-active { color: #7ce4af; }

.sc-amount-note {
  margin: 10px 0 0;
  font-size: .82rem;
  color: var(--muted);
}

.sc-select-wrap {
  position: relative;
}

.sc-select {
  width: 100%;
  min-height: 42px;
  padding: 0 36px 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(16, 24, 40, .1);
  background: rgba(255, 255, 255, .8);
  color: var(--text);
  font: inherit;
  font-size: .88rem;
  appearance: none;
  -webkit-appearance: none;
}

body[data-theme="dark"] .sc-select {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .1);
  color: #d0d8e6;
}

.sc-select-caret {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 16px;
  height: 16px;
  stroke: var(--muted);
  fill: none;
  stroke-width: 2;
}

.sc-footer {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
}

.sc-pay-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  font-size: .96rem;
  font-weight: 800;
  border: 0;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(15, 143, 90, .2);
  transition: transform 160ms var(--ease-out), box-shadow 160ms ease;
}

.sc-pay-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(15, 143, 90, .25);
}

.sc-pay-btn:active {
  transform: scale(0.97);
}

/* ── Modal in animation ── */
@keyframes modal-in {
  from { opacity: 0; transform: scale(.97) translateY(6px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.subshell-modal {
  animation: modal-in 200ms var(--ease-out);
}

/* ── Onboarding info modal ── */
.ad-overlay {
  position: fixed;
  inset: 0;
  z-index: 150;
  background: rgba(5, 8, 14, .5);
  backdrop-filter: blur(6px);
  display: none;
}

.ad-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 160;
  transform: translate(-50%, -50%);
  width: min(440px, calc(100% - 32px));
  padding: 28px 24px 24px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 32px 80px rgba(10, 14, 24, .22);
  display: none;
  animation: modal-in 240ms var(--ease-out);
}

body[data-theme="dark"] .ad-modal {
  background: #131820;
  border: 1px solid rgba(255, 255, 255, .1);
}

.ad-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(16, 24, 40, .05);
  border: 0;
  cursor: pointer;
  color: var(--muted);
}

.ad-close svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.ad-modal h3 {
  margin: 0 0 14px;
  font-size: 1.1rem;
  letter-spacing: -.02em;
}

.oi-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.oi-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .88rem;
  line-height: 1.55;
}

.oi-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  margin-top: 6px;
  flex-shrink: 0;
}

.oi-note {
  margin: 14px 0 0;
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.6;
  padding-top: 14px;
  border-top: 1px solid rgba(16, 24, 40, .08);
}

body[data-theme="dark"] .oi-note { border-top-color: rgba(255, 255, 255, .07); }

.info-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid rgba(16, 24, 40, .1);
  color: var(--muted);
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background-color 150ms ease;
}

.info-trigger svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.info-trigger:hover {
  border-color: rgba(15, 143, 90, .2);
  color: var(--green);
  background: rgba(15, 143, 90, .04);
}

body[data-theme="dark"] .info-trigger {
  border-color: rgba(255, 255, 255, .1);
  color: #9aa2b1;
}

body[data-theme="dark"] .info-trigger:hover {
  color: #7ce4af;
  border-color: rgba(15, 143, 90, .2);
}

/* ── Seller launchpad (first listing CTA) ── */
.seller-launchpad {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(15, 143, 90, .1), rgba(18, 24, 34, .04));
  border: 1px solid rgba(15, 143, 90, .14);
}

.seller-launchpad .eyebrow {
  margin-bottom: 6px;
}

.seller-launchpad h2 {
  margin: 0 0 6px;
  font-size: 1.15rem;
  letter-spacing: -.03em;
}

.seller-launchpad p {
  margin: 0;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.6;
}

@media (max-width: 640px) {
  .seller-launchpad {
    flex-direction: column;
    gap: 14px;
  }

  .seller-launchpad .empty-state-actions {
    width: 100%;
    flex-direction: column;
  }
}

/* ── Seller step rail header ── */
.seller-step-rail-header {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: var(--muted);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(16, 24, 40, .08);
}

body[data-theme="dark"] .seller-step-rail-header {
  border-bottom-color: rgba(255, 255, 255, .07);
}

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

/* ── Wallet overview grid ── */
.wallet-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(200px, .6fr);
  gap: 14px;
  margin-bottom: 16px;
}

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

  .wallet-stats-col {
    flex-direction: row;
  }
}

/* ── Money textarea ── */
.money-field-textarea {
  height: auto !important;
  align-items: flex-start !important;
  padding: 12px 14px !important;
}

.money-textarea {
  width: 100%;
  border: 0;
  background: transparent;
  outline: none;
  resize: vertical;
  font: inherit;
  font-size: .9rem;
  color: var(--text);
  min-height: 80px;
  line-height: 1.6;
}

body[data-theme="dark"] .money-textarea {
  color: #f0f4fb;
}

.money-textarea::placeholder {
  color: var(--muted);
}

/* ── Seller select wrapper ── */
.seller-select-wrap {
  position: relative;
}

.seller-select {
  width: 100%;
  min-height: 42px;
  padding: 0 32px 0 12px;
  border-radius: 14px;
  border: 1px solid #d9deea;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: .9rem;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
}

body[data-theme="dark"] .seller-select {
  border-color: rgba(255, 255, 255, .12);
  color: #f0f4fb;
  background: rgba(255, 255, 255, .03);
}

.seller-select-wrap::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid var(--muted);
  pointer-events: none;
}

/* ── Subshell grid ── */
.subshell-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
  gap: 14px;
  margin-top: 14px;
}

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

/* ── Subshell panel ── */
.subshell-panel {
  margin-top: 14px;
  padding: 16px 18px;
  border-radius: 20px;
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: var(--shadow);
}

body[data-theme="dark"] .subshell-panel {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255, 255, 255, .06);
}

/* ── Promo row ── */
.promo-row {
  display: flex;
  gap: 10px;
  align-items: stretch;
}

.promo-input {
  flex: 1;
}

.promo-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 14px;
  background: rgba(16, 24, 40, .06);
  border: 1px solid rgba(16, 24, 40, .12);
  color: var(--text);
  font: inherit;
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 150ms ease, border-color 150ms ease;
}

.promo-apply-btn:hover {
  background: rgba(15, 143, 90, .08);
  border-color: rgba(15, 143, 90, .2);
  color: var(--green);
}

/* ── Wallet card premium ── */
.wallet-card-premium {
  border-radius: 28px;
  background: linear-gradient(135deg, #0f8f5a, #127450 50%, #4266ff 100%);
  box-shadow: 0 24px 48px rgba(15, 143, 90, .2);
  overflow: hidden;
}

.wallet-card-inner {
  padding: 22px 24px;
  position: relative;
}

.wallet-card-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, .78);
  font-size: .8rem;
  font-weight: 700;
}

.wallet-card-label svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wallet-card-balance {
  color: white;
  font-size: 2.6rem;
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: 1;
  margin: 8px 0 4px;
}

.wallet-card-hint {
  margin: 0;
  color: rgba(255, 255, 255, .62);
  font-size: .78rem;
}

/* ── Referral page stat grid ── */
.referral-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

@media (max-width: 640px) {
  .referral-stat-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Thread message ── */
.thread-message {
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(18, 24, 34, .04);
  border: 1px solid rgba(18, 24, 34, .06);
}

.thread-message.is-seller {
  background: rgba(15, 143, 90, .07);
  border-color: rgba(15, 143, 90, .12);
}

.thread-message.is-buyer {
  background: rgba(17, 24, 39, .04);
}

.thread-message.is-system {
  background: rgba(255, 199, 51, .1);
  border-color: rgba(255, 199, 51, .18);
}

body[data-theme="dark"] .thread-message {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .06);
}

body[data-theme="dark"] .thread-message.is-seller {
  background: rgba(15, 143, 90, .08);
  border-color: rgba(15, 143, 90, .14);
}

body[data-theme="dark"] .thread-message.is-buyer {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .06);
}

body[data-theme="dark"] .thread-message.is-system {
  background: rgba(255, 199, 51, .08);
  border-color: rgba(255, 199, 51, .15);
}

.thread-message-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.thread-message-head strong {
  font-size: .88rem;
}

.thread-message-head span {
  font-size: .76rem;
  color: var(--muted);
}

.thread-message p {
  margin: 0;
  font-size: .88rem;
  line-height: 1.65;
  white-space: pre-wrap;
}

/* ── Thread panel ── */
.thread-panel {
  padding: 18px;
  border-radius: 20px;
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: var(--shadow);
}

body[data-theme="dark"] .thread-panel {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255, 255, 255, .06);
}

.thread-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.thread-panel-head h3 {
  margin: 0 0 3px;
  font-size: .96rem;
  letter-spacing: -.01em;
}

.thread-panel-head p {
  margin: 0;
  font-size: .8rem;
  color: var(--muted);
}

/* ── Order detail card ── */
.order-detail-card {
  padding: 20px 22px;
  border-radius: 22px;
  background: var(--card);
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
}

body[data-theme="dark"] .order-detail-card {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255, 255, 255, .06);
}

.order-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.order-detail-head h2 {
  margin: 0 0 3px;
  font-size: 1.1rem;
  letter-spacing: -.02em;
}

.order-detail-head p {
  margin: 0;
  font-size: .82rem;
  color: var(--muted);
}

/* ── Subshell seller rail/card ── */
.seller-rail {
  position: sticky;
  top: 108px;
  padding: 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(15, 143, 90, .05), rgba(15, 143, 90, .03));
  border: 1px solid rgba(16, 24, 40, .06);
}

body[data-theme="dark"] .seller-rail {
  background: rgba(15, 143, 90, .04);
  border-color: rgba(255, 255, 255, .07);
}

@media (max-width: 760px) {
  .seller-rail {
    position: static;
  }
}

/* ── Seller summary review grid ── */
.seller-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 4px;
}

@media (max-width: 900px) {
  .seller-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .seller-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ── Dark mode: subshell ── */
body[data-theme="dark"] .subshell {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255, 255, 255, .07);
}

/* ── Dark mode: money-field ── */
body[data-theme="dark"] .money-field {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .1);
  color: #f0f4fb;
}

body[data-theme="dark"] .money-field input,
body[data-theme="dark"] .money-field span.deposit-currency-sym {
  color: #f0f4fb;
}

body[data-theme="dark"] .money-chip {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .1);
  color: #d0d8e6;
}

/* ── Dark mode: range-row inputs ── */
body[data-theme="dark"] .range-row input {
  color: #f0f4fb;
  background: rgba(255, 255, 255, .04);
}

/* ── Dark mode: note-box ── */
body[data-theme="dark"] .note-box {
  background: rgba(255, 255, 255, .03);
  border: 1px solid rgba(255, 255, 255, .07);
  color: #9aa2b1;
}

/* ── Dark mode: currency-card ── */
body[data-theme="dark"] .currency-card {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .1);
  color: #d0d8e6;
}

body[data-theme="dark"] .currency-card.is-active {
  background: rgba(15, 143, 90, .1);
  border-color: rgba(15, 143, 90, .3);
  color: #7ce4af;
}

/* ── Dark mode: modal-block ── */
body[data-theme="dark"] .modal-block {
  background: rgba(255, 255, 255, .025);
  border-color: rgba(255, 255, 255, .07);
}

/* ── Dark mode: seller-card ── */
body[data-theme="dark"] .seller-card {
  background: rgba(18, 18, 28, 0.55); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
  border-color: rgba(255, 255, 255, .06);
}

/* ── Dark mode: seller-choice-item ── */
body[data-theme="dark"] .seller-choice-item {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .06);
}

body[data-theme="dark"] .seller-choice-item:hover {
  border-color: rgba(15, 143, 90, .2);
}

/* ── Dark mode: subshell-choice ── */
body[data-theme="dark"] .subshell-choice {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .1);
  color: #d0d8e6;
}

/* ── Dark mode: soft-search ── */
body[data-theme="dark"] .soft-search {
  background: rgba(255, 255, 255, .03);
  border-color: rgba(255, 255, 255, .1);
  color: #9aa2b1;
}

body[data-theme="dark"] .soft-search input {
  color: #f0f4fb;
}

/* ── Dark mode: toggle-option in modal ── */
body[data-theme="dark"] .toggle-option {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .09);
  color: #c8d0de;
}

body[data-theme="dark"] .toggle-option.is-selected {
  background: rgba(15, 143, 90, .12);
  border-color: rgba(15, 143, 90, .25);
  color: #7ce4af;
}

/* ── Dark mode: seller-listings-head ── */
body[data-theme="dark"] .seller-listings-head {
  background: rgba(255, 255, 255, .025);
}

/* ── Dark mode: listing item hover active state ── */
body[data-theme="dark"] .listing-item:hover {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .12);
}

/* ── Dock: cart and notifications badge support ── */
.dock-link .dock-badge {
  position: relative;
  display: inline-block;
}

.dock-link .dock-badge-dot {
  position: absolute;
  top: -2px;
  right: -4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
}

/* ── Mobile: subshell padding bottom ── */
@media (max-width: 900px) {
  .subshell {
    padding-bottom: 110px;
  }
}

/* ── Scroll to thread bottom utility ── */
.thread-scroll-anchor {
  height: 0;
  overflow: hidden;
}


/* ── Wallet toolbar compact deposit button ── */
.wallet-toolbar-deposit-btn {
  height: 38px;
  padding: 0 16px;
  font-size: 0.85rem;
}

/* ── Referral hint paragraph spacing ── */
.referral-hint {
  margin-top: 12px;
}

/* ═══════════════════════════════════════════════════════════════
   COMPREHENSIVE UI/UX REVAMP — V2
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Theme Switch — standard toggle ── */
.theme-switch {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.theme-switch-track {
  display: block;
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: rgba(16, 24, 40, 0.12);
  border: 1.5px solid rgba(16, 24, 40, 0.1);
  position: relative;
  transition: background 220ms ease, border-color 220ms ease;
}
.theme-switch-track::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 1px 4px rgba(0,0,0,0.18);
  transition: transform 220ms ease;
}
body[data-theme="dark"] .theme-switch-track {
  background: rgba(15, 143, 90, 0.35);
  border-color: rgba(15, 143, 90, 0.25);
}
body[data-theme="dark"] .theme-switch-track::after {
  transform: translateX(20px);
  background: #e8faf0;
}
.theme-switch-icon {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  opacity: .5;
  transition: opacity 200ms ease;
}
.ts-sun { color: #e8a317; }
.ts-moon { color: #7fb5d4; }
body[data-theme="dark"] .ts-moon { opacity: 1; }
body[data-theme="light"] .ts-sun,
body:not([data-theme="dark"]) .ts-sun { opacity: 1; }

@media (max-width: 900px) {
  .theme-switch {
    bottom: 112px;
    right: 14px;
    padding: 8px 10px;
    border-radius: 999px;
    background: var(--shell);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(16,24,40,.06);
    box-shadow: 0 8px 22px rgba(17,24,39,.12);
  }
  body[data-theme="dark"] .theme-switch {
    background: rgba(18, 18, 28, 0.5); backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
    border-color: rgba(255,255,255,.06);
  }
}

/* ── 2. Clear/Reset button — proper alignment ── */
.reset-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  text-decoration: none;
  white-space: nowrap;
}
.reset-btn svg {
  flex-shrink: 0;
}

/* ── 3. Hero spacing ── */
.hero-row { margin-bottom: 10px; }
.hero h1 { margin-bottom: 0; }
.chips-row { margin-top: 24px; }

/* ── 4. Filter modal — strip double-box ── */
.modal-block .money-field.seller-select-wrap {
  border: none;
  background: transparent;
  padding: 0;
  min-height: unset;
  gap: 0;
}
.modal-block .seller-select {
  min-height: 46px;
  border-radius: 12px;
}
.modal-block .range-row input {
  border-radius: 12px;
}

/* ── 5. Product card meta — fix cramped text ── */
.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  font-size: .82rem;
  line-height: 1.4;
}
.meta span {
  white-space: nowrap;
}
.product-copy h3 {
  line-height: 1.35;
  margin-bottom: 6px;
}
.product-copy .eyebrow-compact {
  margin-bottom: 4px;
}
.product-card .product-copy {
  padding: 4px 0;
}
@media (max-width: 420px) {
  .meta span {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* ── 6. Button system — unified, polished ── */
.primary-cta,
.violet-btn {
  min-height: 44px;
  padding: 0 22px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  font-size: .88rem;
  font-weight: 700;
  border: 0;
  box-shadow: 0 6px 18px rgba(15, 143, 90, 0.18);
  text-decoration: none;
  gap: 8px;
  letter-spacing: .01em;
  transition: box-shadow 200ms ease, transform 200ms ease;
}
.primary-cta:hover,
.violet-btn:hover {
  box-shadow: 0 8px 22px rgba(15, 143, 90, 0.28);
  transform: translateY(-1px);
}
.view-btn {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 12px;
  background: rgba(16,24,40,.04);
  border: 1px solid rgba(16,24,40,.1);
  color: var(--text);
  font-size: .86rem;
  font-weight: 700;
  gap: 6px;
  transition: background 160ms ease, border-color 160ms ease;
}
body[data-theme="dark"] .view-btn {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.1);
}
.view-btn:hover {
  background: rgba(16,24,40,.08);
  border-color: rgba(16,24,40,.18);
}
body[data-theme="dark"] .view-btn:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.16);
}
.cart-btn {
  min-height: 40px;
  padding: 0 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  font-size: .86rem;
  font-weight: 700;
  border: 0;
  gap: 6px;
  transition: box-shadow 200ms ease, transform 200ms ease;
}
.cart-btn:hover {
  box-shadow: 0 6px 16px rgba(15, 143, 90, 0.22);
  transform: translateY(-1px);
}
.sell-btn {
  min-height: 40px;
  padding: 0 18px;
  border-radius: 12px;
  font-size: .86rem;
}
.btn-danger {
  min-height: 40px;
  padding: 0 18px;
  border-radius: 12px;
  font-size: .86rem;
  font-weight: 700;
}
.wallet-toolbar-deposit-btn {
  min-height: unset;
  height: 38px;
  padding: 0 16px;
  border-radius: 12px;
  font-size: 0.86rem;
}
.ledger-footer {
  padding: 14px 0 4px;
  display: flex;
  justify-content: flex-end;
}
.ledger-footer .violet-btn { gap: 8px; }
.ledger-footer .violet-btn svg {
  width: 16px; height: 16px;
  stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  flex-shrink: 0;
}
.dark-pill {
  min-height: 40px;
  padding: 0 18px;
  border-radius: 12px;
  font-size: .86rem;
  font-weight: 700;
}
.sc-pay-btn {
  min-height: 48px;
  padding: 0 28px;
  border-radius: 14px;
  font-size: .92rem;
  font-weight: 700;
}
@media (max-width: 640px) {
  .seller-listings-empty .primary-cta,
  .seller-listings-empty .view-btn {
    width: 100%;
    justify-content: center;
  }
  .seller-panel-toolbar { flex-wrap: wrap; gap: 10px; }
  .seller-panel-toolbar .primary-cta {
    flex: 1;
    justify-content: center;
  }
}

/* ── 7. Cart items — proper spacing ── */
.cart-items-list .checkout-item {
  padding: 18px 0;
}
.cart-items-list .checkout-item + .checkout-item {
  border-top: 1px solid var(--line);
}
.cart-items-list .checkout-item:first-of-type {
  padding-top: 12px;
}
.checkout-item {
  gap: 16px;
}
.checkout-item-copy strong {
  font-size: .95rem;
  line-height: 1.3;
  margin-bottom: 4px;
  display: block;
}
.checkout-item-copy > span {
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.5;
}
.checkout-item-meta {
  text-align: right;
  white-space: nowrap;
}
.checkout-item-meta span {
  font-size: .78rem;
  color: var(--muted);
  display: block;
  margin-bottom: 2px;
}
.checkout-item-meta strong {
  font-size: 1.05rem;
}

/* ── 8. Seller summary cards — polished ── */
.seller-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.seller-summary-card {
  padding: 18px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(16,24,40,.06);
  display: grid;
  gap: 6px;
  transition: box-shadow 200ms ease, transform 200ms ease;
}
.seller-summary-card:hover {
  box-shadow: 0 12px 28px rgba(17,24,39,.06);
  transform: translateY(-2px);
}
body[data-theme="dark"] .seller-summary-card {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.07);
}
body[data-theme="dark"] .seller-summary-card:hover {
  box-shadow: 0 12px 28px rgba(0,0,0,.2);
}
.seller-summary-card.accent {
  background: linear-gradient(135deg, rgba(15,143,90,.1), rgba(18,150,100,.06));
  border-color: rgba(15,143,90,.14);
}
body[data-theme="dark"] .seller-summary-card.accent {
  background: linear-gradient(135deg, rgba(15,143,90,.14), rgba(18,150,100,.06));
  border-color: rgba(15,143,90,.2);
}
.seller-summary-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 800;
  color: var(--muted);
}
.seller-summary-card strong {
  font-size: 1.5rem;
  letter-spacing: -.03em;
  line-height: 1.1;
}
.seller-summary-card p {
  margin: 0;
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.5;
}
@media (max-width: 900px) {
  .seller-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .seller-summary-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .seller-summary-card { padding: 14px; }
  .seller-summary-card strong { font-size: 1.2rem; }
}

/* ── 9. Seller page — full revamp ── */
.seller-dashboard {
  display: grid;
  gap: 20px;
}
.seller-launchpad {
  padding: 28px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(15,143,90,.06), rgba(18,150,100,.02));
  border: 1px solid rgba(15,143,90,.12);
}
body[data-theme="dark"] .seller-launchpad {
  background: linear-gradient(135deg, rgba(15,143,90,.1), rgba(18,150,100,.04));
  border-color: rgba(15,143,90,.18);
}
.seller-launchpad .eyebrow {
  margin-bottom: 8px;
}
.seller-launchpad h2 {
  font-size: 1.2rem;
  margin-bottom: 8px;
}
.seller-launchpad p {
  max-width: 52ch;
  line-height: 1.6;
  font-size: .88rem;
  color: var(--muted);
  margin-bottom: 20px;
}
.seller-launchpad .empty-state-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 640px) {
  .seller-launchpad { padding: 20px; border-radius: 16px; }
  .seller-launchpad .empty-state-actions {
    flex-direction: column;
  }
  .seller-launchpad .empty-state-actions .primary-cta,
  .seller-launchpad .empty-state-actions .view-btn {
    width: 100%;
    justify-content: center;
  }
}

.seller-panel-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.seller-panel-toolbar h2 {
  font-size: 1.05rem;
  margin: 0;
}
.seller-panel-toolbar p {
  margin: 4px 0 0;
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.5;
}

.seller-order-card {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 16px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(16,24,40,.02);
  margin-bottom: 8px;
  transition: background 160ms ease;
}
body[data-theme="dark"] .seller-order-card {
  background: rgba(255,255,255,.03);
}
.seller-order-card:hover {
  background: rgba(16,24,40,.04);
}
body[data-theme="dark"] .seller-order-card:hover {
  background: rgba(255,255,255,.05);
}
@media (max-width: 640px) {
  .seller-order-card {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }
}

.seller-empty-state {
  text-align: center;
  padding: 32px 20px;
  border-radius: 14px;
  background: rgba(16,24,40,.02);
}
body[data-theme="dark"] .seller-empty-state {
  background: rgba(255,255,255,.02);
}
.seller-empty-state strong {
  display: block;
  margin-bottom: 4px;
  font-size: .92rem;
}
.seller-empty-state span {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.5;
}

.seller-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.seller-field-span {
  grid-column: 1 / -1;
}
@media (max-width: 640px) {
  .seller-form-grid {
    grid-template-columns: 1fr;
  }
}

.seller-listings-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 14px;
}

/* Seller onboarding flow */
.seller-flow {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 20px;
  align-items: start;
}
@media (max-width: 760px) {
  .seller-flow {
    grid-template-columns: 1fr;
  }
  .seller-rail { padding: 14px; border-radius: 16px; }
  .seller-step-list { gap: 10px; }
  .seller-step { grid-template-columns: 38px 1fr; gap: 10px; align-items: center; }
  .seller-step-badge { width: 38px; height: 38px; }
  .seller-card { border-radius: 16px; padding: 16px; }
  .sc-method-item { padding: 14px 12px; gap: 10px; }
  .sc-method-icon { width: 36px; height: 36px; border-radius: 10px; }
}

/* ── Merchant dashboard — stat cards + payout redesign ── */

/* Primary stat row */
.merchant-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 6px;
}
.merchant-stat-primary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px;
  border-radius: 18px;
  background: var(--card);
  border: 1px solid var(--line);
}
.merchant-stat-icon {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 14px; flex-shrink: 0;
}
.merchant-stat-icon svg {
  width: 22px; height: 22px; stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.merchant-stat-icon--balance {
  background: linear-gradient(135deg, rgba(15,143,90,.12), rgba(15,143,90,.06));
  color: var(--green);
}
.merchant-stat-icon--sales {
  background: linear-gradient(135deg, rgba(99,102,241,.12), rgba(99,102,241,.06));
  color: #6366f1;
}
.merchant-stat-icon--escrow {
  background: linear-gradient(135deg, rgba(245,158,11,.12), rgba(245,158,11,.06));
  color: #f59e0b;
}
.merchant-stat-label {
  display: block;
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--muted); margin-bottom: 4px;
}
.merchant-stat-value {
  display: block;
  font-size: 1.5rem; letter-spacing: -.04em;
}

/* Secondary mini stats */
.merchant-stat-secondary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 14px;
}
.merchant-mini-stat {
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--card);
  border: 1px solid var(--line);
}
.merchant-mini-stat strong {
  display: block;
  font-size: 1.2rem; letter-spacing: -.03em; margin-bottom: 2px;
}
.merchant-mini-stat span {
  font-size: .76rem; color: var(--muted); font-weight: 600;
}

/* Merchant panel — replaces subshell-panel in seller context */
.merchant-panel {
  padding: 24px;
  border-radius: 20px;
  background: var(--card);
  border: 1px solid var(--line);
  margin-bottom: 14px;
}
.merchant-panel-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.merchant-panel-head h2 { font-size: 1rem; margin: 0; line-height: 1.2; }
.merchant-panel-head p { font-size: .8rem; color: var(--muted); margin: 2px 0 0; line-height: 1.5; }
.merchant-panel-head > div:nth-child(2) { flex: 1; min-width: 0; }
.merchant-panel-icon {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0;
  background: rgba(15,143,90,.08);
}
.merchant-panel-icon svg {
  width: 20px; height: 20px; stroke: var(--green); fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.merchant-panel-icon--payout { background: rgba(99,102,241,.08); }
.merchant-panel-icon--payout svg { stroke: #6366f1; }
.merchant-panel-icon--products { background: rgba(245,158,11,.08); }
.merchant-panel-icon--products svg { stroke: #f59e0b; }
body[data-theme="dark"] .merchant-panel-icon { background: rgba(15,143,90,.12); }
body[data-theme="dark"] .merchant-panel-icon--payout { background: rgba(99,102,241,.12); }
body[data-theme="dark"] .merchant-panel-icon--products { background: rgba(245,158,11,.12); }

.merchant-panel-action {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 6px; min-height: 38px; padding: 0 18px; border-radius: 12px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: #fff; font-size: .82rem; font-weight: 700;
  text-decoration: none; border: 0; cursor: pointer; white-space: nowrap;
  box-shadow: 0 6px 16px rgba(15,143,90,.14);
  transition: transform 160ms var(--ease-out), box-shadow 160ms ease;
}
.merchant-panel-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15,143,90,.2);
}
.merchant-panel-action:active { transform: scale(.97); }

.merchant-empty {
  text-align: center;
  padding: 32px 20px;
  border-radius: 14px;
  background: rgba(16,24,40,.02);
}
body[data-theme="dark"] .merchant-empty {
  background: rgba(255,255,255,.02);
}
.merchant-empty strong {
  display: block; margin-bottom: 4px; font-size: .92rem;
}
.merchant-empty span {
  font-size: .82rem; color: var(--muted); line-height: 1.5;
}

/* Payout method cards */
.merchant-payout-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.merchant-payout-card {
  padding: 20px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(16,24,40,.01);
}
body[data-theme="dark"] .merchant-payout-card {
  background: rgba(255,255,255,.02);
}
.merchant-payout-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.merchant-payout-card-head > div { flex: 1; min-width: 0; }
.merchant-payout-card-head strong { display: block; font-size: .92rem; margin-bottom: 2px; }
.merchant-payout-type-icon {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
}
.merchant-payout-type-icon svg {
  width: 18px; height: 18px; stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.merchant-payout-type-icon--bank {
  background: rgba(15,143,90,.08); color: var(--green);
}
.merchant-payout-type-icon--crypto {
  background: rgba(245,158,11,.08); color: #f59e0b;
}
body[data-theme="dark"] .merchant-payout-type-icon--bank { background: rgba(15,143,90,.12); }
body[data-theme="dark"] .merchant-payout-type-icon--crypto { background: rgba(245,158,11,.12); }

.merchant-payout-status {
  display: inline-block;
  font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
  color: var(--muted);
}
.merchant-payout-status--active { color: var(--green); }

.merchant-payout-edit {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 34px; padding: 0 14px; border-radius: 10px;
  border: 1px solid var(--line); background: transparent;
  color: var(--text); font-size: .78rem; font-weight: 700;
  cursor: pointer; white-space: nowrap;
  transition: border-color 160ms ease, background 160ms ease;
}
.merchant-payout-edit:hover {
  border-color: var(--green);
  background: rgba(15,143,90,.04);
}
.merchant-payout-edit svg {
  width: 13px; height: 13px; stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

.merchant-payout-preview {
  display: flex; flex-direction: column; gap: 10px;
  padding: 14px; border-radius: 12px;
  background: var(--bg); border: 1px solid var(--line);
}
.merchant-payout-detail { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.merchant-payout-detail span { font-size: .76rem; color: var(--muted); font-weight: 600; }
.merchant-payout-detail strong { font-size: .86rem; text-align: right; }
.merchant-payout-address {
  max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.merchant-payout-hint {
  font-size: .82rem; color: var(--muted); line-height: 1.5;
  padding: 14px; border-radius: 12px;
  background: rgba(16,24,40,.02);
  border: 1px dashed var(--line);
}
body[data-theme="dark"] .merchant-payout-hint {
  background: rgba(255,255,255,.02);
}

/* Payout modal */
.merchant-payout-modal-scrim {
  position: fixed; inset: 0; z-index: 100;
  display: none;
  align-items: center; justify-content: center;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(4px);
}
.merchant-payout-modal-scrim.is-open { display: flex; }
.merchant-payout-modal {
  width: 90%; max-width: 440px;
  padding: 28px; border-radius: 20px;
  background: var(--card); border: 1px solid var(--line);
  box-shadow: 0 24px 48px rgba(0,0,0,.2);
}
.merchant-payout-modal-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 22px; padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.merchant-payout-modal-head h3 { font-size: 1.05rem; margin: 0; }
.merchant-payout-modal-actions {
  display: flex; gap: 10px; justify-content: flex-end;
  margin-top: 8px;
}
.merchant-payout-cancel {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 22px; border-radius: 14px;
  border: 1px solid var(--line); background: transparent;
  color: var(--text); font-size: .88rem; font-weight: 700;
  cursor: pointer;
  transition: background 160ms ease;
}
.merchant-payout-cancel:hover { background: rgba(16,24,40,.04); }
body[data-theme="dark"] .merchant-payout-cancel:hover { background: rgba(255,255,255,.04); }

/* Responsive merchant stats */
@media (max-width: 900px) {
  .merchant-stats { grid-template-columns: 1fr; }
  .merchant-stat-secondary { grid-template-columns: repeat(2, 1fr); }
  .merchant-payout-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .merchant-stat-primary { padding: 18px; gap: 12px; }
  .merchant-stat-value { font-size: 1.3rem; }
  .merchant-stat-icon { width: 42px; height: 42px; border-radius: 12px; }
  .merchant-stat-icon svg { width: 20px; height: 20px; }
  .merchant-mini-stat { padding: 14px; }
  .merchant-mini-stat strong { font-size: 1.05rem; }
  .merchant-panel { padding: 20px; }
  .merchant-panel-head { flex-wrap: wrap; }
  .merchant-panel-action { width: 100%; justify-content: center; margin-top: 4px; }
  .merchant-payout-card { padding: 16px; }
  .merchant-payout-modal { padding: 22px; }
  .merchant-payout-modal-actions { flex-direction: column; }
  .merchant-payout-modal-actions .account-save-btn { width: 100%; justify-content: center; }
  .merchant-payout-cancel { width: 100%; justify-content: center; }
}

/* ── 10. Account page — full revamp ── */

/* Identity card */
.account-identity-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px;
  border-radius: 20px;
  margin-bottom: 20px;
  background: var(--card);
  border: 1px solid var(--line);
}
.account-identity-card .account-avatar-wrap {
  position: relative;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
}
.account-identity-card .avatar-3d.large {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: block;
}
.account-identity-copy { min-width: 0; }
.account-identity-copy strong { display: block; font-size: 1.18rem; margin-bottom: 2px; }
.account-identity-copy > span { display: block; font-size: .84rem; color: var(--muted); }
.account-ref-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(15,143,90,.06);
  border: 1px solid rgba(15,143,90,.12);
}
body[data-theme="dark"] .account-ref-row {
  background: rgba(15,143,90,.08);
  border-color: rgba(15,143,90,.18);
}
.account-ref-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.account-ref-code { font-size: .84rem; font-weight: 800; letter-spacing: .04em; color: var(--green); }
.account-copy-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 6px; border: 0;
  background: transparent; color: var(--green); cursor: pointer;
  transition: background 160ms ease;
}
.account-copy-btn:hover, .account-copy-btn.is-copied { background: rgba(15,143,90,.12); }
.account-copy-btn svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Cards row — 2-column grid */
.account-cards-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

/* Individual card */
.account-card {
  padding: 24px;
  border-radius: 20px;
  background: var(--card);
  border: 1px solid var(--line);
}
.account-card--wide {
  grid-column: 1 / -1;
}

/* Card header with icon */
.account-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.account-card-head h2 { font-size: 1rem; margin: 0; line-height: 1.2; }
.account-card-head p { font-size: .8rem; color: var(--muted); margin: 2px 0 0; }
.account-card-icon {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 12px; flex-shrink: 0;
  background: rgba(15,143,90,.08);
}
.account-card-icon svg {
  width: 20px; height: 20px; stroke: var(--green); fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.account-card-icon--security { background: rgba(99,102,241,.08); }
.account-card-icon--security svg { stroke: #6366f1; }
.account-card-icon--prefs { background: rgba(245,158,11,.08); }
.account-card-icon--prefs svg { stroke: #f59e0b; }
body[data-theme="dark"] .account-card-icon { background: rgba(15,143,90,.12); }
body[data-theme="dark"] .account-card-icon--security { background: rgba(99,102,241,.12); }
body[data-theme="dark"] .account-card-icon--prefs { background: rgba(245,158,11,.12); }

/* Account form layout */
.account-form { display: flex; flex-direction: column; gap: 16px; }
.account-field { display: flex; flex-direction: column; gap: 6px; }
.account-field label {
  font-size: .8rem; font-weight: 700; color: var(--muted);
  text-transform: uppercase; letter-spacing: .04em;
}
.account-field input,
.account-textarea {
  width: 100%; min-height: 46px; padding: 0 16px;
  border-radius: 14px; border: 1px solid var(--line);
  background: var(--bg); color: var(--text);
  font-size: .9rem; font-family: inherit;
  transition: border-color 160ms ease, box-shadow 160ms ease;
  outline: none;
}
.account-field input:focus,
.account-textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(15,143,90,.1);
}
.account-textarea {
  min-height: auto; padding: 14px 16px; resize: vertical;
  line-height: 1.5;
}

/* Password field with toggle */
.account-password-wrap {
  display: grid; grid-template-columns: 1fr auto; align-items: center;
  border-radius: 14px; border: 1px solid var(--line); background: var(--bg);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.account-password-wrap:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(15,143,90,.1);
}
.account-password-wrap input {
  width: 100%; min-height: 46px; padding: 0 16px;
  border: 0; background: transparent; color: var(--text);
  font-size: .9rem; font-family: inherit; outline: none;
}
.account-pw-toggle {
  border: 0; background: transparent; color: var(--muted);
  font-weight: 700; font-size: .78rem; padding: 0 14px;
  height: 34px; border-radius: 10px; cursor: pointer;
  margin-right: 6px;
  transition: color 140ms ease, background 140ms ease;
}
.account-pw-toggle:hover { color: var(--green); background: rgba(15,143,90,.06); }

/* Two-column fields */
.account-field-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}

/* Save button */
.account-save-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; align-self: flex-start;
  min-height: 46px; padding: 0 24px; border-radius: 14px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: #fff; font-size: .88rem; font-weight: 700;
  border: 0; cursor: pointer;
  box-shadow: 0 8px 20px rgba(15,143,90,.18);
  transition: transform 160ms var(--ease-out), box-shadow 160ms ease;
}
.account-save-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(15,143,90,.24);
}
.account-save-btn:active { transform: scale(.97); }
.account-save-btn svg {
  width: 16px; height: 16px; stroke: currentColor; fill: none;
  stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
}

/* Preferences — theme picker */
.account-pref-section { margin-bottom: 6px; }
.account-pref-section + .account-pref-section { padding-top: 18px; border-top: 1px solid var(--line); }
.account-pref-label {
  font-size: .82rem; font-weight: 700; margin-bottom: 14px;
  color: var(--text); letter-spacing: .02em;
}

.account-theme-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.account-theme-option {
  position: relative; display: flex; flex-direction: column; align-items: center;
  gap: 10px; padding: 18px 16px 14px; border-radius: 16px;
  border: 2px solid var(--line); background: var(--card); cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.account-theme-option:hover { border-color: rgba(15,143,90,.3); }
.account-theme-option.is-active {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(15,143,90,.1);
}

/* Mini preview */
.account-theme-preview {
  width: 100%; height: 48px; border-radius: 10px; padding: 8px 10px;
  display: flex; flex-direction: column; gap: 4px;
}
.account-theme-preview--dark { background: #1a1d26; }
.account-theme-preview--light { background: #f0f2f6; }
.atp-bar {
  width: 60%; height: 6px; border-radius: 3px;
}
.atp-line { width: 100%; height: 4px; border-radius: 2px; }
.atp-line--short { width: 50%; }
.account-theme-preview--dark .atp-bar { background: rgba(15,143,90,.5); }
.account-theme-preview--dark .atp-line { background: rgba(255,255,255,.06); }
.account-theme-preview--light .atp-bar { background: rgba(15,143,90,.35); }
.account-theme-preview--light .atp-line { background: rgba(0,0,0,.07); }

.account-theme-name { font-size: .82rem; font-weight: 700; }
.account-theme-check {
  position: absolute; top: 10px; right: 10px;
  width: 22px; height: 22px; opacity: 0;
  transition: opacity 160ms ease;
}
.account-theme-check svg {
  width: 22px; height: 22px; stroke: var(--green); fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.account-theme-option.is-active .account-theme-check { opacity: 1; }

/* Notification toggles */
.account-notif-list { display: flex; flex-direction: column; gap: 0; }
.account-notif-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 14px 0; cursor: pointer;
  border-bottom: 1px solid var(--line);
}
.account-notif-row:last-child { border-bottom: 0; }
.account-notif-copy strong { display: block; font-size: .88rem; margin-bottom: 2px; }
.account-notif-copy span { font-size: .78rem; color: var(--muted); }

/* Toggle switch */
.account-toggle { flex-shrink: 0; }
.account-toggle-track {
  position: relative; display: block;
  width: 44px; height: 24px; border-radius: 12px;
  background: var(--line);
  transition: background 200ms ease;
}
.account-toggle-thumb {
  position: absolute; top: 3px; left: 3px;
  width: 18px; height: 18px; border-radius: 9px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.15);
  transition: transform 200ms cubic-bezier(.4,.0,.2,1);
}
.account-toggle.is-on .account-toggle-track {
  background: var(--green);
}
.account-toggle.is-on .account-toggle-thumb {
  transform: translateX(20px);
}

/* Danger zone */
.account-danger-zone {
  margin-top: 8px;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid rgba(239,68,68,.2);
  background: rgba(239,68,68,.02);
}
body[data-theme="dark"] .account-danger-zone {
  background: rgba(239,68,68,.04);
  border-color: rgba(239,68,68,.15);
}
.account-danger-head {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 18px; padding-bottom: 16px;
  border-bottom: 1px solid rgba(239,68,68,.12);
}
.account-danger-head svg {
  width: 24px; height: 24px; flex-shrink: 0;
  stroke: #ef4444; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.account-danger-head h2 { font-size: 1rem; margin: 0; color: #ef4444; line-height: 1.2; }
.account-danger-head p { font-size: .8rem; color: var(--muted); margin: 2px 0 0; }
body[data-theme="dark"] .account-danger-head h2 { color: #fc8080; }
body[data-theme="dark"] .account-danger-head svg { stroke: #fc8080; }

.account-deletion-body > p {
  font-size: .84rem; color: var(--muted); line-height: 1.6; margin-bottom: 16px;
  max-width: 60ch;
}
.account-danger-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; min-height: 46px; padding: 0 22px; border-radius: 14px;
  align-self: flex-start;
  background: transparent; color: #ef4444;
  border: 1px solid rgba(239,68,68,.3);
  font-size: .88rem; font-weight: 700; cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms var(--ease-out);
}
.account-danger-btn:hover {
  background: rgba(239,68,68,.06);
  border-color: rgba(239,68,68,.5);
  transform: translateY(-1px);
}
.account-danger-btn:active { transform: scale(.97); }
.account-danger-btn svg {
  width: 16px; height: 16px; stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
body[data-theme="dark"] .account-danger-btn {
  color: #fc8080; border-color: rgba(252,128,128,.22);
}
body[data-theme="dark"] .account-danger-btn:hover {
  background: rgba(252,128,128,.08);
  border-color: rgba(252,128,128,.34);
}

/* Deletion pending state */
.account-deletion-pending {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 18px; border-radius: 14px;
  background: rgba(239,68,68,.04);
  border: 1px solid rgba(239,68,68,.12);
}
body[data-theme="dark"] .account-deletion-pending {
  background: rgba(239,68,68,.06);
  border-color: rgba(239,68,68,.18);
}
.account-deletion-pending-icon {
  width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(239,68,68,.08);
}
.account-deletion-pending-icon svg {
  width: 18px; height: 18px; stroke: #ef4444; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
body[data-theme="dark"] .account-deletion-pending-icon svg { stroke: #fc8080; }
.account-deletion-pending strong { display: block; font-size: .9rem; margin-bottom: 4px; }
.account-deletion-pending span { font-size: .8rem; color: var(--muted); }
.account-deletion-pending p { font-size: .82rem; color: var(--muted); margin-top: 6px; line-height: 1.5; }

/* Subshell header (shared) */
.account-shell .subshell-header { margin-bottom: 20px; }
.account-shell .subshell-header h1 { font-size: 1.5rem; margin-bottom: 4px; }
.account-shell .subshell-header p { font-size: .88rem; color: var(--muted); line-height: 1.5; max-width: 60ch; }

/* Mobile */
@media (max-width: 640px) {
  .account-identity-card {
    flex-direction: column; text-align: center;
    padding: 24px 20px; gap: 14px;
  }
  .account-identity-card .account-avatar-wrap {
    width: 72px; height: 72px; margin: 0 auto;
  }
  .account-identity-card .avatar-3d.large {
    width: 72px; height: 72px; border-radius: 20px;
  }
  .account-ref-row { justify-content: center; }

  .account-cards-row { grid-template-columns: 1fr; }
  .account-card { padding: 20px; }
  .account-field-row { grid-template-columns: 1fr; }
  .account-theme-grid { grid-template-columns: 1fr 1fr; }
  .account-save-btn { width: 100%; justify-content: center; }
  .account-danger-zone { padding: 20px; }
  .account-danger-btn { width: 100%; justify-content: center; }
}

/* subshell-grid and subshell-panel kept for other pages */
.subshell-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.subshell-panel {
  padding: 22px; border-radius: 18px;
  background: var(--card); border: 1px solid var(--line);
}
.subshell-panel .section-head {
  margin-bottom: 16px; padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.subshell-panel .section-head h2 { font-size: 1rem; margin: 0; }
.subshell-header { margin-bottom: 20px; }
.subshell-header h1 { font-size: 1.5rem; margin-bottom: 4px; }
.subshell-header p { font-size: .88rem; color: var(--muted); line-height: 1.5; max-width: 60ch; }
.subshell-payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.subshell-choice {
  display: flex; align-items: center; justify-content: center;
  padding: 12px 16px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--card);
  cursor: pointer; font-size: .86rem; font-weight: 600;
  transition: border-color 160ms ease, background 160ms ease;
}
.subshell-choice.is-active { border-color: var(--green); background: rgba(15,143,90,.06); }
body[data-theme="dark"] .subshell-choice.is-active { background: rgba(15,143,90,.1); }

/* ── 11. Checkout page — cleaner ── */
.checkout-layout {
  align-items: start;
  gap: 20px;
}
.checkout-method {
  padding: 16px 18px;
  border-radius: 14px;
  gap: 14px;
}
.checkout-method strong {
  font-size: .9rem;
}
.checkout-method span {
  font-size: .82rem;
  line-height: 1.5;
}
.checkout-method em {
  font-style: normal;
  font-size: .75rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 8px;
  background: rgba(16,24,40,.05);
  white-space: nowrap;
}
.checkout-method.is-active em {
  background: rgba(15,143,90,.12);
  color: var(--green);
}
body[data-theme="dark"] .checkout-method em {
  background: rgba(255,255,255,.06);
}
body[data-theme="dark"] .checkout-method.is-active em {
  background: rgba(15,143,90,.15);
}
.checkout-summary-card {
  border-radius: 18px;
  padding: 22px;
}
.checkout-summary-card h2 {
  font-size: 1.05rem;
  margin: 0 0 14px;
}
.checkout-note {
  padding: 14px;
  border-radius: 12px;
  margin-top: 4px;
}
.promo-row {
  gap: 10px;
}
.promo-apply-btn {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 12px;
  font-weight: 700;
  font-size: .86rem;
}
.checkout-wallet-link {
  display: block;
  text-align: center;
  font-size: .84rem;
  color: var(--green);
  font-weight: 700;
  text-decoration: none;
  margin-top: 4px;
}
.checkout-wallet-link:hover {
  text-decoration: underline;
}
.checkout-item-tags {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.checkout-item-tags span {
  font-size: .72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(16,24,40,.04);
  text-transform: uppercase;
  letter-spacing: .04em;
}
body[data-theme="dark"] .checkout-item-tags span {
  background: rgba(255,255,255,.06);
}
.checkout-item-copy small {
  display: block;
  margin-top: 6px;
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.4;
}

/* ── 12. Order details — cleaner structure ── */
.order-page-summary {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.order-page-stat {
  flex: 1;
  min-width: 120px;
  padding: 14px 16px;
  border-radius: 14px;
  display: grid;
  gap: 4px;
}
.order-page-stat span {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}
.order-page-stat strong {
  font-size: 1.1rem;
  letter-spacing: -.02em;
}
.order-page-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.order-page-actions .soft-pill {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 12px;
  font-size: .84rem;
  font-weight: 700;
}
.order-item-block {
  border-radius: 18px;
  padding: 20px;
  margin-bottom: 14px;
}
.order-item-top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.order-item-top h2 {
  font-size: 1.08rem;
  margin: 4px 0 0;
}
.order-item-summary {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(16,24,40,.025);
  margin-bottom: 16px;
  font-size: .86rem;
}
body[data-theme="dark"] .order-item-summary {
  background: rgba(255,255,255,.03);
}
.order-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.order-section-head h3 {
  font-size: .92rem;
  margin: 0;
}
.order-credential-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(16,24,40,.025);
  margin-bottom: 8px;
}
body[data-theme="dark"] .order-credential-row {
  background: rgba(255,255,255,.04);
}
.order-credential-row code {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .84rem;
}
.credential-copy-btn {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid rgba(16,24,40,.1);
  background: rgba(16,24,40,.03);
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 160ms ease, border-color 160ms ease;
}
body[data-theme="dark"] .credential-copy-btn {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.1);
}
.credential-copy-btn:hover,
.credential-copy-btn.is-copied {
  background: rgba(15,143,90,.1);
  border-color: rgba(15,143,90,.25);
  color: var(--green);
}

/* ── 13. Product detail page — full revamp ── */
.product-detail-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 24px;
  align-items: start;
}
@media (max-width: 900px) {
  .product-detail-layout {
    grid-template-columns: 1fr;
  }
}
.product-hero-card {
  border-radius: 20px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--line);
}
.product-hero-media {
  padding: 0;
}
.product-hero-stage {
  min-height: 180px;
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px 16px 0 0;
}
.product-hero-logo {
  width: 80px;
  height: 80px;
}
.product-chip-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 14px 20px;
}
.product-chip-row .soft-pill {
  font-size: .76rem;
  padding: 5px 12px;
  border-radius: 8px;
}
.product-hero-copy {
  padding: 20px;
}
.product-heading-row {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  margin-bottom: 16px;
}
.product-heading-row h1 {
  font-size: 1.25rem;
  line-height: 1.3;
  margin: 4px 0 0;
}
.price-stack {
  text-align: right;
  flex-shrink: 0;
}
.price-stack strong {
  font-size: 1.5rem;
  letter-spacing: -.03em;
  display: block;
}
.price-stack span {
  font-size: .76rem;
  color: var(--muted);
}
.product-lead {
  font-size: .88rem;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 20px;
}
.product-fact-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.product-fact-item {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(16,24,40,.02);
  display: grid;
  gap: 2px;
}
body[data-theme="dark"] .product-fact-item {
  background: rgba(255,255,255,.03);
}
.product-fact-item span {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
}
.product-fact-item strong {
  font-size: .88rem;
}
@media (max-width: 480px) {
  .product-fact-list { grid-template-columns: 1fr; }
  .product-heading-row { flex-direction: column; gap: 8px; }
  .price-stack { text-align: left; }
}

.product-section-card {
  border-radius: 18px;
  padding: 20px;
  background: var(--card);
  border: 1px solid var(--line);
  margin-top: 16px;
}
.product-section-card .section-head {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.product-section-card .section-head h2 {
  font-size: 1rem;
  margin: 0;
}

.detail-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.detail-list li {
  font-size: .86rem;
  line-height: 1.55;
  padding-left: 20px;
  position: relative;
  color: var(--muted);
}
.detail-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
}

.product-buy-card {
  border-radius: 20px;
  padding: 22px;
  background: var(--card);
  border: 1px solid var(--line);
  display: grid;
  gap: 16px;
  position: sticky;
  top: 80px;
}
.product-buy-top {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
}
.product-buy-top h2 {
  font-size: 1.05rem;
  margin: 0 0 4px;
}
.product-buy-top p {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.5;
  margin: 0;
}
.product-buy-top > strong {
  font-size: 1.4rem;
  letter-spacing: -.03em;
  flex-shrink: 0;
}
.product-buy-meta {
  display: grid;
  gap: 4px;
}
.product-buy-meta span {
  font-size: .78rem;
  color: var(--muted);
}
.detail-cta-column {
  display: grid;
  gap: 10px;
}
@media (max-width: 760px) {
  .detail-cta-column { grid-template-columns: 1fr 1fr; }
  .detail-cta-column form { min-width: 0; }
  .detail-cta-column form > button { width: 100%; justify-content: center; }
  .product-hero-stage { min-height: 140px; }
}

.product-seller-card {
  border-radius: 18px;
  padding: 20px;
  background: var(--card);
  border: 1px solid var(--line);
  margin-top: 16px;
  display: grid;
  gap: 14px;
}
.seller-profile-mini {
  display: flex;
  align-items: center;
  gap: 14px;
}
.seller-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.seller-profile-mini h2 {
  font-size: 1rem;
  margin: 0 0 2px;
}
.seller-profile-mini p {
  font-size: .8rem;
  color: var(--muted);
  margin: 0;
}

.product-review-list {
  display: grid;
  gap: 12px;
}
.product-review-card {
  padding: 14px;
  border-radius: 12px;
  background: rgba(16,24,40,.02);
}
body[data-theme="dark"] .product-review-card {
  background: rgba(255,255,255,.03);
}
.product-review-meta strong {
  display: block;
  font-size: .9rem;
  margin-bottom: 2px;
}
.product-review-meta span {
  font-size: .78rem;
  color: var(--muted);
}
.product-review-card p {
  margin-top: 8px;
  font-size: .86rem;
  line-height: 1.55;
  color: var(--muted);
}
.product-empty-state {
  text-align: center;
  padding: 28px 20px;
}
.product-empty-state h3 {
  font-size: .95rem;
  margin-bottom: 4px;
}
.product-empty-state p {
  font-size: .82rem;
  color: var(--muted);
}

.product-related-list {
  display: grid;
  gap: 8px;
}
.product-related-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(16,24,40,.02);
  transition: background 160ms ease;
}
body[data-theme="dark"] .product-related-card {
  background: rgba(255,255,255,.03);
}
.product-related-card:hover {
  background: rgba(16,24,40,.04);
}
body[data-theme="dark"] .product-related-card:hover {
  background: rgba(255,255,255,.05);
}
.product-related-card strong {
  font-size: .88rem;
  display: block;
  margin-bottom: 2px;
}
.product-related-card span {
  font-size: .78rem;
  color: var(--muted);
}
.product-related-side {
  text-align: right;
  flex-shrink: 0;
}
.product-related-side strong {
  font-size: .95rem;
}
.product-related-side .plain-link {
  font-size: .78rem;
}

.detail-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-size: .82rem;
  flex-wrap: wrap;
}
.detail-breadcrumb a {
  color: var(--muted);
  text-decoration: none;
}
.detail-breadcrumb a:hover {
  color: var(--green);
}
.detail-breadcrumb span {
  color: var(--muted);
  opacity: .5;
}
.detail-breadcrumb strong {
  font-weight: 600;
}

/* ── 14. Referrals page — full revamp ── */
.referral-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.referral-metric-card {
  padding: 20px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--line);
  display: grid;
  gap: 6px;
}
.referral-metric-card.accent {
  background: linear-gradient(135deg, rgba(15,143,90,.08), rgba(18,150,100,.03));
  border-color: rgba(15,143,90,.14);
}
body[data-theme="dark"] .referral-metric-card.accent {
  background: linear-gradient(135deg, rgba(15,143,90,.12), rgba(18,150,100,.05));
  border-color: rgba(15,143,90,.2);
}
.referral-metric-label {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}
.referral-metric-card strong {
  font-size: 1.5rem;
  letter-spacing: -.03em;
  line-height: 1.1;
}
.referral-metric-card p {
  margin: 0;
  font-size: .78rem;
  color: var(--muted);
  line-height: 1.5;
}
@media (max-width: 640px) {
  .referral-metrics {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .referral-metric-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
  }
  .referral-metric-card strong {
    font-size: 1.3rem;
    order: 1;
  }
  .referral-metric-card p { display: none; }
}

.referral-code-card {
  padding: 16px;
  border-radius: 14px;
  background: rgba(15,143,90,.04);
  border: 1px solid rgba(15,143,90,.1);
  margin-bottom: 16px;
}
body[data-theme="dark"] .referral-code-card {
  background: rgba(15,143,90,.06);
  border-color: rgba(15,143,90,.16);
}
.referral-code-label {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  margin-bottom: 8px;
  display: block;
}
.referral-code-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.referral-code-display {
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .06em;
  color: var(--green);
}
.referral-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--card);
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.referral-copy-btn:hover,
.referral-copy-btn.is-copied {
  background: rgba(15,143,90,.08);
  border-color: rgba(15,143,90,.2);
  color: var(--green);
}
.referral-copy-btn svg {
  width: 14px; height: 14px;
  stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.referral-link-row {
  display: flex;
  gap: 10px;
  align-items: center;
}
.referral-link-field {
  flex: 1;
}

.referral-steps {
  display: grid;
  gap: 16px;
}
.referral-step {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  align-items: start;
}
.referral-step-num {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1rem;
  flex-shrink: 0;
}
.referral-step strong {
  display: block;
  font-size: .92rem;
  margin-bottom: 4px;
}
.referral-step p {
  margin: 0;
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.55;
}

.referral-hint {
  margin-top: 12px;
}

/* ── 15. Support page — full revamp ── */
.support-frame {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 0;
  min-height: 520px;
  border-radius: 18px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--line);
}
@media (max-width: 900px) {
  .support-frame {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}

.support-sidebar-toggle {
  display: none;
}
@media (max-width: 900px) {
  .support-sidebar-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 18px;
    border: 0;
    background: var(--card);
    border-bottom: 1px solid var(--line);
    width: 100%;
    font-size: .88rem;
    font-weight: 700;
    cursor: pointer;
    color: var(--text);
  }
  .support-sidebar-toggle svg {
    width: 18px; height: 18px;
    stroke: currentColor; fill: none;
    stroke-width: 2;
  }
}

.support-side {
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 900px) {
  .support-side {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    max-height: 280px;
  }
}

.support-side-top {
  padding: 20px;
  border-bottom: 1px solid var(--line);
}
.support-side-top h2 {
  font-size: 1.05rem;
  margin: 0 0 4px;
}
.support-side-top p {
  font-size: .82rem;
  color: var(--muted);
  margin: 0 0 14px;
}
.support-side-top .primary-cta {
  width: 100%;
  justify-content: center;
  min-height: 40px;
  font-size: .84rem;
}

.support-ticket-list {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.support-ticket-list .listing-item {
  padding: 14px 18px;
  border-radius: 0;
  border-bottom: 1px solid var(--line);
  transition: background 120ms ease;
}
.support-ticket-list .listing-item:hover {
  background: rgba(16,24,40,.02);
}
body[data-theme="dark"] .support-ticket-list .listing-item:hover {
  background: rgba(255,255,255,.03);
}
.support-ticket-list .listing-item.is-active-ticket {
  background: rgba(15,143,90,.04);
  border-left: 3px solid var(--green);
}
body[data-theme="dark"] .support-ticket-list .listing-item.is-active-ticket {
  background: rgba(15,143,90,.08);
}
.support-ticket-list .listing-copy strong {
  font-size: .88rem;
  display: block;
  margin-bottom: 2px;
}
.support-ticket-list .listing-copy span {
  font-size: .76rem;
  color: var(--muted);
  line-height: 1.4;
}

.support-empty {
  text-align: center;
  padding: 32px 20px;
}
.support-empty-spot {
  margin: 0 auto 12px;
}
.support-empty-title {
  display: block;
  margin-bottom: 6px;
  font-size: .92rem;
}
.support-empty span {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.5;
}

.support-main {
  display: flex;
  flex-direction: column;
  padding: 24px;
}
.support-main:not(.has-thread) {
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 400px;
}
.support-main:not(.has-thread) .ticket-spot {
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
}
.support-main:not(.has-thread) .ticket-spot svg {
  width: 100%; height: 100%;
  stroke: var(--muted); fill: none;
  stroke-width: 1.5;
  opacity: .4;
}
.support-main:not(.has-thread) h2 {
  font-size: 1.15rem;
  margin-bottom: 8px;
}
.support-main:not(.has-thread) p {
  font-size: .86rem;
  color: var(--muted);
  line-height: 1.55;
  max-width: 44ch;
  margin-bottom: 16px;
}

.support-thread-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
}
.support-thread-head h2 {
  font-size: 1.1rem;
  margin: 0 0 4px;
}
.support-thread-head p {
  font-size: .78rem;
  color: var(--muted);
  margin: 0;
}

.support-thread-list {
  flex: 1;
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
  align-content: start;
}

.thread-message {
  padding: 14px 16px;
  border-radius: 14px;
  max-width: 85%;
}
.thread-message.is-buyer {
  background: rgba(15,143,90,.06);
  border: 1px solid rgba(15,143,90,.1);
  justify-self: end;
}
body[data-theme="dark"] .thread-message.is-buyer {
  background: rgba(15,143,90,.1);
  border-color: rgba(15,143,90,.18);
}
.thread-message.is-system {
  background: rgba(16,24,40,.03);
  border: 1px solid var(--line);
  justify-self: start;
}
body[data-theme="dark"] .thread-message.is-system {
  background: rgba(255,255,255,.04);
}
.thread-message-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.thread-message-head strong {
  font-size: .84rem;
}
.thread-message-head span {
  font-size: .72rem;
  color: var(--muted);
  white-space: nowrap;
}
.thread-message p {
  font-size: .86rem;
  line-height: 1.55;
  color: var(--muted);
  margin: 0;
}

.thread-form {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

/* Support tabs */
.subshell-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--line);
}
.subshell-tab {
  padding: 12px 20px;
  font-size: .86rem;
  font-weight: 700;
  color: var(--muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color 160ms ease, border-color 160ms ease;
}
.subshell-tab:hover {
  color: var(--text);
}
.subshell-tab.is-active {
  color: var(--green);
  border-color: var(--green);
}

/* ── 16. Wallet page — refinements ── */
.wallet-overview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
@media (max-width: 760px) {
  .wallet-overview-grid {
    grid-template-columns: 1fr;
  }
}

.wallet-card-premium {
  border-radius: 20px;
  padding: 2px;
  background: linear-gradient(135deg, var(--green), var(--green-2), rgba(15,143,90,.3));
}
.wallet-card-inner {
  border-radius: 18px;
  padding: 24px;
  background: var(--card);
  color: var(--text);
}
.wallet-card-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: .82rem;
  color: var(--muted);
  font-weight: 600;
}
.wallet-card-label svg {
  width: 18px; height: 18px;
  stroke: var(--green); fill: none;
  stroke-width: 2;
}
.wallet-card-balance {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.1;
  margin-bottom: 4px;
  color: var(--text);
}
.wallet-card-hint {
  font-size: .78rem;
  color: var(--muted);
  margin: 0 0 20px;
}
.wallet-card-actions {
  display: flex;
  gap: 10px;
}
.wallet-action-btn {
  flex: 1;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--card);
  font-size: .84rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background 160ms ease, border-color 160ms ease;
  color: var(--text);
}
.wallet-action-btn svg {
  width: 16px; height: 16px;
  stroke: currentColor; fill: none;
  stroke-width: 2;
}
.wallet-action-btn.primary {
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  border: 0;
}
.wallet-action-btn:hover {
  border-color: var(--green);
}
.wallet-action-btn.primary:hover {
  box-shadow: 0 6px 16px rgba(15,143,90,.2);
}

.wallet-stats-col {
  display: grid;
  gap: 12px;
  align-content: center;
}
.wallet-stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border-radius: 16px;
  background: var(--card);
  border: 1px solid var(--line);
}
.wallet-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(15,143,90,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wallet-stat-icon svg {
  width: 20px; height: 20px;
  stroke: var(--green); fill: none;
  stroke-width: 2;
}
.wallet-stat-icon.muted {
  background: rgba(16,24,40,.04);
}
body[data-theme="dark"] .wallet-stat-icon.muted {
  background: rgba(255,255,255,.05);
}
.wallet-stat-icon.muted svg {
  stroke: var(--muted);
}
.wallet-stat-card span {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  display: block;
  margin-bottom: 2px;
}
.wallet-stat-card strong {
  font-size: 1.15rem;
  letter-spacing: -.02em;
}

.wallet-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.wallet-toolbar-group {
  display: flex;
  align-items: center;
  gap: 12px;
}
.wallet-toolbar h2 {
  font-size: 1.05rem;
  margin: 0;
}

/* ── 17. Filter modal — mobile improvements ── */
@media (max-width: 760px) {
  .filter-modal {
    border-radius: 22px 22px 0 0;
    max-height: 88vh;
    overflow-y: auto;
  }
  .modal-grid {
    gap: 12px;
  }
  .modal-block {
    padding: 14px;
    border-radius: 14px;
  }
  .toggle-option {
    padding: 10px 12px;
    font-size: .84rem;
  }
}

/* ── 18. Empty states — unified ── */
.subshell-empty {
  text-align: center;
  padding: 40px 20px;
}
.subshell-empty h2 {
  font-size: 1.05rem;
  margin-bottom: 8px;
}
.subshell-empty p {
  font-size: .86rem;
  color: var(--muted);
  line-height: 1.55;
  max-width: 40ch;
  margin: 0 auto 16px;
}

.empty-icon,
.wallet-empty-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  opacity: .3;
}
.empty-icon svg,
.wallet-empty-icon svg {
  width: 100%; height: 100%;
  stroke: currentColor; fill: none;
  stroke-width: 1.5;
}

.empty-state-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 12px;
}

/* ── 19. Ledger / transaction table ── */
.ledger {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
}
.ledger-row {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr .8fr 1fr;
  gap: 12px;
  padding: 12px 16px;
  align-items: center;
  font-size: .84rem;
  border-bottom: 1px solid var(--line);
}
.ledger-row:last-child {
  border-bottom: 0;
}
.ledger-row.header {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  background: rgba(16,24,40,.02);
}
body[data-theme="dark"] .ledger-row.header {
  background: rgba(255,255,255,.02);
}
.ledger-ref {
  font-family: monospace;
  font-size: .8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ledger-amount.is-credit {
  color: var(--green);
  font-weight: 700;
}
.ledger-amount.is-debit {
  color: #ef4444;
  font-weight: 700;
}
.ledger-date {
  font-size: .8rem;
  color: var(--muted);
}
@media (max-width: 640px) {
  .ledger-row {
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    padding: 12px 14px;
  }
  .ledger-row.header { display: none; }
  .ledger-ref { grid-column: 1 / -1; }
}

/* ── Mobile: hide Clear button and category eyebrow tag in product cards ── */
@media (max-width: 980px) {
  .reset-btn { display: none !important; }
  .product-card-topline .eyebrow-compact { display: none !important; }
}

/* ── Compact mobile product cards: more products visible at a glance ── */
@media (max-width: 480px) {
  .products-shell { margin-top: 8px; }

  .product-card {
    grid-template-columns: 28px 1fr auto !important;
    grid-template-areas:
      "topline topline topline"
      "thumb copy actions"
      "seller seller seller";
    gap: 4px 10px !important;
    padding: 7px 10px !important;
    margin-bottom: 6px !important;
    border-radius: 10px !important;
    align-items: center;
  }

  .thumb {
    grid-area: thumb;
    width: 28px !important;
    height: 28px !important;
    border-radius: 7px !important;
  }

  .thumb img { width: 14px !important; height: 14px !important; }

  /* Reset display:contents so product-copy is a normal flex column */
  .product-copy {
    display: flex;
    flex-direction: column;
    grid-area: copy;
    gap: 2px;
    min-width: 0;
  }

  /* Hide the topline row entirely (eyebrow already hidden) */
  .product-card-topline {
    display: flex !important;
    gap: 4px;
    margin-bottom: 2px;
  }
  .product-card-topline:not(:has(.product-trust-chip)) {
    display: none !important;
  }
  .product-trust-chip {
    display: inline-flex !important;
    min-height: 18px;
    padding: 0 6px;
    font-size: .62rem;
  }

  .product-copy h3 {
    grid-area: unset;
    font-size: .82rem;
    line-height: 1.2;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    -webkit-line-clamp: unset;
  }

  .meta {
    grid-area: unset;
    font-size: .68rem;
    gap: 4px;
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: nowrap;
  }

  .product-seller-label {
    font-size: 0.62rem;
    margin-top: 1px !important;
    margin-bottom: 0 !important;
  }

  .product-actions {
    grid-area: actions;
    gap: 4px;
    justify-items: end;
    align-self: center;
  }

  .product-actions strong {
    font-size: .88rem;
    line-height: 1;
    white-space: nowrap;
  }

  .action-row {
    gap: 4px;
  }

  .action-row .view-btn,
  .product-actions .view-btn,
  .action-row .cart-btn,
  .product-actions .cart-btn {
    width: 30px;
    height: 30px;
    min-width: 30px;
  }

  .section-head { margin-bottom: 8px; }
}

/* ── Mobile product card actions: price + single cart button only ── */
@media (max-width: 480px) {
  /* Hide the view/eye button — tap card to view */
  .product-actions .view-btn,
  .action-row .view-btn {
    display: none !important;
  }

  /* Compact actions column: price tight above cart button */
  .product-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
  }

  .product-price-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
  }

  .product-actions strong {
    font-size: .85rem;
    font-weight: 700;
    line-height: 1;
  }

  /* Cart button: compact pill */
  .action-row .cart-btn,
  .product-actions .cart-btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 10px;
    padding: 0;
  }

  .action-row { gap: 0; }
}

/* ── Product card title link (tap to view on mobile) ── */
.product-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.product-card-link h3 { margin: 0; }

/* ── Stretched link: whole product card is clickable ── */
.product-card {
  position: relative; /* ensure stacking context */
}
.product-card-link {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
}
/* Cart form + button sit above the stretched link */
.product-actions,
.product-actions form,
.product-actions .cart-btn,
.product-actions .view-btn,
.action-row {
  position: relative;
  z-index: 1;
}

/* ── Mobile: better cart button ── */
@media (max-width: 480px) {
  .product-actions .cart-btn,
  .action-row .cart-btn {
    width: auto;
    min-width: 0;
    height: 34px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: .78rem;
    font-weight: 700;
    gap: 5px;
    letter-spacing: -.01em;
  }

  /* Show "Add" text on mobile */
  .product-actions .cart-btn span,
  .action-row .cart-btn span {
    display: inline !important;
  }

  /* Cart icon size */
  .product-actions .cart-btn svg,
  .action-row .cart-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
  }
}

/* ── Mobile product card buttons: icon-only, both view + cart, no text ── */
@media (max-width: 480px) {
  /* Restore view button */
  .product-actions .view-btn,
  .action-row .view-btn {
    display: inline-flex !important;
  }

  /* Both buttons: small icon-only squares */
  .product-actions .view-btn,
  .product-actions .cart-btn,
  .action-row .view-btn,
  .action-row .cart-btn {
    width: 30px;
    height: 30px;
    min-width: 30px;
    padding: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Hide text labels on mobile — icons only */
  .product-actions .view-btn span,
  .product-actions .cart-btn span,
  .action-row .view-btn span,
  .action-row .cart-btn span {
    display: none !important;
  }

  /* Icon size */
  .product-actions .view-btn svg,
  .product-actions .cart-btn svg,
  .action-row .view-btn svg,
  .action-row .cart-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
  }

  /* Both buttons side by side, tight gap */
  .action-row { gap: 5px; }

  /* Don't touch width/height/padding from desktop — override inline-flex only */
  .product-actions { width: auto; }
}

/* ══ FINAL: Mobile product card icon buttons — definitive sizing ══ */
@media (max-width: 480px) {
  .product-card .action-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
  }

  /* Force exact size — no stretching */
  .product-card .action-row .view-btn,
  .product-card .action-row .cart-btn,
  .product-card .product-actions .view-btn,
  .product-card .product-actions .cart-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    padding: 0 !important;
    border-radius: 7px !important;
    flex-shrink: 0 !important;
  }

  /* Icon size inside buttons */
  .product-card .action-row .view-btn svg,
  .product-card .action-row .cart-btn svg,
  .product-card .product-actions .view-btn svg,
  .product-card .product-actions .cart-btn svg {
    width: 13px !important;
    height: 13px !important;
    flex-shrink: 0 !important;
  }

  /* Hide all text labels */
  .product-card .action-row .view-btn span,
  .product-card .action-row .cart-btn span,
  .product-card .product-actions .view-btn span,
  .product-card .product-actions .cart-btn span {
    display: none !important;
  }
}

/* ══ MOBILE MARKETPLACE REFINEMENTS ══ */
@media (max-width: 480px) {

  /* 1. Hide welcome heading + results pill (hero-row) */
  .hero-row { display: none !important; }

  /* 2. Remove "Recent products (7)" section header */
  .products-shell .section-head { display: none !important; }

  /* 3. Category chips — compact + smaller */
  .chips-row {
    gap: 5px !important;
    padding: 0 0 6px !important;
    margin-bottom: 6px !important;
  }
  .chip {
    padding: 4px 10px !important;
    font-size: .72rem !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  /* 4. Search + filter bar — more compact */
  .filter-bar {
    gap: 5px !important;
    padding: 0 !important;
    margin-bottom: 8px !important;
  }
  .search-field {
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    flex: 1 !important;
    min-width: 0 !important;
  }
  .search-field input {
    font-size: .82rem !important;
  }
  .filter-btn {
    height: 34px !important;
    padding: 0 10px !important;
    font-size: .78rem !important;
    border-radius: 10px !important;
  }
  .select-pill, .mini-pill {
    height: 30px !important;
    padding: 0 8px !important;
    font-size: .72rem !important;
    border-radius: 999px !important;
  }

  /* 5. Smaller and smarter product card */
  .product-card {
    grid-template-columns: 28px 1fr auto !important;
    padding: 7px 10px !important;
    margin-bottom: 6px !important;
    gap: 4px 10px !important;
  }
  .thumb {
    width: 28px !important;
    height: 28px !important;
    border-radius: 7px !important;
  }
  .thumb img { width: 14px !important; height: 14px !important; }
  .product-copy h3 { font-size: .82rem !important; }
  .meta { font-size: .68rem !important; }
}

/* ══ MOBILE: Tighter chips + search/filter — v2 ══ */
@media (max-width: 480px) {

  /* Category chips — very compact small pills */
  .chips-row {
    gap: 4px !important;
    padding-bottom: 4px !important;
    margin-bottom: 4px !important;
  }
  .chip,
  a.chip {
    padding: 3px 9px !important;
    font-size: .68rem !important;
    line-height: 1.4 !important;
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    border-radius: 999px !important;
  }

  /* Search bar — thin single-line */
  .search-field {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
  }
  .search-field input {
    font-size: .8rem !important;
    height: 100% !important;
  }
  .search-field svg {
    width: 15px !important;
    height: 15px !important;
    flex-shrink: 0 !important;
  }

  /* Filters button — match search height */
  .filter-btn {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: .76rem !important;
    border-radius: 10px !important;
    gap: 5px !important;
  }
  .filter-btn svg {
    width: 14px !important;
    height: 14px !important;
  }

  /* Hide the select pills + mini pills in filter bar on mobile (too cramped) */
  .filter-bar .select-pill,
  .filter-bar .mini-pill {
    display: none !important;
  }

  /* Hero section — remove extra padding */
  .hero {
    padding-top: 8px !important;
    padding-bottom: 0 !important;
  }
}

/* ══ MOBILE: Fix chips edge clipping + filter bar padding ══ */
@media (max-width: 480px) {

  /* Chips row — pad both sides so chips don't clip at screen edges */
  .chips-row {
    padding-left: 16px !important;
    padding-right: 16px !important;
    /* Extend scroll beyond padding with negative margin trick */
    margin-left: -16px !important;
    margin-right: -16px !important;
    /* Ensure first/last chip has breathing room when scrolled */
    scroll-padding-left: 16px !important;
  }

  /* Filter bar — inner padding so Filters button doesn't touch border */
  .filter-bar {
    padding: 6px 8px !important;
    gap: 6px !important;
    border-radius: 12px !important;
  }
}

/* ══ MOBILE: Chips slightly larger + reduce top gap ══ */
@media (max-width: 480px) {

  /* Chips — slightly bigger than last override */
  .chip,
  a.chip {
    padding: 5px 13px !important;
    font-size: .76rem !important;
    line-height: 1.4 !important;
  }

  /* Reduce gap between top navbar and marketplace section */
  .market-shell {
    padding-top: 8px !important;
  }

  .hero {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}

/* ══ MOBILE: Product title style + card sizing ══ */
@media (max-width: 480px) {

  /* Title — not bold, same weight/style as chips */
  .product-card .product-copy h3,
  .product-card h3 {
    font-weight: 500 !important;
    font-size: .82rem !important;
    letter-spacing: -.01em !important;
  }

  /* Cards — smaller and smarter */
  .product-card {
    grid-template-columns: 28px 1fr auto !important;
    padding: 7px 10px !important;
    margin-bottom: 6px !important;
    gap: 4px 10px !important;
  }

  .thumb {
    width: 28px !important;
    height: 28px !important;
    border-radius: 7px !important;
  }

  .thumb img {
    width: 14px !important;
    height: 14px !important;
  }
}

/* ══ MOBILE: Title weight + price format ══ */

/* Desktop: show full price, hide short */
.price-mobile { display: none !important; }
.price-desktop { display: block !important; }

/* Mobile: show short price ($20), hide full ($20.00) */
@media (max-width: 980px) {
  .price-desktop { display: none !important; }
  .price-mobile { display: block !important; }

  /* Title — match chip: regular weight, not bold */
  .product-card .product-copy h3,
  .product-card h3,
  article.product-card h3 {
    font-weight: 400 !important;
    font-size: .82rem !important;
    letter-spacing: 0 !important;
  }
}

/* ══ MOBILE: Breathing room between price and action buttons ══ */
@media (max-width: 980px) {
  .product-card .product-actions {
    gap: 8px !important;
  }

  .product-card .product-price-stack {
    margin-bottom: 2px !important;
  }
}

/* ══ MOBILE: Reduce chips top padding — push chips up ══ */
@media (max-width: 980px) {
  .chips-row {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  .hero {
    padding-top: 4px !important;
  }
}

/* ══ MOBILE: Small gap between chips and search bar ══ */
@media (max-width: 980px) {
  .chips-row {
    margin-bottom: 8px !important;
  }
}

/* ══════════════════════════════════════════════════════
   MOBILE: Wallet — Add Balance button fix
   ══════════════════════════════════════════════════════ */
@media (max-width: 980px) {
  .wallet-card-actions {
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  .wallet-action-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    font-size: .78rem !important;
    white-space: nowrap !important;
    justify-content: center !important;
  }
}

/* ══════════════════════════════════════════════════════
   MOBILE: Product detail page — full layout fix
   ══════════════════════════════════════════════════════ */
@media (max-width: 980px) {

  /* Single column — purchase card floats to top */
  .product-detail-layout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Move sidebar (buy card) above main content on mobile */
  .product-detail-side {
    order: -1 !important;
    gap: 12px !important;
  }

  .product-detail-main {
    gap: 12px !important;
  }

  /* Hero card: stack media + copy vertically */
  .product-hero-card {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 16px !important;
  }

  /* Reduce hero stage height */
  .product-hero-stage {
    min-height: 160px !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .product-hero-logo {
    width: 80px !important;
    height: 80px !important;
    border-radius: 20px !important;
  }

  .product-hero-logo img {
    width: 36px !important;
    height: 36px !important;
  }

  /* Heading row: stack title + price vertically */
  .product-heading-row {
    flex-direction: column !important;
    gap: 8px !important;
    align-items: flex-start !important;
  }

  .product-heading-row h1 {
    font-size: 1.3rem !important;
    margin-top: 4px !important;
  }

  /* Facts grid: 2 columns stays but tighter */
  .product-fact-list,
  .product-seller-facts {
    gap: 8px !important;
  }

  .product-fact-item {
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }

  /* Buy card */
  .detail-purchase-card,
  .product-buy-card {
    border-radius: 16px !important;
    padding: 16px !important;
  }

  .product-buy-top {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  /* Section cards */
  .product-section-card,
  .product-seller-card {
    border-radius: 16px !important;
    padding: 16px !important;
  }

  /* Related listings */
  .product-related-list {
    gap: 8px !important;
  }

  .product-related-card {
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }

  /* Breadcrumb compact */
  .detail-breadcrumb {
    font-size: .76rem !important;
    gap: 4px !important;
    padding: 8px 0 !important;
    flex-wrap: wrap !important;
  }

  /* Chip row */
  .product-chip-row {
    gap: 6px !important;
  }

  .soft-pill {
    font-size: .7rem !important;
    padding: 3px 9px !important;
  }
}

/* ══ MOBILE: Product detail — sticky fix + facts 2-col ══ */
@media (max-width: 980px) {

  /* Remove sticky from buy card — no more floating over content */
  .product-buy-card {
    position: static !important;
    top: auto !important;
  }

  /* Facts: keep 2-column grid, not single column */
  .product-fact-list,
  .product-seller-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Product related list — use same gap as marketplace */
  .product-related-list {
    gap: 8px !important;
  }

  /* Section card padding tighter */
  .product-section-card {
    padding: 14px !important;
  }
}

/* ══ MOBILE: Price + wallet balance — match chip text style exactly ══ */
@media (max-width: 980px) {

  /* Product card price */
  .product-card .price-mobile,
  .product-card .price-desktop,
  .product-card .product-actions strong {
    font-size: .76rem !important;
    font-weight: 400 !important;
    color: #4b5060 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
  }

  body[data-theme="dark"] .product-card .price-mobile,
  body[data-theme="dark"] .product-card .price-desktop,
  body[data-theme="dark"] .product-card .product-actions strong {
    color: var(--text) !important;
  }

  /* Wallet balance chip in nav */
  .wallet-chip {
    font-size: .76rem !important;
    font-weight: 400 !important;
    color: #4b5060 !important;
  }

  .wallet-chip i {
    font-size: .76rem !important;
    font-weight: 400 !important;
    color: #4b5060 !important;
    border-left: none !important;
    padding-left: 0 !important;
  }

  body[data-theme="dark"] .wallet-chip,
  body[data-theme="dark"] .wallet-chip i {
    color: var(--text) !important;
  }
}

/* Custom Overrides & Fixes */
.product-copy h3,
.product-card h3,
article.product-card h3,
.product-card .product-copy h3 {
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

@media (max-width: 768px) {
  .fintech-input-box input,
  .fintech-input-box textarea,
  .text-field,
  .text-area {
    font-size: 16px !important;
  }
}

/* Logo Size Increase Overrides */
.brand-logo,
.auth-logo {
  height: 40px !important;
}
