/* Dark theme. GENERATED by scripts/dark-css/gen.js — do not edit by hand;
   put fixes in scripts/dark-css/dark-hand.css and run npm run build:dark. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0E1420 !important; --bg-card: #161E2E !important; --bg-muted: #1C2536 !important; --bg-inner: #1C2536 !important;
  --frost-bg: #161E2E !important; --bg-glass: #161E2E !important; --grey-1: #1C2536 !important; --grey-2: #243049 !important;
  --text: #EEF2F8 !important; --muted: #9AA6BA !important;
  --border: rgba(255,255,255,0.10) !important; --border-light: rgba(255,255,255,0.06) !important;
  --card-shadow: 0 2px 12px rgba(0,0,0,0.45) !important; --shadow-color: rgba(0,0,0,0.5) !important;
  --frost-border: rgba(255,255,255,0.10) !important; --frost-hover: rgba(255,255,255,0.05) !important;
  --dark-inner: #1C2536 !important; --dark-inner-border: rgba(255,255,255,0.10) !important;
  --teal-subtle: rgba(45,125,210,0.16) !important;
}
:root[data-theme="dark"] body { background: var(--bg) !important; color: var(--text) !important; }

/* ── generated from app.css ── */
:root[data-theme="dark"] header { border-bottom: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .btn-share { background: var(--bg-card); color: var(--text); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .thread-bubble.me { color: var(--text); }
:root[data-theme="dark"] .inbox-thread-send { color: var(--text); }
:root[data-theme="dark"] .hiw-cs-desc { color: var(--text); }
:root[data-theme="dark"] .ic-btn-export { color: var(--text); }
:root[data-theme="dark"] .btn-browse { color: var(--text); }
:root[data-theme="dark"] select option { background: var(--bg-card); }
:root[data-theme="dark"] .btn-add-more { color: var(--text); }
:root[data-theme="dark"] .btn-generate { color: var(--text); }
:root[data-theme="dark"] .queue-copy-btn { color: var(--text); }
:root[data-theme="dark"] .copy-btn.copied { color: var(--text); }
:root[data-theme="dark"] .copy-all-btn:hover { color: var(--text); }
:root[data-theme="dark"] .new-btn { color: var(--text); }
:root[data-theme="dark"] .btn-vinted { color: var(--text); }
:root[data-theme="dark"] .referral-banner-btn { color: var(--text); }
:root[data-theme="dark"] .cat-btn-mkt { color: var(--text); }
:root[data-theme="dark"] .copy-toast { background: var(--bg-card); }
:root[data-theme="dark"] .site-footer .snappy-social .ss-label { color: var(--text); }
:root[data-theme="dark"] .site-footer .snappy-social .ss-btn { background: var(--bg-card); }
:root[data-theme="dark"] .site-footer .snappy-social .ss-btn:hover { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .modal-btn { color: var(--text); }
:root[data-theme="dark"] .btn-google { background: var(--bg-card); }
:root[data-theme="dark"] .snappy-card { background: var(--bg-card) !important; }
:root[data-theme="dark"] .snappy-btn-next { color: var(--text); }
:root[data-theme="dark"] .newsletter-row button { color: var(--text); }
:root[data-theme="dark"] .profile-icon { color: var(--text); }
:root[data-theme="dark"] #shareModal .modal-card { background: var(--bg-card) !important; color: var(--text) !important; }
:root[data-theme="dark"] .profile-card { background: var(--bg-card) !important; }
:root[data-theme="dark"] .profile-avatar-lg { color: var(--text); }
:root[data-theme="dark"] .install-btn { color: var(--text); }
:root[data-theme="dark"] .chat-fab { background: var(--bg-card); }
:root[data-theme="dark"] .chat-bubble.user { color: var(--text); }
:root[data-theme="dark"] .chat-send { color: var(--text); }
:root[data-theme="dark"] .view-tab:hover { color: var(--text); }
:root[data-theme="dark"] .mkt-cat.active, :root[data-theme="dark"] .mkt-cat:hover { color: var(--text); }
:root[data-theme="dark"] .mkt-dot.active { background: var(--bg-card); }
:root[data-theme="dark"] .mkt-seller-avatar { color: var(--text); }
:root[data-theme="dark"] .mkt-buy-btn { color: var(--text); }
:root[data-theme="dark"] .mkt-submit-offer { color: var(--text); }
:root[data-theme="dark"] .btn-mkt-post { color: var(--text); }
:root[data-theme="dark"] .btn-search-go { color: var(--text); }
:root[data-theme="dark"] .cv-action-mkt { color: var(--text); }
:root[data-theme="dark"] .cv-copy-all-btn { color: var(--text); }
:root[data-theme="dark"] .ref-social-btn-teal { color: var(--text); }
:root[data-theme="dark"] .view-tab:hover { color: var(--text); }
:root[data-theme="dark"] .main-card { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .card-header { color: var(--text); border-bottom: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .panel { background: var(--bg-card); }
:root[data-theme="dark"] .drop-zone { background: var(--bg-card) !important; }
:root[data-theme="dark"] .drop-zone .dz-title { color: var(--text); }
:root[data-theme="dark"] .btn-bulk { background: var(--bg-card) !important; color: var(--text) !important; }
:root[data-theme="dark"] .btn-camera { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .tip-item { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .hiw-step { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .hiw-title { color: var(--text); }
:root[data-theme="dark"] .hiw-desc { color: var(--text); }
:root[data-theme="dark"] .btn-generate:disabled { background: var(--bg-card); }
:root[data-theme="dark"] .results-top h2 { color: var(--text); }
:root[data-theme="dark"] .score-banner { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .price-banner .pvalue { color: var(--text); }
:root[data-theme="dark"] .fields-card { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .field { border-bottom: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .field-label { color: var(--muted); }
:root[data-theme="dark"] .field-value { color: var(--text); }
:root[data-theme="dark"] .copy-btn { background: var(--bg-card); }
:root[data-theme="dark"] .edit-btn { background: var(--bg-card); }
:root[data-theme="dark"] .btn-reset { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .btn-reset:hover { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .cat-card { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .cat-title { color: var(--text); }
:root[data-theme="dark"] .cat-btn { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .ic-btn-copy { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .ic-export-menu { background: var(--bg-card); }
:root[data-theme="dark"] .ic-export-opt { color: var(--text); }
:root[data-theme="dark"] .discover-panel { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .trending-item { border-bottom: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .trending-item:hover { color: var(--text); }
:root[data-theme="dark"] .trending-select { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; color: var(--text) !important; }
:root[data-theme="dark"] .analytics-tile { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .analytics-tile-label { color: var(--muted); }
:root[data-theme="dark"] .analytics-tile-value { color: var(--text); }
:root[data-theme="dark"] .mkt-option { background: var(--bg-card) !important; border-color: rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .mkt-label { color: var(--text); }
:root[data-theme="dark"] .mkt-title { color: var(--text); }
:root[data-theme="dark"] .mkt-sort-select { background: var(--bg-card) !important; color: var(--text) !important; }
:root[data-theme="dark"] .search-bar-box { background: var(--bg-card); }
:root[data-theme="dark"] .search-bar-input { color: var(--text); }
:root[data-theme="dark"] .search-qf-btn { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .search-trend-pill { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .search-section-label { color: var(--muted); }
:root[data-theme="dark"] .modal-card { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .snappy-card { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .snappy-bubble { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; color: var(--text) !important; }
:root[data-theme="dark"] .modal-field input, :root[data-theme="dark"] .modal-field textarea, :root[data-theme="dark"] .modal-field select { background: var(--bg-card) !important; color: var(--text) !important; }
:root[data-theme="dark"] .snappy-field input { background: var(--bg-card) !important; color: var(--text) !important; }
:root[data-theme="dark"] .modal-sheet { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .modal-title { color: var(--text); }
:root[data-theme="dark"] .modal-close { color: var(--muted); background: var(--bg-card) !important; border-color: rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .spinner { border-color: rgba(255,255,255,0.10); }
:root[data-theme="dark"] .referral-banner-title { color: var(--text); }
:root[data-theme="dark"] .tl-count { color: var(--text); }
:root[data-theme="dark"] .smart-group-card { background: var(--bg-card) !important; border: 1.5px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .smart-group-label { color: var(--text); }
:root[data-theme="dark"] .queue-item { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .queue-name { color: var(--text); }
:root[data-theme="dark"] .chat-speech-bubble { background: var(--bg-card) !important; color: var(--text) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] footer { border-top: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .cookie-banner { background: var(--bg-card); border-top: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .btab-bubble { color: var(--text); }
:root[data-theme="dark"] .btab-label { color: var(--muted); }
:root[data-theme="dark"] .bottom-tab.active { color: var(--text); }
:root[data-theme="dark"] .bottom-tab.active .btab-label { color: var(--text); }
:root[data-theme="dark"] .tab-history-btn { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); color: var(--text); }
:root[data-theme="dark"] .tab-history-btn:hover { background: var(--bg-card); }
:root[data-theme="dark"] .mob-btn-tooltip { background: var(--bg-card); }
:root[data-theme="dark"] .mob-tip-banner { background: var(--bg-card); }
:root[data-theme="dark"] .mob-tip-arrow { background: var(--bg-card); }
:root[data-theme="dark"] .mobile-upload-btn { background: var(--bg-card); border: 1.5px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .mobile-upload-btn--camera { background: var(--bg-card); }
:root[data-theme="dark"] .upload-action { background: var(--bg-card) !important; border: 1.5px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .upload-action .uab-title { color: var(--text) !important; }
:root[data-theme="dark"] .upload-action .uab-sub { color: var(--muted) !important; }
:root[data-theme="dark"] .hiw-section-label { color: var(--muted); }
:root[data-theme="dark"] .hiw-card-list { background: var(--bg-card); border: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .hiw-card-row { border-bottom: 1px solid rgba(255,255,255,0.10); }
:root[data-theme="dark"] .hiw-card-icon { background: var(--bg-card); }
:root[data-theme="dark"] .hiw-card-title { color: var(--text); }
:root[data-theme="dark"] .flb-btn { background: var(--bg-card); }
:root[data-theme="dark"] .tip-item { background: var(--bg-card) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
:root[data-theme="dark"] .tip-item strong { color: var(--text); }
:root[data-theme="dark"] .export-modal-card { background: var(--bg-card); }
:root[data-theme="dark"] .export-modal-close-btn { color: var(--muted); }
:root[data-theme="dark"] .export-photos-strip { background: var(--bg-card); }
:root[data-theme="dark"] .export-save-photos-btn { background: var(--bg-card); }
:root[data-theme="dark"] .btn-export-marketplace { background: var(--bg-card); }
:root[data-theme="dark"] .sold-survey-btn.active { color: var(--text); }
:root[data-theme="dark"] .upsell-carousel { background: var(--bg-card); }
:root[data-theme="dark"] .pro-hero { background: var(--bg-card); }
:root[data-theme="dark"] .pro-feat-item { background: var(--bg-card); }
:root[data-theme="dark"] .sub-card { background: var(--bg-card); }
:root[data-theme="dark"] .sub-card-featured { background: var(--bg-card); }
:root[data-theme="dark"] .pack-row { background: var(--bg-card); }
:root[data-theme="dark"] .pack-row-featured { background: var(--bg-card); }
:root[data-theme="dark"] .refer-block { background: var(--bg-card); }
:root[data-theme="dark"] .trust-item { background: var(--bg-card); }
:root[data-theme="dark"] .faq-row { background: var(--bg-card); }
:root[data-theme="dark"] .notif-checkbox::after { background: var(--bg-card); }
:root[data-theme="dark"] .modal-card.profile-card.pd-card { color: var(--text); }
:root[data-theme="dark"] .pd-close { background: var(--bg-card); }
:root[data-theme="dark"] .pd-close:hover { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .pd-meter .uploads-bar-fill { background: var(--bg-card) !important; }
:root[data-theme="dark"] .pd-quick button { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .pd-label { color: var(--muted); }
:root[data-theme="dark"] .pd-reviews { background: var(--bg-card); }
:root[data-theme="dark"] .pd-rv-top { color: var(--text); }
:root[data-theme="dark"] .pd-rv-top:hover { background: var(--bg-card); }
:root[data-theme="dark"] .pd-rv-score small { color: var(--muted); }
:root[data-theme="dark"] .pd-rv-bonus { background: var(--bg-card); }
:root[data-theme="dark"] .pd-tile { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .pd-tile small { color: var(--muted); }
:root[data-theme="dark"] .pd-list { background: var(--bg-card); }
:root[data-theme="dark"] .pd-row { color: var(--text); }
:root[data-theme="dark"] .pd-row:hover { background: var(--bg-card); }
:root[data-theme="dark"] .pd-row-v { color: var(--muted); }
:root[data-theme="dark"] .pd-logout { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .modal-card.pd-sheet { color: var(--text); }
:root[data-theme="dark"] .pd-sheet-desc { color: var(--muted); }
:root[data-theme="dark"] .pd-mk-head { color: var(--muted); }
:root[data-theme="dark"] .pd-mk-list { background: var(--bg-card); }
:root[data-theme="dark"] .mkt-option.pd-mk-star { background: var(--bg-card) !important; }
:root[data-theme="dark"] .pd-mk-check input { background: var(--bg-card); }
:root[data-theme="dark"] .pd-toggles { background: var(--bg-card); }
:root[data-theme="dark"] .pd-toggle-text b { color: var(--text); }
:root[data-theme="dark"] .pd-toggle-text small { color: var(--muted); }
:root[data-theme="dark"] .pd-topup-pack label { color: var(--muted); }
:root[data-theme="dark"] .pd-topup-pack select, :root[data-theme="dark"] .pd-input { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .pd-input:focus, :root[data-theme="dark"] .pd-topup-pack select:focus { background: var(--bg-card); }
:root[data-theme="dark"] .rv-avg b { color: var(--text); }
:root[data-theme="dark"] .rv-avg small { color: var(--muted); }
:root[data-theme="dark"] .rv-bar { color: var(--muted); }
:root[data-theme="dark"] .rv-disc { color: var(--muted); }
:root[data-theme="dark"] .rv-chip { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .rv-who b { color: var(--text); }
:root[data-theme="dark"] .rv-who small { color: var(--muted); }
:root[data-theme="dark"] .rv-btn { background: var(--bg-card); color: var(--text); }
:root[data-theme="dark"] .rv-empty { color: var(--muted); }
:root[data-theme="dark"] .rv-star-label { color: var(--muted); }
:root[data-theme="dark"] .buy-check-strip { background: var(--bg-card); border: 1.5px solid rgba(255,255,255,0.10); color: var(--text); }
:root[data-theme="dark"] .bcs-text strong { color: var(--text); }
:root[data-theme="dark"] .bcs-text>span { color: var(--muted); }


/* ── hand-written: inline styles in index.html / app.js ── */
:root[data-theme="dark"] [style*="background:#fff"],
:root[data-theme="dark"] [style*="background: #fff"],
:root[data-theme="dark"] [style*="background:#FFF"],
:root[data-theme="dark"] [style*="background:#ffffff"],
:root[data-theme="dark"] [style*="background: #ffffff"],
:root[data-theme="dark"] [style*="background:#FFFFFF"],
:root[data-theme="dark"] [style*="background:white"],
:root[data-theme="dark"] [style*="background: white"] { background: var(--bg-card) !important; }
:root[data-theme="dark"] [style*="color:#000;"]:not(button),
:root[data-theme="dark"] [style*="color:#1a1a1a"],
:root[data-theme="dark"] [style*="color: #1a1a1a"] { color: var(--text) !important; }

/* Form fields */
:root[data-theme="dark"] input:not([type=checkbox]):not([type=radio]):not([type=range]),
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select { background-color: var(--bg-inner); color: var(--text); border-color: var(--border); }
:root[data-theme="dark"] ::placeholder { color: #6B7890; }

/* The new tools use fixed light colours on purpose (they sit in a dark panel
   in light mode); in dark mode they follow the theme. */
:root[data-theme="dark"] .buy-check-strip { background: var(--bg-card); border-color: var(--border); color: var(--text); }
:root[data-theme="dark"] .bcs-text strong { color: var(--text); }
:root[data-theme="dark"] .bcs-text > span { color: var(--muted); }

/* Theme toggle */
.theme-toggle { font-size: 16px; line-height: 1; }

/* Plain Saved Listing action buttons have no background of their own, so the
   browser's grey button shows through. The coloured variants keep theirs. */
:root[data-theme="dark"] .cv-action:not([class*="cv-action-"]):not(.btn-whatsapp):not([style*="background"]) {
  background: var(--bg-inner); border: 1px solid var(--border); color: var(--text);
}
:root[data-theme="dark"] .cv-action:not([class*="cv-action-"]):not(.btn-whatsapp):not([style*="background"]):hover { background: var(--grey-2); }

/* Purple labels that are too dim on the dark card */
:root[data-theme="dark"] .mobile-upload-btn--purple .mob-btn-label,
:root[data-theme="dark"] .upload-action--purple .uab-title { color: #B69CFF !important; }

/* Phone bottom tab bar: its colours are its own variables */
:root[data-theme="dark"] .bottom-tab-bar { --btab-bg: #1B2436; }
:root[data-theme="dark"] .bottom-tab-bar[data-pop="generate"] { --btab-bg: #1D3150; }
:root[data-theme="dark"] .bottom-tab-bar[data-pop="history"]  { --btab-bg: #2A2447; }
:root[data-theme="dark"] .bottom-tab-bar[data-pop="upgrade"]  { --btab-bg: #3A2F16; }
:root[data-theme="dark"] .bottom-tab-bar[data-pop="account"]  { --btab-bg: #173A36; }
:root[data-theme="dark"] .bottom-tab { color: #9AA6BA; }
:root[data-theme="dark"] .btab-bubble { color: #EEF2F8; }
:root[data-theme="dark"] .btab-shadow { box-shadow: 0 12px 32px rgba(0,0,0,0.55), 0 2px 8px rgba(0,0,0,0.35); }
