:root {
  --bg: #f4f6f1;
  --surface: #ffffff;
  --surface-2: #f7f9f5;
  --surface-3: #eef3ed;
  --text: #17211d;
  --muted: #637068;
  --muted-2: #8a958f;
  --line: #dce4de;
  --line-strong: #cad5cd;
  --primary: #0d5c46;
  --primary-2: #15745a;
  --primary-soft: #e5f2ed;
  --accent: #e8a925;
  --accent-soft: #fff3d7;
  --danger: #bd3b3b;
  --danger-soft: #fdecec;
  --info: #386bb5;
  --info-soft: #eaf1fb;
  --success: #167255;
  --success-soft: #e6f4ee;
  --shadow-xs: 0 1px 2px rgba(16, 35, 27, .05);
  --shadow-sm: 0 4px 14px rgba(16, 35, 27, .07);
  --shadow-md: 0 12px 34px rgba(16, 35, 27, .12);
  --shadow-lg: 0 24px 70px rgba(16, 35, 27, .18);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --topbar-h: 72px;
  --sidebar-w: 248px;
  color-scheme: light;
}

:root[data-theme="dark"] {
  --bg: #0f1512;
  --surface: #17201c;
  --surface-2: #1d2823;
  --surface-3: #22312a;
  --text: #edf4f0;
  --muted: #a4b2ab;
  --muted-2: #7f8c85;
  --line: #2a3932;
  --line-strong: #35473e;
  --primary: #60c5a0;
  --primary-2: #7bd8b6;
  --primary-soft: #173c30;
  --accent: #f2ba48;
  --accent-soft: #49391a;
  --danger: #ee7777;
  --danger-soft: #452323;
  --info: #84aee6;
  --info-soft: #1d304a;
  --success: #68cea8;
  --success-soft: #173d31;
  --shadow-xs: 0 1px 2px rgba(0,0,0,.22);
  --shadow-sm: 0 4px 16px rgba(0,0,0,.28);
  --shadow-md: 0 14px 36px rgba(0,0,0,.36);
  --shadow-lg: 0 28px 78px rgba(0,0,0,.46);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; }
img { max-width: 100%; display: block; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed;
  left: 12px;
  top: -100px;
  z-index: 9999;
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow-md);
}
.skip-link:focus { top: 12px; }

.offline-banner {
  position: fixed;
  inset: 0 0 auto;
  z-index: 2000;
  padding: 7px 12px;
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  background: var(--accent);
  color: #211b0d;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  height: var(--topbar-h);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  backdrop-filter: saturate(160%) blur(16px);
  border-bottom: 1px solid var(--line);
}
.topbar-inner {
  height: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: var(--sidebar-w) minmax(280px, 680px) 1fr;
  align-items: center;
  gap: 20px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  padding: 0;
  background: none;
  color: var(--text);
  text-align: left;
}
.brand-mark { width: 39px; height: 39px; display: grid; place-items: center; }
.brand-mark svg { width: 100%; height: 100%; overflow: visible; }
.brand-mark path:first-child { fill: var(--primary); }
.brand-mark .brand-leaf { fill: var(--accent); }
.brand-mark .brand-stem { fill: none; stroke: var(--surface); stroke-width: 2.8; stroke-linecap: round; }
.brand-word { font-size: 22px; font-weight: 850; letter-spacing: -.65px; white-space: nowrap; }
.brand-word span { color: var(--primary); font-weight: 750; }

.global-search {
  position: relative;
  height: 46px;
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.global-search:focus-within {
  border-color: color-mix(in srgb, var(--primary) 62%, var(--line));
  background: var(--surface);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-soft) 75%, transparent);
}
.search-icon { width: 20px; height: 20px; margin-left: 15px; position: relative; flex: 0 0 auto; }
.search-icon::before { content: ""; position: absolute; width: 10px; height: 10px; border: 2px solid var(--muted); border-radius: 50%; left: 1px; top: 1px; }
.search-icon::after { content: ""; position: absolute; width: 7px; height: 2px; background: var(--muted); transform: rotate(45deg); left: 12px; top: 13px; border-radius: 2px; }
.global-search input { min-width: 0; flex: 1; height: 100%; border: 0; outline: 0; background: transparent; padding: 0 12px; }
.global-search input::placeholder { color: var(--muted-2); }
.search-submit { height: 34px; margin-right: 6px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--primary); color: white; font-weight: 750; }

.top-actions { justify-self: end; display: flex; align-items: center; gap: 8px; min-width: 0; }
.icon-button {
  position: relative;
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--muted);
}
.icon-button:hover { background: var(--surface-2); border-color: var(--line); color: var(--text); }
.icon-button svg { width: 20px; height: 20px; }
.badge-dot { position: absolute; right: 7px; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--danger); box-shadow: 0 0 0 2px var(--surface); }

.button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 12px;
  border: 1px solid transparent;
  padding: 0 16px;
  font-weight: 760;
  text-decoration: none;
  transition: transform .15s, background .2s, border-color .2s, color .2s, box-shadow .2s;
}
.button:active { transform: translateY(1px); }
.button:disabled { opacity: .5; cursor: not-allowed; }
.button svg { width: 18px; height: 18px; }
.button-primary { background: var(--primary); color: #fff; box-shadow: 0 5px 14px color-mix(in srgb, var(--primary) 22%, transparent); }
.button-primary:hover { background: var(--primary-2); }
.button-secondary { background: var(--primary-soft); color: var(--primary); border-color: color-mix(in srgb, var(--primary) 18%, var(--line)); }
.button-secondary:hover { background: color-mix(in srgb, var(--primary-soft) 78%, var(--primary) 8%); }
.button-ghost { background: transparent; border-color: var(--line); color: var(--text); }
.button-ghost:hover { background: var(--surface-2); border-color: var(--line-strong); }
.button-danger { background: var(--danger-soft); color: var(--danger); border-color: color-mix(in srgb, var(--danger) 22%, var(--line)); }
.button-small { min-height: 34px; padding: 0 12px; border-radius: 10px; font-size: 13px; }
.button-block { width: 100%; }
.text-button { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: var(--primary); font-weight: 760; padding: 0; }
.text-button svg { width: 16px; height: 16px; transition: transform .2s; }
.text-button:hover svg { transform: translateX(3px); }

.account-button {
  min-width: 0;
  max-width: 210px;
  height: 46px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0 10px 0 6px;
  background: var(--surface);
}
.account-button:hover { border-color: var(--line-strong); box-shadow: var(--shadow-xs); }
.account-button > svg { width: 15px; color: var(--muted); }
.account-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 720; }
.avatar {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--primary), #3a9073);
  color: #fff;
  font-weight: 850;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.avatar-small { width: 34px; height: 34px; font-size: 13px; }
.avatar-medium { width: 48px; height: 48px; font-size: 17px; }
.avatar-large { width: 76px; height: 76px; font-size: 26px; }

.app-frame { max-width: 1600px; margin: 0 auto; display: grid; grid-template-columns: var(--sidebar-w) minmax(0,1fr); min-height: calc(100vh - var(--topbar-h)); }
.sidebar {
  position: sticky;
  top: var(--topbar-h);
  align-self: start;
  height: calc(100vh - var(--topbar-h));
  padding: 22px 18px 24px 24px;
  border-right: 1px solid var(--line);
  overflow-y: auto;
}
.side-nav { display: grid; gap: 5px; }
.nav-item {
  position: relative;
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 12px;
  padding: 0 12px;
  background: transparent;
  color: var(--muted);
  text-align: left;
  font-weight: 690;
}
.nav-item:hover { background: var(--surface-2); color: var(--text); }
.nav-item.active { background: var(--primary-soft); color: var(--primary); }
.nav-item > svg { width: 20px; height: 20px; flex: 0 0 auto; }
.nav-count { margin-left: auto; min-width: 22px; height: 22px; display: inline-grid; place-items: center; border-radius: 999px; padding: 0 6px; background: var(--primary); color: white; font-size: 11px; }
.sidebar-promo {
  position: relative;
  overflow: hidden;
  margin: 26px 0;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(145deg, var(--primary), #0b4938);
  color: white;
  box-shadow: var(--shadow-sm);
}
.sidebar-promo::after { content: ""; position: absolute; width: 100px; height: 100px; right: -35px; top: -35px; border-radius: 50%; background: rgba(255,255,255,.08); }
.sidebar-promo h3 { margin: 5px 0 7px; font-size: 17px; letter-spacing: -.25px; }
.sidebar-promo p { margin: 0 0 14px; color: rgba(255,255,255,.78); font-size: 13px; }
.sidebar-promo .text-button { color: #fff; font-size: 13px; }
.promo-kicker { font-size: 11px; text-transform: uppercase; letter-spacing: .75px; font-weight: 850; color: #f8d982; }
.side-nav-secondary { padding-top: 5px; border-top: 1px solid var(--line); }

#app { min-width: 0; padding: 30px 34px 80px; outline: none; }
.page { max-width: 1250px; margin: 0 auto; }
.page-narrow { max-width: 860px; }
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.page-header h1 { margin: 0 0 6px; font-size: clamp(26px, 3vw, 36px); line-height: 1.15; letter-spacing: -1.1px; }
.page-header p { margin: 0; color: var(--muted); max-width: 720px; }
.page-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.eyebrow { display: inline-flex; align-items: center; gap: 7px; color: var(--primary); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .72px; margin-bottom: 8px; }
.eyebrow svg { width: 15px; height: 15px; }

.hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr);
  gap: 28px;
  min-height: 320px;
  padding: 38px 40px;
  margin-bottom: 24px;
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at 87% 12%, rgba(244,185,66,.26), transparent 26%),
    radial-gradient(circle at 65% 100%, rgba(80,184,145,.16), transparent 34%),
    linear-gradient(145deg, #0b503d, #0f6a50 63%, #115d48);
  color: white;
  box-shadow: var(--shadow-md);
}
.hero::before { content: ""; position: absolute; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; right: -80px; bottom: -110px; }
.hero-copy { position: relative; z-index: 1; align-self: center; }
.hero h1 { margin: 8px 0 14px; max-width: 720px; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -2.3px; }
.hero h1 em { font-style: normal; color: #f5ca67; }
.hero p { max-width: 650px; margin: 0 0 22px; color: rgba(255,255,255,.82); font-size: 17px; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.hero .button-primary { background: white; color: #0d5c46; box-shadow: none; }
.hero .button-primary:hover { background: #f5f7f2; }
.hero .button-ghost { color: white; border-color: rgba(255,255,255,.28); }
.hero .button-ghost:hover { background: rgba(255,255,255,.1); }
.hero-meta { display: flex; align-items: center; gap: 16px; margin-top: 22px; color: rgba(255,255,255,.72); font-size: 13px; }
.hero-meta span { display: inline-flex; align-items: center; gap: 6px; }
.hero-meta svg { width: 15px; height: 15px; }
.hero-visual { position: relative; display: grid; align-content: center; justify-items: center; z-index: 1; }
.hero-card-stack { position: relative; width: min(360px,100%); height: 250px; }
.mini-product-card {
  position: absolute;
  width: 285px;
  min-height: 145px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 20px;
  background: rgba(255,255,255,.93);
  color: #17211d;
  box-shadow: 0 20px 48px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
}
.mini-product-card:nth-child(1) { left: 3px; top: 55px; transform: rotate(-6deg); opacity: .7; }
.mini-product-card:nth-child(2) { right: 0; top: 25px; transform: rotate(5deg); opacity: .82; }
.mini-product-card:nth-child(3) { left: 38px; top: 47px; transform: rotate(-.5deg); }
.mini-top { display: flex; gap: 12px; align-items: center; }
.mini-thumb { width: 62px; height: 62px; border-radius: 14px; background: linear-gradient(135deg,#f3c661,#d88537); display:grid;place-items:center;font-size:30px; }
.mini-product-card h4 { margin: 0 0 3px; font-size: 15px; }
.mini-product-card p { margin: 0; color: #6b746f; font-size: 12px; }
.mini-price { margin-top: 12px; display:flex;align-items:end;justify-content:space-between; }
.mini-price strong { font-size: 19px; }
.mini-price span { font-size: 11px;color:#6b746f; }

.stat-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 24px; }
.stat-tile { padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-xs); }
.stat-tile span { display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.45px; }
.stat-tile strong { display:block;margin-top:4px;font-size:25px;letter-spacing:-.65px; }

.discovery-shell { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 22px; }
.filter-panel { align-self: start; position: sticky; top: calc(var(--topbar-h) + 22px); padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow-xs); }
.filter-panel h3 { margin:0 0 15px;font-size:16px; }
.filter-group { margin-bottom: 16px; }
.filter-label { display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:760; }
.filter-row { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.filter-footer { display:flex;gap:8px;padding-top:5px; }
.filter-footer .button { flex:1; }

.content-panel { min-width:0; }
.toolbar { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px; }
.segmented { display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2); }
.segmented button { min-height:34px;border:0;border-radius:9px;background:transparent;padding:0 13px;color:var(--muted);font-weight:730;font-size:13px; }
.segmented button.active { background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs); }
.toolbar-actions { display:flex;align-items:center;gap:8px; }
.result-count { color:var(--muted);font-size:13px;white-space:nowrap; }
.view-toggle { display:inline-flex;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface); }
.view-toggle button { width:38px;height:36px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center; }
.view-toggle button+button { border-left:1px solid var(--line); }
.view-toggle button.active { background:var(--primary-soft);color:var(--primary); }
.view-toggle svg { width:17px;height:17px; }

.form-control {
  width:100%;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
  padding:0 12px;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
}
textarea.form-control { min-height:112px;padding:11px 12px;resize:vertical;line-height:1.5; }
.form-control:focus { border-color:color-mix(in srgb,var(--primary) 58%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-soft) 75%,transparent); }
.form-control::placeholder { color:var(--muted-2); }
.form-field { display:grid;gap:7px; }
.form-field>label,.form-label { font-size:13px;font-weight:750;color:var(--text); }
.form-help { color:var(--muted);font-size:12px; }
.form-error { color:var(--danger);font-size:12px;font-weight:650; }
.form-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.form-grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.form-section { padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2); }
.form-section h3 { margin:0 0 5px;font-size:16px; }
.form-section>p { margin:0 0 16px;color:var(--muted);font-size:13px; }
.check-row { display:flex;align-items:flex-start;gap:9px; }
.check-row input { margin-top:3px;accent-color:var(--primary); }
.check-row label { font-size:13px; }
.choice-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.choice-card { position:relative;display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer; }
.choice-card:hover { border-color:var(--line-strong); }
.choice-card.selected { border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary); }
.choice-card input { position:absolute;opacity:0;pointer-events:none; }
.choice-card strong { font-size:14px; }
.choice-card span { color:var(--muted);font-size:12px; }

.listing-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.listing-card {
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:19px;
  background:var(--surface);
  box-shadow:var(--shadow-xs);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.listing-card:hover { transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--line-strong); }
.card-media { position:relative;aspect-ratio:16/10;background:linear-gradient(145deg,var(--surface-3),var(--surface-2));overflow:hidden;cursor:pointer; }
.card-media img { width:100%;height:100%;object-fit:cover;transition:transform .35s; }
.listing-card:hover .card-media img { transform:scale(1.035); }
.card-placeholder { width:100%;height:100%;display:grid;place-items:center;color:var(--muted);background:
  radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent-soft) 75%,transparent),transparent 45%),
  linear-gradient(145deg,var(--surface-3),var(--surface-2)); }
.card-placeholder svg { width:52px;height:52px;opacity:.5; }
.type-badge { position:absolute;left:11px;top:11px;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.25px;backdrop-filter:blur(10px);box-shadow:var(--shadow-xs); }
.type-badge.sell { background:rgba(232,169,37,.93);color:#2c220d; }
.type-badge.buy { background:rgba(13,92,70,.93);color:#fff; }
.type-badge svg { width:13px;height:13px; }
.favorite-button { position:absolute;right:10px;top:10px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.91);color:#59635e;box-shadow:var(--shadow-xs);backdrop-filter:blur(10px); }
.favorite-button:hover,.favorite-button.active { color:var(--danger); }
.favorite-button.active svg { fill:currentColor; }
.favorite-button svg { width:18px;height:18px; }
.photo-count { position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(20,27,24,.67);color:#fff;font-size:11px; }
.photo-count svg { width:13px;height:13px; }
.card-body { display:flex;flex-direction:column;flex:1;padding:15px 16px 16px; }
.card-location { display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;margin-bottom:5px; }
.card-location svg { width:13px;height:13px; }
.card-title { margin:0 0 7px;font-size:17px;line-height:1.25;letter-spacing:-.25px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer; }
.card-title:hover { color:var(--primary); }
.card-meta { display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:12px;min-height:20px; }
.meta-dot::before { content:"•";margin-right:7px;color:var(--line-strong); }
.card-price-row { display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px; }
.card-price { min-width:0; }
.card-price strong { display:block;font-size:20px;line-height:1.1;letter-spacing:-.5px; }
.card-price span { color:var(--muted);font-size:11px; }
.card-owner { display:flex;align-items:center;gap:7px;min-width:0; }
.card-owner-text { min-width:0; }
.card-owner-text strong { display:block;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px; }
.card-owner-text span { display:block;color:var(--muted);font-size:10px; }
.verified { color:var(--primary);display:inline-flex;vertical-align:-2px; }
.verified svg { width:14px;height:14px;fill:currentColor; }
.card-actions { display:flex;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line); }
.card-actions .button { flex:1;min-height:36px;font-size:12px;padding:0 10px; }

.listing-list { display:grid;gap:12px; }
.listing-list .listing-card { display:grid;grid-template-columns:210px minmax(0,1fr); }
.listing-list .card-media { aspect-ratio:auto;min-height:180px; }
.listing-list .card-body { padding:18px; }
.listing-list .card-title { font-size:20px; }
.listing-list .card-owner-text strong { max-width:220px; }

.swipe-deck { position:relative;min-height:610px;display:grid;place-items:center;padding:10px 0 30px; }
.swipe-card { width:min(520px,100%);border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden; }
.swipe-media { aspect-ratio:4/3;position:relative;background:var(--surface-3); }
.swipe-media img { width:100%;height:100%;object-fit:cover; }
.swipe-body { padding:22px; }
.swipe-title-row { display:flex;align-items:flex-start;justify-content:space-between;gap:15px; }
.swipe-title-row h2 { margin:0;font-size:27px;line-height:1.15;letter-spacing:-.7px; }
.swipe-price { margin-top:12px;font-size:26px;font-weight:850;color:var(--primary); }
.swipe-description { color:var(--muted);margin:12px 0; }
.swipe-info { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px; }
.info-chip { display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:11px;background:var(--surface-2);font-size:12px; }
.info-chip svg { width:16px;height:16px;color:var(--primary); }
.swipe-controls { display:flex;justify-content:center;gap:16px;margin-top:22px; }
.swipe-control { width:58px;height:58px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;box-shadow:var(--shadow-sm); }
.swipe-control svg { width:25px;height:25px; }
.swipe-control.pass { color:var(--danger); }
.swipe-control.save { color:var(--accent); }
.swipe-control.match { color:var(--primary);width:66px;height:66px; }
.swipe-progress { margin-top:14px;text-align:center;color:var(--muted);font-size:12px; }

.empty-state { padding:58px 24px;text-align:center;border:1px dashed var(--line-strong);border-radius:20px;background:var(--surface-2); }
.empty-icon { width:68px;height:68px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:var(--primary-soft);color:var(--primary); }
.empty-icon svg { width:32px;height:32px; }
.empty-state h3 { margin:0 0 7px;font-size:20px; }
.empty-state p { margin:0 auto 18px;max-width:490px;color:var(--muted); }
.skeleton { position:relative;overflow:hidden;background:var(--surface-3);border-radius:10px; }
.skeleton::after { content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.2s infinite; }
@keyframes shimmer { to { transform:translateX(100%); } }
.skeleton-card { height:370px;border:1px solid var(--line);border-radius:19px;background:var(--surface);padding:12px; }
.skeleton-card .skeleton:first-child { height:190px;margin-bottom:15px; }
.skeleton-card .skeleton:nth-child(2) { height:20px;width:75%;margin-bottom:10px; }
.skeleton-card .skeleton:nth-child(3) { height:15px;width:52%;margin-bottom:40px; }
.skeleton-card .skeleton:nth-child(4) { height:25px;width:40%; }

.dashboard-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px; }
.metric-card { padding:19px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-xs); }
.metric-head { display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:760; }
.metric-icon { width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--primary-soft);color:var(--primary); }
.metric-icon svg { width:18px;height:18px; }
.metric-card strong { display:block;margin:11px 0 2px;font-size:28px;letter-spacing:-.8px; }
.metric-card small { color:var(--muted); }
.panel { border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow-xs);overflow:hidden; }
.panel+.panel { margin-top:18px; }
.panel-header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;border-bottom:1px solid var(--line); }
.panel-header h2,.panel-header h3 { margin:0;font-size:17px; }
.panel-body { padding:19px; }
.table-wrap { overflow:auto; }
.data-table { width:100%;border-collapse:collapse;min-width:720px; }
.data-table th { padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap; }
.data-table td { padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle; }
.data-table tbody tr:last-child td { border-bottom:0; }
.data-table tbody tr:hover { background:var(--surface-2); }
.table-title { display:flex;align-items:center;gap:9px;min-width:230px; }
.table-thumb { width:46px;height:42px;border-radius:9px;object-fit:cover;background:var(--surface-3); }
.table-title strong { display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.table-title span { display:block;color:var(--muted);font-size:11px; }
.status-pill { display:inline-flex;align-items:center;gap:5px;height:25px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap; }
.status-pill.active,.status-pill.accepted,.status-pill.resolved { background:var(--success-soft);color:var(--success); }
.status-pill.pending,.status-pill.reviewing { background:var(--accent-soft);color:#96660b; }
.status-pill.paused,.status-pill.expired,.status-pill.cancelled { background:var(--surface-3);color:var(--muted); }
.status-pill.rejected,.status-pill.blocked,.status-pill.suspended { background:var(--danger-soft);color:var(--danger); }
.status-pill::before { content:"";width:6px;height:6px;border-radius:50%;background:currentColor; }

.match-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.match-card { padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--surface);display:grid;gap:13px; }
.match-head { display:flex;align-items:center;gap:11px; }
.match-head-content { min-width:0;flex:1; }
.match-head-content strong { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.match-head-content span { display:block;color:var(--muted);font-size:12px; }
.match-note { padding:10px 12px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:13px; }
.match-actions { display:flex;gap:8px;flex-wrap:wrap; }

.messages-layout { height:calc(100vh - var(--topbar-h) - 120px);min-height:590px;display:grid;grid-template-columns:340px minmax(0,1fr);border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-xs); }
.conversation-list { border-right:1px solid var(--line);overflow-y:auto; }
.conversation-list-header { position:sticky;top:0;z-index:2;padding:16px;border-bottom:1px solid var(--line);background:var(--surface); }
.conversation-list-header h2 { margin:0 0 10px;font-size:20px; }
.conversation-item { width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left; }
.conversation-item:hover { background:var(--surface-2); }
.conversation-item.active { background:var(--primary-soft); }
.conversation-thumb { width:48px;height:48px;border-radius:12px;object-fit:cover;background:var(--surface-3); }
.conversation-copy { min-width:0; }
.conversation-copy strong { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.conversation-copy span { display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.conversation-side { align-self:start;text-align:right;color:var(--muted);font-size:10px; }
.unread-badge { display:inline-grid;place-items:center;min-width:20px;height:20px;margin-top:7px;padding:0 5px;border-radius:999px;background:var(--primary);color:white;font-size:10px;font-weight:800; }
.chat-pane { min-width:0;display:grid;grid-template-rows:auto 1fr auto; }
.chat-header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line); }
.chat-person { display:flex;align-items:center;gap:10px;min-width:0; }
.chat-person strong,.chat-person span { display:block; }
.chat-person span { color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.chat-messages { overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:10px;background:
  radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--primary-soft) 40%,transparent),transparent 32%),var(--surface-2); }
.message-row { display:flex; }
.message-row.mine { justify-content:flex-end; }
.message-bubble { max-width:min(72%,600px);padding:10px 12px 7px;border:1px solid var(--line);border-radius:15px 15px 15px 5px;background:var(--surface);box-shadow:var(--shadow-xs); }
.message-row.mine .message-bubble { border-color:color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:15px 15px 5px 15px;background:var(--primary);color:white; }
.message-bubble p { margin:0;white-space:pre-wrap;overflow-wrap:anywhere; }
.message-time { display:block;margin-top:4px;text-align:right;color:var(--muted);font-size:9px; }
.message-row.mine .message-time { color:rgba(255,255,255,.68); }
.chat-compose { display:flex;align-items:flex-end;gap:10px;padding:13px 16px;border-top:1px solid var(--line);background:var(--surface); }
.chat-compose textarea { min-height:44px;max-height:130px;resize:none; }
.chat-compose .button { flex:0 0 auto; }
.chat-empty { grid-row:1/-1;display:grid;place-items:center;text-align:center;padding:30px;color:var(--muted); }

.profile-hero { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-xs); }
.profile-main { min-width:0; }
.profile-main h1 { display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:27px;letter-spacing:-.6px; }
.profile-main p { margin:0;color:var(--muted); }
.profile-meta { display:flex;gap:12px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:12px; }
.profile-meta span { display:inline-flex;align-items:center;gap:5px; }
.profile-meta svg { width:14px;height:14px; }
.profile-stats { display:flex;gap:22px; }
.profile-stat { text-align:center; }
.profile-stat strong { display:block;font-size:21px; }
.profile-stat span { color:var(--muted);font-size:11px; }
.contact-card { display:grid;gap:9px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface); }
.contact-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line); }
.contact-row:last-child { border-bottom:0; }
.contact-label { display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px; }
.contact-label svg { width:17px;height:17px;color:var(--primary); }

.modal-backdrop,.drawer-backdrop { position:fixed;inset:0;z-index:500;background:rgba(10,18,14,.52);backdrop-filter:blur(5px);animation:fade-in .16s ease-out; }
.modal-shell { position:fixed;z-index:510;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 30px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-lg);animation:modal-in .2s ease-out;overflow:hidden; }
.modal-shell.modal-large { width:min(900px,calc(100vw - 28px)); }
.modal-shell.modal-wide { width:min(1080px,calc(100vw - 28px)); }
.modal-header { display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:19px 21px;border-bottom:1px solid var(--line); }
.modal-header h2 { margin:0;font-size:21px;letter-spacing:-.35px; }
.modal-header p { margin:3px 0 0;color:var(--muted);font-size:13px; }
.modal-close { width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--surface-2);color:var(--muted); }
.modal-close:hover { color:var(--text);background:var(--surface-3); }
.modal-close svg { width:18px;height:18px; }
.modal-body { min-height:0;overflow-y:auto;padding:21px; }
.modal-footer { display:flex;justify-content:flex-end;gap:9px;padding:15px 21px;border-top:1px solid var(--line);background:var(--surface-2); }
@keyframes fade-in { from { opacity:0; } }
@keyframes modal-in { from { opacity:0;transform:translate(-50%,-47%) scale(.98); } }

.drawer-shell { position:fixed;z-index:510;top:0;right:0;width:min(620px,100vw);height:100vh;display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow-lg);animation:drawer-in .22s ease-out; }
.drawer-header { display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line); }
.drawer-title { font-weight:800; }
.drawer-body { min-height:0;overflow-y:auto; }
@keyframes drawer-in { from { transform:translateX(100%); } }
.detail-media { position:relative;aspect-ratio:16/10;background:var(--surface-3); }
.detail-media img { width:100%;height:100%;object-fit:cover; }
.detail-thumbs { position:absolute;left:12px;bottom:12px;display:flex;gap:7px; }
.detail-thumb { width:54px;height:44px;border:2px solid white;border-radius:9px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm); }
.detail-thumb img { width:100%;height:100%;object-fit:cover; }
.detail-content { padding:22px; }
.detail-topline { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px; }
.detail-content h1 { margin:0 0 8px;font-size:28px;line-height:1.18;letter-spacing:-.7px; }
.detail-price { margin:14px 0 4px;font-size:31px;font-weight:880;color:var(--primary);letter-spacing:-.8px; }
.detail-price-note { color:var(--muted);font-size:12px; }
.detail-description { margin:20px 0;color:var(--text);white-space:pre-wrap; }
.detail-specs { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.spec { padding:12px;border-radius:12px;background:var(--surface-2); }
.spec span { display:block;color:var(--muted);font-size:11px; }
.spec strong { display:block;margin-top:2px;font-size:13px; }
.detail-owner { margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2); }
.detail-owner-head { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.detail-owner-person { display:flex;align-items:center;gap:10px;min-width:0; }
.detail-owner-person strong,.detail-owner-person span { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.detail-owner-person span { color:var(--muted);font-size:12px; }
.detail-sticky { position:sticky;bottom:0;display:flex;gap:9px;padding:14px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px); }
.detail-sticky .button { flex:1; }

.photo-uploader { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.photo-slot { position:relative;aspect-ratio:4/3;display:grid;place-items:center;border:1.5px dashed var(--line-strong);border-radius:14px;background:var(--surface-2);overflow:hidden;cursor:pointer; }
.photo-slot:hover { border-color:var(--primary);background:var(--primary-soft); }
.photo-slot input { position:absolute;inset:0;opacity:0;cursor:pointer; }
.photo-slot img { width:100%;height:100%;object-fit:cover; }
.photo-slot-copy { display:grid;justify-items:center;gap:7px;color:var(--muted);font-size:12px;text-align:center;padding:10px; }
.photo-slot-copy svg { width:27px;height:27px;color:var(--primary); }
.photo-remove { position:absolute;right:7px;top:7px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(20,25,22,.72);color:white; }
.photo-remove svg { width:15px;height:15px; }

.auth-shell { display:grid;grid-template-columns:.8fr 1.2fr;min-height:520px; }
.auth-aside { position:relative;overflow:hidden;padding:30px;background:linear-gradient(150deg,#0d5c46,#0b4737);color:white; }
.auth-aside::after { content:"";position:absolute;width:270px;height:270px;border-radius:50%;right:-120px;bottom:-100px;background:rgba(255,255,255,.08); }
.auth-aside .brand-word { display:block;margin-top:12px;color:white; }
.auth-aside h3 { margin:70px 0 12px;font-size:31px;line-height:1.1;letter-spacing:-1px; }
.auth-aside p { color:rgba(255,255,255,.77); }
.auth-benefits { display:grid;gap:11px;margin-top:24px; }
.auth-benefit { display:flex;align-items:center;gap:9px;font-size:13px;color:rgba(255,255,255,.85); }
.auth-benefit svg { width:17px;height:17px;color:#f2c45f; }
.auth-main { padding:30px;display:flex;flex-direction:column; }
.auth-tabs { display:flex;gap:3px;padding:4px;border-radius:12px;background:var(--surface-2);margin-bottom:22px; }
.auth-tabs button { flex:1;height:38px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:750; }
.auth-tabs button.active { background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs); }
.auth-form { display:grid;gap:14px; }
.auth-form .button { margin-top:6px; }
.auth-note { margin-top:auto;padding-top:18px;color:var(--muted);font-size:11px; }

.popover { position:fixed;z-index:400;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md);overflow:hidden; }
.account-popover { top:66px;right:24px;width:250px;padding:7px; }
.popover-head { padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px; }
.popover-head strong,.popover-head span { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.popover-head span { color:var(--muted);font-size:11px; }
.popover-item { width:100%;height:40px;display:flex;align-items:center;gap:10px;border:0;border-radius:9px;background:transparent;padding:0 10px;text-align:left;color:var(--muted); }
.popover-item:hover { background:var(--surface-2);color:var(--text); }
.popover-item.danger { color:var(--danger); }
.popover-item svg { width:17px;height:17px; }
.notification-popover { position:fixed;z-index:420;right:24px;top:66px;width:min(390px,calc(100vw - 24px));max-height:520px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden; }
.notification-head { display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line); }
.notification-head h3 { margin:0;font-size:16px; }
.notification-list { overflow-y:auto; }
.notification-item { display:grid;grid-template-columns:35px minmax(0,1fr);gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--surface); }
.notification-item.unread { background:var(--primary-soft); }
.notification-icon { width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--surface-3);color:var(--primary); }
.notification-icon svg { width:17px;height:17px; }
.notification-copy strong { display:block;font-size:13px; }
.notification-copy p { margin:2px 0 4px;color:var(--muted);font-size:12px; }
.notification-copy time { color:var(--muted-2);font-size:10px; }

.toast-root { position:fixed;z-index:1000;right:18px;bottom:20px;width:min(380px,calc(100vw - 28px));display:grid;gap:9px;pointer-events:none; }
.toast { display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-md);pointer-events:auto;animation:toast-in .22s ease-out; }
.toast-icon { width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--success-soft);color:var(--success); }
.toast.error .toast-icon { background:var(--danger-soft);color:var(--danger); }
.toast.warning .toast-icon { background:var(--accent-soft);color:#956509; }
.toast-icon svg { width:17px;height:17px; }
.toast-copy strong { display:block;font-size:13px; }
.toast-copy p { margin:2px 0 0;color:var(--muted);font-size:12px; }
.toast-close { border:0;background:none;color:var(--muted);padding:3px; }
.toast-close svg { width:15px;height:15px; }
@keyframes toast-in { from { opacity:0;transform:translateY(10px); } }

.tabs { display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto; }
.tab { position:relative;min-height:45px;border:0;background:transparent;padding:0 13px;color:var(--muted);font-weight:730;white-space:nowrap; }
.tab.active { color:var(--primary); }
.tab.active::after { content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--primary); }
.tag-list { display:flex;gap:7px;flex-wrap:wrap; }
.tag { display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:690; }
.tag svg { width:13px;height:13px; }
.info-banner { display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid color-mix(in srgb,var(--info) 20%,var(--line));border-radius:14px;background:var(--info-soft);color:var(--info); }
.info-banner svg { width:19px;height:19px;flex:0 0 auto;margin-top:1px; }
.info-banner strong { display:block;margin-bottom:2px; }
.info-banner p { margin:0;color:color-mix(in srgb,var(--info) 82%,var(--text));font-size:12px; }
.alert-banner { border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--accent-soft);color:#845b0a; }

.legal-content { padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface); }
.legal-content h2 { margin:28px 0 10px;font-size:20px; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p,.legal-content li { color:var(--muted); }
.legal-content li+li { margin-top:6px; }
.step-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.step-card { padding:21px;border:1px solid var(--line);border-radius:18px;background:var(--surface); }
.step-number { width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--primary);color:white;font-weight:850; }
.step-card h3 { margin:15px 0 7px; }
.step-card p { margin:0;color:var(--muted); }

.bottom-nav { display:none; }

@media (max-width: 1220px) {
  :root { --sidebar-w: 215px; }
  .topbar-inner { grid-template-columns:var(--sidebar-w) minmax(250px,1fr) auto; }
  .listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);padding:32px; }
  .dashboard-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 980px) {
  :root { --topbar-h:64px; }
  .topbar-inner { grid-template-columns:auto minmax(200px,1fr) auto;padding:0 16px;gap:12px; }
  .brand-word { display:none; }
  .sidebar { display:none; }
  .app-frame { display:block; }
  #app { padding:24px 18px 90px; }
  .hero { grid-template-columns:1fr;min-height:auto;padding:30px; }
  .hero-visual { display:none; }
  .discovery-shell { grid-template-columns:1fr; }
  .filter-panel { position:static;display:none; }
  .filter-panel.open { display:block; }
  .messages-layout { height:calc(100vh - 160px); }
  .account-name,.account-button>svg { display:none; }
  .account-button { width:44px;padding:0;justify-content:center;border:0;background:transparent; }
  .create-button span:not([data-icon]) { display:none; }
}

@media (max-width: 720px) {
  .topbar-inner { grid-template-columns:auto 1fr auto; }
  .global-search { height:42px; }
  .search-submit { display:none; }
  .top-actions .guest-only.button-primary,.top-actions .guest-only.button-ghost,.top-actions .create-button { display:none !important; }
  #app { padding:16px 12px 92px; }
  .bottom-nav {
    position:fixed;
    z-index:120;
    left:0;right:0;bottom:0;
    height:calc(66px + env(safe-area-inset-bottom));
    display:flex;
    align-items:flex-start;
    justify-content:space-around;
    padding:7px 7px env(safe-area-inset-bottom);
    border-top:1px solid var(--line);
    background:color-mix(in srgb,var(--surface) 94%,transparent);
    backdrop-filter:blur(15px);
  }
  .bottom-item { min-width:58px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:690; }
  .bottom-item.active { color:var(--primary); }
  .bottom-item svg { width:21px;height:21px; }
  .bottom-create { width:52px;height:52px;margin-top:-19px;display:grid;place-items:center;border:5px solid var(--bg);border-radius:50%;background:var(--primary);color:white;box-shadow:var(--shadow-md); }
  .bottom-create svg { width:22px;height:22px; }
  .page-header { align-items:flex-start;margin-bottom:18px; }
  .page-header h1 { font-size:27px; }
  .page-actions .button span:not([data-icon]) { display:none; }
  .hero { padding:25px 22px;border-radius:22px;margin-bottom:15px; }
  .hero h1 { font-size:35px;letter-spacing:-1.5px; }
  .hero p { font-size:14px; }
  .hero-meta { display:grid;gap:6px; }
  .stat-strip { grid-template-columns:1fr 1fr;gap:8px; }
  .stat-tile { padding:14px; }
  .stat-tile strong { font-size:21px; }
  .toolbar { align-items:flex-start;flex-direction:column; }
  .toolbar-actions { width:100%;justify-content:space-between; }
  .listing-grid { grid-template-columns:1fr;gap:12px; }
  .listing-card { border-radius:17px; }
  .listing-list .listing-card { grid-template-columns:125px minmax(0,1fr); }
  .listing-list .card-media { min-height:160px; }
  .listing-list .card-body { padding:13px; }
  .listing-list .card-title { font-size:16px; }
  .listing-list .card-actions,.listing-list .card-owner { display:none; }
  .listing-list .card-price strong { font-size:17px; }
  .choice-grid { grid-template-columns:1fr; }
  .form-grid,.form-grid-3 { grid-template-columns:1fr; }
  .modal-shell,.modal-shell.modal-large,.modal-shell.modal-wide { width:100%;max-height:94vh;top:auto;bottom:0;transform:none;border-radius:22px 22px 0 0;animation:sheet-in .22s ease-out; }
  @keyframes sheet-in { from { transform:translateY(100%); } }
  .modal-body { padding:17px; }
  .modal-header { padding:16px 17px; }
  .modal-footer { padding:12px 17px calc(12px + env(safe-area-inset-bottom)); }
  .auth-shell { display:block;min-height:0; }
  .auth-aside { display:none; }
  .auth-main { padding:5px 0; }
  .drawer-shell { width:100vw; }
  .detail-content { padding:18px; }
  .detail-content h1 { font-size:24px; }
  .detail-specs { grid-template-columns:1fr 1fr; }
  .profile-hero { grid-template-columns:auto minmax(0,1fr);padding:18px; }
  .profile-stats { grid-column:1/-1;justify-content:space-around;padding-top:14px;border-top:1px solid var(--line); }
  .dashboard-grid { grid-template-columns:1fr 1fr;gap:9px; }
  .metric-card { padding:15px; }
  .metric-card strong { font-size:23px; }
  .match-grid { grid-template-columns:1fr; }
  .messages-layout { height:calc(100vh - 148px);grid-template-columns:1fr; }
  .conversation-list { border-right:0; }
  .messages-layout.chat-open .conversation-list { display:none; }
  .chat-pane { display:none; }
  .messages-layout.chat-open .chat-pane { display:grid; }
  .chat-header .mobile-back { display:grid !important; }
  .message-bubble { max-width:85%; }
  .step-grid { grid-template-columns:1fr; }
  .account-popover { right:10px;top:58px; }
  .notification-popover { right:8px;top:58px;width:calc(100vw - 16px); }
  .toast-root { right:8px;bottom:78px;width:calc(100vw - 16px); }
  .swipe-deck { min-height:520px; }
  .swipe-card { border-radius:20px; }
  .swipe-body { padding:17px; }
  .swipe-title-row h2 { font-size:23px; }
  .swipe-info { grid-template-columns:1fr; }
}

@media (max-width: 430px) {
  .topbar-inner { padding:0 10px;gap:8px; }
  .brand-mark { width:34px;height:34px; }
  .global-search { min-width:0; }
  .global-search input { padding:0 8px;font-size:13px; }
  .search-icon { margin-left:11px; }
  .icon-button { width:38px;height:38px; }
  .hero-actions .button { flex:1; }
  .stat-strip { grid-template-columns:1fr 1fr; }
  .segmented { width:100%; }
  .segmented button { flex:1;padding:0 8px; }
  .detail-specs { grid-template-columns:1fr; }
  .dashboard-grid { grid-template-columns:1fr 1fr; }
  .metric-head span:first-child { max-width:100px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important; }
}

/* v3 — growth, rewards and market intelligence */
:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 38%, transparent); outline-offset: 2px; }

.points-chip {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line));
  border-radius: 13px;
  background: linear-gradient(145deg, var(--accent-soft), color-mix(in srgb, var(--surface) 82%, var(--accent-soft)));
  color: color-mix(in srgb, var(--text) 84%, #7b5200);
  box-shadow: var(--shadow-xs);
}
.points-chip:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.points-chip svg { width: 18px; height: 18px; color: var(--accent); }
.points-chip strong { font-size: 14px; }
.points-chip span:last-child { font-size: 11px; color: var(--muted); }

.feature-badge,.urgent-badge {
  position: absolute;
  z-index: 2;
  left: 10px;
  top: 44px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #fff;
  font-size: 10px;
  font-weight: 820;
  box-shadow: 0 4px 14px rgba(0,0,0,.16);
}
.feature-badge { background: linear-gradient(135deg,#8f6811,#d6a125); }
.urgent-badge { background: linear-gradient(135deg,#a22b2b,#de5050); }
.feature-badge + .urgent-badge { top: 76px; }
.feature-badge svg,.urgent-badge svg { width: 12px; height: 12px; }
.bonus-inline { margin-left: auto; padding: 3px 7px; border-radius: 999px; background: var(--accent-soft); color: #8b630d; font-size: 10px; font-weight: 800; }
.founder-badge { display:inline-flex;align-items:center;gap:3px;width:max-content;margin-top:2px;padding:2px 6px;border-radius:999px;background:var(--accent-soft);color:#8a6008;font-size:9px;font-weight:850;letter-spacing:.2px; }
.founder-badge svg { width:10px;height:10px; }
.reliability-badge { display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:750; }
.reliability-badge svg { width:13px;height:13px; }

.founder-callout,.offer-summary,.search-summary,.confirm-card,.insight-note {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px 14px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:14px;
  background:linear-gradient(145deg,var(--accent-soft),var(--surface));
  margin-bottom:15px;
}
.founder-callout>svg,.offer-summary>span>svg,.search-summary>svg,.confirm-card>svg,.insight-note>svg { flex:0 0 auto;width:20px;height:20px;color:var(--accent);margin-top:1px; }
.founder-callout p,.offer-summary p,.search-summary p,.confirm-card p,.insight-note p { margin:2px 0 0;color:var(--muted);font-size:12px; }
.optional { color:var(--muted-2);font-size:11px;font-weight:500; }
.input-suffix { position:relative;display:flex;align-items:center; }
.input-suffix .form-control { padding-right:92px; }
.input-suffix>span { position:absolute;right:12px;color:var(--muted);font-size:12px;pointer-events:none; }

.growth-command {
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr;
  gap:12px;
  margin-bottom:18px;
}
.growth-wallet,.growth-missions,.growth-opportunity {
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  padding:17px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-xs);
}
.growth-wallet { background:linear-gradient(145deg,var(--accent-soft),var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,var(--line)); }
.growth-icon { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--primary-soft);color:var(--primary); }
.growth-wallet .growth-icon { background:rgba(232,169,37,.18);color:#9a6a04; }
.growth-icon svg { width:20px;height:20px; }
.growth-wallet>div,.growth-opportunity>div { min-width:0;flex:1; }
.growth-command span:not(.growth-icon) { display:block;color:var(--muted);font-size:11px;font-weight:700; }
.growth-command strong { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px;letter-spacing:-.3px; }
.growth-command small { display:block;color:var(--muted);font-size:10px; }
.growth-missions { display:block; }
.growth-progress { display:flex;justify-content:space-between;align-items:center;margin-bottom:8px; }
.growth-progress strong { font-size:14px; }
.progress-track { height:7px;overflow:hidden;border-radius:999px;background:var(--surface-3); }
.progress-track i { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#55b28f); }
.growth-missions p { margin:7px 0 0;color:var(--muted);font-size:11px; }

.wallet-hero {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.05fr 1.45fr .9fr;
  gap:18px;
  align-items:stretch;
  padding:26px;
  margin-bottom:18px;
  border-radius:26px;
  color:#fff;
  background:
    radial-gradient(circle at 83% 5%,rgba(246,199,86,.3),transparent 27%),
    linear-gradient(135deg,#093f31,#0d654b 62%,#0b513d);
  box-shadow:var(--shadow-md);
}
.wallet-hero::after { content:"";position:absolute;right:-70px;bottom:-100px;width:260px;height:260px;border:1px solid rgba(255,255,255,.1);border-radius:50%; }
.wallet-balance,.wallet-stats,.founder-seal,.founder-progress { position:relative;z-index:1; }
.wallet-balance { display:flex;flex-direction:column;justify-content:center; }
.wallet-balance>span { color:rgba(255,255,255,.7);font-size:12px;font-weight:720;text-transform:uppercase;letter-spacing:.7px; }
.wallet-balance>strong { margin-top:3px;font-size:clamp(42px,6vw,68px);line-height:.95;letter-spacing:-3px; }
.wallet-balance>em { margin-top:5px;color:#f4c85e;font-style:normal;font-weight:820; }
.wallet-balance>small { max-width:340px;margin-top:13px;color:rgba(255,255,255,.62);font-size:10px; }
.wallet-stats { display:grid;grid-template-columns:1fr 1fr;gap:9px; }
.wallet-stats>div { padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.075);backdrop-filter:blur(10px); }
.wallet-stats span { display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.65);font-size:10px;font-weight:700; }
.wallet-stats span svg { width:13px;height:13px; }
.wallet-stats strong { display:block;margin-top:6px;font-size:18px; }
.founder-seal,.founder-progress { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:18px;border:1px solid rgba(247,200,89,.35);border-radius:20px;background:rgba(238,176,38,.13); }
.founder-seal>svg { width:37px;height:37px;color:#f2c458;margin-bottom:10px; }
.founder-seal strong { font-size:20px; }
.founder-seal span { color:rgba(255,255,255,.68);font-size:11px; }
.founder-progress strong { margin:5px 0;font-size:17px; }
.founder-progress p { margin:0 0 12px;color:rgba(255,255,255,.7);font-size:11px; }

.rewards-layout { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr);gap:18px;margin-bottom:18px; }
.panel-header p { margin:2px 0 0;color:var(--muted);font-size:12px; }
.panel-counter { min-width:40px;height:30px;display:grid;place-items:center;padding:0 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:850; }
.mission-list { display:grid; }
.mission-card { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 18px;border-top:1px solid var(--line); }
.mission-card:first-child { border-top:0; }
.mission-card.done { opacity:.72;background:color-mix(in srgb,var(--success-soft) 40%,transparent); }
.mission-state { width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--primary-soft);color:var(--primary); }
.mission-card.done .mission-state { background:var(--success-soft);color:var(--success); }
.mission-state svg { width:18px;height:18px; }
.mission-copy { min-width:0; }
.mission-copy strong { display:block; }
.mission-copy p { margin:2px 0;color:var(--muted);font-size:12px; }
.mission-reward { color:var(--accent);font-size:11px;font-weight:820; }
.mission-card.done .mission-reward { color:var(--success); }
.invite-panel { height:max-content; }
.invite-code { display:flex;align-items:center;gap:10px;margin:18px 18px 10px;padding:13px;border-radius:14px;background:var(--surface-2);border:1px dashed var(--line-strong); }
.invite-code span { color:var(--muted);font-size:11px; }
.invite-code strong { flex:1;font-size:18px;letter-spacing:1.3px; }
.invite-link { display:flex;gap:7px;padding:0 18px 12px; }
.invite-link input { min-width:0;font-size:11px; }
.referral-summary { display:flex;gap:13px;padding:12px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.referral-summary span { display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:700; }
.referral-summary svg { width:14px;height:14px;color:var(--primary); }
.fine-print { margin:12px 18px 18px;color:var(--muted);font-size:10px; }
.catalog-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:18px; }
.catalog-card { display:flex;flex-direction:column;min-width:0;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2);transition:transform .18s,border-color .18s,box-shadow .18s; }
.catalog-card:hover { transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-sm); }
.catalog-icon { width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--primary-soft);color:var(--primary); }
.catalog-icon svg { width:20px;height:20px; }
.catalog-card h3 { margin:12px 0 5px;font-size:15px; }
.catalog-card p { flex:1;margin:0 0 16px;color:var(--muted);font-size:11px; }
.catalog-footer { display:flex;align-items:center;justify-content:space-between;gap:7px; }
.catalog-footer>strong { font-size:12px;color:var(--accent); }
.transaction-list { display:grid; }
.point-transaction { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--line); }
.point-transaction:first-child { border-top:0; }
.transaction-icon { width:32px;height:32px;display:grid;place-items:center;border-radius:10px; }
.transaction-icon.earn { background:var(--success-soft);color:var(--success); }
.transaction-icon.spend { background:var(--accent-soft);color:#956806; }
.transaction-icon svg { width:16px;height:16px; }
.transaction-copy { min-width:0; }
.transaction-copy strong { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px; }
.transaction-copy span { display:block;color:var(--muted);font-size:10px; }
.transaction-amount { font-size:13px; }
.transaction-amount.positive { color:var(--success); }
.transaction-amount.negative { color:var(--danger); }

.market-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px; }
.market-summary>div { padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-xs); }
.market-summary span { display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:720; }
.market-summary span svg { width:15px;height:15px;color:var(--primary); }
.market-summary strong { display:block;margin-top:6px;font-size:25px; }
.market-summary small { color:var(--muted);font-size:10px; }
.market-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px; }
.market-card { display:flex;flex-direction:column;padding:19px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-xs); }
.market-card.opportunity { border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 8px 26px rgba(154,105,4,.08); }
.market-card header { display:flex;align-items:flex-start;gap:11px;margin-bottom:16px; }
.market-category-icon { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--primary-soft);color:var(--primary); }
.market-card.opportunity .market-category-icon { background:var(--accent-soft);color:#9a6a04; }
.market-category-icon svg { width:20px;height:20px; }
.market-card h3 { margin:0;font-size:16px; }
.market-card header p { margin:3px 0 0;color:var(--muted);font-size:10px; }
.supply-demand { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px; }
.supply-demand span { color:var(--muted);font-size:10px; }
.supply-demand strong { display:block;font-size:21px; }
.meter { height:5px;margin-top:5px;overflow:hidden;border-radius:999px;background:var(--surface-3); }
.meter i { display:block;height:100%;border-radius:inherit;background:var(--primary); }
.meter.buy i { background:var(--info); }
.opportunity-banner { display:flex;align-items:center;gap:9px;margin:auto 0 12px;padding:10px;border-radius:12px;background:var(--accent-soft);color:#8d6208; }
.opportunity-banner>svg { width:18px;height:18px; }
.opportunity-banner span { min-width:0; }
.opportunity-banner strong,.opportunity-banner small { display:block; }
.opportunity-banner strong { font-size:12px; }
.opportunity-banner small { font-size:9px; }
.balanced-note { margin-top:auto;padding:10px;border-radius:12px;background:var(--success-soft);color:var(--success);font-size:11px;font-weight:720; }
.balanced-note svg { width:14px;height:14px;vertical-align:-2px;margin-right:4px; }
.insight-note { margin:0;border-color:var(--line);background:var(--surface); }
.insight-note>svg { color:var(--info); }

.offer-facts { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line); }
.offer-facts span { min-width:0; }
.offer-facts small,.offer-facts strong { display:block; }
.offer-facts small { color:var(--muted);font-size:9px; }
.offer-facts strong { white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px; }

@media (max-width: 1250px) {
  .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .growth-command { grid-template-columns:1fr 1fr; }
  .growth-opportunity { grid-column:1/-1; }
}

@media (max-width: 980px) {
  .points-chip span:last-child { display:none; }
  .wallet-hero { grid-template-columns:1fr 1fr; }
  .founder-seal,.founder-progress { grid-column:1/-1; }
  .rewards-layout { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  .points-chip { min-width:38px;width:38px;padding:0;justify-content:center;border:0;background:transparent;box-shadow:none; }
  .points-chip strong,.points-chip span:last-child { display:none; }
  .points-chip svg { width:20px;height:20px;color:var(--muted); }
  .wallet-hero { grid-template-columns:1fr;padding:22px;border-radius:22px; }
  .wallet-balance>strong { font-size:52px; }
  .wallet-stats { grid-template-columns:1fr 1fr; }
  .founder-seal,.founder-progress { grid-column:auto; }
  .catalog-grid { grid-template-columns:1fr 1fr;padding:12px;gap:9px; }
  .catalog-card { padding:14px; }
  .catalog-footer { align-items:flex-start;flex-direction:column; }
  .catalog-footer .button { width:100%; }
  .growth-command { grid-template-columns:1fr; }
  .growth-opportunity { grid-column:auto; }
  .growth-wallet,.growth-opportunity { align-items:flex-start;flex-wrap:wrap; }
  .growth-wallet .button,.growth-opportunity .button { width:100%; }
  .market-summary { grid-template-columns:1fr; }
  .market-grid { grid-template-columns:1fr; }
  .mission-card { grid-template-columns:auto minmax(0,1fr); }
  .mission-card .button { grid-column:2;justify-self:start; }
  .offer-facts { grid-template-columns:1fr 1fr; }
  .bonus-inline { display:none; }
}

@media (max-width: 430px) {
  .wallet-stats { grid-template-columns:1fr; }
  .catalog-grid { grid-template-columns:1fr; }
  .invite-link { flex-direction:column; }
  .offer-facts { grid-template-columns:1fr; }
}

/* v3 yönetim ve büyüme araçları */
.admin-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px}.admin-signal-grid article{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon value" "icon label";column-gap:12px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.admin-signal-grid article>span{grid-area:icon;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--green-100);color:var(--green-700)}.admin-signal-grid article>strong{grid-area:value;font-size:24px;line-height:1}.admin-signal-grid article>small{grid-area:label;color:var(--muted);margin-top:5px}.admin-growth-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}.founder-mini{display:inline-flex;padding:2px 7px;border-radius:999px;background:var(--gold-100,#fff2c9);color:#8a5b00;font-size:10px;font-weight:800;vertical-align:middle}.status-pill.paused{background:var(--surface-soft);color:var(--muted)}
@media (max-width:1100px){.admin-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-growth-grid{grid-template-columns:1fr}}
@media (max-width:640px){.admin-signal-grid{grid-template-columns:1fr;padding:12px}.admin-growth-grid{gap:12px}}

.site-footer{margin-left:248px;border-top:1px solid var(--border);background:var(--surface);padding:18px 32px 96px;color:var(--muted);font-size:13px}.site-footer>div{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.site-footer button{border:0;background:none;color:var(--muted);font:inherit;cursor:pointer;padding:0}.site-footer button:hover{color:var(--green-700)}
@media(max-width:900px){.site-footer{margin-left:0;padding:18px 18px 100px}.site-footer>div{gap:12px 18px}}
