/* ==========================================================================
   Glyphora Seller Dashboard - Comprehensive Stylesheet
   Dark-themed real estate platform
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS Variables / Root
   -------------------------------------------------------------------------- */
:root {
  /* Colors - Backgrounds */
  --s-bg-primary: linear-gradient(82.43deg, #111827 17.51%, #03495E 100%);
  --s-bg-card: #FFFFFF0D;  ;
  --s-bg-card-hover: rgba(255, 255, 255, 0.05);
  --s-bg-input: #FFFFFF0D;  ;
  --s-bg-input-focus: rgba(255, 255, 255, 0.08);
  --s-bg-header: rgba(18, 24, 33, 0.85);
  --s-bg-sidebar: rgba(255, 255, 255, 0.03);
  --s-bg-overlay: rgba(0, 0, 0, 0.6);
  --s-bg-tooltip: #1e2530;

  /* Colors - Accent */
  --s-accent: #D7B29D;
  --s-accent-dark: #C8A68D;
  --s-accent-hover: #e0c0ad;
  --s-accent-muted: rgba(215, 178, 157, 0.12);
  --s-accent-subtle: rgba(215, 178, 157, 0.08);

  /* Colors - Text */
  --s-text-primary: #FFFFFF;
  --s-text-near-white: #F8FAFC;
  --s-text-muted: #97A3B4;
  --s-text-dim: #97A3B4;
  --s-text-on-accent: #121821;

  /* Colors - Semantic */
  --s-error: #F87171;
  --s-error-badge: #F87171;
  --s-error-bg: rgba(239, 67, 67, 0.1);
  --s-success: #22C55E;
  --s-success-bg: rgba(34, 197, 94, 0.1);
  --s-warning: #D7B29D;
  --s-warning-bg: rgba(245, 158, 11, 0.1);
  --s-info: #3B82F6;
  --s-info-bg: rgba(59, 130, 246, 0.1);


  --s-surface: #FFFFFF0D;
  --s-surface-hover: rgba(255,255,255,0.06);

  /* Text secondary */
  --s-text-secondary: #CBD5E1;

  /* Radius */
  --s-radius-md: 10px;

  /* Borders */
  --s-border: #FFFFFF1A;
  --s-border-light: rgba(255, 255, 255, 0.05);
  --s-border-accent: rgba(215, 178, 157, 0.3);

  /* Radius */
  --s-radius-card: 16px;
  --s-radius-input: 12px;
  --s-radius-btn: 12px;
  --s-radius-btn-sm: 10px;
  --s-radius-btn-lg: 16px;
  --s-radius-pill: 9999px;
  --s-radius-sm: 8px;

  --s-radius-lg:16px;

  /* Spacing */
  --s-space-xs: 4px;
  --s-space-sm: 8px;
  --s-space-md: 12px;
  --s-space-base: 16px;
  --s-space-lg: 20px;
  --s-space-xl: 24px;
  --s-space-2xl: 32px;
  --s-space-3xl: 40px;
  --s-space-4xl: 48px;

  /* Layout */
  --s-header-height: 82px;
  --s-sidebar-width: 224px;

  /* Typography */
  --s-font-family: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --s-font-light: 300;
  --s-font-regular: 400;
  --s-font-medium: 500;
  --s-font-semibold: 600;
  --s-font-bold: 700;
  --s-font-extrabold: 800;
  --s-font-black: 900;
  --s-text-extrasmall: 10px;
  --s-text-xs: 0.75rem;
  --s-text-sm: 0.8125rem;
  --s-text-base: 0.875rem;
  --s-text-md: 1rem;
  --s-text-lg: 1.125rem;
  --s-text-xl: 1.25rem;
  --s-text-2xl: 1.5rem;
  --s-text-3xl: 1.875rem;
  --s-text-4xl: 2.25rem;

  /* Shadows */
  --s-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --s-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
  --s-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
  --s-shadow-glow: 0 0 20px rgba(215, 178, 157, 0.15);

  /* Transitions */
  --s-transition-fast: 150ms ease;
  --s-transition-base: 250ms ease;
  --s-transition-slow: 350ms ease;

  /* ── Blade compatibility aliases ─────────────────────────────────────────
     Several seller views use --seller-* naming. These aliases map them to
     the canonical --s-* tokens so both naming conventions resolve correctly.
     ─────────────────────────────────────────────────────────────────────── */
  --seller-text:        var(--s-text-primary);
  --seller-text-muted:  var(--s-text-muted);
  --seller-bg-card:     var(--s-bg-card);
  --seller-accent:      var(--s-accent);
  --seller-border:      var(--s-border);
}

/* --------------------------------------------------------------------------
   2. Base Styles
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body.seller-body {
  font-family: var(--s-font-family);
  font-weight: var(--s-font-regular);
  background-color: var(--s-bg-primary);
  color: var(--s-text-primary);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--s-radius-pill);
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.18);
}

/* Selection */
::selection {
  background: var(--s-accent);
  color: var(--s-text-on-accent);
}

/* Links */
a {
  color: var(--s-accent);
  text-decoration: none;
  transition: color var(--s-transition-fast);
}

a:hover {
  color: var(--s-accent-hover);
}

img {
  max-width: 100%;
  display: block;
}

/* --------------------------------------------------------------------------
   3. Auth Pages (seller-guest.blade.php, login, signup)
   -------------------------------------------------------------------------- */
   .auth-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background-image: url('/images/auth-background.jpg'); /* path to your png file */
    background-size: cover;      /* makes image cover full area */
    background-position: center; /* center the image */
    background-repeat: no-repeat;
  }

.auth-container {
  display: flex;
  min-height: 100vh;
  width: 100%;
}

.auth-image-panel {
  flex: 2;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #1a2233 0%, var(--s-bg-primary) 100%);
  border-radius: 34px;
}

.auth-image-panel img,
.auth-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

.auth-image-panel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, transparent 60%, var(--s-bg-primary) 100%);
  pointer-events: none;
}

.auth-form-panel {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-space-2xl);
  position: relative;
  overflow: hidden;
}

/* Star/grid background pattern */
.auth-form-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 60px 60px, 60px 60px;
  pointer-events: none;
}

.auth-form-inner {
  width: 100%;
  max-width: 440px;
  position: relative;
  z-index: 1;
}

.auth-card {
  width: 100%;
  background: #FFFFFF1A;
  box-shadow: 0px 0px 16px 0px #0000000A;
  border-radius: 20px;
  padding: var(--s-space-3xl);
  position: relative;
  z-index: 1;
  display: flex;
  margin:70px 160px;
  border: 1px solid;
  border-image-source: linear-gradient(117.76deg, rgba(255, 255, 255, 0.5) 0.5%, rgba(255, 255, 255, 0) 50.25%, rgba(255, 255, 255, 0.5) 100%);



}

.auth-logo {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  margin-bottom: var(--s-space-2xl);
  justify-content: center;
}

.auth-logo img {
  height: 36px;
  width: auto;
}

.auth-heading {
  font-size: var(--s-text-2xl);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  margin-bottom: var(--s-space-xs);
}

.auth-subtitle {
  font-size: var(--s-text-base);
  color: var(--s-text-muted);
  margin-bottom: var(--s-space-xl);
}

.auth-error-box {
  background: var(--s-error-bg);
  border: 1px solid rgba(239, 67, 67, 0.2);
  border-radius: var(--s-radius-input);
  padding: var(--s-space-md) var(--s-space-base);
  margin-bottom: var(--s-space-base);
  color: var(--s-error-badge);
  font-size: var(--s-text-sm);
}

.auth-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.auth-field {
  margin-bottom: var(--s-space-base);
}

.auth-label {
  display: block;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-near-white);
  margin-bottom: var(--s-space-sm);
}

.auth-input {
  width: 100%;
  padding: 12px 16px;
  background: var(--s-bg-input);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-input);
  color: var(--s-text-primary);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-regular);
  outline: none;
  transition: all var(--s-transition-fast);
}

.auth-input::placeholder {
  color: var(--s-text-dim);
}

.auth-input:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.auth-input:focus {
  background: var(--s-bg-input-focus);
  border-color: var(--s-accent);
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

.auth-field-error {
  font-size: var(--s-text-xs);
  color: var(--s-error);
  margin-top: var(--s-space-xs);
}

.auth-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-space-sm);
  width: 100%;
  padding: 12px 20px;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-semibold);
  border: none;
  border-radius: var(--s-radius-btn);
  cursor: pointer;
  transition: all var(--s-transition-fast);
  line-height: 1.4;
}

.auth-btn-primary:hover:not(:disabled) {
  background: var(--s-accent-hover);
  box-shadow: var(--s-shadow-glow);
}

.auth-btn-primary:active:not(:disabled) {
  transform: translateY(1px);
}

.auth-btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.auth-alt-link {
  text-align: center;
  margin-top: var(--s-space-lg);
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
}

.auth-alt-link a {
  color: var(--s-accent);
  font-weight: var(--s-font-medium);
}

.auth-role-toggle {
  display: flex;
  background: var(--s-bg-input);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-btn);
  overflow: hidden;
  margin-bottom: var(--s-space-xl);
}

.auth-role-tab {
  flex: 1;
  padding: 10px 16px;
  text-align: center;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-muted);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all var(--s-transition-fast);
  font-family: var(--s-font-family);
}

.auth-role-tab:hover {
  color: var(--s-text-primary);
}

.auth-role-tab.active {
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  font-weight: var(--s-font-semibold);
}

/* --------------------------------------------------------------------------
   4. Header (seller-app.blade.php)
   -------------------------------------------------------------------------- */
.seller-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--s-header-height);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--s-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--s-space-xl);
  z-index: 1000;
}

.seller-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
}

.seller-logo {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  font-size: var(--s-text-lg);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
  text-decoration: none;
}

.seller-logo img {
  height: 32px;
  width: auto;
}

.seller-logo-text {
  font-size: var(--s-text-lg);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}

.seller-header-nav {
  display: flex;
  align-items: center;
  gap: var(--s-space-xs);
  list-style: none;
}

.seller-header-link {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  padding: 8px 16px;
  border-radius: var(--s-radius-btn);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-muted);
  text-decoration: none;
  transition: all var(--s-transition-fast);
}

.seller-header-link:hover {
  color: var(--s-text-primary);
  background: rgba(255, 255, 255, 0.04);
}

.seller-header-link.active {
  color: var(--s-accent);
}

.seller-header-user {
  display: flex;
  align-items: center;
  gap: var(--s-space-base);
}

.notification-btn,
.seller-notification-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--s-radius-input);
  background: transparent;
  border: none;
  color: var(--s-text-muted);
  cursor: pointer;
  transition: all var(--s-transition-fast);
}

.notification-btn:hover,
.seller-notification-btn:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--s-text-primary);
}

.notification-dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  background: var(--s-error-badge);
  border-radius: 50%;
  border: 2px solid var(--s-bg-primary);
}

.seller-user-pill {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  padding: 6px 14px 6px 6px;
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-pill);
  cursor: pointer;
  transition: background var(--s-transition-fast);
  text-decoration: none;
}

.seller-user-pill:hover {
  background: var(--s-bg-card-hover);
}

.seller-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--s-accent-dark);
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-on-accent);
  overflow: hidden;
  flex-shrink: 0;
}

.seller-user-name {
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-near-white);
}

/* --------------------------------------------------------------------------
   5. Sidebar
   -------------------------------------------------------------------------- */
.seller-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  width: var(--s-sidebar-width);
  background: var(--s-bg-sidebar);
  border-right: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-lg) var(--s-space-md);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  z-index: 900;
  margin-top: var(--s-space-2xl);
}

.seller-sidebar-nav {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--s-space-xs);
  flex: 1;
}

.seller-nav-item {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
  padding: 10px 14px;
  border-radius: var(--s-radius-btn);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-muted);
  text-decoration: none;
  cursor: pointer;
  transition: all var(--s-transition-fast);
}

.seller-nav-item:hover {
  color: var(--s-text-primary);
  background: rgba(255, 255, 255, 0.04);
}

.seller-nav-item.active {
  color: var(--s-accent);
  background: var(--s-accent-muted);
}

.seller-nav-item svg,
.seller-nav-item i {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  opacity: 0.7;
}

.seller-nav-item.active svg,
.seller-nav-item.active i {
  opacity: 1;
}

/* Highlight sidebar icon strokes when active */
.seller-nav-item.active svg path,
.seller-nav-item.active svg circle,
.seller-nav-item.active svg rect,
.seller-nav-item.active svg line {
  stroke: var(--s-accent);
}

.seller-nav-logout {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
  padding: 10px 14px;
  border-radius: var(--s-radius-btn);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-error);
  text-decoration: none;
  cursor: pointer;
  border: none;
  background: none;
  width: 100%;
  font-family: var(--s-font-family);
  transition: background var(--s-transition-fast);
}

.seller-nav-logout:hover {
  background: var(--s-error-bg);
}

/* --------------------------------------------------------------------------
   6. Main Layout
   -------------------------------------------------------------------------- */
.seller-wrapper {
  min-height: 100vh;
  background: var(--s-bg-primary);
}

.seller-main {
  display: grid;
  grid-template-columns: var(--s-sidebar-width) 1fr;
  grid-template-rows: 1fr;
  height: calc(100vh);
  padding-top: var(--s-header-height);
  margin-inline: 50px;
}

.seller-main--no-sidebar {
  grid-template-columns: 1fr;
}

.seller-content {
  padding: var(--s-space-2xl);
  overflow-y: auto;
  height: 100%;
  padding-bottom: 48px;
}

/* Profile setup layout - no sidebar */
.seller-setup-main {
  min-height: calc(100vh - var(--s-header-height));
  padding-top: var(--s-header-height);
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.setup-skip-link{
  color: #F8FAFC;
}

.setup-skip-link:hover{
  transform: scale(1.2);
}

/* Toast notifications */
/* ── Toast (admin-style) ─────────────────────────────────────────── */
#admin-toast-wrap {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}
.admin-toast {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-left: 3px solid #0e7490;
    border-radius: 10px;
    padding: 14px 16px;
    min-width: 280px;
    max-width: 360px;
    pointer-events: all;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.admin-toast.show { opacity: 1; transform: translateX(0); }
.admin-toast.hide { opacity: 0; transform: translateX(30px); }
.admin-toast-icon {
    flex-shrink: 0;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: rgba(14,116,144,0.1);
    display: flex; align-items: center; justify-content: center;
}
.admin-toast-body { flex: 1; }
.admin-toast-title { font-size: 13px; font-weight: 600; color: #111827; margin: 0 0 2px; }
.admin-toast-msg   { font-size: 12px; color: #6b7280; margin: 0; }
.admin-toast-close {
    background: none; border: none; padding: 0;
    cursor: pointer; color: #9ca3af; line-height: 1;
    flex-shrink: 0; transition: color 0.15s;
}
.admin-toast-close:hover { color: #111827; }
.admin-toast-error { border-left-color: #ef4444; }
.admin-toast-error .admin-toast-icon { background: rgba(239,68,68,0.1); }

/* --------------------------------------------------------------------------
   7. Page Header / Banners / Badges (Dashboard)
   -------------------------------------------------------------------------- */
.seller-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--s-space-xl);
}

.seller-page-title {
  font-size: var(--s-text-2xl);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}

/* Banners */
.seller-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-space-base);
  padding: var(--s-space-base) var(--s-space-lg);
  border-radius: var(--s-radius-input);
  margin-bottom: var(--s-space-lg);
  font-size: var(--s-text-base);
}

.seller-banner-warning {
  background: var(--s-warning-bg);
  border: 1px solid rgba(245, 158, 11, 0.2);
  color: var(--s-warning);
}

.seller-banner-left {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
}

.seller-banner-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.seller-banner-text {
  font-size: var(--s-text-base);
  color: inherit;
}

.seller-banner-text strong{
  color: var(--s-text-primary);;

}

.seller-banner-text span{
  color:#D7B29DB2;

}

/* Badges */
.seller-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: var(--s-radius-pill);
  font-size: var(--s-text-xs);
  font-weight: var(--s-font-bold);
  line-height: 1.4;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.seller-badge-warning {
  background: var(--s-warning-bg);
  color: var(--s-warning);
  border: 1px solid rgba(245, 158, 11, 0.2);
}

.seller-badge-success {
  background: #D7B29D1A;
  color: #D7B29D;
  border: 1.17px solid #D7B29D33
}

.seller-badge-outline {
  background: transparent;
  color: #FFFFFF;
  border: 1px solid var(--s-border);
}

.seller-badge-live {
  background: #D7B29D;
  color: #FFFFFF;
  border: 1.11px solid #D7B29D;
}

.seller-badge-paused {
  background: rgba(251, 191, 36, 0.12);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

.seller-badge-draft {
  background: rgba(148, 163, 184, 0.1);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.seller-badge-pending {
  background: rgba(96, 165, 250, 0.12);
  color: #60a5fa;
  border: 1px solid rgba(96, 165, 250, 0.3);
}

.seller-badge-flagged {
  background: rgba(251, 146, 60, 0.12);
  color: #fb923c;
  border: 1px solid rgba(251, 146, 60, 0.3);
}

.seller-badge-rejected {
  background: rgba(248, 113, 113, 0.12);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.3);
}

.seller-badge-unavailable {
  background: rgba(148, 163, 184, 0.08);
  color: #64748b;
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.seller-badge-muted {
  background: rgba(255, 255, 255, 0.05);
  color: var(--s-text-dim);
  border: 1px solid var(--s-border);
}

.seller-badge-info {
  background: var(--s-info-bg);
  color: var(--s-info);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

.seller-badge-top {
  background: rgba(215, 178, 157, 0.12);
  color: var(--s-accent);
  border: 1px solid var(--s-border-accent);
}

.seller-badge-accent {
  background: var(--s-accent-muted);
  color: var(--s-accent);
  border: 1px solid var(--s-border-accent);
}

.seller-badge-sold {
  background: #D7B29D33;
  color: #D7B29D;
  border: 1.11px solid #D7B29D4D
}

.seller-badge-lg {
  padding: 5px 14px;
  font-size: var(--s-text-sm);
}

/* --------------------------------------------------------------------------
   8. KPI Cards (Dashboard)
   -------------------------------------------------------------------------- */
.seller-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--s-space-base);
  margin-bottom: var(--s-space-xl);
}

.seller-kpi-row-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-space-base);
  margin-bottom: var(--s-space-xl);
}

.seller-kpi-card {
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-lg);
  display: flex;
  align-items: flex-start;
  gap: var(--s-space-base);
  transition: border-color var(--s-transition-fast);
  flex-direction: column;
  align-items: flex-start;
}

.seller-kpi-card:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-kpi-icon {
  width: 22px;
  height: 22px;
  border-radius: var(--s-radius-input);
  display: flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--s-accent);
}

.seller-kpi-info {
  flex: 1;
  min-width: 0;
}

.seller-kpi-value {
  font-size: var(--s-text-2xl);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
  line-height: 1.2;
}

.seller-kpi-label {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  margin-top: var(--s-space-xs);
}

/* --------------------------------------------------------------------------
   9. Cards (Dashboard, generic)
   -------------------------------------------------------------------------- */
.seller-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-space-base);
  margin-bottom: var(--s-space-xl);
}

.seller-card {
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-xl);
  transition: border-color var(--s-transition-fast);
}

.seller-card:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-card-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: var(--s-space-lg);
}

.seller-card-title {
  font-size: var(--s-text-lg);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  padding-top: 10px;
  margin-left: 10px;
}

.seller-card-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--s-space-sm);
  margin-top: var(--s-space-lg);
  padding-top: var(--s-space-lg);
  border-top: 1px solid var(--s-border);
  text-align: center;
  font-family: Lexend;
  font-weight: 900;
  font-size: 10px;
  line-height: 15px;
  letter-spacing: 1px;
  text-align: center;
  text-transform: uppercase;

}

.seller-card-form {
  display: flex;
  flex-direction: column;
  /* gap: var(--s-space-base); */
}

/* Dashboard offer list (compact) */
.seller-offer-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-sm);
}

.seller-offer-item {
  display: flex;
  align-items: center;
  gap: var(--s-space-base);
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.seller-offer-item:hover {
  border-color: rgba(255, 255, 255, 0.14);
}

.seller-offer-number {
  font-family: 'Lexend', sans-serif;
  font-weight: 700; /* Bold */
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0;

  color: var(--s-accent);
  min-width: 28px;
}

.seller-offer-details {
  flex: 1;
  min-width: 0;
  font-size: var(--s-text-base);
  color: var(--s-text-primary);
}

.seller-offer-price {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

.seller-offer-meta {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
}

/* Dashboard tour list (compact) */
.seller-tour-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-sm);
}

.seller-tour-item {
  display: flex;
  align-items: center;
  gap: var(--s-space-base);
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.seller-tour-item:hover {
  border-color: rgba(255, 255, 255, 0.14);
}

.seller-tour-date {
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-semibold);
  color:#F8FAFC;
  
  min-width: 60px;
}

.seller-tour-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.seller-tour-details {
  flex: 1;
  min-width: 0;
  font-size: var(--s-text-base);
  color: var(--s-text-primary);
}

.seller-tour-time {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
}

.seller-tour-count {
  font-size: var(--s-text-xs);
  color: var(--s-text-dim);
}

/* Link arrow */
.seller-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: var(--s-space-xs);
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: #97A3B4;
  text-decoration: none;
  transition: color var(--s-transition-fast);
}

.seller-link-arrow:hover {
  color: var(--s-accent-hover);
}

/* --------------------------------------------------------------------------
   10. Buttons
   -------------------------------------------------------------------------- */

/* Base button reset */
.seller-btn-accent,
.seller-btn-outline,
.seller-btn-sm,
.seller-btn-danger,
.seller-btn-ghost,
.seller-btn-secondary,
.seller-btn-full,
.seller-btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-space-sm);
  padding: 10px 20px;
  border-radius: var(--s-radius-btn);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  line-height: 1.4;
  border: none;
  cursor: pointer;
  transition: all var(--s-transition-fast);
  text-decoration: none;
  white-space: nowrap;
}

.seller-btn-accent:disabled,
.seller-btn-outline:disabled,
.seller-btn-sm:disabled,
.seller-btn-danger:disabled,
.seller-btn-ghost:disabled,
.seller-btn-secondary:disabled,
.seller-btn-full:disabled,
.seller-btn-success:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.seller-btn-sm-review {
  width: 66.52777862548828;
  height: 35.989585876464844;
  border-radius: 10px;
  gap: 8px;
  opacity: 1;
  padding-right: 12px;
  padding-left: 12px;
  
}

.seller-btn-accent-update{
  background: var(--s-accent) !important;
  color: #000000 !important;
  font-weight: var(--s-font-semibold) !important;
}

/* Accent - Peach background */
.seller-btn-accent {
  background: var(--s-accent) ;
  color: var(--s-text-on-accent);
  font-weight: var(--s-font-semibold);
}

.seller-btn-accent:hover:not(:disabled) {
  background: var(--s-accent-hover);
  box-shadow: var(--s-shadow-glow);
  color: var(--s-text-on-accent);
  border-color: rgba(255, 255, 255, 0.15);
}

.seller-btn-accent:active:not(:disabled) {
  transform: translateY(1px);
}

/* Outline - transparent with border */
.seller-btn-outline {
  background: transparent;
  color: var(--s-text-primary);
  border: 1px solid var(--s-border);
}

.seller-btn-outline:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
}

/* Secondary - same as outline */
.seller-btn-secondary {
  background: #FFFFFF17;
  color: var(--s-accent);
  border: 1px solid var(--s-border);
}

.seller-btn-secondary:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
}

/* Danger */
.seller-btn-danger {
  background: var(--s-error-bg);
  color: var(--s-error) !important;
  border: 1px solid rgba(239, 67, 67, 0.2);
}

.seller-btn-danger:hover:not(:disabled) {
  background: rgba(239, 67, 67, 0.18);
  border-color: rgba(239, 67, 67, 0.35);
}

/* Ghost */
.seller-btn-ghost {
  background: transparent !important;
  color: var(--s-text-muted);
  padding: 8px 14px;
  border: none !important;
}

.seller-btn-ghost:hover:not(:disabled) {
  color: var(--s-text-primary);
  background: rgba(255, 255, 255, 0.04);
}

/* Success - green */
.seller-btn-success {
  background: var(--s-success-bg);
  color: var(--s-success);
  border: 1px solid rgba(34, 197, 94, 0.2);
}

.seller-btn-success:hover:not(:disabled) {
  background: rgba(34, 197, 94, 0.18);
  border-color: rgba(34, 197, 94, 0.35);
}

/* Small size */
.seller-btn-sm {
  padding: 6px 14px;
  font-size: var(--s-text-sm);
  border-radius: var(--s-radius-btn-sm);
  background: #FFFFFF1F;
  color: var(--s-text-primary);
  border-top: 1.11px solid #FFFFFF1A;
}

.seller-btn-sm:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
}

/* Full width */
.seller-btn-full {
  width: 100%;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  font-weight: var(--s-font-semibold);
}

.seller-btn-full:hover:not(:disabled) {
  background: var(--s-accent-hover);
  box-shadow: var(--s-shadow-glow);
}

/* --------------------------------------------------------------------------
   11. Form Elements
   -------------------------------------------------------------------------- */
.seller-field {
  margin-bottom: var(--s-space-base);
}

.seller-label {
  display: block;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-near-white);
  margin-bottom: var(--s-space-sm);
  text-transform: uppercase;
}

.seller-input {
  width: 100%;
  min-height: 46px;
  padding: 12px 16px;
  background: var(--s-bg-input);
  border: 2px solid var(--s-border);
  border-radius: var(--s-radius-input);
  color: var(--s-text-primary);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-regular);
  outline: none;
  transition: all var(--s-transition-fast);
}

.seller-input::placeholder {
  color: var(--s-text-dim);
}

.seller-input:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-input:focus {
  background: var(--s-bg-input-focus);
  border-color: var(--s-accent);
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

.seller-input-sm {
  padding: 8px 12px;
  font-size: var(--s-text-sm);
  min-height: 36px;
}

/* Select */
.seller-select {
  width: 100%;
  min-height: 46px;
  padding: 12px 40px 12px 16px;
  background: var(--s-bg-input);
  border: 2px solid var(--s-border);
  border-radius: var(--s-radius-input);
  color: var(--s-text-primary);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2397A3B4' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6l3.5 4 3.5-4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
  transition: all var(--s-transition-fast);
}

.seller-select:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-select option,
.seller-select optgroup { background: #111827; color: #e2e8f0; }

.seller-select:focus {
  background-color: var(--s-bg-input-focus);
  border-color: var(--s-accent);
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

/* Textarea */
.seller-textarea {
  width: 100%;
  min-height: 120px;
  padding: 12px 16px;
  background: var(--s-bg-input);
  border: 2px solid var(--s-border);
  border-radius: var(--s-radius-input);
  color: var(--s-text-primary);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  outline: none;
  resize: vertical;
  transition: all var(--s-transition-fast);
}

.seller-textarea::placeholder {
  color: var(--s-text-dim);
}

.seller-textarea:focus {
  background: var(--s-bg-input-focus);
  border-color: var(--s-accent);
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

.seller-textarea-counter {
  display: flex;
  justify-content: flex-end;
  margin-top: 6px;
  font-size: var(--s-text-xs);
  color: var(--s-text-primary);
  letter-spacing: 0.02em;
}

.seller-field-hint {
  font-size: var(--s-text-xs);
  color: var(--s-text-dim);
  margin-top: var(--s-space-xs);
}

/* Checkbox */
.seller-field-checkbox {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  cursor: pointer;
}

.seller-checkbox {
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--s-border);
  border-radius: 5px;
  background: var(--s-bg-input);
  appearance: none;
  cursor: pointer;
  transition: all var(--s-transition-fast);
  position: relative;
  flex-shrink: 0;
}

.seller-checkbox:checked {
  background: var(--s-accent);
  border-color: var(--s-accent);
}

.seller-checkbox:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid var(--s-text-on-accent);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.seller-checkbox:focus-visible {
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

.seller-checkbox-label {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  cursor: pointer;
}

/* Input with icon */
.seller-input-icon-wrap {
  position: relative;
}

.seller-input-icon-wrap .seller-input {
  padding-left: 40px;
}

.seller-input-icon-left {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--s-text-dim);
  pointer-events: none;
}

/* Form grid layouts */
.seller-form-grid {
  display: grid;
  gap: var(--s-space-base);
}

.seller-form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-space-base);
}

.seller-form-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-space-base);
}

.seller-form-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-space-base);
}

.seller-form-section-title {
  font-size: var(--s-text-md);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  margin-bottom: var(--s-space-base);
  margin-top: var(--s-space-lg);
}

.seller-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--s-space-sm);
}

.seller-map-placeholder {
  width: 100%;
  height: 240px;
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--s-text-dim);
  font-size: var(--s-text-sm);
}

/* Create listing – Step 1 layout (match mock) */
.seller-create-step-card {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.seller-map-placeholder--create {
  height: 140px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  font-size: 0.72rem;
}

.seller-map-placeholder--stack {
  flex-direction: column;
  gap: 8px;
  text-align: center;
}

.seller-map-placeholder--stack svg {
  width: 18px;
  height: 18px;
}

.seller-create-confirm {
  margin-top: 10px;
  margin-bottom: 18px;
}

/* Form footer */
.seller-form-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--s-space-sm);
  margin-top: var(--s-space-xl);
  padding-top: var(--s-space-lg);
  border-top: 1px solid var(--s-border);
}

.seller-form-footer-split {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-space-sm);
  margin-top: var(--s-space-xl);
  padding-top: var(--s-space-lg);
  border-top: 1px solid var(--s-border);
}

/* Footer pill buttons on edit listing */
.seller-footer-pill {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 9999px;
  padding: 12px 26px;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.seller-footer-pill svg {
  flex-shrink: 0;
}

.seller-form-footer-split .seller-btn-secondary.seller-footer-pill {
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.10);
  color: var(--s-text-near-white);
}

.seller-form-footer-split .seller-btn-secondary.seller-footer-pill:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.14);
}

.seller-form-footer-split .seller-btn-accent.seller-footer-pill {
  border-radius: 9999px;
}

.seller-form-title {
  font-size: var(--s-text-xl)!important;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  margin-bottom: var(--s-space-xs);
}

.seller-form-subtitle {
  font-size: var(--s-text-base);
  color: var(--s-text-muted);
  margin-bottom: var(--s-space-xl);
}

.seller-review-notice {
  background: var(--s-accent-subtle);
  border: 1px solid var(--s-border-accent);
  border-radius: var(--s-radius-input);
  padding: var(--s-space-base) var(--s-space-lg);
  font-size: var(--s-text-sm);
  color: var(--s-accent);
  margin-bottom: var(--s-space-lg);
}

/* --------------------------------------------------------------------------
   11b. Edit Listing — Section icon titles, amenity chips, photo grid, danger zone
   -------------------------------------------------------------------------- */

/* Page subtitle (below page title) */
.seller-page-subtitle {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 2px;
}

/* Section title with icon */
.seller-section-icon-title {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  margin-bottom: var(--s-space-base);
}

.seller-section-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--s-accent-subtle);
  flex-shrink: 0;
  color: var(--s-accent);
}

/* Edit/Create section header style (match mock) */
.seller-card-form .seller-section-icon-title {
  margin-bottom: 18px;
}

.seller-card-form .seller-section-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(215, 178, 157, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.seller-card-form .seller-section-icon svg {
  width: 16px;
  height: 16px;
}

.seller-card-form .seller-section-icon-title .seller-form-title {
  font-size: 0.78rem;
  /* letter-spacing: 0.16em; */
  text-transform: uppercase;
  font-weight: 700;
  color: var(--s-accent);
}

/* Current price display (Pricing section right column) */
.seller-current-price-display {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 2px;
  background: var(--s-bg-input);
  border-radius: var(--s-radius-input);
  padding: 20px 14px;
  border: 1px solid var(--s-border);
}

.seller-current-price-label {
  font-size: 0.7rem;
  color: var(--s-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 2px;
  font-weight: var(--s-font-semibold);
}

.seller-current-price-value {
  font-size: 0.95rem;
  font-weight: var(--s-font-bold);
  color: var(--s-text-near-white);
}

/* Photo grid */
.seller-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: var(--s-space-sm);
}

.seller-photo-thumb {
  position: relative;
  aspect-ratio: 4 / 4;
  border-radius: var(--s-radius-sm);
  overflow: hidden;
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
}

.seller-photo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.seller-photo-thumb-primary {
  border-color: var(--s-accent);
  border-width: 2px;
}

.seller-photo-primary-badge {
  position: absolute;
  bottom: 6px;
  left: 6px;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  font-size: 10px;
  font-weight: var(--s-font-semibold);
  padding: 2px 8px;
  border-radius: 999px;
}

.seller-photo-set-primary-btn {
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  opacity: 0;
  white-space: nowrap;
  background: rgba(0,0,0,0.72);
  color: #fff;
  font-size: 10px;
  font-weight: var(--s-font-semibold);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.2);
  cursor: pointer;
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}
.seller-photo-thumb:hover .seller-photo-set-primary-btn {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.seller-photo-set-primary-btn:hover {
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  border-color: var(--s-accent);
}

.seller-photo-add {
  aspect-ratio: 4 / 4;
  border-radius: var(--s-radius-sm);
  border: 1px dashed var(--s-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  color: var(--s-text-dim);
  font-size: var(--s-text-xs);
  transition: all var(--s-transition-fast);
  background: transparent;
}

.seller-photo-add:hover {
  border-color: var(--s-accent);
  color: var(--s-accent);
  background: var(--s-accent-subtle);
}

/* Amenity chip groups */
.seller-amenity-group {
  margin-bottom: var(--s-space-base);
}

.seller-amenity-group:last-child {
  margin-bottom: 0;
}

.seller-amenity-group-label {
  font-size: var(--s-text-xs);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  text-transform: uppercase;
  margin-bottom: var(--s-space-sm);
}

.seller-amenity-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-space-sm);
}

.seller-amenity-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  cursor: pointer;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--s-border);
  color: var(--s-text-muted);
  transition: all var(--s-transition-fast);
  user-select: none;
}

.seller-amenity-chip input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.seller-amenity-chip:hover {
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--s-text-primary);
}

.seller-amenity-chip.checked {
  background: var(--s-accent-subtle);
  border-color: var(--s-accent);
  color: var(--s-accent);
}

/* Danger zone */
.seller-danger-zone {
  border: 1px solid rgba(239, 68, 68, 0.35);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-lg);
  background: rgba(239, 68, 68, 0.05);
  display: flex;
  align-items: flex-start;
  gap: var(--s-space-base);
}

.seller-danger-zone-icon {
  color: #ef4444;
  flex-shrink: 0;
  margin-top: 2px;
}

.seller-danger-zone-title {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-bold);
  color: #ef4444;
  margin-bottom: var(--s-space-xs);
}

.seller-danger-zone-text {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  margin-bottom: var(--s-space-base);
  line-height: 1.6;
}

/* --------------------------------------------------------------------------
   12. Step Wizard (Listing Create)
   -------------------------------------------------------------------------- */
.seller-step-wizard {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: var(--s-space-2xl);
  padding: 16px 18px 34px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.seller-step {
  display: flex;
  align-items: center;
  gap: 0;
  position: relative;
}

/* Step states */
.seller-step-completed .seller-step-circle {
  border-color: var(--s-accent);
  background: linear-gradient(135deg, #C8A68D 0%, #D9BBA6 100%);
  color: var(--s-accent);
  position: relative;
}

.seller-step-completed .seller-step-circle::before {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14px;
  font-weight: bold;
  color: #121821;
}

.seller-step-line-active,
.seller-step-completed + .seller-step-line {
  background: transparent;
}

.seller-step-circle {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
  transition: all var(--s-transition-base);
  border: 1.5px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.02);
  color: rgba(255, 255, 255, 0.55);
}

.seller-step-active .seller-step-circle {
  border-color: var(--s-accent);
  background: var(--s-accent);
  color: var(--s-text-on-accent);
}

.seller-step-label {
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.08em;
  text-transform: capitalize;
  white-space: nowrap;
}

.seller-step-active .seller-step-label {
  color: var(--s-accent);
}

.seller-step-line {
  width: 44px;
  height: 2px;
  background: transparent;
  flex-shrink: 0;
}

/* Wizard panels */
.seller-wizard-panel {
  display: none;
}

.seller-wizard-panel.active,
.seller-wizard-panel-active {
  display: block;
}

/* Review summary grid items */
.seller-review-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--s-space-base);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-input);
}

.seller-review-label {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: var(--s-font-semibold);
}

.seller-review-value {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

/* Utility */
.mt-16 { margin-top: 16px; }

/* --------------------------------------------------------------------------
   13. Profile Setup (onboarding wizard)
   -------------------------------------------------------------------------- */
.setup-container {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  padding: var(--s-space-2xl) var(--s-space-lg);
}

.setup-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: var(--s-space-2xl);
  padding: 0 var(--s-space-xl);
}

.setup-step {
  display: flex;
  align-items: center;
  gap: 0;
  position: relative;
}

/* .setup-step-active intentionally unused (active state handled by circle/label) */

.setup-step-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-semibold);
  flex-shrink: 0;
  transition: all var(--s-transition-base);
  border: 2px solid var(--s-border);
  background: transparent;
  color: var(--s-text-dim);
}

.setup-step-active .setup-step-circle {
  border-color: var(--s-accent);
  background: var(--s-accent);
  color: var(--s-text-on-accent);
}

.setup-step-label {
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
  font-size: var(--s-text-xs);
  color: var(--s-text-dim);
  white-space: nowrap;
}

.setup-step-active .setup-step-label {
  color: var(--s-accent);
}

.setup-step-line {
  width: 100px;
  height: 2px;
  flex-shrink: 0;
}

.setup-step-line.active {
  background: var(--s-accent);
}

.setup-step.completed .setup-step-circle {
  border-color: rgba(215, 178, 157, 0.35);
  color: var(--s-accent);
}

.setup-step.completed .setup-step-label {
  color: rgba(215, 178, 157, 0.7);
}

/* Completed step checkmark (matches mock) */
.setup-step.completed .setup-step-circle {
  position: relative;
  color: transparent;
}

.setup-step.completed .setup-step-circle::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--s-accent);
  font-size: 0.95rem;
  font-weight: 900;
}

/* Setup panels */
.setup-panel {
  display: none;
}

.setup-panel-active {
  display: block;
}

.setup-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: var(--s-radius-card);
  padding: 28px;
  box-shadow: var(--s-shadow-md);
  backdrop-filter: blur(14px);
}

.setup-title {
  font-size: var(--s-text-xl);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  margin-bottom: var(--s-space-xs);
  text-align: center;
}

.setup-subtitle {
  font-size: var(--s-text-base);
  color: var(--s-text-muted);
  margin-bottom: var(--s-space-xl);
  text-align: center;
}

.setup-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.setup-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.setup-grid-2 .setup-field {
  margin-bottom: var(--s-space-2xl);
}

.setup-field {
  margin-bottom: var(--s-space-2xl);
}

.setup-label {
  display: block;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-near-white);
  margin-bottom: var(--s-space-sm);
}

.setup-input-icon {
  position: relative;
}

.setup-input-icon .setup-input {
  padding-left: 40px;
}

.setup-input-icon svg,
.setup-input-icon i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--s-text-dim);
  pointer-events: none;
}

.setup-input {
  width: 100%;
  padding: 12px 16px;
  background: var(--s-bg-input);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-input);
  color: var(--s-text-primary);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-regular);
  outline: none;
  transition: all var(--s-transition-fast);
}

.setup-input::placeholder {
  color: var(--s-text-dim);
}

.setup-input:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.setup-input:focus {
  background: var(--s-bg-input-focus);
  border-color: var(--s-accent);
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

.setup-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.setup-checkbox-div{
  padding: 13px;
  align-items: center;
  display: block;
  border: 1.11px solid #FFFFFF1A;
  border-radius: 16px;
  background: var(--s-bg-input);
  margin-bottom: var(--s-space-2xl);
}

.setup-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--s-border);
  border-radius: 5px;
  background: var(--s-bg-input);
  appearance: none;
  cursor: pointer;
  transition: all var(--s-transition-fast);
  position: relative;
  flex-shrink: 0;
}

.setup-checkbox input[type="checkbox"]:checked {
  background: var(--s-accent);
  border-color: var(--s-accent);
}

.setup-checkbox input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid var(--s-text-on-accent);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.setup-checkbox input[type="checkbox"]:focus-visible {
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

.setup-checkbox-text {
  font-size: var(--s-text-sm);
  color: var(--s-text-primary);
}

.setup-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-space-sm);
  padding: 10px 20px;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-semibold);
  border: none;
  border-radius: var(--s-radius-btn);
  cursor: pointer;
  transition: all var(--s-transition-fast);
  text-decoration: none;
}

.setup-btn-primary:hover:not(:disabled) {
  background: var(--s-accent-hover);
  box-shadow: var(--s-shadow-glow);
}

.setup-btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.setup-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-space-sm);
  padding: 10px 20px;
  background: transparent;
  color: var(--s-text-primary);
  border: 1px solid var(--s-border);
  font-family: var(--s-font-family);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  border-radius: var(--s-radius-btn);
  cursor: pointer;
  transition: all var(--s-transition-fast);
  text-decoration: none;
}

.setup-btn-secondary:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
}

/* Upload zone (setup) */
.setup-upload-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--s-space-md);
  padding: 34px 18px;
  min-height: 170px;
  border: 1px dashed rgba(255, 255, 255, 0.22);
  border-radius: var(--s-radius-card);
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
  transition: all var(--s-transition-fast);
  text-align: center;
}

.setup-upload-zone:hover {
  border-color: rgba(255, 255, 255, 0.30);
  background: rgba(255, 255, 255, 0.05);
}

.setup-upload-zone.has-file {
  border-color: rgba(34, 197, 94, 0.28);
  background: rgba(34, 197, 94, 0.06);
}

.setup-upload-zone .setup-upload-content svg {
  width: 30px;
  height: 30px;
  padding: 9px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.setup-upload-input {
  display: none;
}

.icon-container {
  width: 50px;
  height: 50px;
  background: var(--s-bg-card); /* white transparent */
  border-radius: 50%; /* makes it round */
  display: flex;
  align-items: center;
  justify-content: center;
}
.setup-upload-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-space-sm);
}

.setup-upload-text {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.92);
  font-weight: 700;
}

.setup-upload-text strong {
  color: var(--s-accent);
  font-weight: var(--s-font-medium);
}

.setup-upload-hint {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.62);
}

/* POA section */
.setup-poa-section {
  margin-top: var(--s-space-lg);
  position: relative;
}

.setup-poa-badge {
  position: absolute;
  height: 26px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px 16px 0px 0px;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.10);
  color: rgba(215, 178, 157, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.10);
}

.setup-notice {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: var(--s-radius-input);
  padding: 14px 16px;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.70);
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.setup-notice svg {
  margin-top: 1px;
  width: 18px;
  height: 18px;
  padding: 2px;
  color: rgba(215, 178, 157, 0.9);
  flex-shrink: 0;
}

.setup-notice strong {
  color: rgba(215, 178, 157, 0.95);
  font-weight: 800;
}

.setup-btn-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-space-sm);
  margin-top: var(--s-space-xl);
}

.setup-btn-row .setup-btn-secondary,
.setup-btn-row .setup-btn-primary {
  flex: 1;
  min-width: 0;
  padding: 14px 18px;
  border-radius: 16px;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.setup-btn-row {
  gap: 16px;
}

.setup-btn-secondary {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.10);
}

.setup-btn-secondary:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.14);
}

.setup-optional {
  font-size: var(--s-text-xs);
  color: var(--s-text-dim);
  font-style: italic;
}

.setup-secure-badge {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  padding: var(--s-space-md);
  border-radius: var(--s-radius-sm);
  margin-top: var(--s-space-lg);
}

.setup-secure-icon {
  width: 35px;
  height: 35px;
  color: var(--s-success);
  flex-shrink: 0;
}

.setup-secure-text {
  font-size: var(--s-text-sm);
  color: var(--s-text-primary);
}

.setup-skip{
  display: flex;
  justify-content: center; /* horizontal center */
  align-items: center; 
  margin-top:var(--s-space-xl)    /* vertical center (if height exists) */
}
/* --------------------------------------------------------------------------
   14. Listings
   -------------------------------------------------------------------------- */
.seller-listings-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-base);
}

/* ── Empty State ─────────────────────────────────────────────────────── */
.seller-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 72px 24px 64px;
  background: var(--s-bg-card);
  border: 1px dashed var(--s-border-accent);
  border-radius: var(--s-radius-card);
}

.seller-empty-icon {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.seller-empty-title {
  font-size: 20px;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}

.seller-empty-subtitle {
  font-size: 14px;
  color: var(--s-text-muted);
  max-width: 380px;
  line-height: 1.6;
  margin: 0 0 28px;
}

.seller-empty-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  font-size: 14px;
  font-weight: var(--s-font-semibold);
  border-radius: var(--s-radius-btn);
  text-decoration: none;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  transition: background 0.18s ease, transform 0.15s ease;
  margin-bottom: 28px;
}

.seller-empty-cta:hover {
  background: var(--s-accent-hover);
  transform: translateY(-1px);
}

.seller-empty-hints {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

.seller-empty-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--s-text-muted);
}

.seller-empty-hint svg {
  color: var(--s-accent);
  flex-shrink: 0;
}
/* ──────────────────────────────────────────────────────────────────────── */

.seller-listing-card {
  display: flex;
  flex-direction: row;
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  overflow: hidden;
  transition: border-color var(--s-transition-fast);
}

.seller-listing-card:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-listing-body {
  flex: 1;
  padding: var(--s-space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--s-space-md);
  min-width: 0;
}

.seller-listing-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--s-space-sm);
}

.seller-listing-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-space-md);
}

.seller-listing-title {
  font-size: var(--s-text-md);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}

.seller-listing-location {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
}

.seller-listing-price {
  font-size: var(--s-text-xl);
  font-weight: var(--s-font-bold);
  color: var(--s-accent);
}

.seller-listing-badges {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  flex-wrap: wrap;
}

.seller-listing-stats {
  display: flex;
  align-items: center;
  gap: var(--s-space-lg);
  font-size: var(--s-text-extrasmall);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

.seller-stat-label {
  font-size: var(--s-text-extrasmall);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-muted);
  letter-spacing: 0.04em;
}

.seller-listing-price-row {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
}

/* Inline price form */
.seller-price-form {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
}

.seller-price-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.seller-price-currency {
  position: absolute;
  left: 12px;
  font-size: 10px;
  color: #D7B29D;
  pointer-events: none;
  font-weight: 700;
  user-select: none;
}

.seller-price-input-wrap .seller-input {
  padding-left: 44px;
}

.seller-listing-actions {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  margin-top: auto;
}

/* Thin divider line inside listing card (matches mock) */
.seller-listing-break-line {
  width: 100%;
  height: 2px;
  margin: 16px 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.06) 0%,
    rgba(255, 255, 255, 0.32) 50%,
    rgba(255, 255, 255, 0.06) 100%
  );
  border-radius: 999px;
}

.seller-listing-actions-left {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  margin-right: auto;
}

.seller-listing-image {
  width: 240px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.seller-listing-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.seller-listing-img-full {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
}

.seller-listing-img-placeholder {
  width: 100%;
  height: 100%;
  background: var(--s-bg-card);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--s-text-dim);
}

.seller-listing-status-badge {
  position: absolute;
  top: var(--s-space-sm);
  left: var(--s-space-sm);
}

.seller-listing-img-sm {
  width: 48px;
  height: 48px;
  border-radius: var(--s-radius-sm);
  object-fit: cover;
  flex-shrink: 0;
}

.seller-listing-img-md {
  width: 80px;
  height: 60px;
  border-radius: var(--s-radius-sm);
  object-fit: cover;
  flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   15. Upload Areas (Listing Create)
   -------------------------------------------------------------------------- */
.seller-upload-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--s-space-sm);
  padding: var(--s-space-3xl) var(--s-space-xl);
  border: 1.11px solid #FFFFFF1A;
  border-radius: var(--s-radius-card);
  background: #FFFFFF0D;
  cursor: pointer;
  transition: all var(--s-transition-fast);
  text-align: center;
  color: var(--s-text-primary);
}

.seller-upload-hint{
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  font-weight: var(--s-font-regular);
  margin-top: var(--s-space-xs);
}

.seller-upload-zone:hover {
  border-color: var(--s-accent);
  background: var(--s-accent-subtle);
}

.seller-upload-link {
  color: var(--s-accent);
  font-weight: var(--s-font-medium);
  cursor: pointer;
}

.seller-upload-input {
  display: none;
}

/* --------------------------------------------------------------------------
   16. Offers
   -------------------------------------------------------------------------- */
.seller-filter-tabs {
  display: flex;
  gap: var(--s-space-xs);
  margin-bottom: var(--s-space-lg);
  padding-bottom: 0;

}

.seller-filter-tab {
  padding: var(--s-space-md) var(--s-space-base);
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-muted);
  background: #FFFFFF0D;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all var(--s-transition-fast);
  font-family: var(--s-font-family);
  text-decoration: none;
  margin-bottom: -1px;
}

.seller-filter-tab:hover {
  color: var(--s-text-primary);
}

.seller-filter-tab.active {
  color: var(--s-accent);
  border-bottom-color: var(--s-accent);
}

.seller-offers-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-md);
}

.seller-offer-card {
  display: flex;
  align-items: center;
  gap: var(--s-space-lg);
  padding: var(--s-space-lg);
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  transition: border-color var(--s-transition-fast);
  text-decoration: none;
}

.seller-offer-card:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-offer-left {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
  min-width: 200px;
}

.seller-offer-thumb {
  width: 48px;
  height: 48px;
  border-radius: var(--s-radius-sm);
  object-fit: cover;
  flex-shrink: 0;
}

.seller-offer-verified-icon {
  width: 16px;
  height: 16px;
  color: var(--s-success);
  flex-shrink: 0;
}

.seller-offer-info {
  flex: 1;
  min-width: 0;
}

.seller-offer-title-row {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
}

.seller-offer-property {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
  line-height: 1.3;
}

.seller-offer-price-row {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
  margin-top: var(--s-space-xs);
}

.seller-offer-amount {
  font-size: var(--s-text-lg);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}

.seller-offer-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--s-space-lg);
}

.seller-offer-payout {
  min-width: 120px;
}

.seller-offer-payout-label {
  font-size: var(--s-text-xs);
  color: var(--s-text-dim);
}

.seller-offer-payout-value {
  font-size: var(--s-text-md);
  font-weight: var(--s-font-semibold);
  color: var(--s-success);
}

.seller-back-link {
  display: inline-flex;
  align-items: center;
  gap: var(--s-space-sm);
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  text-decoration: none;
  margin-bottom: var(--s-space-lg);
  transition: color var(--s-transition-fast);
}

.seller-back-link:hover {
  color: var(--s-text-primary);
}

/* --------------------------------------------------------------------------
   17. Offer Detail
   -------------------------------------------------------------------------- */
.seller-detail-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: var(--s-space-xl);
}

.seller-detail-main {
  min-width: 0;
}

.seller-detail-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-base);
}

.seller-detail-rows {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.seller-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s-space-md) 0;
  border-bottom: 1px solid var(--s-border-light);
}

.seller-detail-row:last-child {
  border-bottom: none;
}

.seller-detail-row-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s-space-base) 0;
  border-top: 2px solid var(--s-border);
  margin-top: var(--s-space-sm);
  font-weight: var(--s-font-semibold);
}

.seller-detail-label {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
}

.seller-detail-value {
  font-size: var(--s-text-base);
  color: var(--s-text-primary);
  font-weight: var(--s-font-medium);
}

/* Text utilities for detail */
.seller-text-accent {
  color: var(--s-accent);
}

.seller-text-danger {
  color: var(--s-error);
}

.seller-text-muted {
  color: var(--s-text-muted);
}

.seller-text-white {
  color: var(--s-text-primary);
}

/* Buyer card */
.seller-buyer-card {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
  padding: var(--s-space-base);
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-input);
}

.seller-buyer-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--s-accent-dark);
  object-fit: cover;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-on-accent);
}

.seller-buyer-name {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
}

.seller-buyer-email {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
}

/* Mini timeline */
.seller-mini-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 24px;
}

.seller-mini-timeline-item {
  position: relative;
  padding-bottom: var(--s-space-base);
  padding-left: var(--s-space-base);
}

.seller-mini-timeline-item:last-child {
  padding-bottom: 0;
}

.seller-mini-timeline-item::before {
  content: '';
  position: absolute;
  left: -18px;
  top: 20px;
  bottom: 0;
  width: 2px;
  background: var(--s-border);
}

.seller-mini-timeline-item:last-child::before {
  display: none;
}

.seller-mini-timeline-dot {
  position: absolute;
  left: -24px;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid var(--s-border);
  background: var(--s-bg-primary);
}

.seller-mini-timeline-content {
  min-width: 0;
}

.seller-mini-timeline-title {
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
}

.seller-mini-timeline-date {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
  margin-top: 2px;
}

/* --------------------------------------------------------------------------
   18. Tours
   -------------------------------------------------------------------------- */
.seller-header-actions {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
}

.seller-tours-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-base);
}

.seller-tour-card-full {
  display: flex;
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-lg);
  transition: border-color var(--s-transition-fast);
}

.seller-tour-card-full:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-tour-card-left {
  display: flex;
  align-items: flex-start;
  gap: var(--s-space-base);
  flex: 1;
  min-width: 0;
}

.seller-tour-card-right {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  margin-left: auto;
}

.seller-tour-date-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  padding: var(--s-space-sm) var(--s-space-md);
  background: var(--s-accent-muted);
  border-radius: var(--s-radius-sm);
  flex-shrink: 0;
}

.seller-tour-date-day {
  font-size: var(--s-text-xl);
  font-weight: var(--s-font-bold);
  color: var(--s-accent);
  line-height: 1;
}

.seller-tour-date-month {
  font-size: var(--s-text-xs);
  font-weight: var(--s-font-semibold);
  color: var(--s-accent);
  text-transform: uppercase;
}

.seller-tour-info {
  flex: 1;
  min-width: 0;
}

.seller-tour-property {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
  margin-bottom: var(--s-space-xs);
}

.seller-tour-actions {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
}

/* --------------------------------------------------------------------------
   19. Closing Progress / Timeline
   -------------------------------------------------------------------------- */
.seller-closings-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-base);
}

.seller-closing-card {
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-xl);
}

.seller-closing-card-header {
  margin-bottom: var(--s-space-lg);
}

.seller-closing-title {
  font-size: var(--s-text-md);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

.seller-closing-subtitle {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  margin-top: 2px;
}

/* Progress bar */
.seller-closing-progress {
  margin-bottom: var(--s-space-lg);
}

.seller-closing-progress-bar {
  width: 100%;
  height: 8px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: var(--s-radius-pill);
  overflow: hidden;
  margin-bottom: var(--s-space-xs);
}

.seller-closing-progress-fill {
  height: 100%;
  background: var(--s-accent);
  border-radius: var(--s-radius-pill);
  transition: width var(--s-transition-slow);
}

.seller-closing-progress-text {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
}

/* Timeline */
.seller-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 28px;
}

.seller-timeline-item {
  display: flex;
  align-items: flex-start;
  gap: var(--s-space-base);
  position: relative;
  padding-bottom: var(--s-space-xl);
}

.seller-timeline-item:last-child {
  padding-bottom: 0;
}

/* Vertical connecting line */
.seller-timeline-item::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 24px;
  bottom: 0;
  width: 2px;
  background: var(--s-border);
}

.seller-timeline-item:last-child::before {
  display: none;
}

.seller-timeline-marker {
  position: absolute;
  left: -28px;
  top: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 2px solid var(--s-border);
  background: var(--s-bg-primary);
}

.seller-timeline-dot-active {
  border-color: var(--s-accent);
  background: var(--s-accent);
}

.seller-timeline-dot-empty {
  border-color: var(--s-border);
  background: var(--s-bg-primary);
}

.seller-timeline-content {
  flex: 1;
  min-width: 0;
}

.seller-timeline-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-space-sm);
}

.seller-timeline-title {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
}

.seller-timeline-date {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
  margin-top: 2px;
}

.seller-timeline-desc {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  margin-top: var(--s-space-xs);
}

/* Document list */
.seller-doc-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-sm);
  margin-top: var(--s-space-md);
}

.seller-doc-item {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  padding: var(--s-space-sm) var(--s-space-md);
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-sm);
  font-size: var(--s-text-sm);
}

.seller-doc-name {
  flex: 1;
  color: var(--s-text-primary);
  font-weight: var(--s-font-medium);
}

/* --------------------------------------------------------------------------
   20. Sale History
   -------------------------------------------------------------------------- */
.seller-header-stats {
  display: flex;
  align-items: center;
  gap: var(--s-space-lg);
}

.seller-sales-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-space-md);
}

.seller-sale-item {
  display: flex;
  align-items: center;
  gap: var(--s-space-base);
  padding: var(--s-space-base);
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  transition: border-color var(--s-transition-fast);
  text-decoration: none;
}

.seller-sale-item:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.seller-sale-thumb {
  width: 64px;
  height: 48px;
  border-radius: var(--s-radius-sm);
  object-fit: cover;
  flex-shrink: 0;
}

.seller-sale-info {
  flex: 1;
  min-width: 0;
}

.seller-sale-title-row {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
}

.seller-sale-subtitle {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
  margin-top: 2px;
}

.seller-sale-stats {
  display: flex;
  align-items: center;
  gap: var(--s-space-xl);
}

.seller-sale-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 80px;
}

.seller-sale-stat-value {
  font-size: var(--s-text-md);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}

.seller-sale-stat-label {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
}

.seller-sale-data-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: var(--s-radius-pill);
  font-size: var(--s-text-xs);
  font-weight: var(--s-font-semibold);
  background: var(--s-success-bg);
  color: var(--s-success);
}

.seller-sale-arrow {
  color: var(--s-text-dim);
  flex-shrink: 0;
  margin-left: auto;
}

/* --------------------------------------------------------------------------
   21. Settings
   -------------------------------------------------------------------------- */
.seller-settings-form {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.seller-toggle-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.seller-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-space-lg);
  padding: var(--s-space-base) 0;
  border-bottom: 1px solid var(--s-border);
}

.seller-toggle-row:last-child {
  border-bottom: none;
}

.seller-toggle-info {
  flex: 1;
  min-width: 0;
}

.seller-toggle-title {
  display: block;
  font-size: var(--s-text-base);
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
}

.seller-toggle-desc {
  display: block;
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  margin-top: 2px;
}

/* Toggle switch */
.seller-switch {
  position: relative;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.seller-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.seller-switch-slider {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.1);
  border-radius: var(--s-radius-pill);
  cursor: pointer;
  transition: background var(--s-transition-fast);
}

.seller-switch-slider::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  transition: transform var(--s-transition-fast);
}

.seller-switch input:checked + .seller-switch-slider {
  background: var(--s-accent);
}

.seller-switch input:checked + .seller-switch-slider::after {
  transform: translateX(20px);
}

.seller-switch input:focus-visible + .seller-switch-slider {
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

/* --------------------------------------------------------------------------
   22. Profile
   -------------------------------------------------------------------------- */
.seller-profile-hero {
  display: flex;
  align-items: center;
  gap: var(--s-space-xl);
  padding: var(--s-space-xl);
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  margin-bottom: var(--s-space-xl);
}

.seller-profile-avatar-lg {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--s-accent-dark);
  object-fit: cover;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--s-text-2xl);
  font-weight: var(--s-font-bold);
  color: var(--s-text-on-accent);
}

.seller-profile-info {
  flex: 1;
}

.seller-profile-name {
  font-size: var(--s-text-xl);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

.seller-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--s-space-base);
  margin-bottom: var(--s-space-xl);
}

.seller-stat-box {
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-lg);
  text-align: center;
}

.seller-stat-value {
  font-size: var(--s-text-2xl);
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
  line-height: 1.2;
}

.seller-stat-label {
  font-size: var(--s-text-extrasmall);
  color: var(--s-text-muted);
  margin-top: var(--s-space-xs);
}

.seller-quick-actions {
  display: flex;
  gap: var(--s-space-sm);
  flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   23. Tables
   -------------------------------------------------------------------------- */
.seller-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
}

.seller-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--s-text-base);
}

.seller-table thead {
  background: rgba(255, 255, 255, 0.03);
}

.seller-table th {
  padding: 14px var(--s-space-base);
  text-align: left;
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-muted);
  border-bottom: 1px solid var(--s-border);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.seller-table td {
  padding: 14px var(--s-space-base);
  border-bottom: 1px solid var(--s-border-light);
  color: var(--s-text-near-white);
  vertical-align: middle;
}

.seller-table tbody tr {
  transition: background var(--s-transition-fast);
}

.seller-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.02);
}

.seller-table tbody tr:last-child td {
  border-bottom: none;
}

/* --------------------------------------------------------------------------
   24. Responsive
   -------------------------------------------------------------------------- */

/* Tablet (sidebar collapses to icons-only) */
@media (max-width: 1024px) {
  :root {
    --s-sidebar-width: 64px;
  }

  .seller-nav-item span,
  .seller-nav-logout span {
    display: none;
  }

  .seller-nav-item {
    justify-content: center;
    padding: 10px;
  }

  .seller-nav-logout {
    justify-content: center;
    padding: 10px;
  }

  .seller-content {
    padding: var(--s-space-lg);
  }

  .seller-listing-image {
    width: 180px;
  }

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

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

  .seller-kpi-row-3 {
    grid-template-columns: 1fr 1fr;
  }

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

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

/* Mobile */
@media (max-width: 768px) {
  :root {
    --s-sidebar-width: 0px;
    --s-header-height: 64px;
  }

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

  .seller-sidebar {
    transform: translateX(-100%);
    width: 260px;
    border-radius: 0;
    z-index: 1100;
    transition: transform var(--s-transition-base);
  }

  .seller-sidebar.open {
    transform: translateX(0);
  }

  /* Mobile overlay when sidebar is open */
  .seller-sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--s-bg-overlay);
    z-index: 1050;
  }

  .seller-sidebar-overlay.active {
    display: block;
  }

  .seller-header-nav {
    display: none;
  }

  .seller-content {
    padding: var(--s-space-base);
  }

  .seller-page-title {
    font-size: var(--s-text-xl);
  }

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

  .seller-kpi-row-3 {
    grid-template-columns: 1fr;
  }

  .seller-listing-card {
    flex-direction: column;
  }

  .seller-listing-image {
    width: 100%;
    height: 180px;
  }

  .seller-offer-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .seller-offer-right {
    margin-left: 0;
    width: 100%;
  }

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

  .seller-form-grid-2,
  .seller-form-grid-3,
  .seller-form-grid-4 {
    grid-template-columns: 1fr;
  }

  .seller-profile-hero {
    flex-direction: column;
    text-align: center;
  }

  .seller-tour-card-full {
    flex-direction: column;
    gap: var(--s-space-md);
  }

  .seller-tour-card-right {
    margin-left: 0;
    width: 100%;
  }

  .seller-sale-stats {
    flex-wrap: wrap;
    gap: var(--s-space-md);
  }

  /* Auth pages */
  .auth-wrapper {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
  }

  .auth-container {
    flex-direction: column;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .auth-card {
    flex-direction: column;
    margin: 0 auto;
    padding: var(--s-space-xl);
    height: auto;
    border-radius: 16px;
    width: 100%;
    max-width: 420px;
  }

  .auth-image-panel {
    display: none;
  }

  .auth-form-panel {
    flex: 1;
    padding: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .auth-form-inner {
    max-width: 100%;
    width: 100%;
  }

  .auth-heading {
    font-size: 22px;
  }

  .otp-box {
    width: 40px;
    height: 48px;
    font-size: 1.25rem;
  }

  .seller-sale-item {
    flex-wrap: wrap;
  }

  .seller-table-wrap {
    font-size: var(--s-text-sm);
  }

  .seller-header-stats {
    flex-wrap: wrap;
    gap: var(--s-space-sm);
  }
}

@media (max-width: 520px) {
  .setup-grid-2 {
    grid-template-columns: 1fr;
  }
}

/* ── Mobile sidebar ──────────────────────────────────────────────── */
.seller-hamburger {
  display: none;
  background: none;
  border: none;
  color: var(--s-text-primary);
  cursor: pointer;
  padding: 4px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.seller-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 999;
}
.seller-sidebar-overlay.active { display: block; }

@media (max-width: 767px) {
  .seller-hamburger { display: flex; }

  .seller-header-nav { display: none; }

  .seller-main {
    grid-template-columns: 1fr;
    margin-inline: 0;
    padding-inline: 0;
    display: block;
  }

  .seller-sidebar {
    position: fixed;
    top: 0; left: 0;
    height: 100vh;
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    border-radius: 0;
    margin-top: 0;
    width: 280px;
    background: #0a1929;
    backdrop-filter: none;
    border-right: 1px solid rgba(255,255,255,0.1);
    padding: var(--s-space-xl) var(--s-space-base);
  }
  .seller-sidebar.sidebar-open { transform: translateX(0); }

  .seller-nav-item span {
    display: inline;
    color: inherit;
  }

  .seller-nav-item {
    color: var(--s-text-muted);
    justify-content: flex-start;
  }

  .seller-nav-logout span {
    display: inline;
  }

  .seller-nav-item.active {
    color: var(--s-accent);
  }

  .seller-nav-logout {
    color: #ef4343;
  }

  .seller-content {
    padding: var(--s-space-base);
    height: auto;
    min-height: calc(100vh - var(--s-header-height));
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .seller-kpi-row {
    grid-template-columns: 1fr;
  }

  .seller-user-name {
    display: none;
  }

  .seller-step-line,
  .setup-step-line {
    width: 30px;
  }

  .seller-step-circle,
  .setup-step-circle {
    width: 30px;
    height: 30px;
    font-size: var(--s-text-xs);
  }

  .seller-sale-stats {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Hide mobile menu toggle on desktop */
@media (min-width: 769px) {
  .seller-sidebar-overlay {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   25. Utility Classes
   -------------------------------------------------------------------------- */
.seller-text-accent { color: var(--s-accent); }
.seller-text-muted { color: var(--s-text-muted); }
.seller-text-danger { color: var(--s-error); }
.seller-text-white { color: var(--s-text-primary); }

.s-text-accent { color: var(--s-accent); }
.s-text-muted { color: var(--s-text-muted); }
.s-text-error { color: var(--s-error); }
.s-text-success { color: var(--s-success); }
.s-text-warning { color: var(--s-warning); }

.s-mt-sm { margin-top: var(--s-space-sm); }
.s-mt-md { margin-top: var(--s-space-md); }
.s-mt-lg { margin-top: var(--s-space-lg); }
.s-mt-xl { margin-top: var(--s-space-xl); }
.s-mb-sm { margin-bottom: var(--s-space-sm); }
.s-mb-md { margin-bottom: var(--s-space-md); }
.s-mb-lg { margin-bottom: var(--s-space-lg); }
.s-mb-xl { margin-bottom: var(--s-space-xl); }

/* Blade-template utility classes */
.mb-12 { margin-bottom: 12px; }
.mb-16 { margin-bottom: 16px; }
.mb-24 { margin-bottom: 24px; }
.d-inline { display: inline; }
.gap-12 { gap: 12px; }

.s-flex { display: flex; }
.s-flex-center { display: flex; align-items: center; justify-content: center; }
.s-flex-between { display: flex; align-items: center; justify-content: space-between; }
.s-gap-sm { gap: var(--s-space-sm); }
.s-gap-md { gap: var(--s-space-md); }
.s-gap-lg { gap: var(--s-space-lg); }

.s-hidden { display: none !important; }
.s-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* --------------------------------------------------------------------------
   26. Animations
   -------------------------------------------------------------------------- */

/* Fade-in animation */
@keyframes s-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.s-animate-in {
  animation: s-fade-in 0.3s ease forwards;
}

/* Skeleton loading */
.s-skeleton {
  background: linear-gradient(90deg,
    rgba(255, 255, 255, 0.04) 25%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.04) 75%
  );
  background-size: 200% 100%;
  animation: s-skeleton-shimmer 1.5s infinite;
  border-radius: var(--s-radius-sm);
}

@keyframes s-skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.s-skeleton--text {
  height: 16px;
  width: 80%;
}

.s-skeleton--heading {
  height: 24px;
  width: 50%;
}

.s-skeleton--avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.s-skeleton--card {
  height: 120px;
  width: 100%;
}

/* --------------------------------------------------------------------------
   Pricing & Strategy — Step 2 (create listing)
   -------------------------------------------------------------------------- */

/* AED prefix input wrapper */
.seller-input-prefix-wrap {
  position: relative;
  display: flex;
  align-items: stretch;
}

.seller-input-prefix {
  display: flex;
  align-items: center;
  padding: 0 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--s-border);
  border-right: none;
  border-radius: var(--s-radius-input) 0 0 var(--s-radius-input);
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.seller-input--prefixed {
  border-radius: 0 var(--s-radius-input) var(--s-radius-input) 0 !important;
  flex: 1;
}

/* Label note (Private) */
.seller-label-note {
  color: var(--s-text-dim);
  font-weight: var(--s-font-regular);
}

/* Market Insight box */
.pricing-insight-box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--s-border-accent);
  border-radius: var(--s-radius-card);
  padding: var(--s-space-base) var(--s-space-lg);
  margin-bottom: var(--s-space-xl);
}

.pricing-insight-header {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  margin-bottom: var(--s-space-sm);
}

.pricing-insight-icon {
  width: 28px;
  height: 28px;
  border-radius: var(--s-radius-sm);
  background: var(--s-accent-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--s-accent);
  flex-shrink: 0;
}

.pricing-insight-label {
  font-size: var(--s-text-xs);
  font-weight: var(--s-font-semibold);
  letter-spacing: 0.1em;
  color: var(--s-text-primary);
  text-transform: uppercase;
}

.pricing-insight-body {
  font-size: var(--s-text-sm);
  color: var(--s-text-muted);
  line-height: 1.55;
  margin-bottom: var(--s-space-base);
}

.pricing-insight-body strong {
  color: var(--s-text-primary);
  font-weight: var(--s-font-semibold);
}

/* Price range row — LOW / SUGGESTED / HIGH */
.pricing-range-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-space-sm);
}

.pricing-range-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: var(--s-space-sm) var(--s-space-md);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-input);
}

.pricing-range-item--suggested {
  background: var(--s-accent-muted);
  border-color: var(--s-border-accent);
}

.pricing-range-tier {
  font-size: var(--s-text-xs);
  font-weight: var(--s-font-medium);
  letter-spacing: 0.08em;
  color: var(--s-text-dim);
  text-transform: uppercase;
}

.pricing-range-item--suggested .pricing-range-tier {
  color: var(--s-accent);
}

.pricing-range-value {
  font-size: var(--s-text-base);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

.pricing-range-item--suggested .pricing-range-value {
  color: var(--s-accent);
}

/* Auto-Reject Low Offers row */
.pricing-auto-reject-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-space-base);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-input);
  padding: var(--s-space-md) var(--s-space-base);
  margin-bottom: var(--s-space-base);
}

.pricing-auto-reject-left {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
  flex: 1;
  min-width: 0;
}

.pricing-auto-reject-icon {
  width: 32px;
  height: 32px;
  border-radius: var(--s-radius-sm);
  background: var(--s-accent-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--s-accent);
  flex-shrink: 0;
}

.pricing-auto-reject-title {
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

.pricing-auto-reject-sub {
  font-size: var(--s-text-xs);
  color: var(--s-text-muted);
  margin-top: 2px;
}

.pricing-auto-reject-input {
  flex-shrink: 0;
  width: 180px;
}

.pricing-auto-reject-input .seller-input {
  width: 100%;
}

/* Preferred Closing Timeline */
.pricing-timeline-section {
  margin-bottom: var(--s-space-xl);
}

.pricing-timeline-label {
  font-size: var(--s-text-xs);
  font-weight: var(--s-font-semibold);
  letter-spacing: 0.1em;
  color: var(--s-text-muted);
  text-transform: uppercase;
  margin-bottom: var(--s-space-md);
}

.pricing-timeline-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-space-sm);
}

.pricing-timeline-radio {
  display: none;
}

.pricing-timeline-pill {
  padding: 8px 18px;
  border-radius: var(--s-radius-pill);
  border: 1px solid var(--s-border);
  background: rgba(255, 255, 255, 0.03);
  font-family: var(--s-font-family);
  font-size: var(--s-text-sm);
  font-weight: var(--s-font-medium);
  color: var(--s-text-muted);
  cursor: pointer;
  transition: all var(--s-transition-fast);
  user-select: none;
}

.pricing-timeline-pill:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--s-text-primary);
}

.pricing-timeline-radio:checked + .pricing-timeline-pill {
  background: var(--s-accent);
  border-color: var(--s-accent);
  color: var(--s-text-on-accent);
  font-weight: var(--s-font-semibold);
}

/* Responsive */
@media (max-width: 600px) {
  .pricing-auto-reject-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .pricing-auto-reject-input {
    width: 100%;
  }

  .pricing-range-row {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--s-space-xs);
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   Steps 3–7 — Media / Features / Description / Legal / Review
   ═══════════════════════════════════════════════════════════════════════ */

/* Label caps variant */
.seller-label--caps {
  font-size: 11px;
  font-weight: var(--s-font-semibold);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--s-text-dim);
}

/* Textarea with char counter ─────────────────────────────────────────── */
.seller-textarea-wrap {
  position: relative;
}
.seller-textarea-wrap .seller-textarea {
  padding-bottom: 28px;
}
.seller-char-counter {
  position: absolute;
  bottom: 10px;
  right: 12px;
  font-size: 11px;
  color: var(--s-text-dim);
  pointer-events: none;
}

/* Legal document rows ────────────────────────────────────────────────── */
.legal-doc-row {
  display: flex;
  align-items: center;
  gap: var(--s-space-md);
  padding: var(--s-space-md) var(--s-space-lg);
  background: #FFFFFF0D;
  border-top: 1.11px solid #FFFFFF1A;
  border-radius: 16px;
  margin-bottom: var(--s-space-lg);
}
.legal-doc-info {
  display: flex;
  align-items: center;
  gap: var(--s-space-sm);
  flex: 1;
  min-width: 0;
}
.legal-doc-title {
  font-size: 12px;
  font-weight: var(--s-font-bold);
  text-transform: uppercase;
  color: var(--s-text-primary);
}
.legal-doc-sub {
  font-size: 12px;
  color: var(--s-text-dim);
  margin-top: 2px;
}
.legal-doc-attach-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: var(--s-font-bold);
  letter-spacing: .04em;
  color: var(--s-text-primary);
  background: #FFFFFF1A;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
  text-transform: uppercase;
}
.legal-doc-attach-btn:hover {
  background: rgba(215,178,157,.08);
}
.legal-doc-attach-btn input[type="file"] {
  display: none;
}
.legal-doc-status {
  font-size: 11px;
  color: var(--s-text-dim);
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Review summary card ────────────────────────────────────────────────── */
.review-summary-card {
  background: var(--s-surface-hover);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-lg);
  padding: var(--s-space-lg);
  margin-bottom: var(--s-space-lg);
}
.review-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-space-md);
  margin-bottom: var(--s-space-sm);
}
.review-summary-title {
  font-size: 16px;
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}
.review-summary-location {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--s-text-dim);
  margin-top: 4px;
}
.review-summary-price {
  font-size: 18px;
  font-weight: var(--s-font-bold);
  color: var(--s-accent);
  white-space: nowrap;
}
.review-spec-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: var(--s-space-md);
}
.review-spec-tag {
  display: inline-block;
  padding: 4px 10px;
  background: var(--s-surface);
  border: 1px solid var(--s-border);
  border-radius: 20px;
  font-size: 12px;
  color: var(--s-text-secondary);
}
.review-summary-divider {
  height: 1px;
  background: var(--s-border);
  margin: var(--s-space-md) 0;
}
.review-detail-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.review-detail-label {
  font-size: 11px;
  font-weight: var(--s-font-semibold);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--s-text-dim);
}
.review-detail-value {
  font-size: 13px;
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
}
.review-features-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.review-feature-tag {
  display: inline-block;
  padding: 4px 10px;
  background: rgba(215,178,157,.10);
  border: 1px solid rgba(215,178,157,.25);
  border-radius: 20px;
  font-size: 11px;
  color: var(--s-accent);
}

/* Responsive tweaks */
@media (max-width: 600px) {
  .legal-doc-row {
    flex-wrap: wrap;
  }
  .review-summary-head {
    flex-direction: column;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   Step 7 — Review & Submit — Marketplace Preview
   ═══════════════════════════════════════════════════════════════════════ */

/* Outer preview container */
.rv-preview-box {
  background: #0b1e2e;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--s-radius-lg);
  padding: 18px;
  margin-bottom: var(--s-space-lg);
}

/* Section header (label + Next button) */
.rv-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.rv-section-title {
  font-size: 12px;
  font-weight: var(--s-font-semibold);
  color: var(--s-accent);
  letter-spacing: .03em;
}
.rv-section-next {
  background: none;
  border: none;
  font-size: 11px;
  color: var(--s-accent);
  cursor: pointer;
  padding: 0;
}
.rv-section-next:hover { text-decoration: underline; }

/* Mock property cards — horizontal scroll like design */
.rv-mock-grid {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px; /* space for scrollbar */
}
.rv-mock-grid::-webkit-scrollbar { height: 6px; }
.rv-mock-grid::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.10);
  border-radius: 999px;
}
.rv-mock-grid::-webkit-scrollbar-track { background: transparent; }
.rv-mock-card {
  position: relative;
  background: #112234;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
  flex: 0 0 auto;
  width: 172px;
  scroll-snap-align: start;
}
.rv-mock-card--user {
  border-color: rgba(215,178,157,.35);
  box-shadow: 0 0 0 1px rgba(215,178,157,.2);
}
.rv-mock-img {
  position: relative;
  height: 88px;
  background-size: cover;
  background-position: center;
}
.rv-mock-card--user .rv-mock-img { height: 88px; }

/* Badges on mock cards */
.rv-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 2px 7px;
  border-radius: 20px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.6;
}
.rv-badge--avail {
  background: rgba(30,180,120,.85);
  color: #fff;
}
.rv-badge--preview {
  background: var(--s-accent);
  color: #fff;
  top: 8px;
  left: auto;
  right: 8px;
}
/* When PREVIEW badge exists, keep AVAILABLE below it */
.rv-mock-card .rv-badge--avail { top: 8px; }
.rv-mock-card--user .rv-badge--avail { top: 28px; }

.rv-mock-body {
  padding: 8px 8px 6px;
}
.rv-mock-title {
  font-size: 11px;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-mock-sub {
  font-size: 9px;
  color: var(--s-text-dim);
  margin: 2px 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rv-mock-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rv-mock-price {
  font-size: 11px;
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}
.rv-mock-price--accent { color: var(--s-accent); }
.rv-mock-plus {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--s-text-dim);
  line-height: 1;
}
.rv-mock-plus--accent { background: rgba(215,178,157,.15); color: var(--s-accent); }

/* Small thumbnail row — horizontal scroll */
.rv-thumb-row {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6px;
}
.rv-thumb-row::-webkit-scrollbar { height: 6px; }
.rv-thumb-row::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.10);
  border-radius: 999px;
}
.rv-thumb-row::-webkit-scrollbar-track { background: transparent; }
.rv-thumb {
  height: 60px;
  width: 140px;
  flex: 0 0 auto;
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
}
.rv-thumb--user {
  border-color: rgba(215,178,157,.35);
  box-shadow: 0 0 0 1px rgba(215,178,157,.2);
  position: relative;
  overflow: hidden;
}

/* ── Full listing detail card ──────────────────────────────────────── */
.rv-card {
  background: #112234;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  overflow: hidden;
}

/* Photo strip */
.rv-card-photos {
  display: flex;
  gap: 4px;
  height: 100px;
  overflow: hidden;
}
.rv-card-photo {
  flex: 1;
  background-size: cover;
  background-position: center;
  min-width: 0;
}
.rv-card-photo--primary { flex: 2; }
.rv-card-photo-placeholder {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #4a6080;
  font-size: 11px;
  width: 100%;
}

/* Card content */
.rv-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-space-sm);
  padding: 12px 14px 6px;
}
.rv-card-title {
  font-size: 15px;
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
}
.rv-card-addr {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--s-text-dim);
  margin-top: 3px;
}
.rv-card-price {
  font-size: 16px;
  font-weight: var(--s-font-bold);
  color: var(--s-accent);
  white-space: nowrap;
}

/* Spec chips */
.rv-spec-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0 14px 8px;
}
.rv-spec {
  display: inline-block;
  padding: 3px 10px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  font-size: 11px;
  color: var(--s-text-primary);
  font-weight: var(--s-font-bold);
}

/* Feature tags */
.rv-feat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0 14px 12px;
}
.rv-feat {
  display: inline-block;
  padding: 3px 10px;
  background: rgba(215,178,157,.08);
  border: 1px solid rgba(215,178,157,.18);
  border-radius: 20px;
  font-size: 11px;
  color: rgba(215,178,157,.9);
}
.rv-feat--empty {
  background: transparent;
  border-color: transparent;
  color: var(--s-text-dim);
}

/* Stats bar */
.rv-stats {
  display: flex;
  align-items: stretch;
  border-top: 1px solid rgba(255,255,255,.07);
}
.rv-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 8px;
  gap: 3px;
}
.rv-stat-sep {
  width: 1px;
  background: rgba(255,255,255,.07);
  align-self: stretch;
}
.rv-stat-lbl {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--s-text-dim);
}
.rv-stat-val {
  font-size: 12px;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}
.rv-stat-val--pending {
  color: #f0a842;
}

/* ── Edit step shortcut buttons ────────────────────────────────────── */
.rv-edit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--s-space-lg);
}
.rv-edit-btn {
  padding: 7px 14px;
  background: #FFFFFF0D;
  border: 1px solid var(--s-border);
  border-radius: 20px;
  font-size: 12px;
  font-weight: var(--s-font-medium);
  color: #97A3B4;
  cursor: pointer;
  transition: border-color .15s, color .15s;
}
.rv-edit-btn:hover {
  border-color: var(--s-accent);
  color: var(--s-accent);
}

/* Responsive */
@media (max-width: 640px) {
  .rv-mock-grid  { grid-template-columns: repeat(2, 1fr); }
  .rv-thumb-row  { grid-template-columns: repeat(2, 1fr); }
  .rv-card-head  { flex-direction: column; }
  .rv-stats      { flex-wrap: wrap; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Step 7 v2 — Clean Single-Card Preview (overrides previous rv-* rules)
   ═══════════════════════════════════════════════════════════════════════ */

/* Wrapper — gives anchor for the PREVIEW badge */
.rv-preview-wrap {
  position: relative;
  margin-bottom: var(--s-space-lg);
  padding-top: 18px;          /* room above card for the badge */
}

/* PREVIEW pill — top-right corner */
.rv-preview-badge {
  position: absolute;
  top: 30px;
  right: 20px;
  padding: 4px 16px;
  background: var(--s-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .10em;
  border-radius: 20px;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(215,178,157,.35);
}

/* Main card — clean dark container */
.rv-preview-wrap .rv-card {
  background: #FFFFFF0D;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  overflow: hidden;
  padding: 50px 10px;
}

/* Photo strip — 4 equal columns, taller */
.rv-preview-wrap .rv-card-photos {
  display: flex;
  height: 250px;
  gap: 6px;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  padding-block: 10px;
}
.rv-preview-wrap .rv-card-photo {
  flex: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-width: 0;
  border-radius: 12px;
}
/* override old --primary rule so all photos are equal width */
.rv-preview-wrap .rv-card-photo--primary {
  flex: 1;
}
.rv-preview-wrap .rv-card-photo-placeholder {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #4a6080;
  font-size: 12px;
  background: rgba(255,255,255,.02);
  width: 100%;
}

/* Card body padding */
.rv-card-body {
  padding: 14px 16px 12px;
}

/* Title / price row */
.rv-preview-wrap .rv-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.rv-preview-wrap .rv-card-title {
  font-size: 16px;
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
  line-height: 1.3;
}
.rv-preview-wrap .rv-card-addr {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--s-text-primary);
  margin-top: 4px;
}
.rv-preview-wrap .rv-card-price {
  font-size: 17px;
  font-weight: var(--s-font-bold);
  color: var(--s-accent);
  white-space: nowrap;
}

/* Spec chips */
.rv-preview-wrap .rv-spec-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.rv-preview-wrap .rv-spec {
  display: inline-block;
  padding: 4px 12px;
  background: #FFFFFF0D;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  font-size: 12px;
  color: var(--s-text-primary);
  font-weight: var(--s-font-bold);
}

/* Feature tags */
.rv-preview-wrap .rv-feat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 2px;
}
.rv-preview-wrap .rv-feat {
  display: inline-block;
  padding: 4px 12px;
  background: #FFFFFF0D;
  border-top: 1.11px solid #FFFFFF1A;
  border-radius: 20px;
  font-size: 11px;
  color: var(--s-text-primary);
}
.rv-preview-wrap .rv-feat--empty {
  background: transparent;
  border-color: transparent;
  color: var(--s-text-dim);
  font-size: 12px;
}

/* Stats bar */
.rv-preview-wrap .rv-stats {
  display: flex;
  border-top: none;
}
.rv-preview-wrap .rv-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 12px 8px;
}
.rv-preview-wrap .rv-stat-sep {
  width: 1px;
  background: rgba(255,255,255,.07);
  align-self: stretch;
}
.rv-preview-wrap .rv-stat-lbl {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--s-text-primary);
}
.rv-preview-wrap .rv-stat-val {
  font-size: 13px;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}
/* Pending Approval — amber pill */
.rv-preview-wrap .rv-stat-val--pending {
  display: inline-block;
  padding: 3px 12px;
  background: rgba(240,168,66,.12);
  border: 1.11px solid #D7B29D4D;
  border-radius: 20px;
  font-size: 11px;
  font-weight: var(--s-font-semibold);
  color: #D7B29D;
}

/* Responsive */
@media (max-width: 540px) {
  .rv-preview-wrap .rv-card-photos { height: 100px; }
  .rv-preview-wrap .rv-card-head   { flex-direction: column; }
  .rv-preview-wrap .rv-stats       { flex-wrap: wrap; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Received Offers — index page (offers-* namespace)
   ═══════════════════════════════════════════════════════════════════════ */

/* Compare All Offers button */
.offers-compare-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  background: #FFFFFF17;
  border: 1px solid var(--s-border);
  border-radius: 8px;
  font-size: 13px;
  font-weight: var(--s-font-medium);
  color: var(--s-accent);
  text-decoration: none;
  transition: border-color .15s, color .15s;
  white-space: nowrap;
}
.offers-compare-btn:hover {
  border-color: var(--s-accent);
  color: var(--s-accent);
  text-decoration: none;
}

/* Filter tabs */
.offers-filter-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.offers-filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 16px;
  background: #FFFFFF0D;
  border: 1.11px solid #FFFFFF1A;
  border-radius: 20px;
  font-size: 12px;
  font-weight: var(--s-font-semibold);
  letter-spacing: .04em;
  color: var(--s-text-dim);
  text-decoration: none;
  transition: all .15s;
}
.offers-filter-tab:hover {
  border-color: var(--s-accent);
  color: var(--s-accent);
  text-decoration: none;
}
.offers-filter-tab.active {
  background: #D7B29D33;
  border-color: var(--s-accent);
  color: var(--s-accent);
  border: 1.11px solid #D7B29D4D
}
.offers-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
}


/* Offers list container */
.offers-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ── Single offer card ─────────────────────────────────────────────── */
.offer-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: #FFFFFF0D;
  border: 1.11px solid #FFFFFF1A;
  border-radius: 16px;
  transition: border-color .15s, background .15s;
}
.offer-card:hover {
  border-color: rgba(215,178,157,.3);
  background: var(--s-surface-hover);
}
.offer-card--top {
  border-color: rgba(215,178,157,.25);
}

/* Thumbnail */
.offer-thumb {
  flex-shrink: 0;

    position: relative;
}
.offer-thumb-img {
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.offer-thumb-placeholder {
  background: linear-gradient(140deg,#0e2a42,#2480aa);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* TOP OFFER badge — sits on the thumbnail */
.offer-top-badge {
  position: absolute;
  bottom: 50px;
  left: 50px;
  pointer-events: none;
  z-index: 1000;
}

/* Info section — takes remaining space */
.offer-info {
  flex: 1;
  min-width: 0;
}
.offer-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
}
.offer-property-name {
  font-size: 14px;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.offer-price-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 6px;
}
.offer-amount {
  font-size: 20px;
  font-weight: var(--s-font-bold);
  color: var(--s-accent);
  letter-spacing: -.01em;
  line-height: 1;
}
.offer-meta {
  font-size: 12px;
  color: var(--s-text-near-white);
  margin: 0;
}

/* ── Offer badges ──────────────────────────────────────────────────── */
.offer-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  white-space: nowrap;
  line-height: 1.5;
}
/* ── Financing type badges ─────────────────────────────────────────────── */
.offer-badge--cash {
  background: rgba(96,165,250,.10);
  border: 1px solid rgba(96,165,250,.25);
  color: #93c5fd;
}
.offer-badge--mortgage {
  background: rgba(167,139,250,.10);
  border: 1px solid rgba(167,139,250,.25);
  color: #c4b5fd;
}
.offer-badge--installments {
  background: rgba(251,191,36,.10);
  border: 1px solid rgba(251,191,36,.25);
  color: #fcd34d;
}

/* ── Status badges ─────────────────────────────────────────────────────── */
.offer-badge--submitted {
  background: rgba(148,163,184,.10);
  border: 1px solid rgba(148,163,184,.22);
  color: #cbd5e1;
}
.offer-badge--under_review {
  background: rgba(234,179,8,.10);
  border: 1px solid rgba(234,179,8,.28);
  color: #facc15;
}
.offer-badge--counter_offer {
  background: rgba(251,146,60,.12);
  border: 1px solid rgba(251,146,60,.30);
  color: #fb923c;
}
.offer-badge--accepted {
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(34,197,94,.28);
  color: #4ade80;
}
.offer-badge--in_closing {
  background: rgba(99,202,183,.10);
  border: 1px solid rgba(99,202,183,.28);
  color: #5ee0a0;
}
.offer-badge--closed {
  background: rgba(148,163,184,.10);
  border: 1px solid rgba(148,163,184,.25);
  color: #94a3b8;
}
.offer-badge--rejected,
.offer-badge--withdrawn,
.offer-badge--expired {
  background: rgba(239,68,68,.10);
  border: 1px solid rgba(239,68,68,.28);
  color: #f87171;
}
.offer-badge--flagged {
  background: rgba(251,146,60,.10);
  border: 1px solid rgba(251,146,60,.28);
  color: #fb923c;
}
.offer-badge--top {
  background: rgba(49,196,141,.12);
  border: 1px solid rgba(49,196,141,.28);
  color: #34d399;
}

/* Right column — payout + action */
.offer-right {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 20px;
  flex-shrink: 0;
}
.offer-payout {
  text-align: right;
}
.offer-payout-lbl {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--s-text-near-white);
  margin-bottom: 3px;
}
.offer-payout-val {
  font-size: 14px;
  font-weight: var(--s-font-semibold);
  color: var(--s-accent);
}

/* Review Details button */
.offer-review-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  background: #FFFFFF1F;
  color: var(--s-text-primary);
  border-radius: 10px;
  font-size: 12px;
  font-weight: var(--s-font-semibold);
  letter-spacing: .02em;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .15s;
}
.offer-review-btn:hover {
  background: var(--s-accent);
  text-decoration: none;
  color: #FFFFFF;
}

/* Responsive */
@media (max-width: 640px) {
  .offer-card       { flex-wrap: wrap; gap: 12px; }
  .offer-right      { flex-direction: row; align-items: center; width: 100%; justify-content: space-between; }
  .offer-thumb-img  { width: 56px; height: 56px; }
  .offer-amount     { font-size: 17px; }
}

/* =======================================================================
   Offer Detail - Comparison Dashboard  (od-* namespace)
   ======================================================================= */

.od-back-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--s-text-primary); text-decoration: none;
  margin-bottom: 18px; transition: color .15s;
}
.od-back-link:hover { color: var(--s-accent); text-decoration: none; }

.od-layout {
  display: grid; grid-template-columns: 1fr 220px;
  gap: 16px; align-items: start;
}

.od-card {
  background: var(--s-surface); border: 1px solid var(--s-border);
  border-radius: var(--s-radius-lg); padding: 18px 20px; margin-bottom: 12px;
}
.od-card--table { padding: 18px 0 0; overflow: hidden; }

.od-card-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px 14px;
}
.od-card-title {
  font-size: var(--s-text-2xl); font-weight: var(--s-font-bold);
  letter-spacing: .06em; color: var(--s-text-primary); margin: 0;
}

.od-ranked-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 12px; background: #D7B29D33;
  border: 1.11px solid #D7B29D4D; border-radius: 20px;
  font-size: 15px; font-weight: 700; letter-spacing: .06em; color:var(--s-accent);
}

.od-table-wrap { overflow-x: auto; }
.od-table { width: 100%; border-collapse: collapse; }

.od-th {
  padding: 24px 14px; background: var(--s-surface-hover);
  font-size: 10px; font-weight: 900; letter-spacing: .07em;
  color: var(--s-text-dim); text-align: left;
  border-bottom: 1px solid var(--s-border); white-space: nowrap; vertical-align: top;
}
.od-th--param { min-width: 110px; }
.od-th--best  { background: #D7B29D0D; border-top-left-radius: 12px;
  border-top-right-radius: 12px;}

.od-col-label {
  display: block; font-size: 10px; font-weight: 700;
  letter-spacing: .07em; color: var(--s-text-dim); margin-bottom: 4px;
}
.od-col-label--best { color: var(--s-accent); }
.od-col-buyer {
  display: block; font-size: 11px; font-weight: var(--s-font-semibold);
  color: var(--s-text-primary); white-space: normal; line-height: 1.3;
}

.od-td {
  padding: 24px 14px; border-bottom: 1px solid rgba(255,255,255,.05);
  vertical-align: top; font-size: 12px; color: var(--s-text-secondary);
}
.od-td--param {
  font-size: 14px; font-weight: var(--s-font-medium);
  color: var(--s-text-dim); white-space: nowrap;
}
.od-td--best { background: rgba(215,178,157,.04); }
.od-table tbody tr:last-child .od-td { border-bottom: none; }
.od-table tbody tr:hover .od-td      { background: rgba(255,255,255,.025); }
.od-table tbody tr:hover .od-td--best { background: rgba(215,178,157,.07); }

.od-price       { font-size: 13px; font-weight: var(--s-font-bold); color: var(--s-text-dim); }
.od-price--best { color: var(--s-text-primary); font-size: 14px; }
.od-cell-text   { font-size: 12px; color: var(--s-text-secondary); line-height: 1.4; }
.od-cell-bold   { font-weight: var(--s-font-semibold); color: var(--s-text-dim); }
.od-cell-sm     { font-size: 11px; }
.od-cell-payout { font-weight: var(--s-font-semibold); color: var(--s-text-secondary); }

.od-badge {
  display: inline-block; padding: 3px 9px; border-radius: 20px;
  font-size: 10px; font-weight: 700; letter-spacing: .04em; white-space: nowrap;
}
.od-badge--blue   { background: rgba(59,130,246,.10); border: 1px solid rgba(59,130,246,.22); color: #60a5fa; }
.od-badge--amber  { background: rgba(245,158,11,.10); border: 1px solid rgba(245,158,11,.25); color: #fbbf24; }
.od-badge--red    { background: rgba(239,68,68,.10);  border: 1px solid rgba(239,68,68,.25);  color: #f87171; }
.od-badge--yellow { background: rgba(234,179,8,.10);  border: 1px solid rgba(234,179,8,.25);  color: #facc15; }
.od-badge--green  { background: rgba(34,197,94,.10);  border: 1px solid rgba(34,197,94,.25);  color: #4ade80; }

.od-section-head { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.od-section-head--spaced { justify-content: space-between; }
.od-section-title { font-size: 12px; font-weight: var(--s-font-semibold); color: var(--s-text-secondary); letter-spacing: .03em; }
.od-section-date  { font-size: 11px; color: var(--s-text-dim); }

.od-timeline { padding-left: 4px; }
.od-tl-item  { display: flex; align-items: flex-start; gap: 12px; position: relative; }
.od-tl-dot {
  width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
  margin-top: 3px; background: var(--s-border); border: 2px solid var(--s-border);
}
.od-tl-dot--done { background: var(--s-accent); border-color: var(--s-accent); }
.od-tl-line {
  position: absolute; left: 4px; top: 16px; bottom: 0;
  width: 2px; background: var(--s-border-light); display: none;
}
.od-tl-item:not(:last-child) .od-tl-line { display: block; }
.od-tl-body  { padding-bottom: 16px; }
.od-tl-date  { font-size: 11px; color: var(--s-text-dim); display: block; margin-bottom: 2px; }
.od-tl-label { font-size: 12px; color: var(--s-text-secondary); font-weight: var(--s-font-medium); }

.od-counter-card {
  background: var(--s-surface-hover); border: 1px solid var(--s-border);
  border-radius: var(--s-radius-md); padding: 14px 16px;
}
.od-counter-top-row {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px;
}
.od-counter-sublabel {
  font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--s-text-dim);
}
.od-counter-card-date {
  font-size: 10px; color: var(--s-text-dim);
}
.od-counter-amount {
  font-size: 22px; font-weight: var(--s-font-bold); color: var(--s-text-primary);
  letter-spacing: -.01em; margin-bottom: 6px;
}
.od-counter-meta {
  display: flex; gap: 18px; margin-bottom: 6px;
}
.od-counter-meta span {
  font-size: 11px; color: var(--s-text-dim);
}
.od-counter-desc { font-size: 11px; color: var(--s-text-dim); line-height: 1.5; margin: 0; }

.od-doc-list { display: flex; flex-direction: column; gap: 0; }
.od-doc-row {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;
  padding: 11px 12px; border: 1.11px solid #FFFFFF1A; background: #FFFFFF0D; border-radius: 12px;
}
.od-doc-row:last-child { border-bottom: none; }
.od-doc-name     { font-size: 12px; color: var(--s-text-secondary); }
.od-doc-verified {
  display: inline-flex; align-items: center; flex-shrink: 0;
  font-size: 10px; font-weight: var(--s-font-semibold); letter-spacing: .05em;
  color: var(--s-text-secondary); border: 1px solid var(--s-border);
  border-radius: var(--s-radius-pill); padding: 3px 10px;
}
.od-section-title--accent { color: var(--s-accent); }
.od-counter-history-head { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--s-border-light); }

.od-sidebar { position: sticky; top: 20px; }

.od-action-box {
  background: var(--s-surface); border: 1px solid var(--s-border);
  border-radius: var(--s-radius-lg); padding: 18px 16px 16px;
  margin-bottom: 12px; text-align: center;
}
.od-attn-header { margin-bottom: 14px; }
.od-attn-label {
  font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--s-accent);
   border-radius: 20px; display: inline-block; margin: 0;
}

.od-timer-wrap {
  display: flex; flex-direction: column; align-items: center;
  gap: 8px; width: 100%; margin-bottom: 4px;
}
.od-timer-ring  {
  display: flex; align-items: center; justify-content: center;
}
.od-timer-svg   { width: 64px; height: 64px; }
.od-timer-digits {
  font-size: 28px; font-weight: var(--s-font-bold); font-variant-numeric: tabular-nums;
  color: var(--s-text-primary); letter-spacing: .04em; line-height: 1;
}
.od-timer-label {
  font-size: 9px; font-weight: 700; letter-spacing: .10em;
  color: var(--s-text-dim); text-transform: uppercase; margin-bottom: 16px; margin-top: 2px;
}

.od-action-form { margin: 0 0 8px; }
.od-btn {
  width: 100%; padding: 11px 12px; border-radius: 12px;
  font-size: 11px; font-weight: var(--s-font-bold); letter-spacing: .08em;
  cursor: pointer; border: none; transition: opacity .15s; text-transform: uppercase;
}
.od-btn:hover    { opacity: .85; }
.od-btn--accept  { background: var(--s-accent); color: #000000; }
.od-btn--counter { background: #FFFFFF1C; border: 1px solid var(--s-accent); color: var(--s-text-primary); border: 1.11px solid #FFFFFF1A }
.od-btn--reject  { background: transparent; border: none; color: #f87171; font-size: 11px; padding: 9px 12px; }


.od-buyer-card {
  background: var(--s-surface); border: 1px solid var(--s-border);
  border-radius: var(--s-radius-lg); padding: 16px; 
}
.od-buyer-card-head {
  font-size: 9px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--s-text-dim); margin-bottom: 12px;
}
.od-buyer-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(215,178,157,.1); border: 1px solid rgba(215,178,157,.2);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 10px;
}
.od-stars { display: flex; gap: 2px; margin-bottom: 8px; }
.od-buyer-name { font-size: 13px; font-weight: var(--s-font-bold); color: var(--s-text-primary); margin-bottom: 4px; line-height: 1.3; }
.od-buyer-sub  { font-size: 10px; color: var(--s-text-dim); line-height: 1.4; }

@media (max-width: 768px) {
  .od-layout { grid-template-columns: 1fr; }
  .od-sidebar { position: static; }
}

/* ══════════════════════════════════════════════════════════════════════════
   CONTRACT & CLOSING PAGE  (.cc-*)
   ══════════════════════════════════════════════════════════════════════════ */

.cc-layout {
  display: grid; grid-template-columns: 1fr 300px;
  gap: 20px; align-items: flex-start;
}

/* Page header */
.cc-page-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 20px;
}
.cc-page-title {
  font-size: 17px; font-weight: var(--s-font-bold);
  color: var(--s-text-primary); letter-spacing: -.01em; margin: 0;
}
.cc-page-badge {
  font-size: 10px; font-weight: var(--s-font-bold); letter-spacing: .1em;
  text-transform: uppercase; color: #3ecf8e;
  background: rgba(62,207,142,.12); border: 1px solid rgba(62,207,142,.3);
  border-radius: var(--s-radius-pill); padding: 4px 12px;
}

/* Card base */
.cc-card {
  background: var(--s-surface); border: 1px solid var(--s-border);
  border-radius: var(--s-radius-lg); padding: 18px 20px;
  margin-bottom: 16px;
}

/* Section heading */
.cc-section-head {
  display: flex; align-items: center; gap: 8px;
  font-size: 10px; font-weight: var(--s-font-bold); letter-spacing: .09em;
  text-transform: uppercase; color: var(--s-text-secondary);
  margin-bottom: 14px;
}

/* Generated Documents */
.cc-doc-list { display: flex; flex-direction: column; }
.cc-doc-row {
  display: flex; align-items: center; gap: 12px; background: #FFFFFF0D;
  padding: 10px 12px; border: 1.11px solid #FFFFFF1A; border-radius: 12px;margin-bottom: 16px
}
.cc-doc-row:last-child { border-bottom: none; }
.cc-doc-icon {
  width: 16px; height: 16px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.cc-doc-name { flex: 1; font-size: 12px; color: var(--s-text-primary); }
.cc-badge {
  font-size: 10px; font-weight: var(--s-font-semibold); letter-spacing: .04em;
  border-radius: var(--s-radius-pill); padding: 3px 10px; flex-shrink: 0;
}
.cc-badge--pending-sig,
.cc-badge--pending {
  color: #1a1200; background: #f0a842; border: 1px solid #f0a842;
}
.cc-badge--generated {
  color: var(--s-text-dim); background: transparent; border: 1px solid var(--s-border);
}

/* Digital Signature box */
.cc-sign-box {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-top: 16px; padding-top: 16px; padding-inline: 12px;
  border: 1.11px solid #D7B29D33;
  border-radius: 12px;
  background: #D7B29D0D;
}
.cc-sign-text { flex: 1; }
.cc-sign-title {
  font-size: 13px; font-weight: var(--s-font-semibold);
  color: var(--s-text-primary); margin-bottom: 4px;
}
.cc-sign-desc {
  font-size: 11px; color: var(--s-text-dim); line-height: 1.6; margin: 0;
}
.cc-sign-btn {
  flex-shrink: 0; padding: 9px 18px;
  background: var(--s-accent); color: var(--s-text-primary);
  border: none; border-radius: var(--s-radius-md); cursor: pointer;
  font-size: 11px; font-weight: var(--s-font-bold); letter-spacing: .1em;
  text-transform: uppercase; transition: background .15s; white-space: nowrap;
}
.cc-sign-btn:hover { background: var(--s-accent-hover); color:var(--s-text-primary) ;transition : var(--s-transition-slow) ; }

/* Milestone Progress */
.cc-milestone-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 18px;
}
.cc-milestone-count {
  font-size: 11px; font-weight: var(--s-font-semibold);
  color: var(--s-accent); letter-spacing: .03em;
}
.cc-milestones { display: flex; flex-direction: column; }
.cc-ms-item {
  display: flex; align-items: flex-start; gap: 14px;
  position: relative; padding-bottom: 18px;
}
.cc-ms-item:last-child { padding-bottom: 0; }
.cc-ms-item:not(:last-child)::before {
  content: ''; position: absolute;
  left: 11px; top: 26px; bottom: 0;
  width: 1px; background: var(--s-border-light);
}
.cc-ms-dot {
  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; margin-top: 1px;
}
.cc-ms-dot--done { background: var(--s-accent); border: 2px solid var(--s-accent); }
.cc-ms-dot--pending { background: transparent; border: 2px solid var(--s-border); }
.cc-ms-body { flex: 1; padding-top: 3px; }
.cc-ms-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cc-ms-title { font-size: 12px; font-weight: var(--s-font-semibold); color: var(--s-text-secondary); }
.cc-ms-date { font-size: 10px; color: var(--s-text-dim); letter-spacing: .03em; white-space: nowrap; }
.cc-ms-sub { font-size: 10px; color: var(--s-text-dim); line-height: 1.5; margin-top: 3px; }
.cc-ms-action {
  font-size: 10px; font-weight: var(--s-font-semibold);
  color: var(--s-accent); text-decoration: none; margin-top: 3px; display: inline-block;
}

/* Sale Complete Banner */
.cc-complete-banner {
  background: #D7B29D1C;
  border-radius: var(--s-radius-lg); padding: 28px 24px 24px;
  text-align: center; margin-bottom: 16px;
}
.cc-complete-icon {
  width: 48px; height: 48px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
}
.cc-complete-title {
  font-size: 16px; font-weight: var(--s-font-bold);
  color: #D7B29D; margin-bottom: 6px;
}
.cc-complete-desc {
  font-size: 11px; color: var(--s-text-dim); line-height: 1.6; margin: 0 0 18px;
}
.cc-complete-btn {
  width: 100%; padding: 10px 0;
  background:  #D7B29D; color: #121821;
  border: 1px solid var(--s-border); border-radius: var(--s-radius-md); cursor: pointer;
  font-size: 10px; font-weight: var(--s-font-bold); letter-spacing: .1em;
  text-transform: uppercase; transition: border-color .15s, background .15s;
}
.cc-complete-btn:hover { background: rgba(255,255,255,.05); border-color: var(--s-accent); }

/* Sidebar */
.cc-sidebar { position: sticky; top: 20px; }

/* Payment Summary */
.cc-payment-head {
  font-size: 10px; font-weight: var(--s-font-bold); letter-spacing: .1em;
  text-transform: uppercase; color: var(--s-text-dim); margin-bottom: 14px;
}
.cc-payment-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 0; border-bottom: 1px solid var(--s-border-light);
}
.cc-payment-row:last-child { border-bottom: none; }
.cc-payment-label { font-size: 11px; color: var(--s-text-dim); }
.cc-payment-val { font-size: 12px; font-weight: var(--s-font-semibold); color: var(--s-text-secondary); }
.cc-payment-val--deduct { color: #f26b6b; }
.cc-payment-row--net .cc-payment-label {
  color: var(--s-text-secondary); font-size: 12px; font-weight: var(--s-font-semibold);
}
.cc-payment-row--net .cc-payment-val {
  font-size: 14px; font-weight: var(--s-font-bold); color: var(--s-text-primary);
}

/* Buyer card */
.cc-buyer-head {
  font-size: 10px; font-weight: var(--s-font-bold); letter-spacing: .1em;
  text-transform: uppercase; color: var(--s-text-dim); margin-bottom: 10px;
}
.cc-buyer-name {
  font-size: 13px; font-weight: var(--s-font-bold);
  color: var(--s-text-primary); margin-bottom: 2px;
}
.cc-buyer-sub { font-size: 10px; color: var(--s-text-dim); margin-bottom: 14px; }
.cc-buyer-doc-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 0; border-bottom: 1px solid var(--s-border-light);
  font-size: 11px; color: var(--s-text-secondary);
}
.cc-buyer-doc-row:last-child { border-bottom: none; }
.cc-buyer-verified {
  font-size: 10px; font-weight: var(--s-font-semibold); color: var(--s-text-secondary);
  border: 1px solid var(--s-border); border-radius: var(--s-radius-pill);
  padding: 2px 10px; flex-shrink: 0;
}

@media (max-width: 768px) {
  .cc-layout { grid-template-columns: 1fr; }
  .cc-sidebar { position: static; }
}

/* ==========================================================================
   Tour Management Page (stm = seller tour management)
   Pixel-perfect replica styles
   ========================================================================== */

/* ---------- Notification Banner ---------- */
.stm-notif-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  margin-bottom: 20px;
}

.stm-notif-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.stm-notif-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--s-accent-muted);
  color: var(--s-accent);
  flex-shrink: 0;
}

.stm-notif-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.stm-notif-title {
  font-size: 0.9375rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  line-height: 1.3;
}

.stm-notif-sub {
  font-size: 0.6875rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.stm-notif-btn {
  padding: 8px 20px;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  border: none;
  border-radius: var(--s-radius-pill);
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  font-family: var(--s-font-family);
  letter-spacing: 0.06em;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--s-transition-fast);
  text-transform: uppercase;
  flex-shrink: 0;
}

.stm-notif-btn:hover {
  background: var(--s-accent-hover);
}

/* ---------- Tour Card (new layout) ---------- */
.stm-card {
  background: var(--s-bg-card);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-card);
  padding: 18px 20px;
  transition: border-color var(--s-transition-fast);
}

.stm-card:hover {
  border-color: rgba(255, 255, 255, 0.12);
}

.stm-card-body {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* ---------- Avatar ---------- */
.stm-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(215, 178, 157, 0.12);
  border: 1px solid var(--s-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.stm-avatar span {
  font-size: 13px;
  font-weight: 700;
  color: #D7B29D;
  letter-spacing: 0.03em;
}

.stm-avatar--pin {
  color: #97A3B4;
}

.stm-avatar--media {
  color: #97A3B4;
}

/* ---------- Info Block ---------- */
.stm-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.stm-buyer-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.stm-buyer-name {
  font-size: 0.9375rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  line-height: 1.3;
}

/* ---------- Status Badges ---------- */
.stm-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: var(--s-radius-pill);
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1.6;
}

.stm-badge--pending {
  background: #D7B29D33;
  color: #D7B29D;
  border: 1.11px solid #D7B29D4D;
}

.stm-badge--upcoming {
  background: rgba(59, 130, 246, 0.1);
  color: #60A5FA;
  border: 1px solid rgba(59, 130, 246, 0.22);
}

.stm-badge--completed {
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
  border: 1px solid rgba(34, 197, 94, 0.22);
}

.stm-badge--cancelled {
  background: rgba(239, 68, 68, 0.1);
  color: #F87171;
  border: 1px solid rgba(239, 68, 68, 0.22);
}

/* ---------- Location Row ---------- */
.stm-location {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  line-height: 1.4;
}

.stm-location svg {
  flex-shrink: 0;
  opacity: 0.7;
}

/* ---------- Meta Row (date / time / type) ---------- */
.stm-meta-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.stm-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.75rem;
  color: var(--s-text-muted);
  font-weight: var(--s-font-medium);
}

.stm-meta-item svg {
  flex-shrink: 0;
  opacity: 0.7;
}

/* ---------- Actions Area ---------- */
.stm-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* ---------- Action Buttons ---------- */
.stm-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 14px;
  border-radius: var(--s-radius-btn-sm);
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  font-family: var(--s-font-family);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all var(--s-transition-fast);
  white-space: nowrap;
  line-height: 1.4;
}

.stm-btn--accept {
  background: linear-gradient(135deg, #C8A68D 0%, #D9BBA6 100%);
  color: #000000;
  border-color: #D9BBA6;
}

.stm-btn--accept:hover {
  background: rgba(34, 197, 94, 0.18);
}

.stm-btn--suggest {
  background: rgba(255, 255, 255, 0.06);
  color: #97A3B4;
  border-color: rgba(255, 255, 255, 0.1);
}

.stm-btn--suggest:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #CBD5E1;
}

.stm-btn--reject {
  background: rgba(239, 68, 68, 0.1);
  color: #F87171;
  border-color: rgba(239, 68, 68, 0.25);
}

.stm-btn--reject:hover {
  background: rgba(239, 68, 68, 0.18);
}

.stm-btn--calendar {
  background: #D7B29D1A;
  color: #D7B29D;
  border: 1.11px solid #D7B29D33
}

.stm-btn--calendar:hover {
  background: rgba(59, 130, 246, 0.18);
}

/* ---------- Alternate Suggested Text ---------- */
.stm-alt-suggested {
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  white-space: nowrap;
}

/* ---------- Feedback Section ---------- */
.stm-feedback {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--s-border-light);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.stm-feedback-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.stm-feedback-label {
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  color: var(--s-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.stm-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.stm-feedback-text {
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  font-style: italic;
  line-height: 1.55;
  margin: 0;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .stm-notif-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .stm-notif-btn {
    align-self: flex-start;
  }

  .stm-card-body {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .stm-actions {
    margin-left: 0;
    width: 100%;
    justify-content: flex-start;
  }

  .stm-alt-suggested {
    white-space: normal;
  }

  .stm-btn--accept,
  .stm-btn--suggest,
  .stm-btn--reject {
    flex: 1;
    justify-content: center;
  }
}

/* ==========================================================================
   Suggest Alternate Time — Accordion Form
   ========================================================================== */

/* --- Active state for the trigger button --- */
.stm-btn--suggest-active {
  background: rgba(215, 178, 157, 0.14) !important;
  color: var(--s-accent) !important;
  border-color: var(--s-border-accent) !important;
}

/* --- Accordion wrapper (hidden by default) --- */
.stm-suggest-form {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
    opacity    0.22s ease;
}

.stm-suggest-form.stm-open {
  max-height: 160px;
  opacity: 1;
}

/* --- Separator line --- */
.stm-suggest-divider {
  height: 1px;
  background: var(--s-border-light);
  margin-top: 16px;
  margin-bottom: 16px;
}

/* --- Content area --- */
.stm-suggest-content {
  padding-bottom: 4px;
}

.stm-suggest-title {
  font-size: 0.9375rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  margin-bottom: 14px;
  line-height: 1.3;
}

/* --- Field row (date + time + buttons in one line) --- */
.stm-suggest-row {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

/* --- Individual field group (label + input stacked) --- */
.stm-suggest-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 140px;
}

.stm-suggest-label {
  font-size: 0.75rem;
  font-weight: var(--s-font-medium);
  color: var(--s-text-muted);
  letter-spacing: 0.01em;
}

.stm-suggest-input {
  height: 40px;
  padding: 0 14px;
  background: var(--s-bg-input);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-input);
  color: var(--s-text-primary);
  font-family: var(--s-font-family);
  font-size: 0.875rem;
  font-weight: var(--s-font-regular);
  outline: none;
  transition: border-color var(--s-transition-fast), box-shadow var(--s-transition-fast);
  min-width: 0;
  width: 100%;
}

.stm-suggest-input:hover {
  border-color: rgba(255, 255, 255, 0.14);
}

.stm-suggest-input:focus {
  border-color: var(--s-accent);
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

/* --- Action buttons (Send + Cancel) --- */
.stm-suggest-form-btns {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  padding-bottom: 2px;   /* optical alignment with inputs */
}

.stm-suggest-send-btn {
  height: 40px;
  padding: 0 20px;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  border: none;
  border-radius: var(--s-radius-btn-sm);
  font-family: var(--s-font-family);
  font-size: 0.75rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--s-transition-fast);
}

.stm-suggest-send-btn:hover {
  background: var(--s-accent-hover);
}

.stm-suggest-cancel-btn {
  height: 40px;
  padding: 0 12px;
  background: transparent;
  border: none;
  color: var(--s-text-muted);
  font-family: var(--s-font-family);
  font-size: 0.8125rem;
  font-weight: var(--s-font-medium);
  cursor: pointer;
  transition: color var(--s-transition-fast);
  white-space: nowrap;
}

.stm-suggest-cancel-btn:hover {
  color: var(--s-text-primary);
}

/* --- Responsive: stack fields on mobile --- */
@media (max-width: 640px) {
  .stm-suggest-form.stm-open {
    max-height: 280px;
  }

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

  .stm-suggest-field {
    min-width: 0;
  }

  .stm-suggest-form-btns {
    padding-bottom: 0;
  }

  .stm-suggest-send-btn {
    flex: 1;
  }
}

/* ==========================================================================
   Seller Profile Page  (sp- = seller profile)
   ========================================================================== */

/* ---------- Page-level width constraint ---------- */
.sp-page-wrap {
  max-width: 1000px;
}

/* ---------- Page header: VERIFIED badge ---------- */
.sp-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 16px;
  background: rgba(34, 197, 94, 0.1);
  color: #22C55E;
  border: 1px solid rgba(34, 197, 94, 0.22);
  border-radius: var(--s-radius-pill);
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  flex-shrink: 0;
}

/* ---------- Avatar card ---------- */
.sp-avatar-card {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.sp-avatar-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

.sp-avatar-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}

.sp-avatar-name {
  font-size: 1.0625rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  line-height: 1.3;
}

.sp-avatar-sub {
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  line-height: 1.4;
}

.sp-change-photo-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-btn-sm);
  color: var(--s-text-muted);
  font-family: var(--s-font-family);
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--s-transition-fast);
  flex-shrink: 0;
}

.sp-change-photo-btn:hover {
  background: rgba(255, 255, 255, 0.09);
  color: var(--s-text-primary);
  border-color: rgba(255, 255, 255, 0.14);
}

/* ---------- Section header (icon + label row) ---------- */
.sp-section-hdr {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.sp-section-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: var(--s-accent-subtle);
  color: var(--s-accent);
  flex-shrink: 0;
}

.sp-section-lbl {
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  color: var(--s-text-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  flex: 1;
}

/* ---------- Form field wrapper ---------- */
.sp-field {
  display: flex;
  flex-direction: column;
}

.sp-label {
  display: block;
  font-size: 0.8125rem;
  font-weight: var(--s-font-medium);
  color: var(--s-text-near-white);
  margin-bottom: 7px;
}

/* ---------- Change Password button (right-aligned in section header) ---------- */
.sp-change-pwd-btn {
  margin-left: auto;
  flex-shrink: 0;
  letter-spacing: 0.04em;
}

/* ---------- Password row ---------- */
.sp-password-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-md);
}

.sp-password-lock {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--s-border);
  color: var(--s-text-muted);
  flex-shrink: 0;
}

.sp-password-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.sp-password-label {
  font-size: 0.875rem;
  font-weight: var(--s-font-medium);
  color: var(--s-text-primary);
  display: block;
}

.sp-password-sub {
  font-size: 0.75rem;
  color: var(--s-text-muted);
  display: block;
}

/* ---------- Save Profile button ---------- */
.sp-save-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 24px;
  background: var(--s-accent);
  color: var(--s-text-on-accent);
  border: none;
  border-radius: var(--s-radius-btn);
  font-family: var(--s-font-family);
  font-size: 0.875rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--s-transition-fast);
}

.sp-save-btn:hover {
  background: var(--s-accent-hover);
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
  .sp-avatar-card {
    gap: 14px;
  }

  .sp-change-photo-btn {
    width: 100%;
    justify-content: center;
  }

  .sp-section-hdr {
    flex-wrap: wrap;
  }

  .sp-change-pwd-btn {
    margin-left: 0;
  }
}

/* ==========================================================================
   Settings Page — Square Checkbox Toggle  (ss- = seller settings)
   ========================================================================== */

/* Custom square checkbox replaces the pill toggle on the settings page */
.ss-check {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.07);
  cursor: pointer;
  flex-shrink: 0;
  outline: none;
  transition: background var(--s-transition-fast), border-color var(--s-transition-fast);
}

.ss-check:checked {
  background: var(--s-accent);
  border-color: var(--s-accent);
}

.ss-check:focus-visible {
  box-shadow: 0 0 0 3px var(--s-accent-subtle);
}

.ss-check:hover:not(:checked) {
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
}

/* ==========================================================================
   Closing Progress Page  (scp- = seller closing progress)
   ========================================================================== */

/* ── "N ACTIVE" pill badge in the page header ─────────────────────────── */
.scp-active-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 14px;
  border-radius: var(--s-radius-pill);
  background: #D7B29D33;
  border: 1.11px solid #D7B29D4D;
  color: #D7B29D;
  font-family: var(--s-font-family);
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* ── Card wrapper ─────────────────────────────────────────────────────── */
.scp-card {
  display: block;
  text-decoration: none !important;
  padding: 20px 20px 16px;
  cursor: pointer;
  transition: background var(--s-transition-fast);
}

.scp-card:hover {
  background: rgba(255, 255, 255, 0.04);
}

/* ── Upper body: thumbnail · info · chevron ───────────────────────────── */
.scp-card-body {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

/* ── Property thumbnail placeholder ──────────────────────────────────── */
.scp-thumb {
  width: 72px;
  height: 56px;
  border-radius: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* ── Info text column ─────────────────────────────────────────────────── */
.scp-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* Row 1: property name + badge */
.scp-info-top {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.scp-prop-name {
  font-size: 0.9375rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  line-height: 1.3;
}

/* Status badges */
.scp-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--s-radius-pill);
  font-family: var(--s-font-family);
  font-size: 0.625rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.scp-badge--in_progress {
  background: #D7B29D33;
  border: 1.11px solid #D7B29D4D;
  color: #D7B29D;
}

.scp-badge--completed {
  background: #D7B29D33;
  border: 1.11px solid #D7B29D4D;
  color: #D7B29D;
}

/* Row 2: sale meta */
.scp-meta {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Row 3: amount + date */
.scp-amount-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
  flex-wrap: wrap;
}

.scp-amount {
  font-size: 0.9375rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
}

.scp-date {
  font-size: 0.8125rem;
  color: var(--s-text-muted);
}

/* ── Chevron icon ─────────────────────────────────────────────────────── */
.scp-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--s-text-muted);
  flex-shrink: 0;
  transition: color var(--s-transition-fast);
}

.scp-card:hover .scp-chevron {
  color: var(--s-accent);
}

/* ── Progress bar row ─────────────────────────────────────────────────── */
.scp-progress-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.scp-bar-track {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--s-radius-pill);
  overflow: hidden;
}

.scp-bar-fill {
  height: 100%;
  background: var(--s-accent);
  border-radius: var(--s-radius-pill);
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.scp-percent {
  font-size: 0.8125rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-muted);
  min-width: 34px;
  text-align: right;
  flex-shrink: 0;
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .scp-thumb {
    width: 56px;
    height: 44px;
    border-radius: 8px;
  }

  .scp-prop-name {
    font-size: 0.875rem;
  }

  .scp-amount {
    font-size: 0.875rem;
  }

  .scp-meta {
    white-space: normal;
  }
}

/* ==========================================================================
   Closing Show Page  (scs- = seller closing show)
   ========================================================================== */

/* ── Card header: sale reference + percentage ─────────────────────────── */
.scs-closing-hdr {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
}

.scs-sale-id {
  font-size: 1.125rem;
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
  line-height: 1.3;
  margin-bottom: 5px;
}

.scs-sale-sub {
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  margin: 0;
  line-height: 1.5;
}

.scs-pct {
  font-size: 0.875rem;
  font-weight: var(--s-font-bold);
  color: var(--s-accent);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: 3px;
}

/* ── Timeline: state overrides scoped to scs-timeline ─────────────────── */
.scs-timeline.seller-timeline .seller-timeline-item.completed .seller-timeline-marker {
  background: var(--s-success);
  border-color: var(--s-success);
  color: #fff;
}

.scs-timeline.seller-timeline .seller-timeline-item.active .seller-timeline-marker {
  background: var(--s-accent);
  border-color: var(--s-accent);
}

/* Inner dot shown inside the active marker */
.scs-active-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--s-text-on-accent);
}

/* Pending items: dim the title text */
.scs-timeline.seller-timeline .seller-timeline-item.pending .seller-timeline-title {
  color: var(--s-text-muted);
}

/* ── Agent text (Help Center card) ────────────────────────────────────── */
.scs-agent-txt {
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  line-height: 1.65;
  margin: 0;
}

.scs-agent-name {
  color: var(--s-text-primary);
  font-weight: var(--s-font-semibold);
}

/* ── Action buttons (Upload Missing / Chat With Agent) ─────────────────── */
.scs-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  padding: 11px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--s-border);
  border-radius: var(--s-radius-btn-sm);
  color: var(--s-text-muted);
  font-family: var(--s-font-family);
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--s-transition-fast),
              border-color var(--s-transition-fast),
              color var(--s-transition-fast);
}

.scs-action-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--s-border-accent);
  color: var(--s-text-primary);
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .scs-closing-hdr {
    flex-direction: column;
    gap: 8px;
  }

  .scs-pct {
    padding-top: 0;
  }
}

/* ==========================================================================
   Sale History Page  (ssh- = seller sale history)
   ========================================================================== */

/* ── KPI cards: centered layout + accent value override ───────────────── */
.ssh-kpi {
  align-items: center;
  text-align: center;
  justify-content: center;
  padding: 28px 20px;
}

.ssh-kpi .seller-kpi-value {
  font-size: 1.625rem;
  line-height: 1.15;
}

.ssh-kpi .seller-kpi-label {
  font-size: 0.6875rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 6px;
}

.ssh-kpi-accent {
  color: var(--s-accent) !important;
}

/* ── Sale card base override ──────────────────────────────────────────── */
.ssh-item {
  padding: 16px 20px;
  gap: 16px;
  align-items: center;
}

.ssh-item:hover .ssh-chevron {
  color: var(--s-accent);
}

/* ── Property thumbnail ───────────────────────────────────────────────── */
.ssh-thumb {
  width: 72px;
  height: 56px;
  border-radius: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* ── Info column: property name + subtitle ────────────────────────────── */
.ssh-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.ssh-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ssh-prop-name {
  font-size: 0.9375rem;
  font-weight: var(--s-font-semibold);
  color: var(--s-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.ssh-sub {
  font-size: 0.8125rem;
  color: var(--s-text-muted);
  margin: 0;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Three-column stats strip ─────────────────────────────────────────── */
.ssh-stats {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-shrink: 0;
}

.ssh-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 80px;
}

.ssh-stat-val {
  font-size: 0.9375rem;
  font-weight: var(--s-font-bold);
  color: var(--s-text-primary);
  line-height: 1.3;
  white-space: nowrap;
}

.ssh-stat-lbl {
  font-size: 0.625rem;
  font-weight: var(--s-font-bold);
  color: var(--s-text-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-top: 3px;
}

/* ── Right section: DATA RETAINED badge + chevron ─────────────────────── */
.ssh-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  min-width: 150px;
  justify-content: flex-end;
}

.ssh-data-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  color: #D7B29D;
  font-family: var(--s-font-family);
  font-size: 0.7125rem;
  font-weight: var(--s-font-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.ssh-chevron {
  color: var(--s-text-muted);
  flex-shrink: 0;
  transition: color var(--s-transition-fast);
}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .ssh-stats {
    gap: 16px;
  }

  .ssh-stat {
    min-width: 65px;
  }

  .ssh-stat-val {
    font-size: 0.875rem;
  }
}

@media (max-width: 640px) {
  .ssh-item {
    flex-wrap: wrap;
    gap: 12px;
  }

  .ssh-stats {
    width: 100%;
    justify-content: space-between;
    gap: 8px;
  }

  .ssh-right {
    width: 100%;
    min-width: 0;
    justify-content: space-between;
  }

  .ssh-thumb {
    width: 56px;
    height: 44px;
    border-radius: 8px;
  }
}


/* ============================================================
   ssd-*  Sale History — Detail / Show  (sale-history/show)
   ============================================================ */

/* -- Page header ------------------------------------------- */
.ssd-page-hdr {
  align-items: flex-start;
  gap: 12px;
}
.ssd-hdr-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ssd-hdr-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ssd-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  flex-shrink: 0;
  transition: background 0.2s;
}
.ssd-back-btn:hover {
  background: rgba(255,255,255,0.12);
  color: #fff;
}
.ssd-page-sub {
  margin: 0;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.01em;
}

/* -- Property Summary -------------------------------------- */
.ssd-prop-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 4px 0 8px;
}
.ssd-prop-thumb {
  width: 96px;
  height: 72px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
}
.ssd-prop-info {
  flex: 1;
  min-width: 0;
}
.ssd-prop-name {
  margin: 0 0 4px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #fff;
}
.ssd-prop-meta {
  margin: 0 0 4px;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.45);
}
.ssd-prop-buyer {
  margin: 0;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.5);
}
.ssd-prop-price-col {
  text-align: right;
  flex-shrink: 0;
}
.ssd-prop-price {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 700;
  color: #D7B29D;
}
.ssd-prop-listed {
  margin: 0;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.35);
  text-decoration: line-through;
}

/* -- Earnings Breakdown ------------------------------------ */
.ssd-earn-table {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0;
}
.ssd-earn-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.ssd-earn-row:last-child {
  border-bottom: none;
}
.ssd-ded-hdr {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.3);
  padding: 12px 0 6px;
}
.ssd-earn-lbl {
  font-size: 0.8375rem;
  color: rgba(255,255,255,0.55);
}
.ssd-earn-val {
  font-size: 0.8375rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
}
.ssd-neg {
  color: #e07a7a;
}
.ssd-earn-row--total .ssd-earn-lbl,
.ssd-earn-row--total .ssd-earn-val {
  font-weight: 700;
  color: rgba(255,255,255,0.7);
}
.ssd-earn-row--total {
  border-top: 1px solid rgba(255,255,255,0.12);
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  margin-top: 4px;
}
.ssd-net-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0 4px;
}
.ssd-net-lbl {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.45);
}
.ssd-net-val {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #D7B29D;
}

/* -- Transaction Summary ----------------------------------- */
.ssd-txn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 4px 0;
}
.ssd-txn-cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.ssd-txn-cell:nth-child(odd) {
  padding-right: 20px;
  border-right: 1px solid rgba(255,255,255,0.06);
}
.ssd-txn-cell:nth-child(even) {
  padding-left: 20px;
}
.ssd-txn-cell--last,
.ssd-txn-cell--last + .ssd-txn-cell {
  border-bottom: none;
}
.ssd-txn-lbl {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.35);
  text-transform: uppercase;
}
.ssd-txn-val {
  font-size: 0.8375rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
}

/* -- Full Timeline ----------------------------------------- */
.ssd-timeline {
  display: flex;
  flex-direction: column;
  padding: 8px 0 4px;
}
.ssd-tl-item {
  display: flex;
  align-items: flex-start;
  gap: 0;
  position: relative;
}
.ssd-tl-item:not(.ssd-tl-item--last) .ssd-tl-dot::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 7px;
  transform: translateX(-50%);
  width: 2px;
  height: calc(100% + 20px);
  background: rgba(255,255,255,0.1);
}
.ssd-tl-left {
  width: 52px;
  flex-shrink: 0;
  padding-top: 2px;
}
.ssd-tl-date {
  font-size: 0.7rem;
  font-weight: 600;
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.ssd-tl-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  flex-shrink: 0;
  margin: 3px 16px 0 0;
  position: relative;
  z-index: 1;
}
.ssd-tl-dot--complete {
  background: #D7B29D;
}
.ssd-tl-right {
  flex: 1;
  padding-bottom: 20px;
}
.ssd-tl-item--last .ssd-tl-right {
  padding-bottom: 4px;
}
.ssd-tl-text {
  margin: 0;
  font-size: 0.845rem;
  color: rgba(255,255,255,0.75);
  padding-top: 1px;
}

/* -- Review Buyer ------------------------------------------ */
.ssd-review-buyer-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.ssd-buyer-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #2a7a6b;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0.05em;
}
.ssd-buyer-name {
  margin: 0 0 3px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fff;
}
.ssd-buyer-meta {
  margin: 0;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.4);
}
.ssd-review-lbl {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ssd-stars {
  display: flex;
  gap: 4px;
  margin-bottom: 16px;
}
.ssd-star-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  color: rgba(255,255,255,0.25);
  transition: color 0.15s;
  line-height: 1;
}
.ssd-star-btn:hover {
  color: #D7B29D;
}
.ssd-star-btn:hover svg {
  fill: #D7B29D;
  stroke: #D7B29D;
}
.ssd-review-textarea {
  width: 100%;
  min-height: 90px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  color: rgba(255,255,255,0.8);
  font-family: "Lexend", sans-serif;
  font-size: 0.845rem;
  padding: 12px 14px;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
  margin-bottom: 14px;
  transition: border-color 0.2s;
}
.ssd-review-textarea::placeholder {
  color: rgba(255,255,255,0.25);
}
.ssd-review-textarea:focus {
  border-color: rgba(215,178,157,0.4);
}
.ssd-submit-btn {
  width: 100%;
  padding: 11px 16px;
  background: #D7B29D;
  color: #1a1a2e;
  border: none;
  border-radius: 10px;
  font-family: "Lexend", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
}
.ssd-submit-btn:hover {
  opacity: 0.88;
}
.ssd-submit-btn:active {
  transform: scale(0.98);
}

/* -- Downloadable Documents (sidebar) ---------------------- */
.ssd-doc-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0;
}
.ssd-doc-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.ssd-doc-item--last {
  border-bottom: none;
}
.ssd-doc-icon {
  width: 32px;
  height: 32px;
  border-radius: 7px;
  background: rgba(215,178,157,0.15);
  color: #D7B29D;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ssd-doc-icon--zip {
  background: rgba(100,170,255,0.12);
  color: #7ab8f5;
}
.ssd-doc-info {
  flex: 1;
  min-width: 0;
}
.ssd-doc-name {
  margin: 0 0 2px;
  font-size: 0.8375rem;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ssd-doc-meta {
  margin: 0;
  font-size: 0.725rem;
  color: rgba(255,255,255,0.35);
}
.ssd-doc-dl {
  background: rgba(255,255,255,0.07);
  border: none;
  border-radius: 7px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.5);
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s, color 0.2s;
}
.ssd-doc-dl:hover {
  background: rgba(215,178,157,0.2);
  color: #D7B29D;
}

/* -- Data Retained card ------------------------------------ */
.ssd-data-card {
  border: 1px solid rgba(215,178,157,0.25) !important;
}
.ssd-data-hdr {
  margin-bottom: 12px;
}
.ssd-data-text {
  margin: 0 0 8px;
  font-size: 0.8375rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.55;
}
.ssd-data-text-sm {
  margin: 0;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.35);
}

/* -- Quick Actions ----------------------------------------- */
.ssd-qa-lbl {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.35);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.ssd-qa-btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ssd-qa-primary {
  display: block;
  text-align: center;
  padding: 11px 16px;
  background: #D7B29D;
  color: #1a1a2e;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-decoration: none;
  transition: opacity 0.2s;
}
.ssd-qa-primary:hover {
  opacity: 0.88;
  color: #1a1a2e;
}
.ssd-qa-ghost {
  display: block;
  text-align: center;
  padding: 11px 16px;
  background: transparent;
  color: rgba(255,255,255,0.6);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}
.ssd-qa-ghost:hover {
  border-color: rgba(255,255,255,0.3);
  color: #fff;
}

/* -- Responsive -------------------------------------------- */
@media (max-width: 900px) {
  .ssd-txn-grid {
    grid-template-columns: 1fr;
  }
  .ssd-txn-cell:nth-child(odd) {
    padding-right: 0;
    border-right: none;
  }
  .ssd-txn-cell:nth-child(even) {
    padding-left: 0;
  }
}

@media (max-width: 640px) {
  .ssd-prop-row {
    flex-wrap: wrap;
  }
  .ssd-prop-price-col {
    text-align: left;
    width: 100%;
  }
  .ssd-page-hdr {
    flex-wrap: wrap;
  }
}

/* ── Page Loader Overlay ─────────────────────────────────────── */
#pageLoader {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
}
#pageLoader.active { display: flex; }
.page-loader-spinner {
    width: 44px;
    height: 44px;
    border: 3px solid rgba(255, 255, 255, 0.2);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pageLoaderSpin .7s linear infinite;
}
@keyframes pageLoaderSpin { to { transform: rotate(360deg); } }

/* -- HugeIcons mask-image (colorable SVG icons) ------------------- */
.hgi {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask-image: var(--hgi);
    mask-image: var(--hgi);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
}

/* ── Tour Management — inline forms ─────────────────────────────────── */
.stm-reject-row { align-items: flex-start; }

.stm-reject-textarea {
    resize: vertical;
    min-height: 60px;
    width: 100%;
}

.stm-reject-send-btn {
    background: rgba(239,68,68,0.15);
    border-color: rgba(239,68,68,0.35);
    color: #f87171;
}
.stm-reject-send-btn:hover {
    background: rgba(239,68,68,0.25);
}

/* stm-banner-success */
.seller-banner-success {
    border-color: rgba(34,197,94,0.3);
    background: rgba(34,197,94,0.08);
}
.seller-banner-success .seller-banner-text span { color: #4ade80; }
