/* ═══════════════════════════════════════════════
   CollectorHub — Super Modern Dark Theme
═══════════════════════════════════════════════ */

:root {
  --bg: #07070f;
  --bg2: #0d0d1c;
  --bg3: #13132a;
  --card: rgba(255,255,255,0.042);
  --card-h: rgba(255,255,255,0.075);
  --border: rgba(255,255,255,0.07);
  --border-h: rgba(255,255,255,0.18);
  --txt: #f0f0ff;
  --txt2: rgba(240,240,255,0.58);
  --txt3: rgba(240,240,255,0.32);

  --purple: #7c3aed;
  --purple-l: #9f6ef0;
  --blue: #3b82f6;
  --blue-l: #60a5fa;
  --pink: #ec4899;
  --pink-l: #f472b6;
  --gold: #f59e0b;
  --gold-l: #fbbf24;
  --green: #10b981;
  --green-l: #34d399;
  --red: #ef4444;

  --hw: #ff6b35;
  --lg: #ffd23f;
  --cd: #38bdf8;
  --rc: #c084fc;
  --ks: #34d399;
  --bk: #f59e0b;
  --oz: #ec4899;
  --ob: #6366f1;
  --tr: #78716c;
  --gp: #14b8a6;
  --ak: #f472b6;

  --sidebar-w: 252px;
  --top-h: 62px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-2xl: 32px;
  --shadow: 0 4px 24px rgba(0,0,0,0.45);
  --shadow-lg: 0 8px 48px rgba(0,0,0,0.6);
  --glow-p: 0 0 24px rgba(124,58,237,0.35);
  --transition: .18s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:15px;scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--txt);
  overflow-x:hidden;
  min-height:100vh;
}

/* ── Background orbs ── */
.bg-orbs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.12}
.orb1{width:600px;height:600px;background:radial-gradient(circle,#7c3aed,transparent);top:-150px;left:-150px;animation:orbFloat 18s ease-in-out infinite}
.orb2{width:500px;height:500px;background:radial-gradient(circle,#3b82f6,transparent);bottom:-100px;right:-100px;animation:orbFloat 22s ease-in-out infinite reverse}
.orb3{width:400px;height:400px;background:radial-gradient(circle,#ec4899,transparent);top:40%;left:55%;animation:orbFloat 26s ease-in-out infinite 4s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}}

/* ══════════════ LAYOUT ══════════════ */
.sidebar{
  position:fixed;left:0;top:0;bottom:0;
  width:var(--sidebar-w);
  background:rgba(10,10,26,0.88);
  backdrop-filter:blur(24px);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  z-index:100;
  transition:transform var(--transition);
}
.main{
  margin-left:var(--sidebar-w);
  min-height:100vh;
  display:flex;flex-direction:column;
  position:relative;z-index:1;
}
.content{
  padding:2rem 2.2rem;
  flex:1;
}

/* ── Sidebar logo ── */
.sidebar-logo{
  display:flex;align-items:center;gap:12px;
  padding:1.35rem 1.3rem 1.1rem;
  border-bottom:1px solid var(--border);
}
.logo-mark{font-size:1.7rem;line-height:1}
.logo-name{display:block;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.3px}
.logo-tagline{display:block;font-size:.7rem;color:var(--txt3);margin-top:1px}

/* ── Sidebar search ── */
.sidebar-search-wrap{
  margin:1rem;
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border);
  border-radius:var(--r-md);
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;
}
.sidebar-search-wrap i{color:var(--txt3);font-size:.85rem}
.sidebar-search-wrap input{
  background:none;border:none;outline:none;
  color:var(--txt);font-size:.88rem;width:100%;
}
.sidebar-search-wrap input::placeholder{color:var(--txt3)}

/* ── Sidebar nav ── */
.sidebar-nav{flex:1;overflow-y:auto;padding:0 0.7rem;scrollbar-width:none}
.sidebar-nav::-webkit-scrollbar{display:none}
.nav-label{
  font-size:.65rem;font-weight:700;letter-spacing:.12em;
  color:var(--txt3);text-transform:uppercase;
  padding:.9rem .6rem .35rem;
}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 11px;border-radius:var(--r-md);
  color:var(--txt2);font-size:.88rem;font-weight:500;
  text-decoration:none;cursor:pointer;
  transition:background var(--transition),color var(--transition);
  margin-bottom:2px;
}
.nav-item:hover{background:var(--card-h);color:var(--txt)}
.nav-item.active{background:rgba(124,58,237,0.18);color:var(--txt);box-shadow:inset 3px 0 0 var(--purple)}
.nav-icon{width:20px;text-align:center;font-size:.9rem}
.nav-item .badge{margin-left:auto}
.badge{
  background:rgba(255,255,255,0.1);color:var(--txt2);
  font-size:.63rem;font-weight:700;padding:2px 7px;
  border-radius:100px;min-width:22px;text-align:center;
}
.badge-new{background:rgba(239,68,68,0.25);color:#fca5a5}
.badge-wish{background:rgba(236,72,153,0.22);color:#f9a8d4}

/* ── Sidebar bottom ── */
.sidebar-bottom{padding:1rem;border-top:1px solid var(--border)}
.btn-add-sidebar{
  width:100%;padding:11px;border-radius:var(--r-lg);
  background:linear-gradient(135deg,var(--purple),var(--blue));
  color:#fff;font-weight:600;font-size:.9rem;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity var(--transition),transform var(--transition);
  box-shadow:var(--glow-p);
}
.btn-add-sidebar:hover{opacity:.88;transform:translateY(-1px)}

/* ══════════════ TOPBAR ══════════════ */
.topbar{
  height:var(--top-h);
  padding:0 2.2rem;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(7,7,15,0.72);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
}
.topbar-l{display:flex;align-items:center;gap:14px}
.hamburger{
  display:none;background:none;border:none;cursor:pointer;
  color:var(--txt2);font-size:1.1rem;padding:6px;
}
.page-title{font-size:1.2rem;font-weight:700;font-family:'Space Grotesk',sans-serif}
.topbar-r{display:flex;align-items:center;gap:12px}
.topbar-date{font-size:.8rem;color:var(--txt3)}
.icon-btn{
  background:var(--card);border:1px solid var(--border);
  color:var(--txt2);border-radius:var(--r-sm);padding:7px 10px;
  cursor:pointer;transition:background var(--transition),color var(--transition);
}
.icon-btn:hover{background:var(--card-h);color:var(--txt)}
.topbar-avatar{
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,var(--purple),var(--pink));
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:700;cursor:pointer;
}

/* ══════════════ VIEW / SECTION ══════════════ */
.view{animation:fadeIn .25s ease}
.view.hidden{display:none}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.section-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.section-hdr h2{font-size:1rem;font-weight:700;font-family:'Space Grotesk',sans-serif}
.see-all-link{font-size:.8rem;color:var(--purple-l);text-decoration:none;font-weight:500}
.see-all-link:hover{color:var(--txt)}

/* ══════════════ KPI CARDS ══════════════ */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.2rem}
.kpi-card{
  border-radius:var(--r-xl);
  border:1px solid var(--border);
  padding:1.4rem 1.3rem;
  display:flex;align-items:center;gap:1rem;
  position:relative;overflow:hidden;
  background:var(--card);
  backdrop-filter:blur(12px);
  transition:transform var(--transition),border-color var(--transition);
}
.kpi-card:hover{transform:translateY(-3px);border-color:var(--border-h)}
.kpi-card::before{
  content:'';position:absolute;inset:0;
  background:inherit;opacity:0;transition:.18s;border-radius:inherit;
}
.kpi-card:hover::before{opacity:1}
.kpi-icon{
  width:48px;height:48px;border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;flex-shrink:0;
}
.kpi-purple .kpi-icon{background:rgba(124,58,237,.2);color:var(--purple-l)}
.kpi-gold .kpi-icon{background:rgba(245,158,11,.2);color:var(--gold-l)}
.kpi-blue .kpi-icon{background:rgba(59,130,246,.2);color:var(--blue-l)}
.kpi-pink .kpi-icon{background:rgba(236,72,153,.2);color:var(--pink-l)}
.kpi-val{font-size:1.6rem;font-weight:800;font-family:'Space Grotesk',sans-serif;line-height:1.1}
.kpi-lbl{font-size:.75rem;color:var(--txt2);margin-top:3px}

/* ── Glow lines on cards ── */
.kpi-purple{border-top-color:rgba(124,58,237,.5)}
.kpi-gold{border-top-color:rgba(245,158,11,.5)}
.kpi-blue{border-top-color:rgba(59,130,246,.5)}
.kpi-pink{border-top-color:rgba(236,72,153,.5)}

/* ══════════════ CATEGORY CARDS ROW ══════════════ */
.cat-cards-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;margin-bottom:2.5rem}
.cat-card{
  border-radius:var(--r-xl);border:1px solid var(--border);
  padding:1.2rem 1rem;cursor:pointer;
  background:var(--card);backdrop-filter:blur(10px);
  transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);
  text-align:center;
}
.cat-card:hover{transform:translateY(-4px);border-color:var(--border-h)}
.cat-card-icon{font-size:2rem;margin-bottom:.55rem;display:block}
.cat-card-name{font-size:.78rem;font-weight:600;color:var(--txt2);margin-bottom:.3rem}
.cat-card-count{font-size:1.4rem;font-weight:800;font-family:'Space Grotesk',sans-serif}
.cat-card-value{font-size:.72rem;color:var(--txt3);margin-top:2px}
.cat-card.cat-hw{border-top-color:rgba(255,107,53,.5)}
.cat-card.cat-lg{border-top-color:rgba(255,210,63,.5)}
.cat-card.cat-cd{border-top-color:rgba(56,189,248,.5)}
.cat-card.cat-rc{border-top-color:rgba(192,132,252,.5)}
.cat-card.cat-ks{border-top-color:rgba(52,211,153,.5)}
.cat-card.cat-bk{border-top-color:rgba(245,158,11,.5)}
.cat-card.cat-oz{border-top-color:rgba(236,72,153,.5)}
.cat-card.cat-ob{border-top-color:rgba(99,102,241,.5)}
.cat-card.cat-tr{border-top-color:rgba(120,113,108,.5)}
.cat-card.cat-gp{border-top-color:rgba(20,184,166,.5)}
.cat-card.cat-ak{border-top-color:rgba(244,114,182,.5)}

/* ══════════════ RECENT / VALUABLE LIST ══════════════ */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.recent-list{display:flex;flex-direction:column;gap:.5rem}
.recent-item{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:var(--r-md);
  background:var(--card);border:1px solid var(--border);
  cursor:pointer;transition:background var(--transition);
}
.recent-item:hover{background:var(--card-h)}
.ri-thumb{
  width:40px;height:40px;border-radius:var(--r-sm);
  background:var(--bg3);overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
}
.ri-thumb img{width:100%;height:100%;object-fit:cover}
.ri-info{flex:1;min-width:0}
.ri-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ri-sub{font-size:.72rem;color:var(--txt2);margin-top:1px}
.ri-value{font-size:.82rem;font-weight:700;color:var(--gold-l);white-space:nowrap;margin-left:auto}
.cat-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}

/* ══════════════ NEWS TICKER ══════════════ */
.news-ticker-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}
.news-ticker-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:1rem 1.1rem;
  cursor:pointer;text-decoration:none;color:inherit;
  transition:background var(--transition),transform var(--transition);
  display:block;
}
.news-ticker-card:hover{background:var(--card-h);transform:translateY(-2px)}
.ntc-badge{font-size:.63rem;font-weight:700;padding:2px 8px;border-radius:100px;margin-bottom:.5rem;display:inline-block}
.ntc-hw{background:rgba(255,107,53,.18);color:#ffa07a}
.ntc-lg{background:rgba(255,210,63,.18);color:#ffd23f}
.ntc-cd{background:rgba(56,189,248,.18);color:#7dd3fc}
.ntc-rc{background:rgba(192,132,252,.18);color:#d8b4fe}
.ntc-ks{background:rgba(52,211,153,.18);color:#6ee7b7}
.ntc-ksiazki{background:rgba(245,158,11,.18);color:#fcd34d}
.ntc-odziez{background:rgba(236,72,153,.18);color:#f9a8d4}
.ntc-obuwie{background:rgba(99,102,241,.18);color:#a5b4fc}
.ntc-trofea{background:rgba(120,113,108,.18);color:#d6d3d1}
.ntc-gry{background:rgba(20,184,166,.18);color:#5eead4}
.ntc-akcesoria{background:rgba(244,114,182,.18);color:#f9a8d4}
.ntc-general{background:rgba(156,163,175,.18);color:#d1d5db}
.ntc-title{font-size:.85rem;font-weight:600;line-height:1.4;margin-bottom:.35rem}
.ntc-src{font-size:.7rem;color:var(--txt3)}

/* ══════════════ COLLECTION VIEW ══════════════ */
.coll-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;margin-bottom:1rem;flex-wrap:wrap;
}
.coll-filters{display:flex;gap:.6rem;flex-wrap:wrap}
.coll-right{display:flex;align-items:center;gap:.6rem}
.sel{
  background:var(--card);border:1px solid var(--border);
  color:var(--txt);font-size:.82rem;border-radius:var(--r-md);
  padding:8px 12px;outline:none;cursor:pointer;
  transition:border-color var(--transition);
}
.sel:hover,.sel:focus{border-color:var(--border-h)}
.view-toggle{display:flex;gap:4px}
.vbtn{
  background:var(--card);border:1px solid var(--border);
  color:var(--txt2);border-radius:var(--r-sm);padding:7px 10px;
  cursor:pointer;transition:all var(--transition);
}
.vbtn.active,.vbtn:hover{background:rgba(124,58,237,.2);color:var(--purple-l);border-color:rgba(124,58,237,.4)}
.btn-add-inline{
  background:rgba(124,58,237,.18);color:var(--purple-l);
  border:1px solid rgba(124,58,237,.35);border-radius:var(--r-md);
  padding:8px 16px;font-size:.85rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:6px;
  transition:all var(--transition);
}
.btn-add-inline:hover{background:rgba(124,58,237,.3);color:#fff}
.items-count{font-size:.8rem;color:var(--txt3);margin-bottom:1rem}

/* ── Grid view ── */
.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.items-grid.list-view{display:flex;flex-direction:column;gap:.5rem}
.item-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-xl);overflow:hidden;cursor:pointer;
  transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);
  position:relative;
}
.item-card:hover{transform:translateY(-4px);border-color:var(--border-h);box-shadow:var(--shadow)}
.item-img{
  width:100%;height:140px;background:var(--bg3);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-size:2.5rem;position:relative;
}
.item-img img{width:100%;height:100%;object-fit:cover}
.item-cat-stripe{
  position:absolute;top:0;left:0;right:0;height:3px;
}
.item-body{padding:1rem}
.item-name{font-size:.88rem;font-weight:700;margin-bottom:.35rem;line-height:1.3}
.item-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.item-year{font-size:.72rem;color:var(--txt3)}
.item-cond{font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:100px}
.cond-mint{background:rgba(16,185,129,.18);color:#6ee7b7}
.cond-nm{background:rgba(59,130,246,.18);color:#93c5fd}
.cond-good{background:rgba(245,158,11,.18);color:#fcd34d}
.cond-fair{background:rgba(249,115,22,.18);color:#fdba74}
.cond-poor{background:rgba(239,68,68,.18);color:#fca5a5}
.cond-psa{background:rgba(124,58,237,.18);color:#c4b5fd}
.cond-vg{background:rgba(20,184,166,.18);color:#5eead4}
.item-value{font-size:.9rem;font-weight:800;color:var(--gold-l)}
.item-actions{
  position:absolute;top:8px;right:8px;
  display:flex;gap:4px;opacity:0;
  transition:opacity var(--transition);
}
.item-card:hover .item-actions{opacity:1}
.ia-btn{
  background:rgba(0,0,0,0.55);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.12);color:#fff;
  border-radius:var(--r-sm);width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;font-size:.72rem;
  cursor:pointer;transition:background var(--transition);
}
.ia-btn:hover{background:rgba(0,0,0,0.8)}
.ia-btn.del:hover{background:rgba(239,68,68,.6)}
.ia-btn.edit-btn:hover{background:rgba(124,58,237,.6)}

/* ── List view ── */
.items-grid.list-view .item-card{
  display:flex;align-items:center;gap:1rem;
  padding:.75rem 1rem;border-radius:var(--r-lg);
}
.items-grid.list-view .item-img{
  width:56px;height:56px;flex-shrink:0;border-radius:var(--r-md);font-size:1.5rem;
}
.items-grid.list-view .item-body{padding:0;flex:1;min-width:0;display:flex;align-items:center;gap:1rem}
.items-grid.list-view .item-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.items-grid.list-view .item-meta{flex-shrink:0;margin:0}
.items-grid.list-view .item-value{flex-shrink:0}
.items-grid.list-view .item-cat-stripe{top:0;right:0;left:auto;height:100%;width:3px}

/* ── Empty state ── */
.empty-state{
  text-align:center;padding:4rem 2rem;color:var(--txt3);
}
.empty-icon{font-size:3.5rem;margin-bottom:1rem}
.empty-state p{margin-bottom:1.5rem;font-size:.95rem}

/* ══════════════ NEWS VIEW ══════════════ */
.news-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.ntab{
  background:var(--card);border:1px solid var(--border);
  color:var(--txt2);border-radius:var(--r-lg);
  padding:8px 16px;font-size:.82rem;font-weight:500;cursor:pointer;
  transition:all var(--transition);
}
.ntab:hover{background:var(--card-h);color:var(--txt)}
.ntab.active{background:rgba(124,58,237,.2);color:var(--purple-l);border-color:rgba(124,58,237,.4)}
.news-loader{display:flex;align-items:center;justify-content:center;gap:12px;padding:3rem;color:var(--txt3)}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}
.news-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:1.3rem 1.4rem;
  transition:transform var(--transition),border-color var(--transition);
  display:flex;flex-direction:column;gap:.65rem;
}
.news-card:hover{transform:translateY(-3px);border-color:var(--border-h)}
.news-card-meta{display:flex;align-items:center;justify-content:space-between}
.news-badge{font-size:.63rem;font-weight:700;padding:3px 9px;border-radius:100px}
.news-source{font-size:.68rem;color:var(--txt3)}
.news-title{font-size:.9rem;font-weight:700;line-height:1.45}
.news-summary{font-size:.8rem;color:var(--txt2);line-height:1.6}
.news-link{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.78rem;color:var(--purple-l);text-decoration:none;font-weight:500;
  margin-top:auto;
}
.news-link:hover{color:var(--txt)}
.news-pub{font-size:.68rem;color:var(--txt3)}

/* ══════════════ STATS VIEW ══════════════ */
.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2.5rem}
.chart-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:1.5rem;
}
.chart-card h3{font-size:.95rem;font-weight:700;margin-bottom:1.2rem;font-family:'Space Grotesk',sans-serif}
.chart-wrap{height:280px;position:relative}
.stats-detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.stat-detail-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:1.3rem;text-align:center;
  transition:transform var(--transition);
}
.stat-detail-card:hover{transform:translateY(-3px)}
.sdc-icon{font-size:2rem;margin-bottom:.6rem}
.sdc-name{font-size:.75rem;font-weight:600;color:var(--txt2);margin-bottom:.7rem}
.sdc-row{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:.3rem}
.sdc-row span:first-child{color:var(--txt3)}
.sdc-row span:last-child{font-weight:600}
.sdc-total{font-size:1.1rem;font-weight:800;color:var(--gold-l);margin-top:.6rem}

/* Spinner */
.spinner{
  width:28px;height:28px;border-radius:50%;
  border:3px solid var(--border);border-top-color:var(--purple-l);
  animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* ══════════════ MODAL ══════════════ */
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);z-index:200;
  display:flex;align-items:center;justify-content:center;
  animation:fadeIn .15s ease;
  padding:1rem;
}
.overlay.hidden{display:none}
.modal{
  background:linear-gradient(145deg,rgba(18,18,40,.98),rgba(13,13,30,.98));
  border:1px solid var(--border-h);border-radius:var(--r-2xl);
  width:100%;max-width:600px;max-height:90vh;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow-lg);
}
.modal-wide{max-width:720px}
.modal-sm{max-width:420px}
.modal-hdr{
  padding:1.4rem 1.6rem 1rem;
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.modal-hdr h2{font-size:1.05rem;font-weight:700;font-family:'Space Grotesk',sans-serif}
.modal-close{
  background:var(--card);border:1px solid var(--border);
  color:var(--txt2);border-radius:var(--r-sm);width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all var(--transition);
}
.modal-close:hover{background:rgba(239,68,68,.2);color:var(--red);border-color:rgba(239,68,68,.3)}
.modal-body{padding:1.4rem 1.6rem;overflow-y:auto;flex:1}
.modal-ftr{
  padding:1rem 1.6rem 1.4rem;
  border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:flex-end;gap:.7rem;
}

/* ── Form styles ── */
.form-section-lbl{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);margin:1.1rem 0 .6rem}
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:.5rem}
.cat-pick{
  border:1px solid var(--border);border-radius:var(--r-md);
  padding:.6rem .4rem;text-align:center;cursor:pointer;
  font-size:.75rem;font-weight:500;color:var(--txt2);
  transition:all var(--transition);display:flex;
  flex-direction:column;align-items:center;gap:3px;
}
.cat-pick:hover{border-color:var(--border-h);background:var(--card-h);color:var(--txt)}
.cat-pick.active{border-color:rgba(124,58,237,.6);background:rgba(124,58,237,.15);color:var(--txt)}
.cat-pick span:first-child{font-size:1.3rem}

.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.fg{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.8rem}
.fg label{font-size:.77rem;font-weight:600;color:var(--txt2)}
.fg input,.fg select,.fg textarea{
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border);border-radius:var(--r-md);
  color:var(--txt);font-size:.88rem;padding:9px 12px;outline:none;
  transition:border-color var(--transition),background var(--transition);
  font-family:inherit;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:rgba(124,58,237,.6);background:rgba(124,58,237,.06);
}
.fg input::placeholder,.fg textarea::placeholder{color:var(--txt3)}
.fg select option{background:var(--bg2);color:var(--txt)}
.fg textarea{resize:vertical;min-height:80px}

/* Toggle checkbox */
.toggle-check{display:flex;align-items:center;gap:10px;cursor:pointer;margin-top:.5rem;font-size:.85rem;color:var(--txt2)}
.toggle-slider{
  width:38px;height:21px;background:rgba(255,255,255,.12);border-radius:100px;
  position:relative;transition:.2s;flex-shrink:0;
}
.toggle-slider::after{
  content:'';position:absolute;left:3px;top:3px;
  width:15px;height:15px;border-radius:50%;background:#fff;
  transition:.2s;
}
.toggle-check input:checked ~ .toggle-slider{background:var(--purple)}
.toggle-check input:checked ~ .toggle-slider::after{left:20px}

/* ── Buttons ── */
.btn-primary{
  background:linear-gradient(135deg,var(--purple),var(--blue));
  color:#fff;border:none;border-radius:var(--r-md);
  padding:10px 20px;font-size:.88rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:6px;
  transition:opacity var(--transition),transform var(--transition);
  box-shadow:var(--glow-p);
}
.btn-primary:hover{opacity:.88;transform:translateY(-1px)}
.btn-ghost{
  background:var(--card);border:1px solid var(--border);
  color:var(--txt2);border-radius:var(--r-md);
  padding:10px 18px;font-size:.88rem;font-weight:600;cursor:pointer;
  transition:all var(--transition);
}
.btn-ghost:hover{background:var(--card-h);color:var(--txt)}
.btn-danger{
  background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);
  color:#fca5a5;border-radius:var(--r-md);
  padding:10px 18px;font-size:.88rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:6px;
  transition:all var(--transition);
}
.btn-danger:hover{background:rgba(239,68,68,.3);color:#fff}
.btn-warning{
  background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);
  color:#fcd34d;border-radius:var(--r-md);
  padding:10px 18px;font-size:.88rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:6px;
  transition:all var(--transition);
}
.btn-warning:hover{background:rgba(245,158,11,.3);color:#fff}
.confirm-txt{color:var(--txt2);line-height:1.6;font-size:.9rem}

/* ══════════════ DETAIL MODAL ══════════════ */
.detail-layout{display:grid;grid-template-columns:200px 1fr;gap:1.5rem}
.detail-img-box{
  width:200px;height:200px;border-radius:var(--r-xl);
  background:var(--bg3);display:flex;align-items:center;justify-content:center;
  font-size:4rem;overflow:hidden;border:1px solid var(--border);flex-shrink:0;
}
.detail-img-box img{width:100%;height:100%;object-fit:cover}
.detail-info{display:flex;flex-direction:column;gap:.8rem}
.detail-name{font-size:1.15rem;font-weight:800;font-family:'Space Grotesk',sans-serif}
.detail-value-big{font-size:1.7rem;font-weight:800;color:var(--gold-l);font-family:'Space Grotesk',sans-serif}
.detail-badges{display:flex;gap:.5rem;flex-wrap:wrap}
.detail-rows{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.5rem}
.detail-row{display:flex;flex-direction:column;gap:2px}
.detail-row .dr-lbl{font-size:.68rem;color:var(--txt3);font-weight:600;text-transform:uppercase}
.detail-row .dr-val{font-size:.85rem;color:var(--txt);font-weight:500}
.detail-notes{
  background:rgba(255,255,255,.04);border:1px solid var(--border);
  border-radius:var(--r-md);padding:.75rem 1rem;
  font-size:.85rem;color:var(--txt2);line-height:1.6;margin-top:.5rem;
}

/* ══════════════ TOAST ══════════════ */
.toast-rack{
  position:fixed;bottom:6.5rem;right:1.5rem;
  display:flex;flex-direction:column-reverse;gap:.5rem;
  z-index:500;
}
.toast{
  display:flex;align-items:center;gap:.75rem;
  background:rgba(18,18,40,0.96);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:.85rem 1.1rem;
  font-size:.85rem;font-weight:500;min-width:260px;
  box-shadow:var(--shadow-lg);
  animation:slideUp .25s ease;
}
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.toast-ok{border-left:3px solid var(--green-l);color:var(--green-l)}
.toast-err{border-left:3px solid var(--red);color:#fca5a5}
.toast-info{border-left:3px solid var(--blue-l);color:var(--blue-l)}
.toast-icon{font-size:1rem}

/* ══════════════ DYNAMIC FIELDS ══════════════ */
#dynFields .form-section-lbl{margin-top:1rem}
.dyn-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.check-field{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--txt2);margin:.4rem 0}
.check-field input[type=checkbox]{accent-color:var(--purple);width:15px;height:15px}

/* ══════════════ IMAGE UPLOAD ══════════════ */
.img-upload-wrap{display:flex;gap:1rem;align-items:flex-start}
.img-preview-box{
  width:100px;height:100px;flex-shrink:0;
  border-radius:var(--r-lg);border:2px dashed var(--border);
  background:rgba(255,255,255,.03);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;transition:border-color var(--transition);
  position:relative;
}
.img-preview-box img{width:100%;height:100%;object-fit:cover}
.img-preview-box.has-image{border-style:solid;border-color:rgba(124,58,237,.5)}
.img-preview-placeholder{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  color:var(--txt3);font-size:.7rem;text-align:center;padding:.5rem;
}
.img-preview-placeholder i{font-size:1.4rem}
.img-upload-controls{
  flex:1;display:flex;flex-direction:column;gap:.5rem;
}
.btn-upload-file{
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  background:rgba(124,58,237,.14);border:1px solid rgba(124,58,237,.35);
  color:var(--purple-l);border-radius:var(--r-md);
  padding:8px 14px;font-size:.82rem;font-weight:600;
  transition:all var(--transition);width:fit-content;
}
.btn-upload-file:hover{background:rgba(124,58,237,.28);color:#fff}
.img-or{font-size:.72rem;color:var(--txt3);margin:0 2px}
.img-upload-status{font-size:.72rem;min-height:18px}
.img-upload-status.uploading{color:var(--blue-l)}
.img-upload-status.ok{color:var(--green-l)}
.img-upload-status.err{color:#fca5a5}

/* ══════════════ CHAT WIDGET ══════════════ */
.chat-fab{
  position:fixed;bottom:2rem;right:2rem;z-index:300;
  width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--purple),#3b82f6);
  color:#fff;font-size:1.25rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(124,58,237,.55);
  transition:transform .2s,box-shadow .2s;
  position:fixed;
}
.chat-fab:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(124,58,237,.7)}
.chat-fab-pulse{
  position:absolute;width:100%;height:100%;border-radius:50%;
  border:2px solid rgba(124,58,237,.5);
  animation:pulsering 2.2s ease-out infinite;
}
@keyframes pulsering{
  0%{transform:scale(1);opacity:.7}
  70%{transform:scale(1.5);opacity:0}
  100%{transform:scale(1.5);opacity:0}
}
.chat-fab-icon{position:relative;z-index:1}

.chat-panel{
  position:fixed;bottom:6rem;right:2rem;z-index:290;
  width:380px;max-height:600px;
  background:linear-gradient(160deg,rgba(13,13,28,.98),rgba(18,12,40,.98));
  border:1px solid rgba(124,58,237,.3);border-radius:var(--r-2xl);
  display:flex;flex-direction:column;
  box-shadow:0 12px 60px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.04);
  transform:translateY(16px) scale(.97);opacity:0;pointer-events:none;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s;
}
.chat-panel.open{transform:none;opacity:1;pointer-events:all}

.chat-panel-hdr{
  padding:.9rem 1.1rem;
  border-bottom:1px solid rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:space-between;
  border-radius:var(--r-2xl) var(--r-2xl) 0 0;
  background:rgba(124,58,237,.08);
}
.chat-panel-info{display:flex;align-items:center;gap:.75rem}
.chat-ai-avatar{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--purple),var(--blue));
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  flex-shrink:0;
}
.chat-ai-name{font-size:.9rem;font-weight:700}
.chat-ai-status{font-size:.68rem;color:var(--green-l)}
.chat-panel-actions{display:flex;gap:4px}
.chat-act-btn{
  background:transparent;border:none;cursor:pointer;
  color:var(--txt3);width:28px;height:28px;border-radius:var(--r-sm);
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
  transition:all var(--transition);
}
.chat-act-btn:hover{background:rgba(255,255,255,.08);color:var(--txt)}

.chat-messages{
  flex:1;overflow-y:auto;padding:.9rem 1rem;
  display:flex;flex-direction:column;gap:.6rem;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;
  min-height:0;
}
.chat-messages::-webkit-scrollbar{width:4px}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}

.chat-msg{display:flex;flex-direction:column;max-width:85%}
.chat-msg-user{align-self:flex-end;align-items:flex-end}
.chat-msg-ai{align-self:flex-start;align-items:flex-start}

.chat-msg-bubble{
  padding:.65rem .9rem;border-radius:var(--r-lg);
  font-size:.84rem;line-height:1.55;
  word-break:break-word;
}
.chat-msg-user .chat-msg-bubble{
  background:linear-gradient(135deg,rgba(124,58,237,.65),rgba(59,130,246,.55));
  color:#fff;border-radius:var(--r-lg) var(--r-lg) 4px var(--r-lg);
}
.chat-msg-ai .chat-msg-bubble{
  background:rgba(255,255,255,.07);color:var(--txt);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 4px;
}
.chat-msg-time{font-size:.62rem;color:var(--txt3);margin-top:3px;padding:0 4px}

.chat-typing{padding:0 1rem .5rem;display:flex}
.typing-dots{display:flex;gap:4px;align-items:center;padding:.55rem .8rem}
.typing-dots span{
  width:6px;height:6px;border-radius:50%;background:var(--txt3);
  animation:typingBounce 1.2s ease-in-out infinite;
}
.typing-dots span:nth-child(2){animation-delay:.2s}
.typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}

.chat-input-row{
  padding:.6rem .8rem;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex;align-items:flex-end;gap:.5rem;
}
.chat-input{
  flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);color:var(--txt);font-family:inherit;
  font-size:.85rem;padding:.6rem .9rem;outline:none;resize:none;
  max-height:120px;line-height:1.4;
  transition:border-color var(--transition);
  scrollbar-width:none;
}
.chat-input:focus{border-color:rgba(124,58,237,.5)}
.chat-input::placeholder{color:var(--txt3)}
.chat-send-btn{
  width:38px;height:38px;border-radius:var(--r-md);flex-shrink:0;
  background:linear-gradient(135deg,var(--purple),var(--blue));
  border:none;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  transition:opacity .15s,transform .15s;
  box-shadow:0 2px 10px rgba(124,58,237,.4);
}
.chat-send-btn:hover{opacity:.85;transform:scale(1.07)}
.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}

.chat-suggestions{
  padding:.4rem .8rem .65rem;
  display:flex;gap:.4rem;flex-wrap:wrap;
}
.chat-sugg{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:var(--txt2);border-radius:100px;
  padding:5px 11px;font-size:.72rem;cursor:pointer;
  transition:all var(--transition);white-space:nowrap;
}
.chat-sugg:hover{background:rgba(124,58,237,.2);color:var(--txt);border-color:rgba(124,58,237,.4)}

/* ══════════════ SEARCH TOPBAR BTN ══════════════ */
.search-topbar-btn{
  display:flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(59,130,246,.2));
  border-color:rgba(124,58,237,.35)!important;
  color:var(--purple-l)!important;font-weight:600;
  padding:7px 14px!important;
}
.search-topbar-btn:hover{background:linear-gradient(135deg,rgba(124,58,237,.4),rgba(59,130,246,.4))!important;color:#fff!important}
.tbsearch-lbl{font-size:.8rem}
.badge-ai{background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;font-size:.6rem}

/* ══════════════ SEARCH MODAL ══════════════ */
.modal-search{max-width:720px;max-height:92vh}
.search-modal-title{display:flex;align-items:flex-start;gap:.9rem}
.smt-icon{font-size:1.8rem;flex-shrink:0;margin-top:2px}
.smt-sub{font-size:.75rem;color:var(--txt3);margin-top:2px;font-weight:400}
.search-modal-body{display:flex;flex-direction:column;gap:1rem}

/* ── Mode tabs ── */
.search-mode-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}
.smode-tab{
  background:var(--card);border:1px solid var(--border);
  color:var(--txt2);border-radius:var(--r-lg);
  padding:8px 18px;font-size:.83rem;font-weight:500;cursor:pointer;
  display:flex;align-items:center;gap:7px;
  transition:all var(--transition);
}
.smode-tab:hover{background:var(--card-h);color:var(--txt)}
.smode-tab.active{background:rgba(124,58,237,.18);color:var(--purple-l);border-color:rgba(124,58,237,.4)}

/* ── Input panels ── */
.search-input-panel{animation:fadeIn .2s ease}

/* ── Drop zone ── */
.drop-zone{
  border:2px dashed rgba(124,58,237,.35);border-radius:var(--r-xl);
  background:rgba(124,58,237,.04);
  min-height:180px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all var(--transition);
  position:relative;
}
.drop-zone:hover,.drop-zone.drag-over{
  border-color:rgba(124,58,237,.7);background:rgba(124,58,237,.1);
}
.dz-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}
.dz-icon{font-size:2.2rem;color:var(--purple-l);opacity:.7}
.dz-title{font-size:.95rem;font-weight:600;color:var(--txt2)}
.dz-sub{font-size:.8rem;color:var(--txt3)}
.dz-formats{font-size:.68rem;color:var(--txt3);background:rgba(255,255,255,.06);padding:3px 10px;border-radius:100px}

/* ── Multi-image thumbnails ── */
.dz-thumbs{
  display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.6rem;
}
.dz-thumb{
  position:relative;width:90px;height:90px;border-radius:var(--r-lg);
  overflow:hidden;border:2px solid var(--border);
  background:var(--bg3);flex-shrink:0;
  transition:border-color var(--transition);
}
.dz-thumb.active{border-color:var(--purple-l);box-shadow:0 0 0 3px rgba(124,58,237,.25)}
.dz-thumb img{width:100%;height:100%;object-fit:cover}
.dz-thumb-remove{
  position:absolute;top:3px;right:3px;
  width:20px;height:20px;border-radius:50%;
  background:rgba(0,0,0,.75);border:none;color:#fff;
  font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .15s;
}
.dz-thumb:hover .dz-thumb-remove{opacity:1}
.dz-add-more{
  display:flex;align-items:center;gap:.75rem;margin-top:.4rem;
}
.btn-dz-add{
  font-size:.78rem;color:var(--purple-l);background:rgba(124,58,237,.1);
  border:1px dashed rgba(124,58,237,.4);border-radius:var(--r-md);
  padding:5px 12px;cursor:pointer;transition:all var(--transition);
  display:flex;align-items:center;gap:6px;
}
.btn-dz-add:hover{background:rgba(124,58,237,.2);border-color:var(--purple-l)}
.dz-count{font-size:.75rem;color:var(--txt3)}

/* ── Pre-add category picker in results ── */
.sr-pre-add{
  background:rgba(124,58,237,.06);border:1px solid rgba(124,58,237,.18);
  border-radius:var(--r-xl);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.8rem;
}
.sr-pre-row{display:flex;gap:.7rem}
.sr-pre-name-wrap{flex:1}
.sr-pre-name-wrap label{font-size:.7rem;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:5px;margin-bottom:.35rem}
.sr-pre-name-wrap input{
  width:100%;background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--r-md);padding:.5rem .75rem;color:var(--txt);font-size:.9rem;
  transition:border-color var(--transition);
}
.sr-pre-name-wrap input:focus{outline:none;border-color:var(--purple-l)}
.sr-cat-label{font-size:.7rem;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:6px}
.sr-cat-hint{font-size:.68rem;color:var(--purple-l);font-weight:600;text-transform:none;letter-spacing:0;margin-left:4px}
.sr-cat-picks{display:flex;flex-wrap:wrap;gap:.45rem}
.sr-cat-btn{
  padding:6px 14px;border-radius:100px;font-size:.78rem;font-weight:600;cursor:pointer;
  background:var(--card);border:1.5px solid var(--border);color:var(--txt2);
  transition:all .15s;
}
.sr-cat-btn:hover{border-color:rgba(124,58,237,.5);color:var(--txt)}
.sr-cat-btn.active{
  background:rgba(124,58,237,.2);border-color:var(--purple-l);
  color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,58,237,.15);
}

.search-img-preview{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--border);max-height:260px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg3);
}
.search-img-preview img{max-width:100%;max-height:260px;object-fit:contain}
.search-img-remove{
  position:absolute;top:10px;right:10px;
  background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.2);
  color:#fff;border-radius:var(--r-md);padding:5px 10px;
  font-size:.75rem;cursor:pointer;backdrop-filter:blur(4px);
  transition:background var(--transition);
}
.search-img-remove:hover{background:rgba(239,68,68,.6)}

/* ── Voice mode ── */
.voice-center{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0}
.mic-btn{
  width:80px;height:80px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(59,130,246,.2));
  border:2px solid rgba(124,58,237,.4);
  color:var(--purple-l);font-size:1.8rem;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.mic-btn:hover{transform:scale(1.08);border-color:rgba(124,58,237,.8)}
.mic-btn.recording{
  background:linear-gradient(135deg,rgba(239,68,68,.3),rgba(239,68,68,.2));
  border-color:var(--red);color:#fca5a5;
  animation:micPulse 1s ease-in-out infinite;
}
@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.4)}50%{box-shadow:0 0 0 12px rgba(239,68,68,0)}}
.mic-hint{font-size:.85rem;color:var(--txt2)}
.voice-transcript-box{
  width:100%;min-height:80px;background:rgba(255,255,255,.04);
  border:1px solid var(--border);border-radius:var(--r-lg);
  padding:1rem;font-size:.9rem;color:var(--txt);line-height:1.6;
}
.vt-placeholder{color:var(--txt3);font-style:italic;font-size:.85rem}
.mic-browser-note{font-size:.75rem;color:var(--gold-l);display:flex;align-items:center;gap:6px}

/* ── Text tips ── */
.search-text-tips{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}
.tip-lbl{font-size:.72rem;color:var(--txt3);margin-right:4px}
.stip{
  background:rgba(255,255,255,.06);border:1px solid var(--border);
  color:var(--txt2);border-radius:100px;padding:4px 10px;font-size:.72rem;cursor:pointer;
  transition:all var(--transition);
}
.stip:hover{background:rgba(124,58,237,.18);color:var(--txt)}

/* ── Search go button ── */
.btn-search-go{
  width:100%;padding:13px;border-radius:var(--r-lg);
  background:linear-gradient(135deg,var(--purple),var(--blue));
  color:#fff;border:none;cursor:pointer;font-size:.95rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:opacity .15s,transform .15s;
  box-shadow:var(--glow-p);
}
.btn-search-go:hover{opacity:.88;transform:translateY(-1px)}
.btn-search-go:disabled{opacity:.4;cursor:not-allowed;transform:none}

/* ── Search error box ── */
.search-error{
  display:flex;align-items:flex-start;gap:.6rem;
  background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);
  border-radius:var(--r-lg);padding:.8rem 1rem;
  font-size:.82rem;color:#fca5a5;line-height:1.5;
  animation:fadeIn .2s ease;
}
.search-error i{flex-shrink:0;margin-top:2px;color:#f87171}
.search-error span{flex:1}
.diag-link{
  flex-shrink:0;font-size:.72rem;color:rgba(196,181,253,.7);
  text-decoration:underline;white-space:nowrap;align-self:center;
}
.diag-link:hover{color:#c4b5fd}

/* ── Loading — progress bar ── */
.search-loading{padding:1.2rem 0}
.slp-wrap{display:flex;flex-direction:column;gap:.85rem}
.slp-bar-track{
  width:100%;height:6px;border-radius:100px;
  background:rgba(124,58,237,.15);overflow:hidden;
}
.slp-bar-fill{
  height:100%;border-radius:100px;width:0%;
  background:linear-gradient(90deg,var(--purple),var(--blue-l));
  transition:width .55s cubic-bezier(.4,0,.2,1);
  box-shadow:0 0 12px rgba(124,58,237,.6);
}
.slp-steps{display:flex;flex-direction:column;gap:.35rem}
.slp-step{
  font-size:.82rem;color:var(--txt3);
  display:flex;align-items:center;gap:.5rem;
  opacity:.4;transition:opacity .3s,color .3s,transform .3s;
  transform:translateX(-4px);
}
.slp-step i{font-size:.75rem;width:14px;text-align:center}
.slp-step.active{
  color:var(--purple-l);opacity:1;font-weight:600;transform:translateX(0);
}
.slp-step.done{color:var(--green-l);opacity:.7;transform:translateX(0)}

/* ── Results ── */
.sr-divider{
  display:flex;align-items:center;gap:.75rem;margin:.5rem 0;
}
.sr-divider::before,.sr-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.sr-divider span{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--txt3);white-space:nowrap}

.sr-identity{
  background:rgba(124,58,237,.07);border:1px solid rgba(124,58,237,.2);
  border-radius:var(--r-xl);padding:1.2rem 1.3rem;
  display:flex;flex-direction:column;gap:.55rem;
}
.sri-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.sri-name{font-size:1.05rem;font-weight:800;font-family:'Space Grotesk',sans-serif;line-height:1.3}
.sri-cat{font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:100px}
.sri-producer{font-size:.78rem;color:var(--txt3)}
.sri-desc{font-size:.85rem;color:var(--txt2);line-height:1.6;border-top:1px solid rgba(255,255,255,.06);padding-top:.55rem}
.sri-meta{display:flex;gap:1rem;flex-wrap:wrap}
.sri-meta-item{font-size:.75rem;color:var(--txt3)}
.sri-meta-item strong{color:var(--txt2)}

/* ── Price cards ── */
.sr-prices{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;margin:.25rem 0}
.sr-price-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:.8rem 1rem;text-align:center;
}
.spc-lbl{font-size:.65rem;color:var(--txt3);font-weight:600;text-transform:uppercase;margin-bottom:.3rem}
.spc-val{font-size:1rem;font-weight:800;font-family:'Space Grotesk',sans-serif}
.spc-range{font-size:.7rem;color:var(--txt3);margin-top:2px}
.spc-new .spc-val{color:var(--blue-l)}
.spc-min .spc-val{color:var(--green-l)}
.spc-max .spc-val{color:var(--gold-l)}

/* ── Marketplace grid ── */
.sr-market-title{font-size:.72rem;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .5rem}
.sr-market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.sr-market-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:.7rem .9rem;
  text-decoration:none;color:inherit;
  transition:background var(--transition),transform var(--transition),border-color var(--transition);
  display:flex;flex-direction:column;gap:3px;
}
.sr-market-card:hover{background:var(--card-h);transform:translateY(-2px);border-color:var(--border-h)}
.smc-name{font-size:.72rem;font-weight:700;display:flex;align-items:center;gap:5px}
.smc-logo{font-size:1rem}
.smc-price{font-size:.82rem;font-weight:700;color:var(--gold-l);font-family:'Space Grotesk',sans-serif}
.smc-note{font-size:.62rem;color:var(--txt3)}
.smc-link{font-size:.65rem;color:var(--purple-l);margin-top:2px;display:flex;align-items:center;gap:3px}

/* ── Auth ── */
.sr-auth{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:.9rem 1rem;
}
.sra-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.sra-badge{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:100px}
.auth-wysoka{background:rgba(16,185,129,.2);color:#6ee7b7}
.auth-srednia{background:rgba(245,158,11,.2);color:#fcd34d}
.auth-niska{background:rgba(239,68,68,.2);color:#fca5a5}
.auth-nieznana{background:rgba(156,163,175,.2);color:#d1d5db}
.sra-title{font-size:.82rem;font-weight:700}
.sra-desc{font-size:.8rem;color:var(--txt2);margin-bottom:.5rem}
.sra-tips{list-style:none;display:flex;flex-direction:column;gap:3px}
.sra-tips li{font-size:.77rem;color:var(--txt2);display:flex;align-items:flex-start;gap:6px}
.sra-tips li::before{content:'✓';color:var(--green-l);flex-shrink:0;font-weight:700}

/* ── Facts ── */
.sr-facts{
  background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.15);
  border-radius:var(--r-lg);padding:.8rem 1rem;
}
.srf-title{font-size:.72rem;font-weight:700;color:var(--gold-l);text-transform:uppercase;margin-bottom:.4rem}
.srf-list{list-style:none;display:flex;flex-direction:column;gap:.3rem}
.srf-list li{font-size:.8rem;color:var(--txt2);display:flex;gap:7px}
.srf-list li::before{content:'💡';flex-shrink:0}

/* ── Add buttons ── */
.sr-add-wrap{display:flex;gap:.7rem}
.btn-sr-add{
  flex:1;padding:12px;border-radius:var(--r-lg);border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--green),var(--blue));
  color:#fff;font-size:.9rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:opacity .15s,transform .15s;
  box-shadow:0 3px 15px rgba(16,185,129,.3);
}
.btn-sr-add:hover{opacity:.88;transform:translateY(-1px)}
.btn-sr-wishlist{
  padding:12px 18px;border-radius:var(--r-lg);
  background:rgba(236,72,153,.15);border:1px solid rgba(236,72,153,.3);
  color:#f9a8d4;font-size:.88rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:7px;
  transition:all .15s;
}
.btn-sr-wishlist:hover{background:rgba(236,72,153,.3);color:#fff}

/* ── Detail modal AI button ── */
.btn-ai-search{
  background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(59,130,246,.15));
  border:1px solid rgba(124,58,237,.35);color:var(--purple-l);
  border-radius:var(--r-md);padding:10px 16px;font-size:.85rem;font-weight:600;
  cursor:pointer;display:flex;align-items:center;gap:6px;
  transition:all var(--transition);
}
.btn-ai-search:hover{background:rgba(124,58,237,.3);color:#fff}

/* ── Nav search item ── */
.nav-item-search{border:1px solid rgba(124,58,237,.2);margin:.2rem 0}
.nav-item-search:hover,.nav-item-search.active{border-color:rgba(124,58,237,.5)}

/* ══════════════ DETAIL MARKETPLACE SECTION ══════════════ */
.dm-market-section{
  margin-top:1.5rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-lg);
  padding:1.2rem 1.4rem;
}
.dm-market-hdr{
  display:flex;align-items:center;gap:.55rem;
  font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--txt3);margin-bottom:1rem;
}
.dm-ai-badge{
  background:linear-gradient(135deg,#7c3aed,#3b82f6);
  color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.06em;
  padding:2px 7px;border-radius:100px;margin-left:.25rem;
}
.dm-link-badge{
  background:rgba(255,255,255,.08);color:var(--txt3);
  font-size:.6rem;font-weight:700;letter-spacing:.05em;
  padding:2px 7px;border-radius:100px;margin-left:.25rem;
}

/* Price row (new/used/rarity) */
.dm-prices-row{
  display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;
}
.dm-price-card{
  flex:1;min-width:100px;
  border-radius:var(--r-md);padding:.7rem 1rem;
  display:flex;flex-direction:column;gap:.2rem;
}
.dm-pc-lbl{font-size:.68rem;font-weight:600;opacity:.6;text-transform:uppercase;letter-spacing:.04em}
.dm-pc-val{font-size:1.05rem;font-weight:700}
.dm-pc-new{ background:rgba(52,211,153,.08); border:1px solid rgba(52,211,153,.2); color:#6ee7b7; }
.dm-pc-used{background:rgba(59,130,246,.08); border:1px solid rgba(59,130,246,.2); color:#93c5fd; }
.dm-pc-rare{background:rgba(192,132,252,.08);border:1px solid rgba(192,132,252,.2);color:#d8b4fe; }

/* Marketplace cards grid */
.dm-mkt-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:.6rem;
}
.dm-mkt-card{
  display:flex;flex-direction:column;align-items:center;gap:.3rem;
  padding:.8rem .6rem;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-md);
  text-decoration:none;color:var(--txt2);
  transition:all .15s;
  text-align:center;position:relative;
}
.dm-mkt-card:hover{
  background:rgba(124,58,237,.15);
  border-color:rgba(124,58,237,.4);
  color:#fff;
  transform:translateY(-2px);
}
.dm-mkt-logo{font-size:1.35rem;line-height:1}
.dm-mkt-name{font-size:.78rem;font-weight:600}
.dm-mkt-price{
  font-size:.75rem;font-weight:700;
  color:#a78bfa;
  background:rgba(124,58,237,.12);
  border-radius:100px;padding:1px 8px;
}
.dm-mkt-arrow{
  font-size:.6rem;opacity:.4;margin-top:.1rem;
}
.dm-mkt-card:hover .dm-mkt-arrow{opacity:1;color:#a78bfa}

/* ══════════════ AI FILL BUTTON ══════════════ */
.ai-fill-row{
  display:flex;align-items:center;gap:.7rem;
  margin:.9rem 0 .3rem;
  padding:.55rem .8rem;
  background:linear-gradient(135deg,rgba(124,58,237,.07),rgba(59,130,246,.07));
  border:1px dashed rgba(124,58,237,.25);
  border-radius:var(--r-md);
}
.btn-ai-fill-fields{
  display:flex;align-items:center;gap:.5rem;
  padding:6px 13px;
  background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(59,130,246,.2));
  border:1px solid rgba(124,58,237,.4);
  color:#c4b5fd;
  border-radius:var(--r-md);
  font-size:.81rem;font-weight:700;
  cursor:pointer;
  transition:all .15s;
  white-space:nowrap;
  flex-shrink:0;
}
.btn-ai-fill-fields:hover{
  background:linear-gradient(135deg,rgba(124,58,237,.38),rgba(59,130,246,.38));
  color:#fff;border-color:rgba(124,58,237,.7);
}
.btn-ai-fill-fields:disabled{opacity:.55;cursor:not-allowed}
.ai-fill-hint{font-size:.71rem;color:var(--txt3);line-height:1.35}

/* ══════════════ SECOND SHOP ══════════════ */
.badge-shop{ background:rgba(251,191,36,.18);color:#fde68a }
.badge-sale{ background:rgba(52,211,153,.18);color:#6ee7b7 }

/* Visit cards grid */
.visits-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1rem;
}
.visit-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:1.2rem;
  cursor:pointer;
  transition:all .15s;
  position:relative;
  overflow:hidden;
}
.visit-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#f59e0b,#fbbf24);
  opacity:0;transition:.15s;
}
.visit-card:hover{ border-color:rgba(251,191,36,.3); transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.2); }
.visit-card:hover::before{ opacity:1; }
.vc-top{ display:flex;align-items:flex-start;gap:.9rem;margin-bottom:.9rem; }
.vc-shop-icon{ font-size:2rem;line-height:1;flex-shrink:0; }
.vc-main{ flex:1;min-width:0; }
.vc-name{ font-size:1rem;font-weight:700;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.vc-date,.vc-loc{ font-size:.76rem;color:var(--txt3);display:flex;align-items:center;gap:.35rem;margin-bottom:.15rem; }
.vc-actions{ display:flex;gap:.3rem;flex-shrink:0; }
.vc-stats{ display:flex;gap:1rem;border-top:1px solid var(--border);padding-top:.8rem; }
.vc-stat{ text-align:center;flex:1; }
.vcs-val{ display:block;font-size:1.05rem;font-weight:700; }
.vcs-lbl{ font-size:.68rem;color:var(--txt3);text-transform:uppercase;letter-spacing:.04em; }
.vc-notes{ font-size:.76rem;color:var(--txt3);margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--border);font-style:italic;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
.vc-arrow{ display:none; }
.vc-enter-btn{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:.8rem;padding:.65rem 1rem;
  background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(59,130,246,.1));
  border:1px solid rgba(139,92,246,.25);
  border-radius:var(--r-md);
  font-size:.84rem;font-weight:600;color:var(--acc);
  transition:all .15s;
}
.visit-card:hover .vc-enter-btn{
  background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(59,130,246,.18));
  border-color:rgba(139,92,246,.5);
}

/* ── Import-from-notes banner ── */
.vd-import-banner{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(139,92,246,.06));
  border:1px solid rgba(245,158,11,.25);
  border-radius:var(--r-lg);
  padding:1rem 1.2rem;
  margin-bottom:1.2rem;
}
.vdib-left{
  display:flex;align-items:flex-start;gap:.8rem;flex:1;min-width:0;
}
.vdib-preview{
  font-size:.75rem;color:var(--txt3);margin-top:.2rem;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.vdib-btns{ display:flex;gap:.5rem;flex-shrink:0; }

/* ── Quick add panel ── */
.vd-quickadd-panel{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:1.2rem 1.4rem;
  margin-bottom:1.5rem;
}
.vdqa-title{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--txt3);margin-bottom:.9rem;font-weight:600;
}
.vdqa-methods{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.6rem;
  margin-bottom:0;
}
.vdqa-btn{
  display:flex;flex-direction:column;align-items:center;
  gap:.25rem;padding:.75rem .5rem;
  background:var(--s1);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-md);
  cursor:pointer;transition:all .15s;
  text-align:center;
}
.vdqa-btn:hover{
  border-color:rgba(139,92,246,.4);
  background:rgba(139,92,246,.08);
  transform:translateY(-1px);
}
.vdqa-btn-accent{
  border-color:rgba(139,92,246,.3);
  background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(59,130,246,.07));
}
.vdqa-btn-accent:hover{
  border-color:rgba(139,92,246,.6);
  background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(59,130,246,.15));
}
.vdqa-icon{ font-size:1.5rem;line-height:1; }
.vdqa-lbl{ font-size:.82rem;font-weight:700;color:var(--txt1); }
.vdqa-sub{ font-size:.68rem;color:var(--txt3); }

/* Inline AI search */
.vdqa-search-row{
  margin-top:1rem;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:1rem;
}
.vdqa-search-wrap{
  display:flex;align-items:center;gap:.6rem;
  background:var(--s1);
  border:1px solid rgba(139,92,246,.3);
  border-radius:var(--r-md);
  padding:.5rem .8rem;
}
.vdqa-search-icon{ color:var(--txt3);flex-shrink:0; }
.vdqa-search-wrap input{
  flex:1;background:none;border:none;outline:none;
  color:var(--txt1);font-size:.9rem;padding:.25rem 0;
}
.vdqa-search-wrap input::placeholder{ color:var(--txt3); }
.vdqa-search-loading{ margin-top:.8rem; }

/* AI search result card */
.vdqa-result-card{
  display:flex;gap:1rem;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(110,231,183,.06),rgba(59,130,246,.04));
  border:1px solid rgba(110,231,183,.18);
  border-radius:var(--r-lg);
  padding:1.1rem 1.2rem;
  margin-top:.8rem;
}
.vdqarc-identity{ flex:2;min-width:200px; }
.vdqarc-name{ font-size:1.05rem;font-weight:700;margin-bottom:.2rem; }
.vdqarc-brand{ font-size:.84rem;color:var(--acc);font-weight:600;margin-bottom:.4rem; }
.vdqarc-desc{ font-size:.8rem;color:var(--txt3);line-height:1.5; }
.vdqarc-prices{ flex:1;min-width:150px; }
.vdqarc-price-main{ font-size:.9rem;margin-bottom:.4rem; }
.vdqarc-price-main strong{ color:#6ee7b7;font-size:1.05rem; }
.vdqarc-detail{ font-size:.8rem;color:var(--txt3);margin-bottom:.2rem;display:flex;gap:.4rem;align-items:center; }
.vdqarc-actions{
  display:flex;align-items:flex-end;gap:.6rem;
  flex-shrink:0;
}
.vdqarc-price-input{
  width:100px;background:var(--s1);border:1px solid var(--border);
  border-radius:var(--r-sm);padding:.4rem .6rem;color:var(--txt1);font-size:.88rem;
}
.vdqarc-price-paid-wrap{ margin-bottom:.4rem; }

/* Visit detail header */
.visit-detail-hdr{
  display:flex;align-items:center;gap:.9rem;
  padding:.9rem 1.2rem;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
  margin-bottom:1.2rem;
}
.vd-back-btn{
  background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:var(--r-md);
  color:var(--txt2);padding:8px 12px;cursor:pointer;transition:.15s;flex-shrink:0;
}
.vd-back-btn:hover{ background:rgba(255,255,255,.12);color:#fff; }
.vd-info{ flex:1;min-width:0; }
.vd-name{ font-size:1.05rem;font-weight:700; }
.vd-meta{ display:flex;flex-wrap:wrap;gap:.6rem .9rem;margin-top:.2rem;font-size:.76rem;color:var(--txt3); }
.vd-meta span{ display:flex;align-items:center;gap:.3rem; }
.vd-actions{ display:flex;gap:.6rem;flex-shrink:0; }

/* Shop items grid */
.shop-items-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:.9rem;
}
.si-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;cursor:pointer;transition:all .15s;position:relative;display:flex;flex-direction:column;
}
.si-card:hover{ border-color:rgba(251,191,36,.3);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2); }
.sic-img{ aspect-ratio:1;overflow:hidden;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center; }
.sic-img img{ width:100%;height:100%;object-fit:cover; }
.sic-no-img{ font-size:3rem;opacity:.4; }
.sic-body{ padding:.9rem;flex:1;display:flex;flex-direction:column;gap:.3rem; }
.sic-name{ font-size:.9rem;font-weight:700;line-height:1.3; }
.sic-brand{ font-size:.75rem;color:var(--txt3); }
.sic-meta-row{ display:flex;gap:.4rem;flex-wrap:wrap; }
.sic-cat,.sic-cond{ font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:100px;background:rgba(255,255,255,.07);color:var(--txt2); }
.sic-footer{ display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.4rem; }
.sic-price{ font-size:.9rem;font-weight:700; }
.sic-status-badge{ font-size:.63rem;font-weight:700;padding:2px 8px;border-radius:100px; }
.st-kept   { background:rgba(255,255,255,.07);color:var(--txt3); }
.st-tolist { background:rgba(251,191,36,.15);color:#fde68a; }
.st-listed { background:rgba(59,130,246,.15);color:#93c5fd; }
.st-sold   { background:rgba(52,211,153,.15);color:#6ee7b7; }
.sic-actions{ position:absolute;top:.5rem;right:.5rem;display:flex;gap:.3rem;opacity:0;transition:.15s; }
.si-card:hover .sic-actions{ opacity:1; }
.sic-action-btn{ background:rgba(10,10,20,.75);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:5px 8px;cursor:pointer;color:var(--txt2);font-size:.75rem; }
.sic-action-btn:hover{ color:#fff; }

/* Shop item modal — results */
.si-result-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;margin-bottom:.9rem; }
.sir-card{ background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:var(--r-md);padding:.65rem .9rem; }
.sir-lbl{ font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--txt3);margin-bottom:.25rem; }
.sir-val{ font-size:.88rem;font-weight:600; }
.sir-resale{ grid-column:span 2;background:rgba(52,211,153,.07);border-color:rgba(52,211,153,.2); }
.sir-val-big{ font-size:1.15rem;font-weight:800;color:#6ee7b7; }
.si-resale-info{ font-size:.8rem;color:var(--txt2);line-height:1.5; }
.sir-platforms{ margin-bottom:.4rem; }
.sir-tips{ margin:.3rem 0 .3rem 1rem;color:var(--txt3);font-size:.78rem; }
.sir-desc{ color:var(--txt3);font-style:italic;margin-top:.4rem; }
.si-price-row{ display:flex;align-items:flex-end;gap:.6rem;margin:.8rem 0; }
.si-price-fg{ flex:1; }
.si-actions-row{ margin-top:.9rem; }
.si-status-pick{ display:flex;gap:.5rem;margin-top:.4rem; }
.si-sp-btn{
  flex:1;padding:9px;border-radius:var(--r-md);
  border:1px solid var(--border);background:rgba(255,255,255,.04);
  color:var(--txt2);font-size:.8rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:.4rem;transition:.15s;
}
.si-sp-btn.active{ background:rgba(124,58,237,.2);border-color:rgba(124,58,237,.4);color:#c4b5fd; }
.si-sp-btn:hover{ background:rgba(255,255,255,.08); }
.btn-si-analyze{ padding:8px 14px;font-size:.82rem; }

/* Receipt result */
.receipt-ok{ display:flex;align-items:center;gap:.8rem;padding:.8rem;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.2);border-radius:var(--r-md);margin-bottom:.8rem; }
.receipt-items-list{ list-style:none;display:flex;flex-direction:column;gap:.3rem; }
.receipt-items-list li{ font-size:.84rem;padding:.4rem .6rem;background:rgba(255,255,255,.04);border-radius:6px; }

/* ── RESALE KANBAN ── */
.resale-toolbar{ margin-bottom:1.2rem; }
.resale-stats{ display:flex;gap:1.2rem;flex-wrap:wrap; }
.rs-stat{ background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:.7rem 1.1rem;display:flex;flex-direction:column;gap:.15rem; }
.rss-val{ font-size:1.25rem;font-weight:800; }
.rss-lbl{ font-size:.7rem;color:var(--txt3);text-transform:uppercase;letter-spacing:.04em; }
.rss-profit .rss-val{ color:#6ee7b7; }

.resale-kanban{ display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start; }
.kanban-col{ background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden; }
.kanban-col-hdr{ display:flex;align-items:center;gap:.5rem;padding:.9rem 1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border); }
.kch-dot{ width:8px;height:8px;border-radius:50%;flex-shrink:0; }
.kch-lbl{ flex:1; }
.kch-count{ background:rgba(255,255,255,.1);border-radius:100px;padding:1px 9px;font-size:.72rem; }
.kch-todo   .kch-dot{ background:#fbbf24; }
.kch-listed .kch-dot{ background:#60a5fa; }
.kch-sold   .kch-dot{ background:#34d399; }
.kanban-items{ display:flex;flex-direction:column;gap:.6rem;padding:.7rem; }
.kanban-empty{ text-align:center;font-size:.78rem;color:var(--txt3);padding:1.5rem;font-style:italic; }

.kc-item{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);
  overflow:hidden;cursor:pointer;transition:all .15s;
}
.kc-item:hover{ border-color:rgba(124,58,237,.3);box-shadow:0 4px 16px rgba(0,0,0,.2); }
.kc-img{ height:120px;overflow:hidden;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center; }
.kc-img img{ width:100%;height:100%;object-fit:cover; }
.kc-emoji{ font-size:2.5rem;opacity:.35; }
.kc-body{ padding:.8rem; }
.kc-name{ font-size:.88rem;font-weight:700;margin-bottom:.2rem; }
.kc-brand{ font-size:.73rem;color:var(--txt3);margin-bottom:.4rem; }
.kc-prices{ display:flex;flex-wrap:wrap;gap:.3rem .6rem;margin-bottom:.4rem; }
.kcp-paid{ font-size:.72rem;color:var(--txt3); }
.kcp-list{ font-size:.72rem;color:#93c5fd; }
.kcp-sold{ font-size:.72rem;color:#6ee7b7; }
.kcp-profit{ font-size:.78rem;font-weight:700; }
.kcp-profit.pos{ color:#34d399; }
.kcp-profit.neg{ color:#f87171; }
.kc-platform{ font-size:.7rem;color:var(--txt3);margin-bottom:.3rem; }
.kc-source{ font-size:.68rem;color:var(--txt3);opacity:.7; }
.kc-actions{ display:flex;gap:.5rem;padding:.5rem .8rem .8rem;flex-wrap:wrap; }
.kc-back   { font-size:.76rem;padding:5px 10px; }
.kc-advance{ font-size:.76rem;padding:5px 10px; }

/* Resale status modal */
.rs-prev{ font-size:.86rem;margin-bottom:1rem;padding:.6rem .8rem;background:rgba(255,255,255,.04);border-radius:var(--r-md); }
.platform-pick{ display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem; }
.pp-btn{ padding:6px 13px;border-radius:var(--r-md);border:1px solid var(--border);background:rgba(255,255,255,.04);color:var(--txt2);font-size:.8rem;font-weight:600;cursor:pointer;transition:.15s; }
.pp-btn.active{ background:rgba(124,58,237,.2);border-color:rgba(124,58,237,.4);color:#c4b5fd; }
.pp-btn:hover{ background:rgba(255,255,255,.1); }

/* ══════════════ RESPONSIVE ══════════════ */
@media(max-width:1200px){
  .cat-cards-row{grid-template-columns:repeat(3,1fr)}
  .charts-grid{grid-template-columns:1fr}
  .stats-detail-grid{grid-template-columns:repeat(3,1fr)}
  .kpi-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:none}
  .main{margin-left:0}
  .hamburger{display:flex}
  .dash-grid{grid-template-columns:1fr}
  .news-ticker-wrap{grid-template-columns:1fr}
  .detail-layout{grid-template-columns:1fr}
  .detail-img-box{width:100%;height:200px}
}
@media(max-width:600px){
  .content{padding:1.2rem}
  .kpi-row{grid-template-columns:1fr 1fr}
  .cat-cards-row{grid-template-columns:repeat(2,1fr)}
  .items-grid{grid-template-columns:1fr 1fr}
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .form-row2{grid-template-columns:1fr}
  .stats-detail-grid{grid-template-columns:1fr 1fr}
  .topbar{padding:0 1rem}
  .topbar-date{display:none}
  .id-layout{grid-template-columns:1fr}
  .id-left{max-width:100%}
  .item-detail-topbar{flex-wrap:wrap;gap:.5rem}
  .idtb-actions{flex-wrap:wrap}
  .vdqa-methods{grid-template-columns:1fr 1fr}
  .vdqa-search-wrap{flex-direction:column}
  .vdib-left{flex-direction:column}
  .vdqa-result-card{flex-direction:column}
  .vdqarc-actions{flex-direction:column}
}

/* ═══════════════════════════════════════════
   ITEM DETAIL PAGE
   ═══════════════════════════════════════════ */

/* Top bar with breadcrumb + actions */
.item-detail-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.idtb-breadcrumb {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  flex-wrap: wrap;
}

.bc-link {
  color: var(--txt3);
  text-decoration: none;
  transition: color .15s;
}
.bc-link:hover { color: var(--acc); }

.bc-sep {
  color: var(--txt3);
  opacity: .5;
}

.bc-current {
  color: var(--txt1);
  font-weight: 600;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idtb-actions {
  display: flex;
  gap: .5rem;
  align-items: center;
}

/* Main two-column layout */
.id-layout {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 2rem;
  align-items: start;
}

/* ── LEFT COLUMN ── */
.id-left {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  position: sticky;
  top: 1.5rem;
}

.id-image-box {
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--s1);
  border: 1px solid rgba(255,255,255,.06);
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Photo wrap — enables overlay button on hover */
.id-img-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}

.id-main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hover overlay for existing photo */
.id-img-change-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,.7));
  display: flex;
  justify-content: center;
  padding: 14px 12px 12px;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
}
.id-img-wrap:hover .id-img-change-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* Photo action button (change / add) */
.id-img-btn {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  border-radius: 8px;
  padding: 7px 16px;
  font-size: .82rem;
  cursor: pointer;
  transition: background .15s;
  white-space: nowrap;
}
.id-img-btn:hover { background: rgba(255,255,255,.28); }

/* No-image placeholder with add-photo button */
.id-no-image {
  font-size: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  height: 100%;
}
.id-img-add-btn {
  font-size: .82rem;
  background: var(--acc);
  border: none;
  color: #fff;
  border-radius: 8px;
  padding: 8px 18px;
  cursor: pointer;
  transition: opacity .15s;
}
.id-img-add-btn:hover { opacity: .85; }

/* Quick action buttons */
.id-quick-actions {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.id-qa-btn {
  width: 100%;
  padding: .7rem 1rem;
  border-radius: var(--r-md);
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all .15s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}

/* Resale card */
.id-resale-card {
  background: linear-gradient(135deg, rgba(110,231,183,.08), rgba(59,130,246,.06));
  border: 1px solid rgba(110,231,183,.2);
  border-radius: var(--r-lg);
  padding: 1rem 1.2rem;
}

.id-rc-header {
  font-size: .78rem;
  color: var(--txt3);
  margin-bottom: .5rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.id-rc-range {
  font-size: 1.6rem;
  font-weight: 800;
  color: #6ee7b7;
  line-height: 1.1;
}
.id-rc-range span { font-size: .9rem; font-weight: 500; }

.id-rc-avg {
  font-size: .82rem;
  color: var(--txt2);
  margin-top: .2rem;
}

.id-rc-roi {
  font-size: .9rem;
  font-weight: 700;
  margin-top: .4rem;
  padding: .25rem .6rem;
  border-radius: 20px;
  display: inline-block;
}
.id-rc-roi.roi-pos { background: rgba(110,231,183,.15); color: #6ee7b7; }
.id-rc-roi.roi-neg { background: rgba(239,68,68,.12); color: #fca5a5; }

.id-resale-bar-wrap { margin-top: .8rem; }
.id-rb-labels {
  display: flex;
  justify-content: space-between;
  font-size: .73rem;
  color: var(--txt3);
  margin-bottom: .3rem;
}
.id-resale-bar-track {
  height: 6px;
  background: rgba(255,255,255,.08);
  border-radius: 99px;
  overflow: hidden;
}
.id-resale-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #6ee7b7, #3b82f6);
  border-radius: 99px;
  transition: width .5s ease;
}

/* Platforms */
.id-platforms {
  background: var(--s1);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--r-md);
  padding: .8rem 1rem;
}

.id-pl-title {
  font-size: .75rem;
  color: var(--txt3);
  margin-bottom: .5rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.id-pl-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.id-pl-chip {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  padding: .25rem .7rem;
  font-size: .8rem;
  color: var(--txt2);
}

/* ── RIGHT COLUMN ── */
.id-right {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.id-header { }

.id-name {
  font-size: 1.8rem;
  font-weight: 800;
  font-family: 'Space Grotesk', sans-serif;
  color: var(--txt1);
  line-height: 1.2;
  margin-bottom: .3rem;
}

.id-brand {
  font-size: 1rem;
  color: var(--acc);
  font-weight: 600;
  margin-bottom: .6rem;
}

.id-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .5rem;
}

.id-badge-meta {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  padding: .25rem .7rem;
  font-size: .8rem;
  color: var(--txt2);
}

/* Price row */
.id-price-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.id-pr-box {
  flex: 1;
  min-width: 120px;
  background: var(--s1);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--r-md);
  padding: .8rem 1rem;
}

.id-pr-lbl {
  font-size: .72rem;
  color: var(--txt3);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .3rem;
}

.id-pr-val {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--txt1);
}

/* Sections */
.id-section {
  background: var(--s1);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--r-lg);
  padding: 1.2rem 1.4rem;
}

.id-section-title {
  font-size: .78rem;
  color: var(--txt3);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: .8rem;
  display: flex;
  align-items: center;
  gap: .4rem;
}

.id-description {
  font-size: .9rem;
  color: var(--txt2);
  line-height: 1.6;
  white-space: pre-line;
}

.id-notes {
  font-size: .82rem;
  color: var(--txt3);
  margin-top: .6rem;
  padding-top: .6rem;
  border-top: 1px solid rgba(255,255,255,.06);
  display: flex;
  gap: .4rem;
}

/* AI data grid */
.id-ai-grid {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.id-ai-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .4rem 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.id-ai-row:last-child { border-bottom: none; }

.id-ai-lbl {
  font-size: .82rem;
  color: var(--txt3);
}

.id-ai-val {
  font-size: .85rem;
  color: var(--txt1);
  font-weight: 500;
  text-align: right;
  max-width: 60%;
}

/* Tags */
.id-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.id-tag {
  background: rgba(139,92,246,.12);
  border: 1px solid rgba(139,92,246,.25);
  color: #c4b5fd;
  border-radius: 20px;
  padding: .25rem .7rem;
  font-size: .78rem;
}

/* Analyze loading in detail page */
.id-analyze-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  gap: 1rem;
}

/* ── Inline Analyze Panel ── */
.id-analyze-panel {
  background: linear-gradient(135deg, rgba(139,92,246,.08), rgba(59,130,246,.05));
  border: 1px solid rgba(139,92,246,.3);
  border-radius: var(--r-lg);
  margin-bottom: 1.2rem;
  overflow: hidden;
  animation: slideDown .2s ease;
}
@keyframes slideDown {
  from { opacity:0; transform:translateY(-8px); }
  to   { opacity:1; transform:translateY(0); }
}
.iap-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .75rem 1.2rem;
  background: rgba(139,92,246,.12);
  border-bottom: 1px solid rgba(139,92,246,.2);
  font-size: .85rem;
  font-weight: 600;
  color: var(--acc);
}
.iap-body {
  padding: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .9rem;
}
.iap-row { display: flex; gap: .8rem; align-items: flex-end; }
.iap-row input[type="text"] {
  width: 100%;
  background: var(--s1);
  border: 1px solid rgba(139,92,246,.25);
  border-radius: var(--r-md);
  padding: .6rem .9rem;
  color: var(--txt1);
  font-size: .9rem;
  outline: none;
  transition: border-color .15s;
}
.iap-row input[type="text"]:focus { border-color: var(--acc); }
.iap-img-row { }
.iap-dz {
  border: 1.5px dashed rgba(255,255,255,.15);
  border-radius: var(--r-md);
  padding: .7rem 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .8rem;
  color: var(--txt3);
  transition: all .15s;
  min-height: 52px;
  position: relative;
}
.iap-dz:hover { border-color: rgba(139,92,246,.4); color: var(--txt2); background: rgba(139,92,246,.05); }
.iap-dz.dz-over { border-color: var(--acc); background: rgba(139,92,246,.1); }
.iap-dz-thumb {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.iap-dz-thumb img { height: 40px; border-radius: var(--r-sm); object-fit: cover; }
.iap-progress { }
.iap-progress-lbl { font-size: .78rem; color: var(--txt3); margin-top: .4rem; }
.iap-actions { display: flex; gap: .6rem; }

/* ═══════════════════════════════════════════════
   PHOTO GALLERY — multi-image for shop items
═══════════════════════════════════════════════ */
.id-gallery-thumbs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.id-gthumb {
  width: 52px;
  height: 52px;
  border-radius: var(--r-sm);
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  position: relative;
  flex-shrink: 0;
  background: var(--s1);
  transition: border-color .15s;
}
.id-gthumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.id-gthumb.active { border-color: var(--acc); }
.id-gthumb:hover  { border-color: rgba(139,92,246,.5); }

/* Delete button on thumbnail */
.id-gthumb-del {
  position: absolute;
  top: 1px; right: 1px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(239,68,68,.85);
  border: none;
  color: #fff;
  font-size: .55rem;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.id-gthumb:hover .id-gthumb-del { display: flex; }

/* "+" add-photo thumbnail */
.id-gthumb-add {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed rgba(255,255,255,.2);
  color: var(--txt3);
  font-size: 1.1rem;
  transition: all .15s;
}
.id-gthumb-add:hover {
  border-color: var(--acc);
  color: var(--acc);
  background: rgba(139,92,246,.08);
}

/* ═══════════════════════════════════════════════
   VINTED PANEL
═══════════════════════════════════════════════ */
.vinted-panel {
  background: var(--s1);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--r-lg);
  padding: 1rem 1.2rem;
  margin-bottom: 1.2rem;
  animation: fadeIn .2s ease;
}
.vp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .9rem;
  flex-wrap: wrap;
}
/* ── Bookmarklet section ── */
.vp-bm-section {
  background: linear-gradient(135deg, rgba(139,92,246,.12) 0%, rgba(109,40,217,.06) 100%);
  border: 1px solid rgba(139,92,246,.25);
  border-radius: var(--r-md);
  padding: 1rem 1.1rem;
  margin-bottom: .9rem;
}
.vp-bm-header {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: .75rem;
}
.vp-bm-badge {
  background: var(--acc);
  color: #fff;
  font-size: .68rem;
  font-weight: 700;
  padding: .15rem .5rem;
  border-radius: 99px;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.vp-bm-title {
  font-weight: 600;
  font-size: .95rem;
}
.vp-bm-steps {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin-bottom: .85rem;
}
.vp-bm-step {
  display: flex;
  align-items: baseline;
  gap: .55rem;
  font-size: .85rem;
  color: var(--txt2);
}
.vp-bm-num {
  min-width: 20px;
  height: 20px;
  background: var(--acc);
  color: #fff;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 700;
  flex-shrink: 0;
}
.vp-bm-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}
.vp-bm-drag-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: var(--acc);
  color: #fff !important;
  text-decoration: none !important;
  padding: .48rem 1rem;
  border-radius: var(--r-md);
  font-size: .85rem;
  font-weight: 600;
  cursor: grab;
  transition: background .2s, transform .1s;
  user-select: none;
}
.vp-bm-drag-btn:hover { background: var(--acc-h); transform: translateY(-1px); }
.vp-bm-drag-btn:active { cursor: grabbing; }
.vp-bm-hint {
  font-size: .76rem;
  color: var(--txt3);
  margin-top: .55rem;
}
.vp-bm-status {
  margin-top: .6rem;
  padding: .5rem .75rem;
  border-radius: var(--r-sm);
  font-size: .85rem;
  font-weight: 500;
}
.vp-bm-status--ok  { background: rgba(34,197,94,.15); color: #4ade80; }
.vp-bm-status--err { background: rgba(239,68,68,.13);  color: #f87171; }
/* Separator */
.vp-section-sep {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: var(--txt3);
  font-size: .78rem;
  margin: .6rem 0;
}
.vp-section-sep::before, .vp-section-sep::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,.07);
}
/* Advanced collapsible */
.vp-advanced {
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--r-md);
  padding: .6rem .9rem;
  margin-top: .6rem;
}
.vp-advanced summary {
  cursor: pointer;
  font-size: .83rem;
  color: var(--txt3);
  list-style: none;
  display: flex;
  align-items: center;
  gap: .5rem;
  user-select: none;
}
.vp-advanced summary:hover { color: var(--txt2); }
.vp-adv-badge {
  font-size: .67rem;
  background: rgba(239,68,68,.2);
  color: #f87171;
  padding: .1rem .4rem;
  border-radius: 99px;
}
.vp-title {
  font-weight: 600;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.vp-count {
  font-size: .8rem;
  color: var(--txt3);
  font-weight: 400;
}
.vp-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}
/* URL input rows */
.vp-url-row {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding: .7rem 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.vp-item-row {
  margin-bottom: .7rem;
}
.vp-url-group {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}
.vp-url-label {
  font-size: .78rem;
  color: var(--txt3);
  white-space: nowrap;
  min-width: 110px;
}
.vp-url-inp {
  flex: 1;
  min-width: 200px;
  font-size: .82rem;
  padding: .38rem .7rem;
}
.vp-profile-toolbar {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
  margin-bottom: .7rem;
  padding-top: .4rem;
}
.sel-sm {
  font-size: .8rem;
  padding: .35rem .6rem;
  height: auto;
}
.vp-loading {
  padding: 1.5rem 1rem;
}
.vp-progress-wrap {
  width: 100%;
  height: 6px;
  background: rgba(255,255,255,.08);
  border-radius: 99px;
  overflow: hidden;
  margin-bottom: .75rem;
}
.vp-progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--acc) 0%, #a78bfa 100%);
  border-radius: 99px;
  transition: width .5s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 0 8px rgba(139,92,246,.45);
}
.vp-progress-label {
  text-align: center;
  color: var(--txt3);
  font-size: .85rem;
  letter-spacing: .01em;
}
.vp-error {
  padding: 1.2rem 1rem;
  font-size: .88rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
}
.vp-error-msg {
  color: var(--err);
  text-align: center;
  max-width: 480px;
  line-height: 1.4;
}
.vp-error-actions {
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  justify-content: center;
}
.vp-browser-hint {
  color: var(--txt3);
  font-size: .8rem;
  text-align: center;
}
.vp-empty { text-align: center; color: var(--txt3); padding: 2rem; font-size: .9rem; }
.vp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .8rem;
}
.vp-card {
  background: var(--s2);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--r-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .15s, border-color .15s;
}
.vp-card:hover { transform: translateY(-2px); border-color: rgba(139,92,246,.3); }
.vp-img-wrap {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  background: var(--s1);
  text-decoration: none;
}
.vp-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.vp-no-img {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
}
.vp-price-badge {
  position: absolute;
  bottom: 6px; right: 6px;
  background: rgba(0,0,0,.75);
  color: #6ee7b7;
  font-size: .75rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
}
.vp-card-body {
  padding: .6rem .7rem;
  display: flex;
  flex-direction: column;
  gap: .3rem;
  flex: 1;
}
.vp-title {
  font-size: .82rem;
  color: var(--txt1);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 500;
}
.vp-meta { display: flex; gap: .3rem; flex-wrap: wrap; }
.vp-tag {
  font-size: .7rem;
  background: rgba(255,255,255,.07);
  border-radius: 4px;
  padding: 1px 6px;
  color: var(--txt3);
}
.vp-stats {
  display: flex;
  gap: .7rem;
  font-size: .72rem;
  color: var(--txt3);
}
.vp-stats span { display: flex; align-items: center; gap: .25rem; }
.vp-import-btn {
  margin-top: auto;
  padding: .4rem .6rem;
  font-size: .78rem;
  background: rgba(139,92,246,.15);
  border: 1px solid rgba(139,92,246,.3);
  color: var(--acc);
  border-radius: 6px;
  cursor: pointer;
  transition: background .15s;
}
.vp-import-btn:hover { background: rgba(139,92,246,.3); }

/* ─── Shoe subcategory row ─── */
#siShoeCatRow { margin-top: 0; }

@media (max-width: 500px) {
  .vp-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════════════════════════════════
   AUTH OVERLAY — Login / Register
═══════════════════════════════════════════════ */
.auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(9, 9, 11, 0.82);
  backdrop-filter: blur(18px);
  padding: 1rem;
}
.auth-overlay.hidden { display: none; }

.auth-bg-orbs { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.auth-orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .35; }
.auth-orb1 { width: 500px; height: 500px; top: -100px; left: -100px; background: radial-gradient(circle, #7c3aed, transparent 70%); }
.auth-orb2 { width: 400px; height: 400px; bottom: -80px; right: -80px; background: radial-gradient(circle, #2563eb, transparent 70%); }

.auth-card {
  background: rgba(24, 24, 27, 0.92);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  padding: 2.2rem 2.4rem 1.8rem;
  width: 100%;
  max-width: 420px;
  position: relative;
  z-index: 1;
  box-shadow: 0 25px 80px rgba(0,0,0,.6);
  animation: fadeInUp .3s ease;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.auth-logo {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.8rem;
}
.auth-logo-mark { font-size: 2rem; }
.auth-logo-name { font-size: 1.25rem; font-weight: 700; letter-spacing: -.03em; }
.auth-logo-sub  { font-size: .75rem; color: var(--txt3); }

.auth-tabs {
  display: flex;
  gap: .3rem;
  background: rgba(255,255,255,.05);
  border-radius: 10px;
  padding: 4px;
  margin-bottom: 1.4rem;
}
.auth-tab {
  flex: 1;
  padding: .5rem;
  border-radius: 7px;
  border: none;
  background: transparent;
  color: var(--txt3);
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s;
}
.auth-tab.active {
  background: var(--s2);
  color: var(--txt1);
  box-shadow: 0 1px 6px rgba(0,0,0,.3);
}

.auth-msg {
  border-radius: 8px;
  padding: .7rem .9rem;
  font-size: .83rem;
  margin-bottom: 1rem;
  line-height: 1.4;
}
.auth-msg-err { background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.3); color: #fca5a5; }
.auth-msg-ok  { background: rgba(52,211,153,.12); border: 1px solid rgba(52,211,153,.3); color: #6ee7b7; }

.auth-form { display: flex; flex-direction: column; gap: .9rem; }
.auth-form.hidden { display: none; }

.auth-fg { display: flex; flex-direction: column; gap: .35rem; }
.auth-fg label { font-size: .78rem; color: var(--txt3); font-weight: 500; letter-spacing: .02em; text-transform: uppercase; }

.auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.auth-input-wrap i:first-child {
  position: absolute;
  left: .85rem;
  color: var(--txt3);
  font-size: .85rem;
  pointer-events: none;
}
.auth-input-wrap input {
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1.5px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: .75rem 2.8rem .75rem 2.5rem;
  color: var(--txt1);
  font-size: .9rem;
  transition: border-color .15s, background .15s;
}
.auth-input-wrap input:focus {
  outline: none;
  border-color: var(--acc);
  background: rgba(139,92,246,.08);
}
.auth-input-wrap input::placeholder { color: var(--txt3); }
.auth-eye {
  position: absolute;
  right: .75rem;
  background: none;
  border: none;
  color: var(--txt3);
  cursor: pointer;
  font-size: .85rem;
  padding: .25rem;
}
.auth-eye:hover { color: var(--txt2); }

.auth-row-end { display: flex; justify-content: flex-end; margin-top: -.3rem; }

.auth-submit {
  background: var(--acc);
  border: none;
  border-radius: 10px;
  color: #fff;
  font-size: .95rem;
  font-weight: 600;
  padding: .85rem 1.5rem;
  cursor: pointer;
  transition: opacity .15s, transform .1s;
  margin-top: .3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.auth-submit:hover   { opacity: .9; transform: translateY(-1px); }
.auth-submit:active  { transform: translateY(0); }
.auth-submit:disabled { opacity: .6; cursor: not-allowed; }

.auth-spinner { display: flex; align-items: center; }
.auth-spinner.hidden { display: none; }

.auth-link {
  background: none;
  border: none;
  color: var(--acc);
  font-size: .82rem;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.auth-link:hover { opacity: .8; }
.auth-back { display: block; text-align: center; margin-top: .8rem; }
.auth-hint { font-size: .85rem; color: var(--txt3); margin: 0 0 .5rem; line-height: 1.5; }

.auth-footer {
  text-align: center;
  font-size: .72rem;
  color: var(--txt3);
  margin-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 1rem;
}

/* Blur app content when auth is showing */
.blurred { filter: blur(4px); pointer-events: none; user-select: none; }

/* ═══════════════════════════════════════════════
   SIDEBAR USER WIDGET
═══════════════════════════════════════════════ */
.sb-user {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .7rem .8rem;
  background: rgba(255,255,255,.04);
  border-radius: var(--r-md);
  margin-bottom: .8rem;
  border: 1px solid rgba(255,255,255,.06);
}
.sb-user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--acc);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.sb-user-info {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.sb-user-name {
  display: block;
  font-size: .82rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--txt1);
}
.sb-user-email {
  display: block;
  font-size: .7rem;
  color: var(--txt3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sb-logout-btn {
  background: none;
  border: none;
  color: var(--txt3);
  cursor: pointer;
  font-size: .9rem;
  padding: .25rem;
  border-radius: 6px;
  transition: color .15s, background .15s;
  flex-shrink: 0;
}
.sb-logout-btn:hover { color: var(--err); background: rgba(239,68,68,.1); }


/* ═══════════════════════════════════════════════════════════
   BRAND FILTER
   ═══════════════════════════════════════════════════════════ */
.filter-brand-wrap {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 140px;
  min-width: 120px;
  max-width: 200px;
}
.filter-brand-icon {
  position: absolute;
  left: .55rem;
  color: var(--txt3);
  font-size: .75rem;
  pointer-events: none;
}
.filter-brand-inp {
  width: 100%;
  padding-left: 1.7rem;
  padding-right: 1.6rem;
  height: 34px;
  font-size: .8rem;
}
.filter-brand-clear {
  position: absolute;
  right: .35rem;
  background: none;
  border: none;
  color: var(--txt3);
  cursor: pointer;
  padding: .2rem;
  font-size: .75rem;
  border-radius: 4px;
  line-height: 1;
  transition: color .15s;
}
.filter-brand-clear:hover { color: var(--err); }

/* ═══════════════════════════════════════════════════════════
   CAMERA CAPTURE (search modal)
   ═══════════════════════════════════════════════════════════ */
.cam-viewfinder {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cam-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cam-shutter-btn {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 3px solid #fff;
  background: rgba(255,255,255,.2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s, transform .1s;
  backdrop-filter: blur(4px);
}
.cam-shutter-btn:hover { background: rgba(255,255,255,.35); transform: translateX(-50%) scale(1.06); }
.cam-shutter-btn:active { transform: translateX(-50%) scale(.94); }
.cam-shutter-ring {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  display: block;
}
.cam-hint {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: .72rem;
  padding: .3rem .7rem;
  border-radius: 20px;
  white-space: nowrap;
  backdrop-filter: blur(4px);
}
.cam-preview {
  text-align: center;
}
.cam-preview img {
  width: 100%;
  max-height: 280px;
  object-fit: contain;
  border-radius: 10px;
  border: 1px solid var(--brd);
  background: var(--bg2);
}
.cam-preview-actions {
  display: flex;
  gap: .5rem;
  justify-content: center;
  margin-top: .75rem;
}

/* ═══════════════════════════════════════════════════════════
   BARCODE SCANNER OVERLAY
   ═══════════════════════════════════════════════════════════ */
.bc-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  backdrop-filter: blur(4px);
}
.bc-overlay:not(.hidden) { display: flex; }
.bc-modal {
  background: var(--bg1);
  border: 1px solid var(--brd);
  border-radius: 18px;
  width: 100%;
  max-width: 420px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.bc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1.2rem;
  border-bottom: 1px solid var(--brd);
  font-weight: 600;
  font-size: .95rem;
  color: var(--txt1);
}
.bc-header i { color: var(--accent); margin-right: .5rem; }
.bc-viewfinder {
  position: relative;
  background: #000;
  aspect-ratio: 4/3;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bc-viewfinder video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bc-frame {
  position: absolute;
  inset: 20%;
  pointer-events: none;
}
.bc-corner {
  position: absolute;
  width: 22px;
  height: 22px;
  border-color: #fff;
  border-style: solid;
  opacity: .85;
}
.bc-tl { top: 0; left: 0;  border-width: 3px 0 0 3px; border-radius: 4px 0 0 0; }
.bc-tr { top: 0; right: 0; border-width: 3px 3px 0 0; border-radius: 0 4px 0 0; }
.bc-bl { bottom: 0; left: 0;  border-width: 0 0 3px 3px; border-radius: 0 0 0 4px; }
.bc-br { bottom: 0; right: 0; border-width: 0 3px 3px 0; border-radius: 0 0 4px 0; }
.bc-scan-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  animation: bcScan 2s ease-in-out infinite;
  border-radius: 2px;
  box-shadow: 0 0 6px var(--accent);
}
@keyframes bcScan {
  0%   { top: 0; }
  50%  { top: calc(100% - 2px); }
  100% { top: 0; }
}
.bc-status {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,.6);
  color: #fff;
  font-size: .75rem;
  padding: .3rem .85rem;
  border-radius: 20px;
  white-space: nowrap;
  backdrop-filter: blur(4px);
  max-width: 90%;
  text-align: center;
}
.bc-result {
  padding: 1rem 1.2rem;
  border-top: 1px solid var(--brd);
  text-align: center;
}
.bc-result-code {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--txt1);
  margin-bottom: .75rem;
  font-family: monospace;
}
.bc-result-actions {
  display: flex;
  gap: .5rem;
  justify-content: center;
  flex-wrap: wrap;
}
.bc-hint {
  padding: .5rem 1.2rem .8rem;
  font-size: .7rem;
  color: var(--txt3);
  text-align: center;
}
