/* ═══════════════════════════════════════════════════════
   DESIGN SYSTEM — NichoRadar Import Intelligence OS
   Premium Dark Navy Palette
   ═══════════════════════════════════════════════════════ */
:root {
  /* ── Surfaces (Navy Dark — always dark) ── */
  --bg:       #080c14;
  --surface:  #0e1524;
  --sf2:      #132035;
  --sf3:      #192a48;
  --border:   #1e3054;
  --bd2:      #162540;

  /* ── Text ── */
  --tx1:      #dde8f5;
  --tx2:      #8aaac8;
  --tx3:      #4d6f91;
  --tx4:      #2d4a68;

  /* ── Legacy aliases (dark nav) ── */
  --navy:     #080c14;
  --navy2:    #0e1524;

  /* ── Brand colors ── */
  --green:    #10b981;
  --green-d:  #059669;

  /* ── Accent palette ── */
  --gold:     #d4a843;
  --purple:   #8b5cf6;
  --blue:     #3b82f6;
  --red:      #ef4444;

  /* ── Glows (ultra-subtle) ── */
  --glow-green:  rgba(16, 185, 129, 0.10);
  --glow-purple: rgba(139, 92, 246, 0.10);
  --glow-gold:   rgba(212, 168, 67, 0.10);
  --glow-blue:   rgba(59, 130, 246, 0.10);

  /* ── Workspace theming ── */
  --ws-accent:   #10b981;
  --ws-accent-2: #3b82f6;
  --ws-glow:     rgba(16, 185, 129, 0.12);
  --ws-tint:     rgba(16, 185, 129, 0.04);
}

/* Dark mode = same as root (dark-first design) */
[data-theme="dark"] {
  --bg:       #080c14;
  --surface:  #0e1524;
  --sf2:      #132035;
  --sf3:      #192a48;
  --border:   #1e3054;
  --bd2:      #162540;
  --tx1:      #dde8f5;
  --tx2:      #8aaac8;
  --tx3:      #4d6f91;
  --tx4:      #2d4a68;
  --navy:     #080c14;
  --navy2:    #0e1524;
  --green:    #10b981;
}

/* Light mode override (optional) */
[data-theme="light"] {
  --bg:       #f0f4f9;
  --surface:  #ffffff;
  --sf2:      #f8fafc;
  --sf3:      #f1f5f9;
  --border:   #e2e8f0;
  --bd2:      #f1f5f9;
  --tx1:      #0f172a;
  --tx2:      #334155;
  --tx3:      #64748b;
  --tx4:      #94a3b8;
  --navy:     #0f172a;
  --navy2:    #1e293b;
  --green:    #059669;
}

/* China workspace accent */
[data-workspace="china-radar"] {
  --ws-accent:   #ef4444;
  --ws-accent-2: #f59e0b;
  --ws-glow:     rgba(239, 68, 68, 0.12);
  --ws-tint:     rgba(239, 68, 68, 0.04);
}

*{box-sizing:border-box;margin:0;padding:0;}

body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--tx1);min-height:100vh;transition:background .25s,color .25s;}

/* ── TOPBAR ─────────────────────────────────── */
.topbar{background:var(--navy2);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);}
.logo{display:flex;align-items:center;gap:10px;overflow:visible;}
.logo-name{font-family:'Sora',sans-serif;font-size:18px;font-weight:700;letter-spacing:-.3px;line-height:1;}
.logo-white{color:#fff;}
.logo-green{color:#10b981;}
.logo-bc{color:#4b5563;font-size:12px;}
.avatar{width:30px;height:30px;border-radius:50%;background:#10b981;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0;}

.tabs{display:flex;gap:2px;}
.tab{background:transparent;border:none;color:var(--tx3);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;padding:7px 16px;border-radius:6px;cursor:pointer;transition:all .18s;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.tab:hover{color:var(--tx1);background:rgba(255,255,255,.05);}
.tab.active{color:var(--green);background:rgba(16,185,129,.10);font-weight:600;}
.tab-count{font-size:11px;background:rgba(255,255,255,.08);color:var(--tx3);padding:1px 6px;border-radius:20px;font-weight:600;min-width:18px;text-align:center;}
.tab.active .tab-count{background:rgba(16,185,129,.15);color:var(--green);}

/* ════════════════════════════════════════════════
   KPI INTELLIGENCE STRIP
   ════════════════════════════════════════════════ */
.kpi-strip{
  background:var(--navy2);
  border-bottom:1px solid var(--border);
  padding:0 24px;
  display:flex;align-items:center;
  height:40px;
  gap:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.kpi-strip::-webkit-scrollbar{display:none;}
.kpi-item{
  display:flex;flex-direction:column;justify-content:center;
  padding:0 16px;
  min-width:80px;
}
.kpi-item-status{flex-direction:row;align-items:center;gap:6px;min-width:auto;}
.kpi-val{
  font-family:'Sora',sans-serif;
  font-size:13px;font-weight:700;
  color:var(--tx1);line-height:1;
}
.kpi-lbl{
  font-size:8.5px;font-weight:600;
  color:var(--tx4);text-transform:uppercase;
  letter-spacing:.06em;margin-top:2px;
  white-space:nowrap;
}
.kpi-green{color:#10b981;}
.kpi-gold{color:#d4a843;}
.kpi-blue{color:#3b82f6;}
.kpi-purple{color:#8b5cf6;}
.kpi-red{color:#ef4444;}
.kpi-sep{
  width:1px;height:20px;
  background:var(--border);
  flex-shrink:0;
}
.kpi-status-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--tx4);flex-shrink:0;
  transition:background .4s,box-shadow .4s;
}
.kpi-status-dot.live{
  background:#10b981;
  box-shadow:0 0 6px rgba(16,185,129,.5);
}
.kpi-status-dot.loading{
  background:#d4a843;
  animation:kpi-blink .8s ease-in-out infinite;
}
@keyframes kpi-blink{0%,100%{opacity:1;}50%{opacity:.4;}}

/* ── WRAPPER ─────────────────────────────────── */
.wrapper{max-width:1200px;margin:0 auto;padding:20px 24px 60px;}

/* ── SEARCH SECTION ─────────────────────────── */
.search-section{margin-bottom:14px;}
.search-bar{display:flex;gap:8px;margin-bottom:8px;}
.search-input{flex:1;padding:11px 16px;font-size:13px;font-family:'DM Sans',sans-serif;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--tx1);outline:none;transition:border-color .15s;}
.search-input:focus{border-color:#10b981;}
.search-btn{background:var(--green);color:#fff;border:none;padding:11px 22px;border-radius:10px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .15s;white-space:nowrap;}
.search-btn:hover{background:var(--green-d)!important;}

.quick-tags{display:flex;flex-wrap:wrap;gap:6px;}
.qtag{padding:4px 12px;border-radius:20px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;}
.qtag:hover{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.05);}

/* ── MAIN 2-COL ──────────────────────────────── */
.main{display:grid;grid-template-columns:1fr 360px;gap:0;}
.left{padding-right:18px;}

.page-h{font-family:'Sora',sans-serif;font-size:20px;font-weight:700;letter-spacing:-.4px;margin-bottom:3px;}
.page-s{color:#6b7280;font-size:12px;margin-bottom:12px;}

.filters{display:flex;align-items:center;margin-bottom:12px;}
.cnt{font-size:11px;color:#9ca3af;}

.search-status{font-size:13px;color:#6b7280;padding:10px 0;}
.search-status.error{color:#ef4444;}

/* ── PRODUCT GRID ────────────────────────────── */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;}

/* ── CARD ────────────────────────────────────── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .18s;position:relative;}
.card:hover{border-color:var(--sf3);transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.35);}
.card.sel{border:2px solid var(--green);transform:translateY(-2px);box-shadow:0 4px 24px rgba(16,185,129,.18),0 0 0 1px rgba(16,185,129,.1);}

.sel-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#10b981;z-index:3;}

.img-wrap{width:100%;height:160px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.img-wrap img{width:100%;height:100%;object-fit:cover;transition:opacity .3s;position:relative;z-index:1;}
.img-wrap img.loading{opacity:0;}
.img-wrap img.loaded{opacity:1;}
.skeleton{position:absolute;inset:0;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;z-index:0;}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

.ml-badge{position:absolute;bottom:6px;left:6px;background:rgba(255,255,255,.92);border-radius:4px;padding:2px 5px;font-size:8px;font-weight:600;color:#374151;display:flex;align-items:center;gap:3px;backdrop-filter:blur(2px);z-index:2;}
.ml-dot{width:5px;height:5px;border-radius:50%;background:#ffe600;}

.fav-btn{position:absolute;top:6px;left:6px;background:rgba(255,255,255,.9);border:none;border-radius:5px;width:22px;height:22px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;line-height:1;transition:background .15s;}
.fav-btn:hover{background:#fff;}
.fav-btn.saved{color:#f59e0b;}

.card-body{padding:12px 14px;}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px;}
.card-name{font-size:12px;font-weight:600;line-height:1.35;flex:1;padding-right:6px;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sbadge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:20px;flex-shrink:0;}
.sa{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;}
.sb{background:#fef9c3;color:#713f12;border:1px solid #fde047;}
.sc{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}

.tags{display:flex;gap:3px;flex-wrap:wrap;margin-bottom:7px;}
.tag{font-size:9px;padding:2px 6px;border-radius:20px;background:#f3f4f6;color:#374151;display:flex;align-items:center;gap:2px;}

.bar-row{margin-bottom:5px;}
.brow{display:flex;justify-content:space-between;font-size:9px;color:#9ca3af;margin-bottom:2px;}
.brow span:last-child{font-weight:500;color:#374151;}
.btrack{height:3px;background:#f3f4f6;border-radius:2px;overflow:hidden;}
.bfill{height:100%;border-radius:2px;transition:width .4s ease;}

.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px;padding-top:8px;border-top:1px solid #f3f4f6;}
.nb{text-align:center;}
.nv{font-size:12px;font-weight:700;color:#111827;}
.nl{font-size:9px;color:#9ca3af;margin-top:1px;}

/* ── PANEL (right sticky) ───────────────────── */
.panel-col{position:relative;}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;position:sticky;top:68px;max-height:calc(100vh - 80px);overflow-y:auto;}

.phead{background:var(--sf2);padding:16px 20px;border-bottom:1px solid var(--border);}
.pey{font-size:9px;color:var(--tx4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;}
.ptitle{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:var(--tx1);line-height:1.3;}

.pbody{padding:16px 18px;display:flex;flex-direction:column;gap:10px;}

.igrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.fl{display:flex;flex-direction:column;gap:3px;}
.flbl{font-size:10px;color:#9ca3af;font-weight:500;}
.finput{width:100%;padding:7px 8px;border:1px solid #e5e7eb;border-radius:8px;font-size:12px;font-weight:500;background:#f9fafb;color:#111827;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s;}
.finput:focus{border-color:#10b981;background:#fff;}

.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.rc{border-radius:9px;padding:9px 10px;text-align:center;}
.rc.n{background:#f9fafb;border:1px solid #f3f4f6;}
.rc.h{background:#f0fdf4;border:1px solid #86efac;}
.rv{font-size:17px;font-weight:700;font-family:'Sora',sans-serif;color:#111827;}
.rv.g{color:#065f46;}
.rl{font-size:9px;color:#9ca3af;margin-top:2px;line-height:1.4;}

.verd{border-radius:9px;padding:9px 12px;font-size:11px;font-weight:500;line-height:1.5;display:none;}
.vtip{font-weight:400;margin-top:4px;opacity:.85;font-size:10px;}

.bdown{padding:10px 12px;background:#f9fafb;border-radius:9px;border:1px solid #f3f4f6;}
.bdtitle{font-size:9px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;}
.bdr{display:flex;justify-content:space-between;font-size:10px;padding:3px 0;border-bottom:1px solid #f3f4f6;}
.bdr:last-child{border-bottom:none;padding-top:6px;font-size:11px;}
.bdl{color:#6b7280;}
.bdp{font-weight:500;color:#10b981;}
.bdn{font-weight:500;color:#ef4444;}
.bdt{font-weight:700;}

/* ── AI SECTION ──────────────────────────────── */
.ai-section{display:flex;flex-direction:column;gap:8px;}
.ai-btn{width:100%;background:linear-gradient(135deg,#111827,#1f2937);color:#fff;border:none;padding:10px 12px;border-radius:9px;font-size:12px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:opacity .2s;}
.ai-btn:hover:not(:disabled){opacity:.85;}
.ai-btn:disabled{opacity:.4;cursor:not-allowed;}

.ai-loading{display:flex;justify-content:center;gap:5px;padding:12px;}
.ai-loading.hidden{display:none;}
.dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:bounce 1.2s infinite;}
.dot:nth-child(2){animation-delay:.2s;}
.dot:nth-child(3){animation-delay:.4s;}
@keyframes bounce{0%,80%,100%{transform:scale(.6);opacity:.4;}40%{transform:scale(1);opacity:1;}}

.ai-result{font-size:11px;line-height:1.7;color:#1f2937;white-space:pre-wrap;background:#f9fafb;border:1px solid #f3f4f6;border-radius:9px;padding:10px 12px;}
.ai-result.hidden{display:none;}

/* ── SAVE BTN ────────────────────────────────── */
.save-btn{width:100%;background:transparent;border:1px solid #e5e7eb;color:#6b7280;padding:9px;border-radius:9px;font-size:12px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s;}
.save-btn:hover:not(:disabled){border-color:#f59e0b;color:#f59e0b;background:rgba(245,158,11,.05);}
.save-btn.saved{border-color:#f59e0b;color:#f59e0b;background:rgba(245,158,11,.07);}
.save-btn:disabled{opacity:.35;cursor:not-allowed;}
.watch-btn{width:100%;background:transparent;border:1px solid rgba(139,92,246,.3);color:#a78bfa;padding:9px;border-radius:9px;font-size:12px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s;margin-bottom:6px;}
.watch-btn:hover:not(:disabled){border-color:#8b5cf6;background:rgba(139,92,246,.08);}
.watch-btn.active{border-color:#8b5cf6;color:#c4b5fd;background:rgba(139,92,246,.12);}
.watch-btn:disabled{opacity:.35;cursor:not-allowed;}
.card-watching-dot{width:6px;height:6px;border-radius:50%;background:#8b5cf6;display:inline-block;margin-left:4px;vertical-align:middle;}
.alert-bell-btn{background:transparent;border:1px solid rgba(139,92,246,.25);color:#a78bfa;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:5px;}
.alert-bell-btn:hover{background:rgba(139,92,246,.1);border-color:#8b5cf6;}
.alert-bell-btn .alert-count-badge{background:#8b5cf6;color:#fff;border-radius:10px;padding:0 5px;font-size:10px;min-width:16px;text-align:center;}

/* ── EMPTY STATE ─────────────────────────────── */
.empty-state{text-align:center;padding:60px 20px;color:#9ca3af;}
.empty-icon{font-size:40px;margin-bottom:12px;}
.empty-state p{font-size:13px;line-height:1.9;}

/* ── ML CONNECT BUTTON ───────────────────────── */
.ml-connect-btn{background:transparent;border:1px solid #374151;color:#9ca3af;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap;}
.ml-connect-btn:hover{border-color:#10b981;color:#10b981;}
.ml-connect-btn.connected{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.1);}

/* ── ML MODAL ────────────────────────────────── */
.ml-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:flex;align-items:center;justify-content:center;padding:16px;}
.ml-modal-box{background:#fff;border-radius:14px;width:100%;max-width:480px;box-shadow:0 8px 32px rgba(0,0,0,.2);}
.ml-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f3f4f6;font-weight:600;font-size:15px;}
.ml-modal-header button{background:transparent;border:none;font-size:18px;cursor:pointer;color:#9ca3af;}
.ml-modal-body{padding:20px;}
.ml-step{font-size:13px;color:#374151;line-height:1.6;margin-bottom:10px;}
.ml-auth-btn{width:100%;background:#111827;color:#fff;border:none;padding:11px;border-radius:8px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:opacity .2s;}
.ml-auth-btn:hover{opacity:.85;}
.ml-code-input{width:100%;padding:9px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.ml-code-input:focus{border-color:#10b981;}
.ml-msg{font-size:12px;margin-top:8px;min-height:18px;}
.ml-msg.ok{color:#10b981;font-weight:600;}
.ml-msg.err{color:#ef4444;}

.hidden{display:none!important;}

/* ── ÍNDICE DE ENTRADA (IE) OVERLAY ─────────── */
.score-overlay{position:absolute;top:7px;right:7px;background:rgba(17,24,39,.88);backdrop-filter:blur(4px);border-radius:8px;padding:5px 8px;text-align:center;z-index:3;min-width:54px;border:1px solid rgba(255,255,255,.08);}
.score-overlay .ie-label{font-size:6.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;line-height:1;margin-bottom:3px;white-space:nowrap;}
.score-overlay .sco-num{font-family:'Sora',sans-serif;font-size:15px;font-weight:700;line-height:1;color:#fff;}
.score-overlay.excellent .ie-label,.score-overlay.excellent .sco-num{color:#10b981;}
.score-overlay.good .ie-label,.score-overlay.good .sco-num{color:#fbbf24;}
.score-overlay.poor .ie-label,.score-overlay.poor .sco-num{color:#f87171;}

/* ── OPPORTUNITY BADGES ──────────────────────── */
.opp-badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:7px;}
.opp-badge{font-size:9px;padding:2px 7px;border-radius:20px;font-weight:500;white-space:nowrap;line-height:1.5;}
.opp-badge.green {background:#d1fae5;color:#065f46;}
.opp-badge.blue  {background:#dbeafe;color:#1e40af;}
.opp-badge.red   {background:#fee2e2;color:#991b1b;}
.opp-badge.purple{background:#ede9fe;color:#5b21b6;}
.opp-badge.hot   {background:#fff7ed;color:#9a3412;}

/* ── POTENTIAL / RISK ROW ────────────────────── */
.potential-row{display:flex;align-items:center;justify-content:space-between;margin-top:7px;padding-top:6px;border-top:1px solid #f3f4f6;}
.potential-pill{font-size:9px;padding:2px 8px;border-radius:20px;font-weight:600;}
.potential-pill.green {background:#d1fae5;color:#065f46;}
.potential-pill.yellow{background:#fef9c3;color:#92400e;}
.potential-pill.red   {background:#fee2e2;color:#991b1b;}
.risk-lbl{font-size:9px;color:#9ca3af;}

/* ── RANK BANNER ─────────────────────────────── */
.rank-banner{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;background:linear-gradient(135deg,rgba(16,185,129,.07),rgba(16,185,129,.02));border:1px solid rgba(16,185,129,.2);border-radius:10px;}
.rank-banner-icon{font-size:18px;line-height:1;}
.rank-banner-text{flex:1;}
.rank-banner-title{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:#065f46;letter-spacing:-.2px;}
.rank-banner-sub{font-size:10px;color:#059669;margin-top:1px;}

/* ── SKELETON CARDS ──────────────────────────── */
.sk-card{pointer-events:none;}
.sk-line{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:4px;}

/* ── AI RESULT PREMIUM ───────────────────────── */
.ai-result{font-size:11.5px;line-height:1.75;color:#1f2937;white-space:pre-wrap;background:#f9fafb;border:1px solid #f3f4f6;border-radius:9px;padding:12px 14px;}
.ai-result.hidden{display:none;}

/* ── CARD NAME (updated clamp) ───────────────── */
.card-name{font-size:12px;font-weight:600;line-height:1.35;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px;}

/* ── CARD ENTRY ANIMATION ────────────────────── */
@keyframes card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.card{animation:card-in .3s ease both;}

/* ── HIDDEN OPPORTUNITY ──────────────────────── */
.card.hidden-opp{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b,0 2px 14px rgba(245,158,11,.18);}
.hidden-opp-ribbon{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(180,83,9,.9) 0%,transparent 100%);padding:20px 8px 5px;font-size:8.5px;font-weight:700;color:#fff;text-align:center;z-index:2;display:none;letter-spacing:.3px;}
.card.hidden-opp .hidden-opp-ribbon{display:block;}

/* ── SCORE DELTA ─────────────────────────────── */
.sco-delta{font-size:7px;margin-top:2px;font-weight:700;letter-spacing:.3px;}
.sco-delta.up{color:#34d399;}
.sco-delta.down{color:#f87171;}
.sco-delta.same{color:#9ca3af;}

/* ── PANEL SCORE ROW (inside phead) ─────────── */
.pscore-row{display:flex;align-items:center;gap:7px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08);}
.pscore-stars{color:#10b981;font-size:12px;letter-spacing:1px;}
.pscore-num{font-family:'Sora',sans-serif;font-size:16px;font-weight:700;color:#fff;}
.pscore-label{font-size:10px;color:#6ee7b7;font-weight:600;padding:1px 7px;background:rgba(16,185,129,.15);border-radius:20px;}

/* ── SECTION LABEL ───────────────────────────── */
.section-lbl{font-size:9px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;}

/* ── RADAR SECTION ───────────────────────────── */
.radar-section{background:#fafafa;border:1px solid #f3f4f6;border-radius:10px;padding:12px 12px 10px;}
.radar-wrap{display:flex;justify-content:center;}
.radar-dims{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px;}
.rdim{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#fff;border:1px solid #f3f4f6;border-radius:6px;}
.rdim-label{font-size:9px;color:#6b7280;}
.rdim-val{font-size:10px;font-weight:700;}
.rdim-val.g{color:#10b981;}
.rdim-val.y{color:#f59e0b;}
.rdim-val.r{color:#ef4444;}

/* ── HUNTER BUTTON ───────────────────────────── */
.filters{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.hunter-btn{background:linear-gradient(135deg,#111827,#1f2937);color:#fff;border:none;padding:5px 12px;border-radius:7px;font-size:11px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:opacity .2s;white-space:nowrap;letter-spacing:-.1px;}
.hunter-btn:hover{opacity:.85;}
.hunter-btn:disabled{opacity:.5;cursor:not-allowed;}

/* ── HUNTER UI (inside grid) ─────────────────── */
.hunter-ui{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:32px 24px;text-align:center;gap:14px;}
.hunter-icon-wrap{font-size:40px;animation:pulse-icon 1.5s ease-in-out infinite;}
@keyframes pulse-icon{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}
.hunter-title{font-family:'Sora',sans-serif;font-size:18px;font-weight:700;color:#111827;letter-spacing:-.4px;}
.hunter-sub{font-size:12px;color:#6b7280;min-height:18px;}
.hunter-bar-wrap{width:100%;max-width:320px;height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden;}
.hunter-bar{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:2px;transition:width .6s ease;}
.hunter-log{display:flex;flex-direction:column;gap:5px;width:100%;max-width:320px;margin-top:4px;}
.hunter-log-item{display:flex;align-items:center;gap:7px;font-size:11px;color:#6b7280;padding:5px 10px;border-radius:7px;background:#f9fafb;border:1px solid #f3f4f6;}
.hunter-log-item.done{color:#065f46;background:#f0fdf4;border-color:#bbf7d0;}
.hunter-log-item.active{color:#111827;background:#fff;border-color:#d1d5db;}
.hunter-result-banner{font-size:13px;font-weight:600;color:#065f46;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 16px;width:100%;max-width:320px;}

/* ── SEARCH INPUT WRAP ───────────────────────── */
.search-section{position:relative;margin-bottom:14px;}
.search-input-wrap{flex:1;position:relative;}
.search-input-wrap .search-input{width:100%;}

/* ── EXPLORE BUTTON ──────────────────────────── */
.explore-btn{background:#fff;color:#374151;border:1px solid #d1d5db;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.explore-btn:hover{border-color:#10b981;color:#10b981;}
.explore-btn.open{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.05);}

/* ── SUGGESTIONS DROPDOWN ────────────────────── */
.suggestions-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1);z-index:200;overflow:hidden;max-height:220px;overflow-y:auto;}
.suggestion-item{padding:8px 14px;font-size:12px;color:#374151;cursor:pointer;display:flex;align-items:center;gap:7px;transition:background .1s;}
.suggestion-item:hover,.suggestion-item.active{background:#f0fdf4;color:#065f46;}
.suggestion-item .sug-icon{color:#9ca3af;flex-shrink:0;font-size:11px;}
.suggestion-item mark{background:none;color:#10b981;font-weight:700;}

/* ── EXPLORE PANEL ───────────────────────────── */
.explore-panel{position:absolute;top:calc(100% + 6px);left:0;max-width:700px;width:100%;background:#fff;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.13),0 2px 8px rgba(0,0,0,.06);z-index:250;border:1px solid #e5e7eb;animation:panel-in .18s ease both;}
@keyframes panel-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.explore-inner{display:flex;min-height:290px;max-height:420px;overflow:hidden;border-radius:14px;}

/* ── NICHE SIDEBAR ───────────────────────────── */
.explore-sidebar{width:150px;flex-shrink:0;background:#f9fafb;border-right:1px solid #f3f4f6;overflow-y:auto;padding:8px 0;}
.niche-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;color:#374151;font-weight:500;text-align:left;transition:all .12s;}
.niche-item:hover{background:#f0f0f0;color:#111827;}
.niche-item.active{background:#f0fdf4;color:#065f46;font-weight:600;border-right:2px solid #10b981;}
.niche-item-icon{font-size:14px;line-height:1;flex-shrink:0;}

/* ── EXPLORE CONTENT AREA ────────────────────── */
.explore-content-area{flex:1;overflow-y:auto;padding:14px 16px;}
.explore-section-title{font-size:9px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;margin-top:14px;}
.explore-section-title:first-child{margin-top:0;}

/* ── SUBCATEGORY ITEMS ───────────────────────── */
.subs-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;}
.sub-item{background:#f9fafb;border:1px solid #e5e7eb;padding:5px 12px;border-radius:7px;font-size:11px;color:#374151;cursor:pointer;transition:all .12s;font-weight:500;font-family:'DM Sans',sans-serif;}
.sub-item:hover{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.05);}

/* ── OPPORTUNITY TYPE ITEMS ──────────────────── */
.opp-types-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:4px;}
.opp-type-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:11px;color:#374151;cursor:pointer;transition:all .12s;font-weight:500;font-family:'DM Sans',sans-serif;}
.opp-type-item:hover{border-color:#10b981;background:#f0fdf4;color:#065f46;}
.opp-type-icon{font-size:13px;line-height:1;}

/* ── TRENDING ITEMS ──────────────────────────── */
.trending-grid{display:flex;flex-wrap:wrap;gap:5px;}
.trending-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:20px;font-size:10.5px;color:#374151;padding:4px 11px;cursor:pointer;transition:all .12s;font-weight:500;font-family:'DM Sans',sans-serif;}
.trending-item:hover{border-color:#10b981;color:#10b981;background:#f0fdf4;}
.trending-item::before{content:'🔥 ';font-size:9px;}

/* ════════════════════════════════════════════════
   DARK MODE OVERRIDES
   ════════════════════════════════════════════════ */
[data-theme="dark"] .topbar{background:#0d1117;border-bottom:1px solid #21262d;}
[data-theme="dark"] .tab{color:var(--tx3);}
[data-theme="dark"] .tab:hover{color:var(--tx1);background:rgba(255,255,255,.05);}
[data-theme="dark"] .tab.active{color:#10b981;background:rgba(16,185,129,.1);}
[data-theme="dark"] .page-h{color:var(--tx1);}
[data-theme="dark"] .page-s{color:var(--tx3);}
[data-theme="dark"] .cnt{color:var(--tx4);}

/* Cards */
[data-theme="dark"] .card{background:var(--surface);border-color:var(--border);}
[data-theme="dark"] .card:hover{border-color:var(--sf3);box-shadow:0 4px 24px rgba(0,0,0,.5);}
[data-theme="dark"] .card.sel{border-color:var(--green);box-shadow:0 4px 24px rgba(16,185,129,.2);}
[data-theme="dark"] .card.hidden-opp{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b,0 2px 14px rgba(245,158,11,.15);}
[data-theme="dark"] .card-name{color:var(--tx1);}
[data-theme="dark"] .img-wrap{background:var(--sf2);}
[data-theme="dark"] .skeleton,[data-theme="dark"] .sk-line{background:linear-gradient(90deg,#21262d 25%,#2d333b 50%,#21262d 75%);background-size:200% 100%;}
[data-theme="dark"] .nv{color:var(--tx1);}
[data-theme="dark"] .nl{color:var(--tx3);}
[data-theme="dark"] .brow{color:var(--tx4);}
[data-theme="dark"] .brow span:last-child{color:var(--tx2);}
[data-theme="dark"] .btrack{background:var(--sf3);}
[data-theme="dark"] .nums{border-top-color:var(--bd2);}
[data-theme="dark"] .potential-row{border-top-color:var(--bd2);}
[data-theme="dark"] .tag{background:var(--sf3);color:var(--tx2);}

/* Search */
[data-theme="dark"] .search-input{background:var(--sf2);border-color:var(--border);color:var(--tx1);}
[data-theme="dark"] .search-input:focus{border-color:#10b981;background:var(--sf2);box-shadow:0 0 0 3px rgba(16,185,129,.08);}
[data-theme="dark"] .search-input::placeholder{color:var(--tx4);}
[data-theme="dark"] .search-btn{background:var(--green);color:#fff;border:none;}
[data-theme="dark"] .search-btn:hover{background:var(--green-d);}
[data-theme="dark"] .explore-btn{background:var(--surface);color:var(--tx2);border-color:var(--border);}
[data-theme="dark"] .explore-btn:hover,[data-theme="dark"] .explore-btn.open{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.06);}
[data-theme="dark"] .search-status{color:var(--tx3);}

/* Suggestions */
[data-theme="dark"] .suggestions-dropdown{background:var(--surface);border-color:var(--border);box-shadow:0 4px 20px rgba(0,0,0,.4);}
[data-theme="dark"] .suggestion-item{color:var(--tx2);}
[data-theme="dark"] .suggestion-item:hover,[data-theme="dark"] .suggestion-item.active{background:rgba(16,185,129,.08);color:#10b981;}

/* Explore panel */
[data-theme="dark"] .explore-panel{background:var(--surface);border-color:var(--border);box-shadow:0 8px 40px rgba(0,0,0,.5);}
[data-theme="dark"] .explore-sidebar{background:var(--navy);border-right-color:var(--border);}
[data-theme="dark"] .niche-item{color:var(--tx3);}
[data-theme="dark"] .niche-item:hover{background:var(--sf2);color:var(--tx2);}
[data-theme="dark"] .niche-item.active{background:rgba(16,185,129,.1);color:#10b981;border-right-color:#10b981;}
[data-theme="dark"] .explore-section-title{color:var(--tx4);}
[data-theme="dark"] .sub-item{background:var(--sf2);border-color:var(--border);color:var(--tx2);}
[data-theme="dark"] .sub-item:hover{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.07);}
[data-theme="dark"] .opp-type-item{background:var(--sf2);border-color:var(--border);color:var(--tx2);}
[data-theme="dark"] .opp-type-item:hover{border-color:#10b981;background:rgba(16,185,129,.07);color:#10b981;}
[data-theme="dark"] .trending-item{background:var(--sf2);border-color:var(--border);color:var(--tx2);}
[data-theme="dark"] .trending-item:hover{border-color:#10b981;color:#10b981;background:rgba(16,185,129,.07);}

/* Rank banner */
[data-theme="dark"] .rank-banner{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.2);}
[data-theme="dark"] .rank-banner-title{color:#10b981;}
[data-theme="dark"] .rank-banner-sub{color:#059669;}

/* Right panel */
[data-theme="dark"] .panel{background:var(--surface);border-color:var(--border);}
[data-theme="dark"] .phead{background:var(--sf2);}
[data-theme="dark"] .flbl{color:var(--tx3);}
[data-theme="dark"] .finput{background:var(--sf2);border-color:var(--border);color:var(--tx1);}
[data-theme="dark"] .finput:focus{border-color:#10b981;background:var(--sf3);}
[data-theme="dark"] .rc.n{background:var(--sf2);border-color:var(--border);}
[data-theme="dark"] .rc.h{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2);}
[data-theme="dark"] .rv{color:var(--tx1);}
[data-theme="dark"] .rl{color:var(--tx3);}
[data-theme="dark"] .bdown{background:var(--sf2);border-color:var(--border);}
[data-theme="dark"] .bdtitle{color:var(--tx4);}
[data-theme="dark"] .bdl{color:var(--tx3);}
[data-theme="dark"] .bdr{border-bottom-color:var(--border);}
[data-theme="dark"] .radar-section{background:var(--sf2);border-color:var(--border);}
[data-theme="dark"] .rdim{background:var(--sf3);border-color:var(--border);}
[data-theme="dark"] .rdim-label{color:var(--tx3);}
[data-theme="dark"] .ai-btn{background:linear-gradient(135deg,#21262d,#2d333b);border:1px solid var(--border);}
[data-theme="dark"] .save-btn{border-color:var(--border);color:var(--tx3);}
[data-theme="dark"] .save-btn:hover:not(:disabled){border-color:#f59e0b;color:#f59e0b;}

/* Hunter */
[data-theme="dark"] .hunter-btn{background:linear-gradient(135deg,#21262d,#2d333b);border:1px solid var(--border);}
[data-theme="dark"] .hunter-log-item{background:var(--sf2);border-color:var(--border);color:var(--tx3);}
[data-theme="dark"] .hunter-log-item.done{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2);color:#10b981;}
[data-theme="dark"] .hunter-log-item.active{background:var(--sf3);border-color:#3d444f;color:var(--tx1);}
[data-theme="dark"] .hunter-bar-wrap{background:var(--sf2);}
[data-theme="dark"] .hunter-title{color:var(--tx1);}
[data-theme="dark"] .hunter-sub{color:var(--tx3);}

/* ML Modal */
[data-theme="dark"] .ml-modal-box{background:var(--surface);}
[data-theme="dark"] .ml-modal-header{border-bottom-color:var(--border);color:var(--tx1);}
[data-theme="dark"] .ml-step{color:var(--tx2);}
[data-theme="dark"] .ml-code-input{background:var(--sf2);border-color:var(--border);color:var(--tx1);}
[data-theme="dark"] .ml-code-input::placeholder{color:var(--tx4);}
[data-theme="dark"] .ml-connect-btn{border-color:var(--border);color:var(--tx3);}

/* Empty state */
[data-theme="dark"] .empty-state{color:var(--tx4);}

/* Badges */
[data-theme="dark"] .opp-badge.green{background:rgba(16,185,129,.15);color:#6ee7b7;}
[data-theme="dark"] .opp-badge.blue{background:rgba(59,130,246,.15);color:#93c5fd;}
[data-theme="dark"] .opp-badge.red{background:rgba(239,68,68,.15);color:#fca5a5;}
[data-theme="dark"] .opp-badge.purple{background:rgba(139,92,246,.15);color:#c4b5fd;}
[data-theme="dark"] .opp-badge.hot{background:rgba(234,88,12,.15);color:#fdba74;}
[data-theme="dark"] .potential-pill.green{background:rgba(16,185,129,.15);color:#6ee7b7;}
[data-theme="dark"] .potential-pill.yellow{background:rgba(251,191,36,.12);color:#fcd34d;}
[data-theme="dark"] .potential-pill.red{background:rgba(239,68,68,.12);color:#fca5a5;}
[data-theme="dark"] .risk-lbl{color:var(--tx4);}

/* ════════════════════════════════════════════════
   THEME TOGGLE BUTTON
   ════════════════════════════════════════════════ */
.theme-toggle{background:transparent;border:1px solid #374151;color:#9ca3af;width:32px;height:32px;border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .15s;flex-shrink:0;padding:0;line-height:1;}
.theme-toggle:hover{border-color:#10b981;color:#10b981;}
[data-theme="dark"] .theme-toggle{border-color:#30363d;color:#8b949e;}
[data-theme="dark"] .theme-toggle:hover{border-color:#10b981;color:#10b981;}

/* ════════════════════════════════════════════════
   LOGIN OVERLAY
   ════════════════════════════════════════════════ */
.login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0a0f1a 0%,#111827 50%,#0d1117 100%);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;}
.login-overlay.hidden{display:none!important;}
@keyframes login-fade-out{to{opacity:0;transform:scale(.97);}}
.login-overlay.fade-out{animation:login-fade-out .4s ease forwards;pointer-events:none;}
.login-card{background:rgba(22,27,34,.97);border:1px solid rgba(48,54,61,.9);border-radius:20px;padding:40px 36px;width:100%;max-width:400px;backdrop-filter:blur(24px);box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04) inset;animation:login-card-in .5s cubic-bezier(.34,1.2,.64,1);}
@keyframes login-card-in{from{opacity:0;transform:translateY(24px) scale(.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.login-logo-wrap{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px;}
.login-title{font-family:'Sora',sans-serif;font-size:22px;font-weight:700;color:#e6edf3;text-align:center;letter-spacing:-.4px;margin-bottom:6px;}
.login-sub{font-size:13px;color:#8b949e;text-align:center;margin-bottom:28px;line-height:1.55;}
.login-form{display:flex;flex-direction:column;gap:14px;}
.login-field{display:flex;flex-direction:column;gap:5px;}
.login-label{font-size:10.5px;font-weight:700;color:#8b949e;letter-spacing:.05em;text-transform:uppercase;}
.login-input{padding:11px 14px;background:rgba(33,38,45,.95);border:1px solid #30363d;border-radius:10px;font-size:14px;font-family:'DM Sans',sans-serif;color:#e6edf3;outline:none;transition:border-color .15s,box-shadow .15s;}
.login-input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.14);}
.login-input::placeholder{color:#656d76;}
.login-err{font-size:12px;color:#f87171;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:8px 12px;text-align:center;}
.login-btn{margin-top:4px;padding:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer;transition:opacity .2s,transform .1s;letter-spacing:.01em;}
.login-btn:hover:not(:disabled){opacity:.88;}
.login-btn:active:not(:disabled){transform:scale(.98);}
.login-btn:disabled{opacity:.5;cursor:not-allowed;}
.login-footer{margin-top:24px;text-align:center;font-size:11px;color:#656d76;}

/* ════════════════════════════════════════════════
   AI ANALYSIS MODAL
   ════════════════════════════════════════════════ */
.ai-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none;}
.ai-modal:not(.hidden){pointer-events:auto;}
.ai-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(5px);opacity:0;transition:opacity .3s;}
.ai-modal.open .ai-modal-overlay{opacity:1;}
.ai-modal-box{position:relative;background:#fff;border-radius:18px;width:100%;max-width:720px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);transform:translateY(20px) scale(.97);opacity:0;transition:transform .35s cubic-bezier(.34,1.2,.64,1),opacity .3s;}
.ai-modal.open .ai-modal-box{transform:translateY(0) scale(1);opacity:1;}
[data-theme="dark"] .ai-modal-box{background:#161b22;box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 0 1px #30363d;}

/* Modal header */
.ai-modal-header{padding:18px 20px 14px;border-bottom:1px solid #f3f4f6;display:flex;align-items:flex-start;gap:14px;flex-shrink:0;}
[data-theme="dark"] .ai-modal-header{border-bottom-color:#30363d;}
.ai-modal-header-inner{display:flex;align-items:center;gap:14px;flex:1;min-width:0;}
.ai-modal-img{width:64px;height:64px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#f3f4f6;display:flex;align-items:center;justify-content:center;}
[data-theme="dark"] .ai-modal-img{background:#21262d;}
.ai-modal-img img{width:100%;height:100%;object-fit:cover;}
.ai-modal-img-placeholder{font-size:28px;}
.ai-modal-header-info{flex:1;min-width:0;}
.ai-modal-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#10b981;margin-bottom:3px;}
.ai-modal-title{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:#111827;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:5px;}
[data-theme="dark"] .ai-modal-title{color:#e6edf3;}
.ai-modal-score-row{display:flex;align-items:center;gap:7px;margin-bottom:5px;}
.ai-modal-score{font-family:'Sora',sans-serif;font-size:22px;font-weight:800;line-height:1;}
.ai-modal-score.excellent{color:#10b981;}
.ai-modal-score.good{color:#fbbf24;}
.ai-modal-score.poor{color:#f87171;}
.ai-modal-stars{font-size:13px;color:#10b981;letter-spacing:1px;}
.ai-modal-potential{font-size:10px;font-weight:600;padding:2px 9px;border-radius:20px;}
.ai-modal-potential.green{background:#d1fae5;color:#065f46;}
.ai-modal-potential.yellow{background:#fef9c3;color:#92400e;}
.ai-modal-potential.red{background:#fee2e2;color:#991b1b;}
[data-theme="dark"] .ai-modal-potential.green{background:rgba(16,185,129,.15);color:#6ee7b7;}
[data-theme="dark"] .ai-modal-potential.yellow{background:rgba(251,191,36,.12);color:#fcd34d;}
[data-theme="dark"] .ai-modal-potential.red{background:rgba(239,68,68,.12);color:#fca5a5;}
.ai-modal-badges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:3px;}
.ai-modal-price-row{font-size:11px;color:#6b7280;display:flex;align-items:center;gap:4px;}
[data-theme="dark"] .ai-modal-price-row{color:#8b949e;}
.ai-modal-price{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;color:#111827;}
[data-theme="dark"] .ai-modal-price{color:#e6edf3;}
.ai-modal-close{background:#f3f4f6;border:none;border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;color:#6b7280;flex-shrink:0;transition:all .15s;align-self:flex-start;}
.ai-modal-close:hover{background:#e5e7eb;color:#111827;}
[data-theme="dark"] .ai-modal-close{background:#21262d;color:#8b949e;}
[data-theme="dark"] .ai-modal-close:hover{background:#30363d;color:#e6edf3;}

/* Modal body */
.ai-modal-body{flex:1;overflow-y:auto;padding:18px 20px 20px;scroll-behavior:smooth;}
.ai-modal-body::-webkit-scrollbar{width:5px;}
.ai-modal-body::-webkit-scrollbar-track{background:transparent;}
.ai-modal-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px;}
[data-theme="dark"] .ai-modal-body::-webkit-scrollbar-thumb{background:#30363d;}

/* Radar inside modal */
.ai-modal-radar{background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;padding:12px 14px;margin-bottom:14px;}
[data-theme="dark"] .ai-modal-radar{background:#21262d;border-color:#30363d;}
.ai-modal-radar-title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;margin-bottom:8px;}

/* Loading */
.ai-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:14px;}
.ai-modal-loading.hidden{display:none;}
.ai-modal-spinner{width:40px;height:40px;border:3px solid rgba(16,185,129,.18);border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.ai-modal-loading-text{font-size:13px;color:#374151;font-weight:600;}
[data-theme="dark"] .ai-modal-loading-text{color:#c9d1d9;}
.ai-modal-loading-sub{font-size:11px;color:#9ca3af;}

/* AI Section cards */
.ai-section-card{background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;overflow:hidden;margin-bottom:10px;}
[data-theme="dark"] .ai-section-card{background:#21262d;border-color:#30363d;}
.ai-section-card-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #f3f4f6;border-left:3px solid;}
[data-theme="dark"] .ai-section-card-header{border-bottom-color:#30363d;}
.ai-section-card-icon{font-size:14px;flex-shrink:0;}
.ai-section-card-title{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;color:#111827;letter-spacing:-.2px;}
[data-theme="dark"] .ai-section-card-title{color:#e6edf3;}
.ai-section-card-body{padding:11px 14px;}
.ai-section-card-body p{font-size:12.5px;line-height:1.75;color:#374151;margin-bottom:5px;}
.ai-section-card-body p:last-child{margin-bottom:0;}
[data-theme="dark"] .ai-section-card-body p{color:#c9d1d9;}

/* Nota final card */
.ai-nota-card{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(16,185,129,.03));border:1px solid rgba(16,185,129,.25);border-radius:12px;padding:18px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;}
[data-theme="dark"] .ai-nota-card{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.2);}
.ai-nota-icon{font-size:20px;flex-shrink:0;margin-top:2px;}
.ai-nota-content p{font-size:12.5px;line-height:1.75;color:#374151;margin-bottom:5px;}
[data-theme="dark"] .ai-nota-content p{color:#c9d1d9;}
.ai-nota-score{font-family:'Sora',sans-serif;font-size:26px;font-weight:800;color:#10b981;margin-bottom:4px;line-height:1;}
.ai-modal-error{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.2);border-radius:10px;padding:14px 16px;font-size:12px;color:#ef4444;}
.ai-modal-raw{font-size:12px;line-height:1.75;color:#374151;white-space:pre-wrap;}
[data-theme="dark"] .ai-modal-raw{color:#c9d1d9;}

/* ════════════════════════════════════════════════
   ENGINE SELECTOR
   ════════════════════════════════════════════════ */
.engine-selector{margin-bottom:8px;}
.engine-lbl{font-size:9px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;}
[data-theme="dark"] .engine-lbl{color:#656d76;}
.engine-btns{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px;}
.engine-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 6px;border-radius:9px;border:1.5px solid #e5e7eb;background:#f9fafb;cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;text-align:center;}
.engine-btn:hover{border-color:#10b981;background:#f0fdf4;}
.engine-btn.active{border-color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(16,185,129,.04));}
.engine-icon{font-size:17px;line-height:1;margin-bottom:2px;}
.engine-name{font-size:11px;font-weight:700;color:#111827;line-height:1.2;}
.engine-sub{font-size:8px;color:#9ca3af;line-height:1.3;}
.engine-btn.active .engine-name{color:#065f46;}
.engine-btn.active .engine-sub{color:#10b981;}
.engine-btn[data-engine="sourcing"].active{border-color:#8b5cf6;background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(139,92,246,.03));}
.engine-btn[data-engine="sourcing"].active .engine-name{color:#5b21b6;}
.engine-btn[data-engine="sourcing"].active .engine-sub{color:#8b5cf6;}
.engine-btn[data-engine="sourcing"]:hover{border-color:#8b5cf6;background:rgba(139,92,246,.05);}
.engine-hint{font-size:10px;color:#10b981;font-weight:500;min-height:14px;line-height:1.4;padding:0 1px;}
.engine-hint.sourcing{color:#8b5cf6;}
/* Dark mode engine */
[data-theme="dark"] .engine-btn{background:var(--sf2);border-color:var(--border);}
[data-theme="dark"] .engine-btn:hover{border-color:#10b981;background:rgba(16,185,129,.08);}
[data-theme="dark"] .engine-btn.active{border-color:#10b981;background:rgba(16,185,129,.07);}
[data-theme="dark"] .engine-name{color:var(--tx1);}
[data-theme="dark"] .engine-sub{color:var(--tx4);}
[data-theme="dark"] .engine-btn.active .engine-name{color:#6ee7b7;}
[data-theme="dark"] .engine-btn.active .engine-sub{color:#10b981;}
[data-theme="dark"] .engine-btn[data-engine="sourcing"].active{border-color:#8b5cf6;background:rgba(139,92,246,.08);}
[data-theme="dark"] .engine-btn[data-engine="sourcing"].active .engine-name{color:#c4b5fd;}
[data-theme="dark"] .engine-btn[data-engine="sourcing"].active .engine-sub{color:#8b5cf6;}

/* Engine badge in modal header */
.ai-engine-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:20px;margin-bottom:3px;}
.ai-engine-badge.market{background:rgba(16,185,129,.12);color:#059669;}
.ai-engine-badge.sourcing{background:rgba(139,92,246,.12);color:#7c3aed;}
[data-theme="dark"] .ai-engine-badge.market{background:rgba(16,185,129,.15);color:#6ee7b7;}
[data-theme="dark"] .ai-engine-badge.sourcing{background:rgba(139,92,246,.15);color:#c4b5fd;}

/* ═══════════════════════════════════════════════
   BRAZIL ADAPTATION ENGINE
   ═══════════════════════════════════════════════ */
.brazil-adapt-section{margin-top:8px;}

/* — Trigger button — */
.brazil-adapt-btn{
  width:100%;display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;
  border:1.5px solid #fcd34d;
  background:linear-gradient(135deg,#fffbeb,#fff7ed);
  cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:all .18s;position:relative;overflow:hidden;
  text-align:left;
}
.brazil-adapt-btn:hover{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fffbeb);transform:translateY(-1px);box-shadow:0 3px 8px rgba(245,158,11,.15);}
.brazil-adapt-btn:active{transform:translateY(0);}
.brazil-adapt-btn.loading{opacity:.65;pointer-events:none;}
.ba-flag{font-size:20px;flex-shrink:0;line-height:1;}
.ba-btn-text{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0;}
.ba-btn-title{font-size:11.5px;font-weight:700;color:#92400e;line-height:1.2;}
.ba-btn-sub{font-size:9px;color:#b45309;line-height:1.3;margin-top:1px;}
.ba-chinese-badge{
  flex-shrink:0;background:#ef4444;color:#fff;
  font-size:7.5px;font-weight:800;padding:2px 5px;
  border-radius:4px;letter-spacing:.06em;
}

/* — Results panel — */
.brazil-adapt-results{
  margin-top:6px;border:1.5px solid #fed7aa;
  border-radius:10px;overflow:hidden;background:#fff;
}

/* Header (dark blue gradient) */
.ba-header{
  background:linear-gradient(135deg,#1e3a5f 0%,#1a4a6b 100%);
  padding:12px 12px 10px;
}
.ba-header-flag{
  font-size:9px;font-weight:800;color:rgba(255,255,255,.55);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;
}
.ba-translated-name{
  font-size:13px;font-weight:700;color:#fff;
  line-height:1.3;margin-bottom:10px;
}
.ba-original-name{
  font-size:9px;color:rgba(255,255,255,.45);margin-bottom:10px;
  margin-top:-8px;font-style:italic;
}

/* Score row */
.ba-score-row{display:flex;align-items:center;gap:10px;}
.ba-score-num{
  font-size:26px;font-weight:800;font-family:'Sora',sans-serif;
  color:#fff;line-height:1;flex-shrink:0;
}
.ba-score-right{flex:1;min-width:0;}
.ba-score-label{
  font-size:8px;font-weight:800;color:rgba(255,255,255,.6);
  text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px;
}
.ba-fit-bar{height:5px;background:rgba(255,255,255,.18);border-radius:5px;overflow:hidden;margin-bottom:5px;}
.ba-fit-fill{height:100%;border-radius:5px;transition:width .6s cubic-bezier(.4,0,.2,1);}
.ba-fit-badge{
  display:inline-flex;align-items:center;
  font-size:8px;font-weight:700;padding:2px 8px;
  border-radius:20px;letter-spacing:.04em;white-space:nowrap;
}
.ba-fit-badge.high{background:rgba(16,185,129,.3);color:#6ee7b7;}
.ba-fit-badge.mid{background:rgba(251,191,36,.3);color:#fde68a;}
.ba-fit-badge.low{background:rgba(239,68,68,.3);color:#fca5a5;}

/* Body */
.ba-body{padding:10px 12px;display:flex;flex-direction:column;gap:9px;}
.ba-section-title{
  font-size:8.5px;font-weight:700;color:#9ca3af;
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;
}
.ba-text{font-size:10.5px;color:#374151;line-height:1.55;}

/* Info grid */
.ba-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.ba-info-item{background:#f9fafb;border-radius:7px;padding:6px 8px;}
.ba-info-item.full{grid-column:1/-1;}
.ba-info-label{font-size:8px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;}
.ba-info-value{font-size:10px;font-weight:600;color:#111827;line-height:1.35;}
.ba-info-value.green{color:#059669;}
.ba-info-value.tiktok-alto{color:#ec4899;}
.ba-info-value.tiktok-medio{color:#f59e0b;}
.ba-info-value.tiktok-baixo{color:#6b7280;}

/* Fit/risk points */
.ba-points{display:flex;flex-direction:column;gap:4px;}
.ba-point{display:flex;align-items:flex-start;gap:5px;font-size:10px;line-height:1.45;color:#374151;}
.ba-point-icon{flex-shrink:0;font-size:9px;margin-top:1px;}
.ba-point.risk .ba-point-icon{filter:none;}

/* Keyword chips */
.ba-keyword-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px;}
.ba-keyword-chip{
  font-size:9px;font-weight:600;padding:2px 8px;
  border-radius:5px;background:#dbeafe;color:#1d4ed8;
  border:1px solid #bfdbfe;
}

/* Dark mode */
[data-theme="dark"] .brazil-adapt-btn{
  background:linear-gradient(135deg,#251900,#1a1000);
  border-color:#78350f;
}
[data-theme="dark"] .brazil-adapt-btn:hover{
  border-color:#d97706;
  background:linear-gradient(135deg,#2d1f00,#251400);
}
[data-theme="dark"] .ba-btn-title{color:#fcd34d;}
[data-theme="dark"] .ba-btn-sub{color:#d97706;}
[data-theme="dark"] .brazil-adapt-results{background:var(--surface);border-color:#44300a;}
[data-theme="dark"] .ba-info-item{background:var(--sf2);}
[data-theme="dark"] .ba-info-label{color:var(--tx4);}
[data-theme="dark"] .ba-info-value{color:var(--tx1);}
[data-theme="dark"] .ba-text{color:var(--tx2);}
[data-theme="dark"] .ba-point{color:var(--tx2);}
[data-theme="dark"] .ba-section-title{color:var(--tx4);}
[data-theme="dark"] .ba-keyword-chip{background:#1e2d4a;color:#93c5fd;border-color:#1d4ed8;}
[data-theme="dark"] .ba-fit-bar{background:rgba(255,255,255,.12);}

/* ═══════════════════════════════════════════════
   CHINA OPPORTUNITY ENGINE — panel section
   ═══════════════════════════════════════════════ */
.china-opp-section{
  border:1.5px solid #fecaca;border-radius:11px;
  overflow:hidden;margin-bottom:2px;
}

/* Header */
.co-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 12px 8px;
  background:linear-gradient(135deg,#0f172a 0%,#1e1a2e 100%);
}
.co-header-left{display:flex;align-items:center;gap:7px;}
.co-flag{font-size:17px;line-height:1;flex-shrink:0;}
.co-title{font-size:11px;font-weight:700;color:rgba(255,255,255,.85);letter-spacing:-.01em;}
.co-score-wrap{display:flex;align-items:baseline;gap:1px;}
.co-score-val{
  font-size:22px;font-weight:800;font-family:'Sora',sans-serif;
  color:#f87171;line-height:1;transition:color .3s;
}
.co-score-lbl{font-size:9px;color:rgba(255,255,255,.35);font-weight:600;margin-left:1px;}

/* Score bar */
.co-bar-track{height:3px;background:rgba(255,255,255,.08);}
.co-bar-fill{height:100%;background:#ef4444;transition:width .55s cubic-bezier(.4,0,.2,1);}

/* Metrics 2×3 grid */
.co-metrics-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1px;background:var(--border);
  border-top:1px solid var(--border);
}
.co-metric{background:var(--surface);padding:8px 11px;}
.co-metric-val{
  font-size:14px;font-weight:800;color:var(--tx1);
  font-family:'Sora',sans-serif;line-height:1.1;
}
.co-metric-lbl{
  font-size:7.5px;font-weight:700;color:var(--tx4);
  text-transform:uppercase;letter-spacing:.06em;margin-top:2px;
}
.co-hot .co-metric-val{color:#ef4444;}
.co-green .co-metric-val{color:#059669;}
.co-accent .co-metric-val{color:#10b981;}

/* Extras row */
.co-extras{
  display:flex;align-items:center;gap:10px;
  padding:7px 11px;
  background:var(--sf2);border-top:1px solid var(--border);
}
.co-extra-item{display:flex;align-items:center;gap:5px;}
.co-extra-sep{width:1px;height:14px;background:var(--border);}
.co-extra-lbl{
  font-size:8px;font-weight:700;color:var(--tx4);
  text-transform:uppercase;letter-spacing:.05em;
}
.co-extra-val{font-size:10.5px;font-weight:700;color:var(--tx2);}
.co-extra-val.high{color:#10b981;}
.co-extra-val.mid{color:#f59e0b;}
.co-extra-val.low{color:#ef4444;}

/* Badges row */
.co-badges-row{
  display:flex;flex-wrap:wrap;gap:4px;
  padding:7px 10px;
  background:var(--surface);border-top:1px solid var(--border);
}
.co-badge{
  font-size:9px;font-weight:700;
  padding:2px 8px;border-radius:20px;border:1px solid;
}
.co-badge.china-hot{background:rgba(239,68,68,.08);color:#dc2626;border-color:rgba(239,68,68,.25);}
.co-badge.china-gem{background:rgba(251,191,36,.1);color:#92400e;border-color:rgba(251,191,36,.35);}
.co-badge.china-pl{background:rgba(139,92,246,.08);color:#6d28d9;border-color:rgba(139,92,246,.25);}
.co-badge.china-margin{background:rgba(16,185,129,.08);color:#059669;border-color:rgba(16,185,129,.25);}
.co-badge.china-opp{background:rgba(59,130,246,.08);color:#1d4ed8;border-color:rgba(59,130,246,.25);}
.co-badge.china-trend{background:rgba(236,72,153,.08);color:#be185d;border-color:rgba(236,72,153,.25);}
.co-badge.china-niche{background:rgba(107,114,128,.08);color:#374151;border-color:rgba(107,114,128,.2);}

/* Card China indicator (small row below badges on card) */
.china-card-row{margin-top:4px;display:flex;align-items:center;gap:5px;}
.china-card-pill{
  font-size:8px;font-weight:700;
  padding:2px 6px;border-radius:5px;
  background:rgba(239,68,68,.08);color:#dc2626;
  border:1px solid rgba(239,68,68,.2);
  white-space:nowrap;
}
.china-card-info{font-size:8px;color:var(--tx4);font-weight:500;white-space:nowrap;}

/* Dark mode */
[data-theme="dark"] .china-opp-section{border-color:#3f1515;}
[data-theme="dark"] .co-metric{background:var(--surface);}
[data-theme="dark"] .co-metrics-grid{background:var(--border);}
[data-theme="dark"] .co-extras{background:var(--sf2);}
[data-theme="dark"] .co-badge.china-niche{background:rgba(107,114,128,.15);color:#9ca3af;border-color:rgba(107,114,128,.3);}

/* ═══════════════════════════════════════════════
   SUPPLIER INTELLIGENCE ENGINE — panel button
   ═══════════════════════════════════════════════ */
.supplier-intel-section{margin-top:8px;}
.supplier-intel-btn{
  width:100%;display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;
  border:1.5px solid #334155;
  background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);
  cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:all .18s;text-align:left;
}
.supplier-intel-btn:hover{
  border-color:#60a5fa;
  box-shadow:0 3px 12px rgba(96,165,250,.2);
  transform:translateY(-1px);
}
.supplier-intel-btn:active{transform:translateY(0);}
.si-btn-icon{font-size:18px;flex-shrink:0;}
.si-btn-text{display:flex;flex-direction:column;flex:1;min-width:0;}
.si-btn-title{font-size:11.5px;font-weight:700;color:#f1f5f9;line-height:1.2;}
.si-btn-sub{font-size:9px;color:#64748b;margin-top:1px;}
.si-btn-arrow{font-size:14px;color:#475569;font-weight:700;flex-shrink:0;transition:color .15s,transform .15s;}
.supplier-intel-btn:hover .si-btn-arrow{color:#60a5fa;transform:translateX(2px);}
[data-theme="dark"] .supplier-intel-btn{border-color:#1e293b;}
[data-theme="dark"] .supplier-intel-btn:hover{border-color:#60a5fa;}

/* ═══════════════════════════════════════════════
   SUPPLIER INTELLIGENCE MODAL
   ═══════════════════════════════════════════════ */
.supplier-modal{
  position:fixed;inset:0;z-index:1010;
  display:flex;align-items:flex-end;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .3s;
}
.supplier-modal:not(.hidden){pointer-events:auto;}
.supplier-modal.open{opacity:1;}

.si-modal-overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(5px);
}
.si-modal-box{
  position:relative;z-index:1;
  width:100%;max-width:720px;
  max-height:93vh;
  display:flex;flex-direction:column;
  background:var(--surface);
  border-radius:20px 20px 0 0;
  overflow:hidden;
  transform:translateY(50px);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:0 -12px 50px rgba(0,0,0,.35);
}
.supplier-modal.open .si-modal-box{transform:translateY(0);}

/* ── Modal Header ── */
.si-modal-header{
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  padding:16px 16px 12px;
  flex-shrink:0;position:relative;
}
.si-modal-header-inner{display:flex;gap:12px;align-items:flex-start;}
.si-modal-img{
  width:54px;height:54px;border-radius:10px;
  overflow:hidden;flex-shrink:0;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
}
.si-modal-img img{width:100%;height:100%;object-fit:cover;}
.si-modal-img-placeholder{font-size:24px;line-height:1;}
.si-modal-header-info{flex:1;min-width:0;}
.si-modal-label{
  font-size:9px;font-weight:800;
  color:rgba(255,255,255,.45);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;
}
.si-modal-title{
  font-size:13px;font-weight:700;color:#fff;
  line-height:1.3;margin-bottom:4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.si-modal-price{font-size:11px;color:rgba(255,255,255,.55);}
.si-modal-close{
  position:absolute;top:12px;right:12px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  width:28px;height:28px;border-radius:50%;
  color:rgba(255,255,255,.8);font-size:12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;flex-shrink:0;
}
.si-modal-close:hover{background:rgba(255,255,255,.2);}

/* ── Scores Strip ── */
.si-scores-strip{
  background:linear-gradient(135deg,#1a2744 0%,#0f172a 100%);
  border-top:1px solid rgba(255,255,255,.06);
  padding:10px 16px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;
  flex-shrink:0;
}
.si-score-item{display:flex;flex-direction:column;gap:3px;}
.si-score-header{display:flex;align-items:center;gap:5px;}
.si-score-icon{font-size:10px;flex-shrink:0;}
.si-score-label{
  font-size:7.5px;color:rgba(255,255,255,.45);
  font-weight:700;flex:1;text-transform:uppercase;letter-spacing:.05em;
}
.si-score-num{
  font-size:13px;font-weight:800;
  font-family:'Sora',sans-serif;line-height:1;
}
.si-score-bar{
  height:3px;background:rgba(255,255,255,.1);
  border-radius:3px;overflow:hidden;
}
.si-score-fill{height:100%;border-radius:3px;transition:width .6s ease;}
.si-score-tag{font-size:7.5px;color:rgba(255,255,255,.4);margin-top:1px;}

/* ── Modal Body ── */
.si-modal-body{overflow-y:auto;flex:1;scroll-behavior:smooth;}
.si-body-inner{padding:14px 16px 20px;display:flex;flex-direction:column;gap:14px;}

/* ── Section Titles ── */
.si-section-title{
  font-size:9px;font-weight:800;color:var(--tx4);
  text-transform:uppercase;letter-spacing:.09em;
  margin-bottom:8px;
}

/* ── Badges ── */
.si-badges-row{display:flex;flex-wrap:wrap;gap:5px;}
.si-badge{
  font-size:9.5px;font-weight:700;padding:4px 10px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(16,185,129,.06));
  color:#059669;border:1px solid rgba(16,185,129,.25);
}
[data-theme="dark"] .si-badge{background:rgba(16,185,129,.12);color:#6ee7b7;border-color:rgba(16,185,129,.2);}

/* ── Landed Cost Box ── */
.si-landed-cost{
  background:linear-gradient(135deg,rgba(16,185,129,.05),rgba(16,185,129,.02));
  border:1.5px solid rgba(16,185,129,.25);
  border-radius:11px;padding:10px 12px;
}
.si-landed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:7px;}
.si-landed-item{
  background:var(--surface);border-radius:8px;
  padding:7px 9px;border:1px solid var(--border);
}
.si-landed-label{
  font-size:8px;font-weight:700;color:var(--tx4);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;
}
.si-landed-value{font-size:11.5px;font-weight:700;color:var(--tx1);}
.si-landed-value.green{color:#059669;}
[data-theme="dark"] .si-landed-cost{background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.2);}
[data-theme="dark"] .si-landed-item{background:var(--sf2);border-color:var(--border);}

/* ── Search term pill ── */
.si-search-terms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;}
.si-search-pill{
  display:flex;align-items:center;gap:5px;
  padding:4px 8px 4px 6px;border-radius:7px;
  background:var(--sf2);border:1px solid var(--border);
  font-size:9.5px;
}
.si-search-pill-flag{font-size:12px;}
.si-search-pill-lang{font-size:7.5px;font-weight:700;color:var(--tx4);text-transform:uppercase;}
.si-search-pill-term{font-size:10px;font-weight:600;color:var(--tx1);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── Platform Cards Grid ── */
.si-platforms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.si-platform-card{
  border:1.5px solid var(--border);border-radius:11px;
  overflow:hidden;background:var(--surface);
  display:flex;flex-direction:column;
  transition:box-shadow .18s,transform .18s;
}
.si-platform-card:hover{
  box-shadow:0 4px 16px rgba(0,0,0,.12);
  transform:translateY(-2px);
}
.si-platform-header{
  padding:10px 10px 6px;
  display:flex;gap:8px;align-items:center;
  border-top:3px solid currentColor;
}
.si-platform-icon{font-size:18px;flex-shrink:0;}
.si-platform-name{font-size:11.5px;font-weight:700;color:var(--tx1);line-height:1.2;}
.si-platform-tag{font-size:8px;color:var(--tx4);font-weight:500;margin-top:1px;}
.si-platform-body{padding:0 10px 8px;flex:1;display:flex;flex-direction:column;gap:3px;}
.si-platform-price-row{display:flex;align-items:baseline;justify-content:space-between;}
.si-platform-price-label{font-size:7.5px;color:var(--tx4);font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.si-platform-price-val{font-size:11px;font-weight:800;color:#059669;}
.si-platform-moq{font-size:9px;color:var(--tx3);font-weight:500;}
.si-platform-note{font-size:8.5px;color:var(--tx4);line-height:1.4;font-style:italic;margin-top:2px;}
.si-platform-btn{
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:9px 10px;
  background:var(--si-btn-color,#334155);
  color:#fff;font-size:10px;font-weight:700;
  text-decoration:none;letter-spacing:.03em;
  transition:filter .15s;
}
.si-platform-btn:hover{filter:brightness(1.15);}
.si-platform-btn svg{flex-shrink:0;}

/* ── Analysis Cards ── */
.si-analysis{display:flex;flex-direction:column;gap:7px;}
.si-analysis-card{
  border:1.5px solid var(--border);border-radius:10px;
  padding:10px 12px;background:var(--surface);
}
.si-analysis-card.risk{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.03);}
.si-analysis-card.highlight{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.03);}
.si-analysis-card-title{
  font-size:9px;font-weight:800;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;
}
.si-analysis-card-body{font-size:11px;color:var(--tx2);line-height:1.6;}
[data-theme="dark"] .si-analysis-card.risk{background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.25);}
[data-theme="dark"] .si-analysis-card.highlight{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.2);}

/* ── Recommendations ── */
.si-recs{display:flex;flex-direction:column;gap:6px;}
.si-rec{
  display:flex;align-items:flex-start;gap:8px;
  font-size:11px;line-height:1.5;color:#166534;
}
.si-rec-dot{
  width:6px;height:6px;border-radius:50%;
  background:#10b981;flex-shrink:0;margin-top:4px;
}
[data-theme="dark"] .si-rec{color:#6ee7b7;}

/* ── Loading state ── */
.si-loading{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;padding:56px 20px;gap:14px;
}
.si-spinner{
  width:38px;height:38px;border-radius:50%;
  border:3px solid var(--border);
  border-top-color:#3b82f6;
  animation:spin .75s linear infinite;
}
.si-loading-text{font-size:13px;font-weight:600;color:var(--tx2);}
.si-loading-sub{font-size:10.5px;color:var(--tx4);}
.si-error{padding:20px;font-size:11.5px;color:#ef4444;text-align:center;line-height:1.5;}

/* ═══════════════════════════════════════════════
   TREND GAP INTELLIGENCE ENGINE
   ═══════════════════════════════════════════════ */
.trend-gap-section{
  margin:10px 0;border-radius:14px;overflow:hidden;
  border:1.5px solid rgba(139,92,246,.3);
  box-shadow:0 0 18px rgba(139,92,246,.08);
}
.tg-header{
  background:linear-gradient(135deg,#1e0a3c 0%,#2d1659 40%,#1a0a2e 100%);
  padding:12px 14px 10px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.tg-header-left{display:flex;align-items:center;gap:10px;}
.tg-icon{font-size:20px;flex-shrink:0;}
.tg-title-block{display:flex;flex-direction:column;}
.tg-title{
  font-size:12px;font-weight:800;color:#e9d5ff;
  letter-spacing:.02em;line-height:1.2;
}
.tg-sub{font-size:8.5px;color:rgba(233,213,255,.45);margin-top:1px;font-weight:500;}
.tg-score-wrap{
  display:flex;align-items:baseline;gap:2px;
  background:rgba(139,92,246,.2);border:1px solid rgba(139,92,246,.35);
  border-radius:10px;padding:4px 9px;flex-shrink:0;
}
.tg-score-val{
  font-size:20px;font-weight:800;color:#c4b5fd;
  font-family:'Sora',sans-serif;line-height:1;
}
.tg-score-lbl{font-size:9px;color:rgba(196,181,253,.5);font-weight:700;}

/* Score bar */
.tg-bar-track{
  height:4px;background:rgba(139,92,246,.12);
}
.tg-bar-fill{
  height:100%;
  background:linear-gradient(90deg,#7c3aed,#a855f7,#c084fc);
  transition:width .7s cubic-bezier(.4,0,.2,1);
}

/* Dimension bars */
.tg-dims{
  background:linear-gradient(180deg,#130526 0%,#0f172a 100%);
  padding:10px 14px;display:flex;flex-direction:column;gap:7px;
}
.tg-dim{display:flex;flex-direction:column;gap:4px;}
.tg-dim-header{display:flex;align-items:center;gap:6px;}
.tg-dim-icon{font-size:11px;flex-shrink:0;}
.tg-dim-label{
  font-size:9px;font-weight:700;color:rgba(255,255,255,.45);
  text-transform:uppercase;letter-spacing:.05em;flex:1;
}
.tg-dim-val{
  font-size:11px;font-weight:800;color:#c4b5fd;
  font-family:'Sora',sans-serif;
}
.tg-dim-val.tg-inv{color:#fbbf24;}
.tg-dim-bar-track{
  height:3px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;
}
.tg-dim-bar-fill{
  height:100%;border-radius:3px;transition:width .6s ease;
}
.tg-red{background:linear-gradient(90deg,#dc2626,#f87171);}
.tg-yellow{background:linear-gradient(90deg,#d97706,#fbbf24);}
.tg-pink{background:linear-gradient(90deg,#db2777,#f472b6);}
.tg-purple{background:linear-gradient(90deg,#7c3aed,#c084fc);}

/* Timing window */
.tg-window{
  background:rgba(139,92,246,.07);
  border-top:1px solid rgba(139,92,246,.12);
  padding:8px 14px;
  font-size:10px;color:rgba(196,181,253,.7);
  font-weight:600;letter-spacing:.01em;
  display:none;
}
.tg-window.visible{display:block;}
.tg-window strong{color:#c4b5fd;}

/* Badges row */
.tg-badges-row{
  background:rgba(139,92,246,.04);
  border-top:1px solid rgba(139,92,246,.1);
  padding:8px 12px;
  display:flex;flex-wrap:wrap;gap:5px;
  min-height:0;
}
.tg-badges-row:empty{display:none;}

/* Badge types */
.tg-badge{
  font-size:9px;font-weight:800;padding:3px 9px;
  border-radius:20px;border:1px solid transparent;
  letter-spacing:.03em;
}
.tg-badge.emerging{
  background:rgba(167,139,250,.15);color:#a78bfa;
  border-color:rgba(167,139,250,.3);
}
.tg-badge.china-viral{
  background:rgba(220,38,38,.12);color:#f87171;
  border-color:rgba(220,38,38,.25);
}
.tg-badge.tiktok-grow{
  background:rgba(219,39,119,.12);color:#f472b6;
  border-color:rgba(219,39,119,.25);
}
.tg-badge.hidden-gem{
  background:rgba(16,185,129,.1);color:#34d399;
  border-color:rgba(16,185,129,.25);
}
.tg-badge.early-opp{
  background:rgba(245,158,11,.1);color:#fbbf24;
  border-color:rgba(245,158,11,.25);
}
.tg-badge.exploding{
  background:rgba(239,68,68,.15);color:#ef4444;
  border-color:rgba(239,68,68,.3);
}
.tg-badge.low-sat{
  background:rgba(59,130,246,.1);color:#60a5fa;
  border-color:rgba(59,130,246,.25);
}

/* ── TREND TIMELINE (Fase 1.6) ──────────────────────────────── */
.trend-timeline-section{
  margin-top:16px;padding:12px 14px;
  background:rgba(139,92,246,.06);
  border:1px solid rgba(139,92,246,.15);
  border-radius:10px;
}
.tt-header{
  display:flex;align-items:center;gap:8px;
  margin-bottom:10px;
}
.tt-icon{font-size:14px;}
.tt-title{
  font-size:11px;font-weight:600;
  color:#c4b5fd;letter-spacing:.04em;text-transform:uppercase;
  flex:1;
}
.tt-badge{
  font-size:10px;font-weight:600;padding:2px 8px;
  border-radius:20px;border:1px solid transparent;
}
.tt-badge.emerging  {background:rgba(16,185,129,.12);color:#34d399;border-color:rgba(16,185,129,.25);}
.tt-badge.growing   {background:rgba(59,130,246,.12);color:#60a5fa;border-color:rgba(59,130,246,.25);}
.tt-badge.stable    {background:rgba(107,114,128,.12);color:#9ca3af;border-color:rgba(107,114,128,.25);}
.tt-badge.saturating{background:rgba(245,158,11,.12);color:#fbbf24;border-color:rgba(245,158,11,.25);}
.tt-badge.cooling   {background:rgba(239,68,68,.12);color:#f87171;border-color:rgba(239,68,68,.25);}
.tt-badge.new,.tt-badge.unknown{background:rgba(107,114,128,.08);color:#6b7280;border-color:rgba(107,114,128,.15);}
.trend-chart{
  width:100%;height:72px;position:relative;
  background:rgba(0,0,0,.15);border-radius:6px;overflow:hidden;
}
.sparkline{display:block;width:100%;height:100%;}
.sparkline-line{
  fill:none;stroke:#8b5cf6;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;
}
.sparkline-area{fill:url(#spark-grad);opacity:.25;}
.tt-loading,.tt-empty{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:11px;color:#6b7280;
}
.tt-meta-row{
  display:flex;gap:12px;margin-top:6px;
}
.tt-meta{font-size:10px;color:#6b7280;}

/* Metric selector tabs (F15) */
.tt-metric-tabs{
  display:flex;gap:4px;margin-bottom:8px;
}
.tt-tab{
  background:none;border:1px solid rgba(139,92,246,.2);border-radius:4px;
  color:#6b7280;cursor:pointer;font-size:10px;font-weight:500;
  padding:3px 9px;transition:all .15s;
}
.tt-tab:hover{border-color:rgba(139,92,246,.5);color:#c4b5fd;}
.tt-tab.active{
  background:rgba(139,92,246,.18);border-color:rgba(139,92,246,.5);color:#a78bfa;
}
/* Value annotation row below chart */
.tt-val-row{
  display:flex;justify-content:space-between;
  padding:3px 4px 0;font-size:10px;color:#6b7280;
}
.tt-val-row .tt-val-start{color:#4b5563;}
.tt-val-row .tt-val-end{font-weight:600;color:#a78bfa;}

/* Card integration */
.trendgap-card-row{
  display:flex;align-items:center;gap:6px;
  margin-top:4px;padding-top:4px;
  border-top:1px solid rgba(139,92,246,.15);
}
.trendgap-pill{
  font-size:8.5px;font-weight:800;
  padding:2px 8px;border-radius:20px;
  background:rgba(139,92,246,.15);color:#a78bfa;
  border:1px solid rgba(139,92,246,.25);
  white-space:nowrap;
}
.trendgap-card-info{
  font-size:8px;color:var(--tx4);font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ═══════════════════════════════════════════════
   AI GLOBAL HUNT BUTTON
   ═══════════════════════════════════════════════ */
.ai-hunt-btn{
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:6px;
  padding:6px 14px 6px 10px;border-radius:8px;
  background:linear-gradient(135deg,#1a0a3c 0%,#2d1270 40%,#0c1a3a 100%);
  border:1px solid rgba(139,92,246,.5);
  color:#e9d5ff;font-size:11px;font-weight:700;
  font-family:'DM Sans',sans-serif;cursor:pointer;
  white-space:nowrap;letter-spacing:.01em;
  box-shadow:0 0 12px rgba(139,92,246,.25),0 2px 6px rgba(0,0,0,.3);
  transition:box-shadow .25s,transform .15s,border-color .25s;
}
.ai-hunt-btn:hover{
  box-shadow:0 0 22px rgba(139,92,246,.5),0 4px 14px rgba(0,0,0,.35);
  border-color:rgba(139,92,246,.8);
  transform:translateY(-1px);
}
.ai-hunt-btn:active{transform:translateY(0);}
.ai-hunt-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.ai-hunt-icon{font-size:14px;}
.ai-hunt-label{position:relative;z-index:1;}
.ai-hunt-pulse{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:6px;height:6px;border-radius:50%;
  background:#a855f7;
  box-shadow:0 0 0 0 rgba(168,85,247,.6);
  animation:ah-pulse 1.8s ease-out infinite;
}
@keyframes ah-pulse{
  0%{box-shadow:0 0 0 0 rgba(168,85,247,.6);}
  70%{box-shadow:0 0 0 8px rgba(168,85,247,0);}
  100%{box-shadow:0 0 0 0 rgba(168,85,247,0);}
}

/* ═══════════════════════════════════════════════
   AI HUNT OVERLAY — FULL SCREEN
   ═══════════════════════════════════════════════ */
.ai-hunt-overlay{
  position:fixed;inset:0;z-index:2000;
  background:#030712;
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;
  transition:opacity .4s ease;
}
.ai-hunt-overlay:not(.hidden){pointer-events:auto;}
.ai-hunt-overlay.open{opacity:1;}

.ah-phase{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;
  transition:opacity .5s ease,transform .5s ease;
}
.ah-phase.hidden{opacity:0;pointer-events:none;transform:translateY(20px);}

/* ── PHASE 1: HUNT ── */
#ah-phase-hunt{
  background:radial-gradient(ellipse at 50% 30%,#1a0a4a 0%,#0a0420 50%,#030712 100%);
  padding:40px 24px 24px;
  justify-content:center;
}

/* Cosmos animation */
.ah-cosmos{
  position:absolute;top:0;left:0;right:0;height:50%;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;overflow:hidden;
}
.ah-stars{
  position:absolute;inset:0;
  background-image:
    radial-gradient(1px 1px at 15% 20%,rgba(255,255,255,.6) 0%,transparent 100%),
    radial-gradient(1px 1px at 35% 60%,rgba(255,255,255,.4) 0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 55% 15%,rgba(255,255,255,.7) 0%,transparent 100%),
    radial-gradient(1px 1px at 75% 45%,rgba(255,255,255,.5) 0%,transparent 100%),
    radial-gradient(1px 1px at 90% 25%,rgba(255,255,255,.4) 0%,transparent 100%),
    radial-gradient(1px 1px at 10% 70%,rgba(255,255,255,.6) 0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 65% 80%,rgba(255,255,255,.3) 0%,transparent 100%),
    radial-gradient(1px 1px at 80% 70%,rgba(255,255,255,.5) 0%,transparent 100%),
    radial-gradient(1px 1px at 25% 40%,rgba(168,85,247,.8) 0%,transparent 100%),
    radial-gradient(1px 1px at 50% 55%,rgba(99,102,241,.6) 0%,transparent 100%);
}
.ah-orbit-ring{
  position:absolute;border-radius:50%;
  border:1px solid rgba(139,92,246,.15);
  animation:ah-spin linear infinite;
}
.ah-ring1{width:140px;height:140px;animation-duration:8s;}
.ah-ring2{width:200px;height:200px;animation-duration:14s;animation-direction:reverse;border-color:rgba(99,102,241,.1);}
.ah-ring3{width:270px;height:270px;animation-duration:20s;border-color:rgba(59,130,246,.07);}
@keyframes ah-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.ah-globe{
  font-size:52px;line-height:1;
  animation:ah-float 3s ease-in-out infinite;
  filter:drop-shadow(0 0 20px rgba(139,92,246,.6));
  position:relative;z-index:1;
}
@keyframes ah-float{
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-8px) scale(1.04);}
}

/* Hunt content */
.ah-hunt-content{
  position:relative;z-index:1;
  margin-top:200px;
  width:100%;max-width:480px;
  text-align:center;
}
@media(max-height:700px){.ah-hunt-content{margin-top:160px;}}
.ah-hunt-label{
  font-size:9px;font-weight:800;letter-spacing:.18em;
  color:rgba(168,85,247,.7);text-transform:uppercase;
  margin-bottom:8px;
}
.ah-hunt-title{
  font-size:22px;font-weight:800;color:#f3e8ff;
  font-family:'Sora',sans-serif;line-height:1.2;
  margin-bottom:6px;
}
.ah-dots span{animation:ah-blink 1.4s infinite;display:inline-block;}
.ah-dots span:nth-child(2){animation-delay:.2s;}
.ah-dots span:nth-child(3){animation-delay:.4s;}
@keyframes ah-blink{0%,60%,100%{opacity:1;}30%{opacity:0;}}
.ah-hunt-sub{
  font-size:12px;color:rgba(196,181,253,.6);
  margin-bottom:20px;min-height:20px;
  transition:opacity .3s;
}
.ah-progress-wrap{
  display:flex;align-items:center;gap:10px;margin-bottom:20px;
}
.ah-progress-bar{
  flex:1;height:4px;background:rgba(139,92,246,.15);
  border-radius:4px;overflow:hidden;
}
.ah-progress-fill{
  height:100%;border-radius:4px;width:0%;
  background:linear-gradient(90deg,#7c3aed,#a855f7,#c084fc);
  transition:width .6s cubic-bezier(.4,0,.2,1);
  box-shadow:0 0 8px rgba(168,85,247,.5);
}
.ah-progress-pct{
  font-size:10px;font-weight:800;color:#a78bfa;
  min-width:32px;text-align:right;
  font-family:'Sora',sans-serif;
}
.ah-steps-list{
  display:flex;flex-direction:column;gap:5px;
  text-align:left;
}
.ah-step{
  display:flex;align-items:center;gap:10px;
  padding:6px 12px;border-radius:8px;
  font-size:11px;font-weight:600;color:rgba(196,181,253,.4);
  transition:all .35s ease;
}
.ah-step.active{
  color:#e9d5ff;
  background:rgba(139,92,246,.1);
  border:1px solid rgba(139,92,246,.2);
}
.ah-step.done{
  color:rgba(196,181,253,.6);
  background:rgba(16,185,129,.05);
  border:1px solid transparent;
}
.ah-step-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0;}
.ah-step-text{flex:1;}
.ah-step-check{font-size:11px;color:#10b981;opacity:0;transition:opacity .3s;}
.ah-step.done .ah-step-check{opacity:1;}

.ah-close-hunt{
  position:absolute;top:20px;right:20px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.5);font-size:11px;font-weight:600;
  padding:6px 14px;border-radius:7px;cursor:pointer;
  font-family:'DM Sans',sans-serif;
  transition:background .2s,color .2s;
}
.ah-close-hunt:hover{background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);}

/* ── PHASE 2: RESULTS ── */
.ah-phase-results{
  background:#07080f;
  justify-content:flex-start;
}
.ah-results-header{
  width:100%;
  background:linear-gradient(135deg,#0f0626 0%,#160a3a 50%,#0b1629 100%);
  border-bottom:1px solid rgba(139,92,246,.2);
  padding:16px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-shrink:0;
  box-shadow:0 4px 20px rgba(0,0,0,.4);
}
.ah-results-header-left{display:flex;align-items:center;gap:12px;}
.ah-results-badge{
  background:linear-gradient(135deg,#7c3aed,#a855f7);
  color:#fff;font-size:11px;font-weight:800;
  padding:5px 11px;border-radius:20px;
  letter-spacing:.04em;flex-shrink:0;
  box-shadow:0 2px 10px rgba(139,92,246,.4);
}
.ah-results-title-block{display:flex;flex-direction:column;}
.ah-results-title{
  font-size:14px;font-weight:800;color:#f3e8ff;
  font-family:'Sora',sans-serif;letter-spacing:.02em;
}
.ah-results-sub{font-size:10px;color:rgba(196,181,253,.5);margin-top:2px;}
.ah-results-close{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.6);font-size:14px;
  width:32px;height:32px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;flex-shrink:0;
}
.ah-results-close:hover{background:rgba(255,255,255,.15);}

.ah-results-scroll{
  flex:1;overflow-y:auto;padding:16px 16px 0;
  scroll-behavior:smooth;
}
.ah-results-scroll::-webkit-scrollbar{width:4px;}
.ah-results-scroll::-webkit-scrollbar-track{background:transparent;}
.ah-results-scroll::-webkit-scrollbar-thumb{background:rgba(139,92,246,.3);border-radius:4px;}

.ah-results-grid{
  max-width:680px;margin:0 auto;
  display:flex;flex-direction:column;gap:12px;
  padding-bottom:80px;
}

/* ── Opportunity Card ── */
.ah-opp-card{
  border-radius:16px;overflow:hidden;
  border:1.5px solid rgba(139,92,246,.2);
  background:linear-gradient(135deg,#0f0a1e 0%,#131929 100%);
  animation:ah-card-in .5s ease both;
  transition:border-color .2s,box-shadow .2s;
}
.ah-opp-card:hover{
  border-color:rgba(139,92,246,.5);
  box-shadow:0 0 20px rgba(139,92,246,.12);
}
@keyframes ah-card-in{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}

/* Card header */
.ah-card-header{
  padding:14px 16px 10px;
  background:linear-gradient(135deg,rgba(139,92,246,.08) 0%,rgba(99,102,241,.04) 100%);
  border-bottom:1px solid rgba(139,92,246,.1);
  display:flex;align-items:flex-start;gap:12px;
}
.ah-card-rank{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:900;font-family:'Sora',sans-serif;
  background:linear-gradient(135deg,#7c3aed,#a855f7);
  color:#fff;box-shadow:0 2px 8px rgba(139,92,246,.4);
  margin-top:1px;
}
.ah-card-rank.gold{background:linear-gradient(135deg,#d97706,#fbbf24);}
.ah-card-rank.silver{background:linear-gradient(135deg,#64748b,#94a3b8);}
.ah-card-rank.bronze{background:linear-gradient(135deg,#92400e,#d97706);}
.ah-card-emoji{font-size:28px;flex-shrink:0;line-height:1;margin-top:2px;}
.ah-card-info{flex:1;min-width:0;}
.ah-card-category{
  font-size:8.5px;font-weight:700;color:rgba(168,85,247,.7);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;
}
.ah-card-name{
  font-size:14px;font-weight:800;color:#f3e8ff;
  line-height:1.25;margin-bottom:5px;
  font-family:'Sora',sans-serif;
}
.ah-card-score-row{display:flex;align-items:center;gap:8px;}
.ah-master-score{
  display:flex;align-items:baseline;gap:2px;
  background:rgba(139,92,246,.2);border:1px solid rgba(139,92,246,.35);
  border-radius:7px;padding:3px 8px;
}
.ah-master-score-val{
  font-size:16px;font-weight:900;color:#c4b5fd;
  font-family:'Sora',sans-serif;line-height:1;
}
.ah-master-score-lbl{font-size:8px;color:rgba(196,181,253,.5);font-weight:700;}
.ah-timing-badge{
  font-size:9px;font-weight:700;padding:3px 8px;border-radius:20px;
  background:rgba(16,185,129,.1);color:#34d399;
  border:1px solid rgba(16,185,129,.25);
}

/* Score strip */
.ah-score-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid rgba(139,92,246,.08);
}
.ah-score-cell{
  padding:8px 10px;
  display:flex;flex-direction:column;align-items:center;gap:3px;
  border-right:1px solid rgba(139,92,246,.06);
  background:rgba(0,0,0,.2);
}
.ah-score-cell:last-child{border-right:none;}
.ah-score-cell-icon{font-size:12px;}
.ah-score-cell-val{
  font-size:14px;font-weight:900;font-family:'Sora',sans-serif;line-height:1;
}
.ah-score-cell-lbl{font-size:7.5px;font-weight:700;color:rgba(196,181,253,.4);text-transform:uppercase;letter-spacing:.04em;}
.ah-sc-trend .ah-score-cell-val{color:#c084fc;}
.ah-sc-tiktok .ah-score-cell-val{color:#f472b6;}
.ah-sc-brand .ah-score-cell-val{color:#60a5fa;}
.ah-sc-arb .ah-score-cell-val{color:#34d399;}

/* Financial strip */
.ah-fin-strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  padding:10px 14px;gap:0;
  border-bottom:1px solid rgba(139,92,246,.08);
}
.ah-fin-item{display:flex;flex-direction:column;align-items:center;gap:2px;}
.ah-fin-val{font-size:13px;font-weight:800;color:#e2e8f0;}
.ah-fin-val.green{color:#34d399;}
.ah-fin-val.orange{color:#fb923c;}
.ah-fin-lbl{font-size:8px;color:rgba(196,181,253,.4);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}

/* Insight section */
.ah-card-insights{padding:10px 14px;display:flex;flex-direction:column;gap:7px;}
.ah-insight-row{display:flex;gap:8px;align-items:flex-start;}
.ah-insight-icon{font-size:13px;flex-shrink:0;margin-top:1px;}
.ah-insight-block{flex:1;}
.ah-insight-label{font-size:8px;font-weight:700;color:rgba(168,85,247,.6);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;}
.ah-insight-text{font-size:11px;color:rgba(226,232,240,.7);line-height:1.5;}

/* Risk row */
.ah-risk-row{
  display:flex;gap:6px;align-items:center;
  padding:8px 14px 10px;
  border-top:1px solid rgba(139,92,246,.06);
  flex-wrap:wrap;
}
.ah-risk-chip{
  font-size:9px;font-weight:700;padding:3px 9px;border-radius:20px;border:1px solid transparent;
}
.ah-risk-chip.baixo{background:rgba(16,185,129,.1);color:#34d399;border-color:rgba(16,185,129,.25);}
.ah-risk-chip.medio{background:rgba(245,158,11,.1);color:#fbbf24;border-color:rgba(245,158,11,.25);}
.ah-risk-chip.alto{background:rgba(239,68,68,.1);color:#f87171;border-color:rgba(239,68,68,.25);}
.ah-risk-sep{width:1px;height:12px;background:rgba(255,255,255,.08);}

/* Card actions */
.ah-card-actions{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(139,92,246,.1);
}
.ah-action-btn{
  padding:11px 10px;display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:10.5px;font-weight:700;cursor:pointer;
  border:none;font-family:'DM Sans',sans-serif;
  transition:background .15s;
}
.ah-action-btn.search{
  background:rgba(99,102,241,.12);color:#818cf8;
  border-right:1px solid rgba(139,92,246,.1);
}
.ah-action-btn.search:hover{background:rgba(99,102,241,.2);}
.ah-action-btn.supplier{
  background:rgba(16,185,129,.08);color:#34d399;
}
.ah-action-btn.supplier:hover{background:rgba(16,185,129,.15);}

/* Results footer */
.ah-results-footer{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(0deg,#07080f 70%,transparent 100%);
  padding:14px 20px 18px;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  pointer-events:none;
}
.ah-footer-note{
  font-size:9.5px;color:rgba(196,181,253,.35);font-weight:500;
}
.ah-rehunt-btn{
  pointer-events:all;
  background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);
  color:#a78bfa;font-size:10.5px;font-weight:700;
  padding:7px 16px;border-radius:8px;cursor:pointer;
  font-family:'DM Sans',sans-serif;
  transition:background .2s,border-color .2s;
}
.ah-rehunt-btn:hover{background:rgba(139,92,246,.25);border-color:rgba(139,92,246,.5);}

/* Loading shimmer inside overlay */
.ah-loading-card{
  height:160px;border-radius:16px;
  background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(99,102,241,.03));
  border:1.5px solid rgba(139,92,246,.1);
  position:relative;overflow:hidden;
}
.ah-loading-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(139,92,246,.07) 50%,transparent 100%);
  animation:ah-shimmer 1.5s ease infinite;
}
@keyframes ah-shimmer{
  0%{transform:translateX(-100%);}
  100%{transform:translateX(100%);}
}

/* ═══════════════════════════════════════════════
   WORKSPACE ARCHITECTURE
   ═══════════════════════════════════════════════ */

/* ── Topbar workspace accent ── */
.topbar {
  border-bottom: 1px solid var(--border);
  transition: border-color .4s ease;
}

/* ════════════════════════════════════════════════
   WORKSPACE BAR — Slim Mode Toggle
   ════════════════════════════════════════════════ */
.workspace-bar{
  background:var(--navy2);
  border-bottom:1px solid var(--border);
  padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:44px;
}
.ws-toggle-wrap{
  display:flex;align-items:center;gap:0;
  background:var(--sf2);
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  padding:2px;
  gap:2px;
}
.ws-btn{
  display:flex;align-items:center;gap:8px;
  padding:5px 14px 5px 8px;
  border:none;border-radius:8px;
  cursor:pointer;font-family:'DM Sans',sans-serif;
  background:transparent;
  transition:all .2s ease;
  position:relative;
}
.ws-btn:hover{background:rgba(255,255,255,.06);}
.ws-btn.active{
  background:var(--sf3);
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.ws-btn-br.active{border:1px solid rgba(16,185,129,.3);}
.ws-btn-cn.active{border:1px solid rgba(239,68,68,.3);}
.ws-flag-sm{
  width:20px;height:15px;border-radius:3px;
  object-fit:cover;flex-shrink:0;
  opacity:.85;
}
.ws-btn.active .ws-flag-sm{opacity:1;}
.ws-toggle-text{display:flex;flex-direction:column;align-items:flex-start;}
.ws-toggle-name{
  font-size:12px;font-weight:600;color:var(--tx2);
  line-height:1.2;transition:color .2s;
}
.ws-btn.active .ws-toggle-name{color:var(--tx1);}
.ws-toggle-tag{
  font-size:9px;color:var(--tx4);font-weight:500;
  line-height:1;margin-top:1px;
}
.ws-btn-br.active .ws-toggle-tag{color:rgba(16,185,129,.65);}
.ws-btn-cn.active .ws-toggle-tag{color:rgba(239,68,68,.65);}
.ws-active-pip{
  width:5px;height:5px;border-radius:50%;
  background:transparent;flex-shrink:0;
  transition:background .2s;
  margin-left:2px;
}
.ws-btn-br.active .ws-active-pip{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.5);}
.ws-btn-cn.active .ws-active-pip{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,.5);}
.ws-toggle-divider{
  display:flex;align-items:center;justify-content:center;
  color:var(--tx4);font-size:11px;padding:0 4px;
  pointer-events:none;
}
.ws-toggle-icon{opacity:.5;}
.ws-meta{
  display:flex;align-items:center;gap:7px;
}
.ws-meta-dot{
  width:6px;height:6px;border-radius:50%;
  background:#10b981;
  box-shadow:0 0 8px rgba(16,185,129,.5);
  animation:ws-pulse 2.5s ease-out infinite;
}
@keyframes ws-pulse{
  0%,100%{opacity:1;box-shadow:0 0 6px rgba(16,185,129,.4);}
  50%{opacity:.7;box-shadow:0 0 12px rgba(16,185,129,.7);}
}
.ws-meta-label{font-size:10px;color:var(--tx4);font-weight:500;letter-spacing:.01em;}

/* ── Workspace transition animation ── */
.workspace-switching .left,
.workspace-switching .right-panel {
  opacity: 0;
  transition: opacity .25s ease;
}
.workspace-ready .left,
.workspace-ready .right-panel {
  opacity: 1;
  transition: opacity .3s ease;
}

/* ── Context-driven search bar accent ── */
.search-input:focus {
  outline: 2px solid var(--ws-accent);
  outline-offset: -2px;
}

/* ── AI button workspace tint ── */
[data-workspace="market-br"]   .ai-btn:not(:disabled) { border: 1px solid rgba(16,185,129,.2);  }
[data-workspace="china-radar"] .ai-btn:not(:disabled) { border: 1px solid rgba(239,68,68,.22);  background: linear-gradient(135deg,#1a0808,#200f0f); }

/* ── Explore btn workspace tint ── */
[data-workspace="china-radar"] .explore-btn:hover,
[data-workspace="china-radar"] .explore-btn.open {
  border-color: #ef4444;
  color: #ef4444;
  background: rgba(239,68,68,.05);
}

/* ── Workspace context banner ── */
.ws-context-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 9px;
  font-size: 10.5px;
  font-weight: 600;
  margin-bottom: 8px;
  border: 1px solid transparent;
}
.ws-context-banner.br {
  background: rgba(16,185,129,.07);
  border-color: rgba(16,185,129,.2);
  color: #059669;
}
.ws-context-banner.cn {
  background: rgba(239,68,68,.07);
  border-color: rgba(239,68,68,.2);
  color: #ef4444;
}
[data-theme="dark"] .ws-context-banner.br { color: #34d399; }
[data-theme="dark"] .ws-context-banner.cn { color: #f87171; }

/* ── China Radar mode: panel section order hint ── */
[data-workspace="china-radar"] .china-opp-section { order: -3; }
[data-workspace="china-radar"] .trend-gap-section  { order: -2; }
[data-workspace="china-radar"] .supplier-intel-section { order: -1; }

/* ── Page title workspace tint ── */
[data-workspace="china-radar"] .page-h {
  background: linear-gradient(90deg, #ef4444, #f59e0b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
[data-workspace="market-br"] .page-h {
  background: linear-gradient(90deg, #10b981, #3b82f6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Rank banner workspace color ── */
[data-workspace="china-radar"] .rank-banner {
  background: linear-gradient(135deg, rgba(239,68,68,.08) 0%, rgba(245,158,11,.06) 100%);
  border-color: rgba(239,68,68,.2);
}
[data-workspace="china-radar"] .rank-banner-icon::before { content: '🌏'; }
[data-workspace="china-radar"] .rank-banner .rank-banner-title { color: #ef4444; }

/* ═══════════════════════════════════════════════
   MAIN HUNT BUTTON — contextual por workspace
   ═══════════════════════════════════════════════ */
.main-hunt-btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 15px 7px 12px;
  border-radius: 9px;
  border: 1.5px solid;
  font-size: 11.5px;
  font-weight: 700;
  font-family: 'DM Sans', sans-serif;
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: .01em;
  overflow: hidden;
  transition: all .3s cubic-bezier(.4,0,.2,1);
}
.main-hunt-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.06) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform .55s ease;
}
.main-hunt-btn:hover::before { transform: translateX(120%); }
.main-hunt-btn:hover { transform: translateY(-1px); }
.main-hunt-btn:active { transform: translateY(0); }
.main-hunt-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* Market BR — verde */
[data-workspace="market-br"] .main-hunt-btn {
  background: linear-gradient(135deg, #071f14 0%, #0c2e1c 100%);
  border-color: rgba(16,185,129,.45);
  color: #6ee7b7;
  box-shadow: 0 0 14px rgba(16,185,129,.18), 0 2px 6px rgba(0,0,0,.3);
}
[data-workspace="market-br"] .main-hunt-btn:hover {
  box-shadow: 0 0 22px rgba(16,185,129,.32), 0 4px 12px rgba(0,0,0,.35);
  border-color: rgba(16,185,129,.65);
}

/* China Radar — vermelho/dourado */
[data-workspace="china-radar"] .main-hunt-btn {
  background: linear-gradient(135deg, #200808 0%, #2e0f05 50%, #201000 100%);
  border-color: rgba(220,38,38,.5);
  color: #fca5a5;
  box-shadow: 0 0 14px rgba(220,38,38,.2), 0 2px 6px rgba(0,0,0,.3);
}
[data-workspace="china-radar"] .main-hunt-btn:hover {
  box-shadow: 0 0 22px rgba(220,38,38,.35), 0 4px 12px rgba(0,0,0,.35);
  border-color: rgba(220,38,38,.7);
}

.mh-icon { font-size: 15px; }

/* Pulse dot */
.mh-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-left: 1px;
}
[data-workspace="market-br"]   .mh-pulse { background: #10b981; animation: mh-pulse-gr 1.8s ease-out infinite; }
[data-workspace="china-radar"] .mh-pulse { background: #ef4444; animation: mh-pulse-rd 1.8s ease-out infinite; }
@keyframes mh-pulse-gr {
  0%   { box-shadow: 0 0 0 0 rgba(16,185,129,.6); }
  70%  { box-shadow: 0 0 0 7px rgba(16,185,129,0); }
  100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}
@keyframes mh-pulse-rd {
  0%   { box-shadow: 0 0 0 0 rgba(239,68,68,.6); }
  70%  { box-shadow: 0 0 0 7px rgba(239,68,68,0); }
  100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}

/* ═══════════════════════════════════════════════
   ENGINE BADGE CONTEXTUAL (substitui selector)
   ═══════════════════════════════════════════════ */
.ws-engine-badge {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  border-radius: 8px;
  margin-bottom: 6px;
  font-size: 10.5px;
  font-weight: 600;
  border: 1px solid transparent;
  transition: all .35s ease;
}
[data-workspace="market-br"] .ws-engine-badge {
  background: rgba(16,185,129,.06);
  border-color: rgba(16,185,129,.18);
  color: #059669;
}
[data-workspace="china-radar"] .ws-engine-badge {
  background: rgba(239,68,68,.06);
  border-color: rgba(239,68,68,.18);
  color: #ef4444;
}
[data-theme="dark"][data-workspace="market-br"] .ws-engine-badge { color: #34d399; }
[data-theme="dark"][data-workspace="china-radar"] .ws-engine-badge { color: #f87171; }

.ws-engine-icon { font-size: 13px; }
.ws-engine-name { flex: 1; }
.ws-engine-auto {
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 20px;
  opacity: .7;
}
[data-workspace="market-br"]   .ws-engine-auto { background: rgba(16,185,129,.12); color: #10b981; }
[data-workspace="china-radar"] .ws-engine-auto { background: rgba(239,68,68,.12);  color: #ef4444; }

/* ═══════════════════════════════════════════════
   WORKSPACE TRANSITION — flash overlay
   ═══════════════════════════════════════════════ */
.ws-flash-overlay {
  position: fixed;
  inset: 0;
  z-index: 1999;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s ease;
}
.ws-flash-overlay.active { opacity: 1; transition: opacity .05s ease; }

/* ═══════════════════════════════════════════════
   CHINA RADAR CARDS — métricas específicas
   ═══════════════════════════════════════════════ */
.card-cn-metrics {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 4px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(239,68,68,.12);
}
.card-cn-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
.card-cn-val {
  font-size: 11px;
  font-weight: 800;
  color: var(--tx1);
  font-family: 'Sora', sans-serif;
}
.card-cn-val.red   { color: #ef4444; }
.card-cn-val.gold  { color: #f59e0b; }
.card-cn-val.green { color: #10b981; }
.card-cn-lbl {
  font-size: 7.5px;
  font-weight: 600;
  color: var(--tx4);
  text-transform: uppercase;
  letter-spacing: .03em;
  text-align: center;
}

/* Hide market-specific bar in china-radar */
[data-workspace="china-radar"] .bar-row { display: none; }

/* China Radar card accent */
[data-workspace="china-radar"] .card {
  border-color: rgba(239,68,68,.1);
}
[data-workspace="china-radar"] .card:hover {
  border-color: rgba(239,68,68,.25);
  box-shadow: 0 4px 20px rgba(239,68,68,.06);
}

/* ═══════════════════════════════════════════════
   FAVORITES — workspace badge on card
   ═══════════════════════════════════════════════ */
.ws-fav-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 7.5px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 20px;
  margin-left: 4px;
}
.ws-fav-badge.br { background: rgba(16,185,129,.1); color: #059669; }
.ws-fav-badge.cn { background: rgba(239,68,68,.1);  color: #ef4444; }

/* ═══════════════════════════════════════════════
   FAV COUNT — separado por workspace na tab
   ═══════════════════════════════════════════════ */
.fav-tab-counts {
  display: inline-flex;
  gap: 3px;
  align-items: center;
  font-size: 9px;
}
.fav-tab-br { color: #10b981; }
.fav-tab-cn { color: #ef4444; }

/* ═══════════════════════════════════════════════
   AI HUNT CARDS — workspace variants
   ═══════════════════════════════════════════════ */

/* ── Brasil Market Card ── */
.ah-card-br {
  border-color: rgba(16,185,129,.2);
}
.ah-card-br:hover {
  border-color: rgba(16,185,129,.45);
  box-shadow: 0 0 22px rgba(16,185,129,.1);
}
.ah-card-br .ah-score-strip {
  background: rgba(16,185,129,.03);
  border-color: rgba(16,185,129,.08);
}
.ah-card-br .ah-score-cell {
  background: rgba(16,185,129,.04);
  border-right: 1px solid rgba(16,185,129,.08);
}

/* Brasil score cell colors */
.ah-sc-demand .ah-score-cell-val  { color: #10b981; }
.ah-sc-comp   .ah-score-cell-val  { color: #f59e0b; }
.ah-card-br .ah-sc-tiktok .ah-score-cell-val { color: #f472b6; }
.ah-card-br .ah-sc-brand  .ah-score-cell-val { color: #60a5fa; }
.ah-card-br .ah-score-cell-lbl { color: rgba(52,211,153,.4); }

/* Brasil fin strip */
.ah-card-br .ah-fin-strip { background: rgba(16,185,129,.02); }
.ah-card-br .ah-fin-sep   { background: rgba(16,185,129,.08); }

/* Brasil action buttons */
.ah-card-br .ah-card-actions { border-color: rgba(16,185,129,.1); }
.ah-action-btn.analyze {
  background: rgba(16,185,129,.08);
  color: #34d399;
}
.ah-action-btn.analyze:hover { background: rgba(16,185,129,.16); }

/* ── China Radar Card ── (keeps purple accent from .ah-opp-card defaults) */
.ah-card-cn {
  border-color: rgba(239,68,68,.2);
}
.ah-card-cn:hover {
  border-color: rgba(239,68,68,.4);
  box-shadow: 0 0 22px rgba(239,68,68,.1);
}
.ah-card-cn .ah-score-strip {
  background: rgba(239,68,68,.02);
  border-color: rgba(239,68,68,.08);
}
.ah-card-cn .ah-score-cell {
  background: rgba(239,68,68,.03);
  border-right: 1px solid rgba(239,68,68,.08);
}
.ah-card-cn .ah-score-cell-lbl { color: rgba(252,165,165,.4); }
.ah-card-cn .ah-fin-strip { background: rgba(239,68,68,.02); }
.ah-card-cn .ah-fin-sep   { background: rgba(239,68,68,.08); }
.ah-card-cn .ah-card-actions { border-color: rgba(239,68,68,.1); }
.ah-card-cn .ah-action-btn.search {
  background: rgba(239,68,68,.08);
  color: #f87171;
  border-right: 1px solid rgba(239,68,68,.1);
}
.ah-card-cn .ah-action-btn.search:hover { background: rgba(239,68,68,.15); }
.ah-card-cn .ah-action-btn.supplier {
  background: rgba(245,158,11,.07);
  color: #fbbf24;
}
.ah-card-cn .ah-action-btn.supplier:hover { background: rgba(245,158,11,.14); }

/* Rank badges — keep universal */
.ah-card-rank.gold   { background: linear-gradient(135deg,#f59e0b,#d97706); color: #fff; }
.ah-card-rank.silver { background: linear-gradient(135deg,#94a3b8,#64748b); color: #fff; }
.ah-card-rank.bronze { background: linear-gradient(135deg,#a16207,#78350f); color: #fff; }

/* ═══════════════════════════════════════════════
   CHINA SOURCE CARD — source-first design
   ═══════════════════════════════════════════════ */
.china-source-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: var(--card);
  border: 1.5px solid rgba(239,68,68,.15);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  animation: fadeSlideUp .35s ease both;
  transition: border-color .2s, box-shadow .2s, transform .15s;
}
.china-source-card:hover {
  border-color: rgba(239,68,68,.4);
  box-shadow: 0 6px 24px rgba(239,68,68,.1), 0 2px 8px rgba(0,0,0,.12);
  transform: translateY(-2px);
}
.china-source-card.sel {
  border-color: rgba(239,68,68,.7);
  box-shadow: 0 0 0 2px rgba(239,68,68,.25), 0 6px 24px rgba(239,68,68,.15);
}

/* Header row: platform + supplier + trend */
.cs-header {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px 6px;
  background: rgba(239,68,68,.04);
  border-bottom: 1px solid rgba(239,68,68,.07);
  flex-wrap: wrap;
}
.cs-platform-badge {
  font-size: 9px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 20px;
  letter-spacing: .04em;
  flex-shrink: 0;
}
.cs-plat-1688        { background: rgba(224,32,32,.15); color: #e02020; border: 1px solid rgba(224,32,32,.3); }
.cs-plat-taobao      { background: rgba(255,106,0,.12); color: #ff6a00; border: 1px solid rgba(255,106,0,.25); }
.cs-plat-alibaba     { background: rgba(255,111,0,.12); color: #ff6f00; border: 1px solid rgba(255,111,0,.25); }
.cs-plat-weidian     { background: rgba(124,58,237,.12); color: #7c3aed; border: 1px solid rgba(124,58,237,.25); }
.cs-plat-douyin-shop { background: rgba(1,1,1,.25); color: #e2e8f0; border: 1px solid rgba(255,255,255,.1); }

/* Badge de fonte de dados — transparência total para o usuário */
.cs-source-badge {
  font-size: 7px; font-weight: 700;
  padding: 1px 6px; border-radius: 20px;
  flex-shrink: 0; margin-left: auto;
  letter-spacing: .02em;
}
.cs-source-live { background: rgba(16,185,129,.12); color: #059669; border: 1px solid rgba(16,185,129,.3); }
.cs-source-ai   { background: rgba(245,158,11,.12); color: #d97706; border: 1px solid rgba(245,158,11,.3); }

/* Card com dado real recebe borda sutil verde */
.cs-real-data { border-left: 2px solid rgba(16,185,129,.3); }

/* Imagem real do produto no card */
.cs-has-img { overflow: hidden; }
.cs-has-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

.cs-supplier-info { display: flex; align-items: center; gap: 4px; flex: 1; min-width: 0; }
.cs-supplier-name {
  font-size: 8px; font-weight: 600; color: var(--tx3);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cs-verified { font-size: 7px; color: #10b981; font-weight: 800; flex-shrink: 0; }
.cs-supplier-score { font-size: 7.5px; color: #f59e0b; flex-shrink: 0; }

/* F12 — Factory Trust System */
.cs-trust-row {
  display: flex; align-items: center; gap: 5px;
  padding: 3px 8px 0;
  flex-wrap: wrap;
}
.cs-trust-stars { font-size: 9px; color: #f59e0b; letter-spacing: 0.5px; flex-shrink: 0; }
.cs-trust-badge {
  font-size: 7px; font-weight: 700; padding: 1px 5px; border-radius: 3px;
  flex-shrink: 0; text-transform: uppercase; letter-spacing: 0.4px;
}
.cs-trust-high   { background: rgba(16,185,129,.18); color: #10b981; border: 1px solid rgba(16,185,129,.35); }
.cs-trust-medium { background: rgba(245,158,11,.15);  color: #f59e0b; border: 1px solid rgba(245,158,11,.35); }
.cs-trust-low    { background: rgba(239,68,68,.12);   color: #ef4444; border: 1px solid rgba(239,68,68,.3); }
.cs-factory-badge {
  font-size: 7px; font-weight: 600; padding: 1px 5px; border-radius: 3px;
  background: rgba(139,92,246,.15); color: #a78bfa; border: 1px solid rgba(139,92,246,.3);
  flex-shrink: 0;
}
.cs-verified-badge {
  font-size: 7px; font-weight: 700; color: #10b981; flex-shrink: 0;
}
.cs-trend-badge {
  margin-left: auto;
  font-size: 7.5px; font-weight: 700;
  color: #f59e0b; flex-shrink: 0;
}

/* Product area: emoji + Brazil Fit overlay */
.cs-product-area {
  position: relative;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(239,68,68,.04) 0%, rgba(245,158,11,.03) 100%);
  border-bottom: 1px solid rgba(239,68,68,.06);
}
.cs-skeleton-area { height: 90px; }
.cs-emoji-display {
  font-size: 44px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.15));
  user-select: none;
}
.cs-brazil-fit-overlay {
  position: absolute;
  bottom: 6px; right: 8px;
  display: flex; flex-direction: column; align-items: flex-end;
  background: rgba(16,185,129,.12);
  border: 1px solid rgba(16,185,129,.25);
  border-radius: 8px;
  padding: 3px 8px;
}
.cs-bf-val { font-size: 13px; font-weight: 900; color: #10b981; font-family: 'Sora', sans-serif; line-height: 1; }
.cs-bf-lbl { font-size: 6.5px; font-weight: 700; color: rgba(16,185,129,.7); text-transform: uppercase; letter-spacing: .04em; }

/* Names block */
.cs-names { padding: 8px 10px 6px; }
.cs-cn-name {
  font-size: 12px; font-weight: 700; color: var(--tx1);
  letter-spacing: .02em; margin-bottom: 3px;
  font-family: 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
}
.cs-pt-name {
  font-size: 10.5px; font-weight: 600; color: var(--tx2);
  line-height: 1.3; margin-bottom: 4px;
}
.cs-category-tag {
  display: inline-block; font-size: 8px; font-weight: 600;
  color: rgba(239,68,68,.7); background: rgba(239,68,68,.06);
  border: 1px solid rgba(239,68,68,.12); border-radius: 20px;
  padding: 1px 7px;
}

/* Financials: FOB → ML → Markup */
.cs-financials {
  display: flex; align-items: center; gap: 0;
  padding: 8px 10px;
  background: rgba(239,68,68,.03);
  border-top: 1px solid rgba(239,68,68,.06);
  border-bottom: 1px solid rgba(239,68,68,.06);
}
.cs-fin-cell { display: flex; flex-direction: column; align-items: center; flex: 1; }
.cs-fin-val { font-size: 13px; font-weight: 900; color: var(--tx1); font-family: 'Sora', sans-serif; line-height: 1; }
.cs-fin-lbl { font-size: 7px; font-weight: 600; color: var(--tx4); text-transform: uppercase; letter-spacing: .03em; margin-top: 2px; }
.cs-fob { color: #f59e0b; }
.cs-fin-arrow { font-size: 11px; color: var(--tx4); padding: 0 4px; flex-shrink: 0; }
.cs-fin-sep { width: 1px; background: rgba(239,68,68,.12); height: 28px; margin: 0 4px; flex-shrink: 0; }
.cs-markup-cell { background: rgba(245,158,11,.06); border-radius: 8px; padding: 4px 6px; }
.cs-markup-val { font-size: 14px !important; }

/* Operational row */
.cs-operational {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  padding: 6px 10px;
  border-bottom: 1px solid rgba(239,68,68,.05);
}
.cs-op-item { font-size: 8.5px; font-weight: 600; color: var(--tx3); }

/* Score chips */
.cs-score-chips {
  display: flex; flex-wrap: wrap; gap: 4px;
  padding: 6px 10px;
}
.cs-chip {
  font-size: 7.5px; font-weight: 700; padding: 2px 7px; border-radius: 20px;
}
.cs-chip-douyin  { background: rgba(239,68,68,.08); color: #ef4444; border: 1px solid rgba(239,68,68,.2); }
.cs-chip-risk    { border: 1px solid transparent; }
.cs-chip-risk.cs-risk-baixo { background: rgba(16,185,129,.08); color: #10b981; border-color: rgba(16,185,129,.2); }
.cs-chip-risk.cs-risk-medio { background: rgba(245,158,11,.08); color: #f59e0b; border-color: rgba(245,158,11,.2); }
.cs-chip-risk.cs-risk-alto  { background: rgba(239,68,68,.08); color: #ef4444; border-color: rgba(239,68,68,.2); }
.cs-chip-pl      { background: rgba(124,58,237,.08); color: #7c3aed; border: 1px solid rgba(124,58,237,.2); }
.cs-chip-lead    { background: rgba(99,102,241,.06); color: var(--tx3); border: 1px solid rgba(99,102,241,.12); }

/* Action buttons */
.cs-actions {
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(239,68,68,.08);
}
.cs-action-btn {
  padding: 10px 8px;
  font-size: 9.5px; font-weight: 700; cursor: pointer;
  background: none; border: none; font-family: 'DM Sans', sans-serif;
  display: flex; align-items: center; justify-content: center; gap: 4px;
  transition: background .15s;
}
.cs-btn-supplier {
  color: #f59e0b; background: rgba(245,158,11,.06);
  border-right: 1px solid rgba(239,68,68,.08);
  width: 100%;
}
.cs-btn-supplier:hover { background: rgba(245,158,11,.14); }
.cs-btn-calc { color: #10b981; background: rgba(16,185,129,.05); }
.cs-btn-calc:hover { background: rgba(16,185,129,.12); }

/* Supplier sources dropdown */
.cs-supplier-dropdown-wrap {
  position: relative;
  border-right: 1px solid rgba(239,68,68,.08);
}
.cs-drop-arrow {
  font-size: 8px;
  display: inline-block;
  transition: transform .2s;
  margin-left: 2px;
}
.cs-drop-arrow.up { transform: rotate(180deg); }

.cs-platform-dropdown {
  position: absolute;
  bottom: calc(100% + 4px);
  left: 0;
  min-width: 170px;
  background: var(--card-bg, #1e1b2e);
  border: 1px solid rgba(239,68,68,.22);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  overflow: hidden;
  z-index: 120;
  opacity: 0;
  transform: translateY(6px) scale(.97);
  pointer-events: none;
  transition: opacity .15s, transform .15s;
}
.cs-platform-dropdown.open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.cs-platform-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  font-size: 10px;
  font-weight: 600;
  font-family: 'DM Sans', sans-serif;
  color: var(--tx2, #c4b5fd);
  text-decoration: none;
  transition: background .12s, color .12s;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.cs-platform-link:last-child { border-bottom: none; }
.cs-platform-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.cs-pl-1688:hover   { color: #ef4444; }
.cs-pl-taobao:hover { color: #f97316; }
.cs-pl-weidian:hover{ color: #a78bfa; }
.cs-pl-alibaba:hover{ color: #fbbf24; }

/* Dark theme adjustments */
[data-theme="dark"] .china-source-card { border-color: rgba(239,68,68,.2); }
[data-theme="dark"] .cs-product-area   { background: linear-gradient(135deg, rgba(239,68,68,.06), rgba(245,158,11,.04)); }

/* Skeleton state */
.china-source-card.cs-skeleton { pointer-events: none; }

/* Fallback notice */
.ah-fallback-notice {
  grid-column: 1 / -1;
  text-align: center;
  font-size: 10px;
  color: rgba(196,181,253,.35);
  font-weight: 500;
  padding: 12px 16px;
  border: 1px dashed rgba(139,92,246,.12);
  border-radius: 10px;
  margin-top: 4px;
}

/* ═══════════════════════════════════════════════
   KEYWORD EXPANSION CHIPS
   ═══════════════════════════════════════════════ */
.keyword-chips-row {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  padding: 8px 0 4px;
}
.kw-label {
  font-size: 10px; font-weight: 600; color: var(--tx3);
  white-space: nowrap; margin-right: 2px;
}
.kw-chip {
  padding: 4px 10px; border-radius: 20px;
  font-size: 10px; font-weight: 600; cursor: pointer;
  border: 1px solid transparent; transition: all .15s;
  font-family: 'DM Sans', sans-serif;
}
.kw-chip-pt { background: rgba(16,185,129,.08); color: #10b981; border-color: rgba(16,185,129,.2); }
.kw-chip-pt:hover { background: rgba(16,185,129,.18); }
.kw-chip-en { background: rgba(59,130,246,.08); color: #60a5fa; border-color: rgba(59,130,246,.2); }
.kw-chip-en:hover { background: rgba(59,130,246,.18); }
.kw-chip-cn { background: rgba(239,68,68,.08); color: #f87171; border-color: rgba(239,68,68,.2); }
.kw-chip-cn:hover { background: rgba(239,68,68,.18); }

/* ═══════════════════════════════════════════════
   PANEL: VALIDATE + IMPORT CALC BUTTONS
   ═══════════════════════════════════════════════ */
.validate-btn {
  width: 100%; padding: 11px 16px; margin-top: 8px;
  background: linear-gradient(135deg, rgba(16,185,129,.12), rgba(16,185,129,.06));
  border: 1px solid rgba(16,185,129,.35); border-radius: 10px;
  color: #10b981; font-size: 12px; font-weight: 700;
  cursor: pointer; transition: all .2s; font-family: 'DM Sans', sans-serif;
  letter-spacing: .3px;
}
.validate-btn:hover:not(:disabled) { background: rgba(16,185,129,.22); border-color: #10b981; }
.validate-btn:disabled { opacity: .35; cursor: default; }

.import-calc-btn {
  width: 100%; padding: 10px 16px; margin-top: 6px;
  background: rgba(59,130,246,.08); border: 1px solid rgba(59,130,246,.25);
  border-radius: 10px; color: #60a5fa; font-size: 11px; font-weight: 600;
  cursor: pointer; transition: all .2s; font-family: 'DM Sans', sans-serif;
}
.import-calc-btn:hover { background: rgba(59,130,246,.16); }

/* ═══════════════════════════════════════════════
   MARKET VALIDATION MODAL
   ═══════════════════════════════════════════════ */
.vm-overlay {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(0,0,0,.72); backdrop-filter: blur(6px);
  display: flex; align-items: flex-start; justify-content: center;
  overflow-y: auto; padding: 24px 16px;
}
.vm-panel {
  width: 100%; max-width: 860px;
  background: var(--card-bg, #1a1630);
  border: 1px solid rgba(139,92,246,.2);
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.5);
}

/* Header */
.vm-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.2);
}
.vm-title-label { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; color: var(--tx3); margin-bottom: 2px; }
.vm-product-name { font-size: 14px; font-weight: 700; color: var(--tx1); }
.vm-close {
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(255,255,255,.06); border: none;
  color: var(--tx3); cursor: pointer; font-size: 14px;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.vm-close:hover { background: rgba(239,68,68,.2); color: #ef4444; }

/* Verdict banner */
.vm-verdict-banner {
  padding: 20px 24px; border-bottom: 1px solid rgba(255,255,255,.06);
  min-height: 100px;
}
.vm-verdict-loading { display: flex; align-items: center; gap: 12px; color: var(--tx3); font-size: 13px; }
.vm-spinner {
  width: 20px; height: 20px; border: 2px solid rgba(139,92,246,.3);
  border-top-color: #8b5cf6; border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.vm-verdict-main { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; }
.vm-verdict-emoji { font-size: 28px; }
.vm-verdict-text { flex: 1; }
.vm-verdict-label { font-size: 20px; font-weight: 800; letter-spacing: .5px; }
.vm-verdict-score-bar {
  height: 4px; background: rgba(255,255,255,.08);
  border-radius: 2px; margin-top: 6px; overflow: hidden;
}
.vm-score-fill { height: 100%; border-radius: 2px; transition: width .6s ease; }
.vm-verdict-score { font-size: 28px; font-weight: 800; color: var(--tx1); }
.vm-verdict-score span { font-size: 13px; color: var(--tx3); }
.vm-verdict-reason { font-size: 12px; color: var(--tx2); line-height: 1.5; }

/* Body */
.vm-body { padding: 20px 24px; display: flex; flex-direction: column; gap: 16px; }
.vm-section-title { font-size: 9px; font-weight: 800; letter-spacing: 1.5px; color: var(--tx3); margin-bottom: 8px; }

/* Market grid */
.vm-market-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
.vm-market-cell {
  background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: 12px;
}
.vm-mc-header {
  font-size: 10px; font-weight: 700; color: var(--tx2);
  margin-bottom: 8px; padding-bottom: 6px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.vm-mc-row {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 10px; color: var(--tx3); padding: 3px 0;
}
.vm-tag {
  padding: 2px 7px; border-radius: 4px; font-size: 9px; font-weight: 700;
}
.vm-tag-ok  { background: rgba(16,185,129,.12); color: #10b981; }
.vm-tag-mid { background: rgba(245,158,11,.12); color: #f59e0b; }
.vm-tag-bad { background: rgba(239,68,68,.12); color: #ef4444; }
.vm-tag-warn{ background: rgba(245,158,11,.12); color: #f59e0b; }
.vm-val { color: var(--tx1); font-weight: 600; font-size: 10px; }
.vm-bool { font-size: 10px; font-weight: 600; }
.bool-ok   { color: #10b981; }
.bool-mid  { color: #f59e0b; }
.bool-bad  { color: #ef4444; }
.bool-warn { color: #f59e0b; }
.vm-score-pill {
  background: rgba(139,92,246,.12); color: #a78bfa;
  padding: 2px 8px; border-radius: 10px; font-size: 10px; font-weight: 700;
}

/* Insights row */
.vm-insights-row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
.vm-insight-card {
  background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 6px;
}
.vm-ic-header { font-size: 9px; font-weight: 800; letter-spacing: 1px; color: var(--tx3); }
.vm-ic-verdict { font-size: 12px; font-weight: 700; }
.vm-ic-signals { display: flex; flex-direction: column; gap: 2px; }
.vm-signal { font-size: 10px; color: var(--tx3); }
.vm-ic-text { font-size: 10px; color: var(--tx2); line-height: 1.4; }
.vm-ic-opp { font-size: 10px; color: #10b981; font-style: italic; }
.vm-ic-risk { font-size: 10px; color: var(--tx3); }

/* Score bars */
.vm-ic-scores { display: flex; flex-direction: column; gap: 5px; }
.vm-score-row { display: flex; align-items: center; gap: 6px; font-size: 10px; color: var(--tx3); }
.vm-score-bar { flex: 1; height: 3px; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; }
.vm-score-bar-fill { height: 100%; border-radius: 2px; }
.vm-score-num { font-size: 9px; color: var(--tx3); min-width: 24px; text-align: right; }

/* Timing */
.vm-ic-timing-row { display: flex; gap: 8px; }
.vm-timing-stage { display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 1; padding: 6px; background: rgba(255,255,255,.04); border-radius: 6px; }
.vm-ts-flag { font-size: 14px; }
.vm-ts-label { font-size: 8px; color: var(--tx3); }
.vm-ts-val { font-size: 9px; font-weight: 700; color: var(--tx2); text-align: center; }

/* Recommendation */
.vm-recommendation {
  background: rgba(139,92,246,.06); border: 1px solid rgba(139,92,246,.15);
  border-radius: 10px; padding: 14px 16px;
  display: flex; flex-direction: column; gap: 6px;
}
.vm-rec-label { font-size: 9px; font-weight: 800; letter-spacing: 1px; color: rgba(139,92,246,.8); }
.vm-rec-text { font-size: 12px; color: var(--tx1); line-height: 1.55; font-weight: 500; }
.vm-rec-risks { font-size: 10px; color: #f87171; }
.vm-rec-opps  { font-size: 10px; color: #10b981; }
.vm-error { padding: 20px; color: #f87171; text-align: center; font-size: 13px; }

/* Footer */
.vm-footer {
  display: flex; gap: 10px; padding: 14px 24px;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.15);
}
.vm-action-btn {
  flex: 1; padding: 10px; border-radius: 8px; border: none;
  font-size: 11px; font-weight: 700; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all .15s;
}
.vm-btn-calc     { background: rgba(59,130,246,.12); color: #60a5fa; border: 1px solid rgba(59,130,246,.25); }
.vm-btn-calc:hover { background: rgba(59,130,246,.22); }
.vm-btn-pipeline { background: rgba(139,92,246,.12); color: #a78bfa; border: 1px solid rgba(139,92,246,.25); }
.vm-btn-pipeline:hover { background: rgba(139,92,246,.22); }
.vm-btn-fav      { background: rgba(245,158,11,.08); color: #f59e0b; border: 1px solid rgba(245,158,11,.2); }
.vm-btn-fav:hover { background: rgba(245,158,11,.18); }

[data-verdict="VALIDADO"] .vm-verdict-banner { border-left: 4px solid #10b981; }
[data-verdict="CUIDADO"]  .vm-verdict-banner { border-left: 4px solid #f59e0b; }
[data-verdict="SATURADO"] .vm-verdict-banner { border-left: 4px solid #ef4444; }

/* Responsive */
@media (max-width: 680px) {
  .vm-market-grid  { grid-template-columns: 1fr; }
  .vm-insights-row { grid-template-columns: 1fr; }
  .vm-footer       { flex-direction: column; }
}

/* ═══════════════════════════════════════════════
   IMPORT COST CALCULATOR MODAL
   ═══════════════════════════════════════════════ */
.ic-overlay {
  position: fixed; inset: 0; z-index: 600;
  background: rgba(0,0,0,.75); backdrop-filter: blur(6px);
  display: flex; align-items: flex-start; justify-content: center;
  overflow-y: auto; padding: 24px 16px;
}
.ic-panel {
  width: 100%; max-width: 720px;
  background: var(--card-bg, #1a1630);
  border: 1px solid rgba(59,130,246,.2); border-radius: 16px;
  box-shadow: 0 24px 64px rgba(0,0,0,.5); overflow: hidden;
}
.ic-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.2);
}
.ic-title { font-size: 13px; font-weight: 800; color: var(--tx1); letter-spacing: .3px; }
.ic-close {
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(255,255,255,.06); border: none;
  color: var(--tx3); cursor: pointer; font-size: 14px; transition: background .15s;
}
.ic-close:hover { background: rgba(239,68,68,.2); color: #ef4444; }

.ic-body { padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.ic-inputs {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
.ic-input-group { display: flex; flex-direction: column; gap: 4px; }
.ic-input-group label { font-size: 9px; font-weight: 700; color: var(--tx3); letter-spacing: .5px; }
.ic-input-group input,
.ic-input-group select {
  padding: 8px 10px; border-radius: 8px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  color: var(--tx1); font-size: 12px; font-family: 'DM Sans', sans-serif;
  outline: none; transition: border-color .15s;
}
.ic-input-group input:focus,
.ic-input-group select:focus { border-color: rgba(59,130,246,.5); }

/* Results */
.ic-results { background: rgba(0,0,0,.2); border-radius: 10px; padding: 14px; }
.ic-results-placeholder { color: var(--tx3); font-size: 12px; text-align: center; padding: 20px; }
.ic-section-title { font-size: 9px; font-weight: 800; letter-spacing: 1px; color: var(--tx3); margin-bottom: 8px; }
.ic-table { width: 100%; border-collapse: collapse; margin-bottom: 8px; }
.ic-table td { padding: 5px 4px; font-size: 11px; border-bottom: 1px solid rgba(255,255,255,.04); }
.ic-table td:first-child { color: var(--tx3); }
.ic-table td:last-child { text-align: right; color: var(--tx1); font-weight: 600; }
.ic-row-total td { color: var(--tx2) !important; font-weight: 700 !important; border-top: 1px solid rgba(255,255,255,.1); }
.ic-row-highlight td { color: #60a5fa !important; font-weight: 800 !important; font-size: 12px !important; }

.ic-results-summary {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 12px;
}
.ic-summary-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px; padding: 8px; text-align: center;
}
.ic-sum-label { font-size: 8px; font-weight: 700; color: var(--tx3); letter-spacing: .3px; }
.ic-sum-val { font-size: 14px; font-weight: 800; color: var(--tx1); margin-top: 3px; }
.ic-pos { color: #10b981 !important; }
.ic-neg { color: #ef4444 !important; }
.ic-warning { font-size: 11px; color: #f59e0b; margin-top: 8px; }
.ic-breakeven { font-size: 11px; color: var(--tx2); margin-top: 4px; }

.ic-footer {
  display: flex; gap: 10px; padding: 14px 20px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.ic-calc-btn {
  flex: 2; padding: 11px; border-radius: 9px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  border: none; color: #fff; font-size: 12px; font-weight: 700;
  cursor: pointer; transition: opacity .15s; font-family: 'DM Sans', sans-serif;
}
.ic-calc-btn:hover { opacity: .85; }
.ic-pipeline-btn {
  flex: 1; padding: 11px; border-radius: 9px;
  background: rgba(139,92,246,.12); border: 1px solid rgba(139,92,246,.25);
  color: #a78bfa; font-size: 11px; font-weight: 700;
  cursor: pointer; transition: all .15s; font-family: 'DM Sans', sans-serif;
}
.ic-pipeline-btn:hover { background: rgba(139,92,246,.22); }

@media (max-width: 680px) {
  .ic-inputs        { grid-template-columns: 1fr 1fr; }
  .ic-results-summary { grid-template-columns: repeat(3, 1fr); }
}

/* ═══════════════════════════════════════════════
   PRODUCT PIPELINE
   ═══════════════════════════════════════════════ */
.pipeline-view {
  width: 100%; padding: 0 24px 24px;
  display: flex; flex-direction: column; gap: 16px;
}
.pl-header {
  padding: 20px 0 4px;
  display: flex; flex-direction: column; gap: 4px;
}
.pl-title { font-size: 16px; font-weight: 800; color: var(--tx1); letter-spacing: -.2px; }
.pl-sub   { font-size: 12px; color: var(--tx3); }
.pl-stats { display: flex; gap: 12px; flex-wrap: wrap; font-size: 11px; color: var(--tx2); margin-top: 6px; }
.pl-stats span { font-weight: 600; }

.pl-board {
  display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px;
  scrollbar-width: thin; scrollbar-color: rgba(139,92,246,.3) transparent;
  min-height: 400px;
}
.pl-col {
  min-width: 200px; flex-shrink: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.pl-col-header {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 10px; border-radius: 10px;
  background: rgba(255,255,255,.04);
  border-left: 3px solid transparent;
}
.pl-col-icon  { font-size: 14px; }
.pl-col-name  { font-size: 11px; font-weight: 700; color: var(--tx1); flex: 1; }
.pl-col-count {
  font-size: 10px; font-weight: 800; padding: 2px 6px;
  border-radius: 10px; min-width: 20px; text-align: center;
}
.pl-col-cards { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pl-col-empty { font-size: 11px; color: var(--tx3); text-align: center; padding: 16px 8px; opacity: .5; }

.pl-card {
  background: var(--card-bg, #1e1b2e);
  border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 10px;
  transition: border-color .15s;
}
.pl-card:hover { border-color: rgba(139,92,246,.3); }
.pl-card-top { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; }
.pl-card-emoji { font-size: 20px; flex-shrink: 0; }
.pl-card-info { flex: 1; min-width: 0; }
.pl-card-title { font-size: 11px; font-weight: 600; color: var(--tx1); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pl-card-price { font-size: 10px; color: #10b981; font-weight: 700; margin-top: 2px; }
.pl-card-remove {
  background: none; border: none; color: var(--tx3); cursor: pointer;
  font-size: 12px; padding: 2px; border-radius: 4px; flex-shrink: 0;
  transition: color .15s;
}
.pl-card-remove:hover { color: #ef4444; }
.pl-card-pri {
  font-size: 13px; font-weight: 800; margin-left: auto; margin-right: 4px;
  opacity: .85; cursor: help;
}
.pl-card-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.pl-move-btn {
  padding: 3px 8px; border-radius: 6px; background: transparent;
  border: 1px solid; font-size: 9px; font-weight: 700; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: opacity .15s;
}
.pl-move-btn:hover { opacity: .7; }

/* ═══════════════════════════════════════════════
   TOAST NOTIFICATION
   ═══════════════════════════════════════════════ */
.nr-toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: #1e1b2e; border: 1px solid rgba(139,92,246,.3);
  color: var(--tx1); padding: 10px 20px; border-radius: 20px;
  font-size: 12px; font-weight: 600; z-index: 9999;
  opacity: 0; transition: all .25s; box-shadow: 0 8px 24px rgba(0,0,0,.4);
  white-space: nowrap;
}
.nr-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ═══════════════════════════════════════════════
   MEMORY VIEW — v17
   ═══════════════════════════════════════════════ */
.memory-view {
  width: 100%; display: flex; flex-direction: column;
  padding: 0 24px 32px; gap: 0;
  min-height: calc(100vh - 120px);
}
.mv-header {
  padding: 20px 0 12px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  margin-bottom: 14px;
}
.mv-title { font-size: 16px; font-weight: 800; color: var(--tx1); letter-spacing: -.2px; margin-bottom: 3px; }
.mv-sub   { font-size: 11px; color: var(--tx3); margin-bottom: 12px; }
.mv-subnav { display: flex; gap: 6px; }
.mv-snav-btn {
  padding: 6px 14px; border-radius: 20px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  color: var(--tx3); font-size: 11px; font-weight: 600; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all .15s;
}
.mv-snav-btn.active { background: rgba(139,92,246,.15); border-color: rgba(139,92,246,.35); color: #a78bfa; }
.mv-snav-btn:hover:not(.active) { background: rgba(255,255,255,.08); color: var(--tx2); }

.mv-sub-view { display: flex; flex-direction: column; }
.mv-sub-view.hidden { display: none; }

/* ── Products two-column layout ───────────────── */
.mv-layout {
  display: grid; grid-template-columns: 300px 1fr; gap: 14px;
  min-height: 500px;
}
.mv-list {
  display: flex; flex-direction: column; gap: 6px;
  overflow-y: auto; max-height: calc(100vh - 260px);
  padding-right: 4px;
  scrollbar-width: thin; scrollbar-color: rgba(139,92,246,.2) transparent;
}
.mv-empty-state {
  color: var(--tx3); font-size: 12px; text-align: center;
  padding: 32px 16px; line-height: 1.6;
}

/* Product row in list */
.mv-product-row {
  padding: 10px 12px; border-radius: 10px;
  background: var(--card-bg); border: 1px solid rgba(255,255,255,.07);
  cursor: pointer; transition: all .15s;
}
.mv-product-row:hover { border-color: rgba(139,92,246,.3); }
.mv-product-row.active { border-color: rgba(139,92,246,.5); background: rgba(139,92,246,.08); }
.mv-pr-top { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 6px; }
.mv-pr-emoji { font-size: 20px; flex-shrink: 0; }
.mv-pr-info { flex: 1; min-width: 0; }
.mv-pr-name { font-size: 11px; font-weight: 700; color: var(--tx1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-pr-meta { font-size: 9px; color: var(--tx3); margin-top: 1px; }
.mv-pr-right { text-align: center; }
.mv-pr-conf { font-size: 14px; font-weight: 800; }
.mv-pr-conf-lbl { font-size: 8px; color: var(--tx3); }
.mv-pr-bottom { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mv-pr-status { font-size: 9px; font-weight: 600; padding: 2px 6px; border-radius: 4px; background: rgba(139,92,246,.1); color: #a78bfa; }
.mv-pr-watch  { font-size: 9px; color: #f59e0b; }
.mv-pr-date   { font-size: 9px; color: var(--tx3); margin-left: auto; }
.mv-pr-notes  { font-size: 9px; color: var(--tx2); }

/* ── Product Detail Panel ─────────────────────── */
.mv-detail {
  background: var(--card-bg); border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; overflow: hidden; display: flex; flex-direction: column;
}
.mv-detail-empty {
  display: flex; align-items: center; justify-content: center;
  color: var(--tx3); font-size: 12px; height: 100%; padding: 40px;
}
.mv-detail-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.15); flex-wrap: wrap; gap: 8px;
}
.mv-dh-left  { display: flex; align-items: center; gap: 10px; }
.mv-dh-emoji { font-size: 24px; }
.mv-dh-name  { font-size: 14px; font-weight: 800; color: var(--tx1); }
.mv-dh-meta  { font-size: 10px; color: var(--tx3); margin-top: 2px; }
.mv-dh-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.mv-watch-btn, .mv-add-note-btn, .mv-validate-mem-btn {
  padding: 5px 10px; border-radius: 7px; border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05); color: var(--tx2);
  font-size: 10px; font-weight: 600; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all .15s;
}
.mv-watch-btn.active { background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.3); color: #f59e0b; }
.mv-validate-mem-btn { background: rgba(16,185,129,.08); border-color: rgba(16,185,129,.25); color: #10b981; }
.mv-validate-mem-btn:hover { background: rgba(16,185,129,.18); }

/* Confidence bar */
.mv-conf-row { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-bottom: 1px solid rgba(255,255,255,.05); }
.mv-conf-lbl { font-size: 9px; font-weight: 700; color: var(--tx3); letter-spacing: .5px; white-space: nowrap; }
.mv-conf-bar { flex: 1; height: 5px; background: rgba(255,255,255,.07); border-radius: 3px; overflow: hidden; }
.mv-conf-fill { height: 100%; border-radius: 3px; transition: width .5s; }
.mv-conf-val { font-size: 13px; font-weight: 800; min-width: 36px; text-align: right; }

/* Detail tabs */
.mv-detail-tabs { display: flex; border-bottom: 1px solid rgba(255,255,255,.06); }
.mv-dt-btn {
  flex: 1; padding: 9px 4px; background: none; border: none;
  color: var(--tx3); font-size: 10px; font-weight: 600; cursor: pointer;
  font-family: 'DM Sans', sans-serif; border-bottom: 2px solid transparent;
  transition: all .15s;
}
.mv-dt-btn.active { color: #a78bfa; border-bottom-color: #a78bfa; }
.mv-dt-btn:hover:not(.active) { color: var(--tx2); }

.mv-detail-content { padding: 14px 16px; overflow-y: auto; flex: 1; max-height: 420px; }

/* Overview grid */
.mv-overview-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 14px; }
.mv-ov-card { background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.06); border-radius: 8px; padding: 10px; text-align: center; }
.mv-ov-label { font-size: 8px; font-weight: 700; color: var(--tx3); letter-spacing: .5px; margin-bottom: 4px; }
.mv-ov-val { font-size: 16px; font-weight: 800; color: var(--tx1); }

/* Last validation block */
.mv-last-validation {
  background: rgba(139,92,246,.05); border: 1px solid rgba(139,92,246,.12);
  border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 5px;
}
.mv-lv-title  { font-size: 9px; font-weight: 800; letter-spacing: 1px; color: rgba(139,92,246,.7); }
.mv-lv-verdict{ font-size: 14px; font-weight: 800; }
.mv-lv-reason { font-size: 11px; color: var(--tx2); }
.mv-lv-row    { font-size: 10px; color: var(--tx3); }
.mv-lv-rec    { font-size: 11px; color: var(--tx1); font-style: italic; border-top: 1px solid rgba(255,255,255,.05); padding-top: 6px; margin-top: 2px; }
.mv-lv-empty  { font-size: 11px; color: var(--tx3); text-align: center; padding: 20px; }

/* Timeline */
.mv-timeline { display: flex; flex-direction: column; gap: 0; }
.mv-tl-event { display: flex; gap: 10px; padding-bottom: 14px; position: relative; }
.mv-tl-event:not(:last-child)::before {
  content: ''; position: absolute; left: 5px; top: 14px; bottom: 0;
  width: 2px; background: rgba(139,92,246,.15);
}
.mv-tl-dot {
  width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; margin-top: 2px;
  background: rgba(139,92,246,.4); border: 2px solid rgba(139,92,246,.6);
}
.mv-tl-body { flex: 1; }
.mv-tl-event-name { font-size: 12px; font-weight: 700; color: var(--tx1); }
.mv-tl-detail { font-size: 10px; color: var(--tx2); margin-top: 2px; }
.mv-tl-time   { font-size: 9px; color: var(--tx3); margin-top: 3px; }

/* Notes */
.mv-note-item { background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.06); border-radius: 8px; padding: 10px; margin-bottom: 8px; }
.mv-note-text { font-size: 12px; color: var(--tx1); line-height: 1.5; }
.mv-note-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 6px; }
.mv-note-date { font-size: 9px; color: var(--tx3); }
.mv-note-del  { background: none; border: none; color: var(--tx3); cursor: pointer; font-size: 11px; padding: 2px 6px; border-radius: 4px; transition: color .15s; }
.mv-note-del:hover { color: #ef4444; }
.mv-notes-empty { font-size: 11px; color: var(--tx3); text-align: center; padding: 20px; }

/* Changes */
.mv-changes-list { display: flex; flex-direction: column; gap: 8px; }
.mv-change-item { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: rgba(0,0,0,.2); border-radius: 8px; }
.mv-change-arrow { font-size: 18px; font-weight: 800; width: 20px; text-align: center; }
.mv-change-body { flex: 1; }
.mv-change-field { font-size: 10px; font-weight: 800; color: var(--tx2); margin-right: 6px; }
.mv-change-vals { font-size: 11px; color: var(--tx1); }
.mv-change-date { font-size: 9px; color: var(--tx3); }
.mv-changes-empty { font-size: 11px; color: var(--tx3); text-align: center; padding: 20px; }

/* ── Supplier CRM ─────────────────────────────── */
.mv-suppliers-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; gap: 12px; flex-wrap: wrap; }
.mv-platform-filter   { display: flex; gap: 6px; flex-wrap: wrap; }
.mv-plat-btn {
  padding: 5px 12px; border-radius: 16px; font-size: 10px; font-weight: 700;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  color: var(--tx3); cursor: pointer; font-family: 'DM Sans', sans-serif; transition: all .15s;
}
.mv-plat-btn.active { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.3); color: #f87171; }
.mv-add-btn {
  padding: 7px 14px; border-radius: 8px;
  background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.25);
  color: #10b981; font-size: 11px; font-weight: 700; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all .15s; white-space: nowrap;
}
.mv-add-btn:hover { background: rgba(16,185,129,.2); }

.mv-sup-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.mv-sup-card {
  background: var(--card-bg); border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 7px;
}
.mv-sc-top  { display: flex; align-items: flex-start; gap: 8px; }
.mv-sc-plat {
  padding: 2px 7px; border-radius: 4px; font-size: 9px; font-weight: 800;
  text-transform: uppercase; flex-shrink: 0;
}
.mv-sc-plat-1688    { background: rgba(239,68,68,.12); color: #f87171; }
.mv-sc-plat-alibaba { background: rgba(245,158,11,.12); color: #fbbf24; }
.mv-sc-plat-taobao  { background: rgba(249,115,22,.12); color: #fb923c; }
.mv-sc-plat-weidian { background: rgba(139,92,246,.12); color: #a78bfa; }
.mv-sc-plat-outro   { background: rgba(255,255,255,.06); color: var(--tx3); }
.mv-sc-name { flex: 1; font-size: 12px; font-weight: 700; color: var(--tx1); }
.mv-sc-fav  { background: none; border: none; color: var(--tx3); cursor: pointer; font-size: 16px; transition: color .15s; }
.mv-sc-fav.active { color: #f59e0b; }
.mv-sc-meta { display: flex; flex-wrap: wrap; gap: 4px; }
.mv-sc-tag  { padding: 2px 6px; border-radius: 4px; font-size: 9px; font-weight: 600; background: rgba(255,255,255,.06); color: var(--tx3); }
.mv-sc-pl   { background: rgba(139,92,246,.1); color: #a78bfa; }
.mv-sc-row  { display: flex; align-items: center; justify-content: space-between; }
.mv-sc-conf { font-size: 11px; font-weight: 700; }
.mv-sc-resp { font-size: 9px; color: var(--tx3); }
.mv-sc-notes { font-size: 10px; color: var(--tx2); line-height: 1.4; }
.mv-sc-actions { display: flex; align-items: center; gap: 8px; border-top: 1px solid rgba(255,255,255,.05); padding-top: 7px; }
.mv-sc-link { font-size: 10px; font-weight: 600; color: #60a5fa; text-decoration: none; }
.mv-sc-link:hover { text-decoration: underline; }
.mv-sc-contact { font-size: 9px; color: var(--tx3); flex: 1; }
.mv-sc-del { background: none; border: none; color: var(--tx3); cursor: pointer; font-size: 13px; margin-left: auto; transition: color .15s; }
.mv-sc-del:hover { color: #ef4444; }

/* ── Daily Scanner ────────────────────────────── */
.mv-scanner-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.mv-scanner-info   { font-size: 11px; color: var(--tx3); }
.mv-scan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.mv-scan-card {
  background: var(--card-bg); border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 8px;
}
.mv-scan-top { display: flex; align-items: flex-start; gap: 10px; }
.mv-scan-emoji { font-size: 22px; flex-shrink: 0; }
.mv-scan-name  { font-size: 12px; font-weight: 700; color: var(--tx1); }
.mv-scan-cat   { font-size: 9px; color: var(--tx3); margin-top: 2px; }
.mv-scan-scores{ display: flex; flex-direction: column; gap: 3px; margin-left: auto; }
.mv-scan-score { font-size: 10px; font-weight: 700; color: var(--tx2); }
.mv-scan-fin   { display: flex; gap: 8px; font-size: 10px; color: var(--tx3); }
.mv-scan-markup{ font-weight: 700; }
.mv-scan-add   {
  padding: 7px; border-radius: 7px; border: 1px solid rgba(16,185,129,.25);
  background: rgba(16,185,129,.07); color: #10b981;
  font-size: 10px; font-weight: 700; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all .15s;
}
.mv-scan-add:hover:not(:disabled) { background: rgba(16,185,129,.15); }
.mv-scan-add:disabled { opacity: .5; cursor: default; }

/* ── Note Modal ───────────────────────────────── */
.nm-overlay {
  position: fixed; inset: 0; z-index: 700;
  background: rgba(0,0,0,.7); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
.nm-panel {
  width: 100%; max-width: 480px; background: var(--card-bg);
  border: 1px solid rgba(139,92,246,.25); border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5); overflow: hidden;
}
.nm-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 13px; font-weight: 700; color: var(--tx1);
}
.nm-header button { background: none; border: none; color: var(--tx3); cursor: pointer; font-size: 14px; }
.nm-header button:hover { color: #ef4444; }
.nm-textarea {
  display: block; width: 100%; min-height: 100px; padding: 14px 18px;
  background: none; border: none; outline: none; resize: vertical;
  color: var(--tx1); font-size: 13px; font-family: 'DM Sans', sans-serif;
  line-height: 1.55; box-sizing: border-box;
}
.nm-footer { padding: 12px 18px; border-top: 1px solid rgba(255,255,255,.06); }
.nm-save-btn {
  width: 100%; padding: 10px; border-radius: 9px;
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
  border: none; color: #fff; font-size: 12px; font-weight: 700;
  cursor: pointer; font-family: 'DM Sans', sans-serif; transition: opacity .15s;
}
.nm-save-btn:hover { opacity: .85; }

/* ── Supplier CRM Modal ───────────────────────── */
.scm-overlay {
  position: fixed; inset: 0; z-index: 700;
  background: rgba(0,0,0,.72); backdrop-filter: blur(5px);
  display: flex; align-items: flex-start; justify-content: center;
  overflow-y: auto; padding: 24px 16px;
}
.scm-panel {
  width: 100%; max-width: 640px; background: var(--card-bg);
  border: 1px solid rgba(239,68,68,.2); border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0,0,0,.5); overflow: hidden;
}
.scm-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px; border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 13px; font-weight: 700; color: var(--tx1); background: rgba(0,0,0,.15);
}
.scm-header button { background: none; border: none; color: var(--tx3); cursor: pointer; font-size: 14px; }
.scm-body { padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.scm-row  { display: flex; gap: 10px; }
.scm-field { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.scm-f2   { flex: 2; }
.scm-full { flex: 1 1 100%; }
.scm-field label { font-size: 9px; font-weight: 700; color: var(--tx3); letter-spacing: .5px; }
.scm-field input,
.scm-field select,
.scm-field textarea {
  padding: 8px 10px; border-radius: 8px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  color: var(--tx1); font-size: 12px; font-family: 'DM Sans', sans-serif;
  outline: none; transition: border-color .15s;
}
.scm-field input:focus,
.scm-field select:focus,
.scm-field textarea:focus { border-color: rgba(239,68,68,.4); }
.scm-field textarea { min-height: 64px; resize: vertical; }
.scm-checks { display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; }
.scm-checks label { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--tx2); cursor: pointer; }
.scm-footer { padding: 14px 20px; border-top: 1px solid rgba(255,255,255,.06); }
.scm-save-btn {
  width: 100%; padding: 11px; border-radius: 9px;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  border: none; color: #fff; font-size: 12px; font-weight: 700;
  cursor: pointer; font-family: 'DM Sans', sans-serif; transition: opacity .15s;
}
.scm-save-btn:hover { opacity: .85; }

@media (max-width: 700px) {
  .mv-layout { grid-template-columns: 1fr; }
  .mv-detail  { min-height: 400px; }
  .mv-overview-grid { grid-template-columns: repeat(2, 1fr); }
  .scm-row { flex-wrap: wrap; }
}

/* ══════════════════════════════════════════════
   V18 — ALERT BELL
   ══════════════════════════════════════════════ */
.alert-bell-btn {
  display: flex; align-items: center; gap: 5px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  color: #e2e8f0; border-radius: 8px; padding: 5px 10px;
  font-size: 12px; font-weight: 700; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all .2s;
}
.alert-bell-btn:hover { background: rgba(255,255,255,.13); }
.alert-bell-btn.has-critical {
  background: rgba(239,68,68,.15); border-color: rgba(239,68,68,.4);
  color: #fca5a5; animation: bell-pulse 2s ease-in-out infinite;
}
@keyframes bell-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,.3); }
  50%      { box-shadow: 0 0 0 6px rgba(239,68,68,0); }
}
#alert-count {
  background: #ef4444; color: #fff; border-radius: 999px;
  padding: 0px 5px; font-size: 10px; font-weight: 800; min-width: 16px; text-align: center;
}

/* ── SUB-NAV SPECIALS ─────────────────────────── */
.mv-snav-action {
  background: rgba(16,185,129,.1) !important;
  border-color: rgba(16,185,129,.3) !important; color: #10b981 !important;
}
.mv-snav-action.active { background: #10b981 !important; color: #fff !important; }
.mv-snav-report {
  background: rgba(99,102,241,.1) !important;
  border-color: rgba(99,102,241,.3) !important; color: #818cf8 !important;
}
.mv-snav-report.active { background: #6366f1 !important; color: #fff !important; }

/* ══════════════════════════════════════════════
   V18 — HEALTH SCORE + LIFECYCLE (product list)
   ══════════════════════════════════════════════ */
.mv-pr-health-row {
  display: flex; align-items: center; gap: 6px; margin-top: 4px;
}
.mv-pr-health-bar {
  flex: 1; height: 3px; background: rgba(255,255,255,.08); border-radius: 99px; overflow: hidden;
}
.mv-pr-health-fill { height: 100%; border-radius: 99px; transition: width .3s; }
.mv-pr-lc-badge {
  font-size: 9px; font-weight: 700; padding: 1px 5px; border-radius: 4px;
  background: rgba(255,255,255,.07); color: #94a3b8; letter-spacing: .3px;
}

/* ── INTELLIGENCE TAB ─────────────────────────── */
.mv-intel-section { margin-bottom: 14px; }
.mv-intel-title {
  font-size: 10px; font-weight: 700; color: #64748b; letter-spacing: .6px;
  text-transform: uppercase; margin-bottom: 8px;
}
.mv-health-row {
  display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
  padding: 10px; background: rgba(255,255,255,.03); border-radius: 8px;
  border: 1px solid rgba(255,255,255,.07);
}
.mv-health-label { font-size: 11px; color: #64748b; min-width: 90px; }
.mv-health-bar-track { flex: 1; height: 6px; background: rgba(255,255,255,.08); border-radius: 99px; overflow: hidden; }
.mv-health-bar-fill { height: 100%; border-radius: 99px; transition: width .4s; }
.mv-health-val { font-size: 13px; font-weight: 800; min-width: 38px; text-align: right; }

.mv-lc-card {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  border-radius: 8px; border: 1px solid rgba(255,255,255,.07); margin-bottom: 10px;
  background: rgba(255,255,255,.03);
}
.mv-lc-icon { font-size: 22px; }
.mv-lc-body { flex: 1; }
.mv-lc-phase { font-size: 14px; font-weight: 700; }
.mv-lc-meta { font-size: 11px; color: #64748b; margin-top: 2px; }
.mv-lc-advice { font-size: 11px; color: #94a3b8; margin-top: 3px; font-style: italic; }
.mv-lc-days { font-size: 12px; font-weight: 700; color: #f59e0b; white-space: nowrap; }

.mv-decision-actions { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.mv-dec-action {
  display: flex; align-items: center; gap: 8px; padding: 8px 10px;
  border-radius: 7px; border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.03);
}
.mv-dec-icon { font-size: 14px; }
.mv-dec-label { font-size: 12px; font-weight: 700; min-width: 140px; }
.mv-dec-reason { font-size: 10px; color: #64748b; flex: 1; }

.mv-smart-recs { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.mv-smart-rec {
  font-size: 11px; color: #cbd5e1; padding: 6px 9px;
  background: rgba(255,255,255,.03); border-radius: 6px;
  border-left: 2px solid rgba(16,185,129,.3);
}
.mv-comp-signals { display: flex; flex-direction: column; gap: 5px; }
.mv-comp-signal {
  font-size: 11px; color: #94a3b8; padding: 5px 8px;
  background: rgba(255,255,255,.02); border-radius: 5px;
}

.mv-snapshots-list { display: flex; flex-direction: column; gap: 4px; max-height: 180px; overflow-y: auto; }
.mv-snap-row {
  display: grid; grid-template-columns: 90px 1fr 1fr 1fr; gap: 6px; align-items: center;
  padding: 5px 8px; border-radius: 5px; background: rgba(255,255,255,.03); font-size: 10px;
}
.mv-snap-date { color: #64748b; }
.mv-snap-val { font-weight: 600; text-align: center; }

/* ══════════════════════════════════════════════
   V18 — ACTION CENTER
   ══════════════════════════════════════════════ */
.ac-empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; padding: 60px 20px; text-align: center;
}
.ac-empty-icon { font-size: 36px; opacity: .5; }
.ac-empty-title { font-size: 14px; font-weight: 700; color: #cbd5e1; }
.ac-empty-sub { font-size: 12px; color: #64748b; max-width: 260px; }

.ac-section { margin-bottom: 20px; }
.ac-section-title {
  font-size: 10px; font-weight: 800; letter-spacing: .8px; color: #64748b;
  text-transform: uppercase; margin-bottom: 10px; display: flex; align-items: center; gap: 8px;
}
.ac-badge {
  background: rgba(239,68,68,.2); color: #fca5a5; border-radius: 99px;
  padding: 0 6px; font-size: 10px; font-weight: 800;
}

.ac-alerts-row { display: flex; flex-direction: column; gap: 6px; }
.ac-alert {
  display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px;
  border-radius: 8px; border: 1px solid transparent;
}
.ac-alert-critical {
  background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.2);
}
.ac-alert-moderate {
  background: rgba(245,158,11,.07); border-color: rgba(245,158,11,.2);
}
.ac-alert-positive {
  background: rgba(16,185,129,.07); border-color: rgba(16,185,129,.2);
}
.ac-alert-icon { font-size: 16px; flex-shrink: 0; }
.ac-alert-body { flex: 1; min-width: 0; }
.ac-alert-label { font-size: 12px; font-weight: 700; color: #e2e8f0; }
.ac-alert-detail { font-size: 11px; color: #94a3b8; margin-top: 2px; }
.ac-alert-product { font-size: 10px; color: #64748b; margin-top: 2px; }

.ac-product-list { display: flex; flex-direction: column; gap: 6px; }
.ac-product-row {
  display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  border-radius: 8px; border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.03); transition: background .15s;
}
.ac-product-row:hover { background: rgba(255,255,255,.06); }
.ac-pr-critical { border-color: rgba(239,68,68,.2); background: rgba(239,68,68,.05); }
.ac-pr-positive { border-color: rgba(16,185,129,.2); background: rgba(16,185,129,.04); }
.ac-pr-emoji { font-size: 20px; flex-shrink: 0; }
.ac-pr-body { flex: 1; min-width: 0; }
.ac-pr-name { font-size: 12px; font-weight: 700; color: #e2e8f0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-pr-meta { display: flex; align-items: center; gap: 8px; margin-top: 3px; flex-wrap: wrap; }
.ac-pr-lc { font-size: 10px; font-weight: 700; }
.ac-pr-health { font-size: 10px; font-weight: 600; }
.ac-pr-margin { font-size: 10px; color: #10b981; }
.ac-pr-actions { display: flex; gap: 4px; margin-top: 4px; flex-wrap: wrap; }
.ac-action-chip {
  font-size: 9px; font-weight: 700; padding: 2px 7px; border-radius: 4px;
  background: rgba(255,255,255,.05); border: 1px solid color-mix(in srgb, var(--ac-chip-color) 30%, transparent);
  color: var(--ac-chip-color, #94a3b8);
}
.ac-pr-right { text-align: right; flex-shrink: 0; }
.ac-pr-score { font-size: 16px; font-weight: 800; color: #10b981; }
.ac-pr-score-lbl { font-size: 9px; color: #64748b; }

.ac-suppliers-mini { display: flex; flex-direction: column; gap: 5px; }
.ac-supplier-mini {
  display: flex; align-items: center; gap: 8px; padding: 6px 10px;
  border-radius: 6px; background: rgba(255,255,255,.03); font-size: 11px;
}
.ac-sup-plat {
  background: rgba(255,255,255,.08); border-radius: 4px; padding: 1px 6px;
  font-size: 9px; font-weight: 700; color: #f59e0b;
}
.ac-sup-name { flex: 1; color: #cbd5e1; }
.ac-sup-score { color: #10b981; font-weight: 700; }

/* ── Watchlist Alerts in Action Center ─────── */
.ac-wl-alerts { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; }
.ac-wl-alert {
  display: flex; align-items: flex-start; gap: 8px; padding: 8px 10px;
  border-radius: 7px; background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07); transition: background .15s;
}
.ac-wl-alert.ac-wl-read { opacity: .5; }
.ac-wl-sev { font-size: 14px; line-height: 1.4; flex-shrink: 0; }
.ac-wl-body { flex: 1; min-width: 0; }
.ac-wl-msg { font-size: 12px; color: #e2e8f0; line-height: 1.4; }
.ac-wl-time { font-size: 10px; color: #64748b; margin-top: 2px; }
.ac-wl-read-btn {
  border: none; background: rgba(16,185,129,.15); color: #10b981;
  border-radius: 4px; padding: 2px 7px; font-size: 11px; cursor: pointer;
  flex-shrink: 0; align-self: center;
}
.ac-wl-read-btn:hover { background: rgba(16,185,129,.3); }
.ac-mark-all-btn {
  border: none; background: rgba(99,102,241,.15); color: #818cf8;
  border-radius: 4px; padding: 2px 8px; font-size: 10px; cursor: pointer;
  font-weight: 600;
}
.ac-mark-all-btn:hover { background: rgba(99,102,241,.3); }

/* ══════════════════════════════════════════════
   Fase 2.8 — FEED VIEW
   ══════════════════════════════════════════════ */
.feed-view {
  padding: 20px 24px; max-width: 1100px; margin: 0 auto;
}
.feed-header {
  display: flex; align-items: center; gap: 12px; margin-bottom: 20px;
}
.feed-title { font-size: 18px; font-weight: 700; color: #f1f5f9; }
.feed-sub   { font-size: 12px; color: #64748b; flex: 1; }
.feed-refresh-btn {
  border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06);
  color: #94a3b8; border-radius: 6px; padding: 5px 12px; font-size: 12px;
  cursor: pointer; transition: background .15s;
}
.feed-refresh-btn:hover { background: rgba(255,255,255,.1); color: #f1f5f9; }
.feed-meta { font-size: 11px; color: #475569; margin-bottom: 20px; }
.feed-loading {
  display: flex; flex-direction: column; align-items: center;
  gap: 12px; padding: 40px; color: #64748b; font-size: 13px;
}
.feed-spinner {
  width: 28px; height: 28px; border: 3px solid rgba(99,102,241,.2);
  border-top-color: #6366f1; border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.feed-empty { text-align: center; padding: 40px; color: #475569; font-size: 13px; }

/* Feed sections */
.feed-section { margin-bottom: 28px; }
.feed-section-title {
  font-size: 13px; font-weight: 700; color: #94a3b8;
  letter-spacing: .06em; margin-bottom: 10px;
  text-transform: uppercase;
}
.feed-section-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 10px;
}

/* Feed card */
.feed-card {
  display: flex; align-items: flex-start; gap: 10px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 12px; cursor: pointer;
  transition: background .15s, border-color .15s;
  position: relative;
}
.feed-card:hover { background: rgba(255,255,255,.07); border-color: rgba(99,102,241,.3); }
.fc-thumb {
  width: 52px; height: 52px; border-radius: 6px; object-fit: cover; flex-shrink: 0;
}
.fc-thumb-placeholder {
  width: 52px; height: 52px; border-radius: 6px; background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0;
}
.fc-body { flex: 1; min-width: 0; }
.fc-title {
  font-size: 12px; color: #e2e8f0; font-weight: 600;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 4px; line-height: 1.4;
}
.fc-meta { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 3px; }
.fc-price  { font-size: 11px; color: #10b981; font-weight: 700; }
.fc-margin { font-size: 10px; color: #94a3b8; background: rgba(255,255,255,.06); border-radius: 3px; padding: 1px 5px; }
.fc-vel    { font-size: 10px; border-radius: 3px; padding: 1px 5px; }
.fc-vel-up   { color: #10b981; background: rgba(16,185,129,.1); }
.fc-vel-down { color: #ef4444; background: rgba(239,68,68,.1); }
.fc-gap    { font-size: 10px; color: #f59e0b; background: rgba(245,158,11,.1); border-radius: 3px; padding: 1px 5px; }
.fc-stats  { display: flex; gap: 8px; }
.fc-listings, .fc-sellers { font-size: 10px; color: #475569; }
.fc-score {
  font-size: 22px; font-weight: 800; line-height: 1;
  flex-shrink: 0; align-self: center; padding-left: 8px;
}

/* ══════════════════════════════════════════════
   V18 — DAILY REPORT
   ══════════════════════════════════════════════ */
.dr-header {
  display: flex; align-items: center; gap: 12px; margin-bottom: 18px;
  padding: 12px 14px; border-radius: 10px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07);
  flex-wrap: wrap;
}
.dr-date { font-size: 13px; font-weight: 700; color: #e2e8f0; flex: 1; }
.dr-stats { display: flex; gap: 12px; }
.dr-stats span { font-size: 10px; color: #64748b; font-weight: 600; }
.dr-refresh-btn {
  background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.3);
  color: #10b981; border-radius: 6px; padding: 5px 10px;
  font-size: 11px; font-weight: 700; cursor: pointer; font-family: 'DM Sans', sans-serif;
}
.dr-section {
  margin-bottom: 14px; padding: 12px 14px; border-radius: 9px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07);
}
.dr-section-title {
  font-size: 10px; font-weight: 800; letter-spacing: .7px; color: #64748b;
  text-transform: uppercase; margin-bottom: 8px;
}
.dr-critical { border-color: rgba(239,68,68,.2); background: rgba(239,68,68,.05); }
.dr-critical .dr-section-title { color: #fca5a5; }
.dr-viral { border-color: rgba(139,92,246,.2); background: rgba(139,92,246,.05); }
.dr-viral .dr-section-title { color: #c4b5fd; }
.dr-positive { border-color: rgba(16,185,129,.2); background: rgba(16,185,129,.04); }
.dr-positive .dr-section-title { color: #6ee7b7; }
.dr-danger { border-color: rgba(245,158,11,.2); background: rgba(245,158,11,.04); }
.dr-danger .dr-section-title { color: #fde68a; }
.dr-abandon { border-color: rgba(100,116,139,.2); background: rgba(100,116,139,.04); }
.dr-abort .dr-section-title { color: #94a3b8; }
.dr-alert-item { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #fca5a5; padding: 3px 0; }
.dr-item { font-size: 11px; color: #cbd5e1; padding: 3px 0; }
.dr-footer { font-size: 10px; color: #475569; text-align: right; margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.06); }

/* ══════════════════════════════════════════════
   V19 — USER MENU (avatar dropdown)
   ══════════════════════════════════════════════ */
.user-menu-wrap {
  position: relative; flex-shrink: 0;
}
.avatar {
  cursor: pointer; transition: box-shadow .15s;
}
.avatar:hover {
  box-shadow: 0 0 0 3px rgba(16,185,129,.35);
}

.user-dropdown {
  position: absolute; right: 0; top: calc(100% + 10px);
  width: 224px;
  background: var(--sf2);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(0,0,0,.6), 0 4px 16px rgba(0,0,0,.4);
  z-index: 999;
  overflow: hidden;
  animation: ud-in .15s ease;
}
@keyframes ud-in {
  from { opacity: 0; transform: translateY(-6px) scale(.98); }
  to   { opacity: 1; transform: translateY(0)   scale(1);    }
}
.user-dropdown.hidden { display: none; }

.ud-user-row {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 14px 12px;
}
.ud-user-avatar {
  width: 34px; height: 34px; border-radius: 50%;
  background: #10b981; display: flex; align-items: center;
  justify-content: center; font-size: 13px; font-weight: 700;
  color: #fff; flex-shrink: 0;
}
.ud-user-info { min-width: 0; }
.ud-user-name { font-size: 13px; font-weight: 700; color: #e2e8f0; }
.ud-user-role { font-size: 10px; color: #64748b; margin-top: 1px; }

.ud-divider {
  height: 1px; background: rgba(255,255,255,.07); margin: 2px 0;
}

.ud-ml-item {
  display: flex; align-items: center; gap: 9px;
  width: 100%; padding: 9px 14px; background: none; border: none;
  text-align: left; cursor: pointer; font-family: 'DM Sans', sans-serif;
  font-size: 12px; font-weight: 600; color: #cbd5e1; transition: background .12s;
}
.ud-ml-item:hover { background: rgba(255,255,255,.05); }

.ud-dot {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
  background: #6b7280;
}
.ud-dot.connected { background: #10b981; box-shadow: 0 0 6px rgba(16,185,129,.5); }
.ud-dot.disconnected { background: #ef4444; }

.ud-item {
  display: flex; align-items: center; gap: 9px;
  width: 100%; padding: 9px 14px; background: none; border: none;
  text-align: left; cursor: pointer; font-family: 'DM Sans', sans-serif;
  font-size: 12px; color: #94a3b8; transition: background .12s, color .12s;
}
.ud-item:hover { background: rgba(255,255,255,.05); color: #e2e8f0; }
.ud-item-icon { font-size: 14px; width: 18px; text-align: center; flex-shrink: 0; }
.ud-item-danger { color: #f87171; }
.ud-item-danger:hover { background: rgba(239,68,68,.08); color: #fca5a5; }

[data-theme="light"] .user-dropdown {
  background: #ffffff;
  border-color: #e5e7eb;
  box-shadow: 0 12px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.08);
}
[data-theme="light"] .ud-user-name { color: #111827; }
[data-theme="light"] .ud-user-role { color: #9ca3af; }
[data-theme="light"] .ud-divider   { background: #f3f4f6; }
[data-theme="light"] .ud-ml-item   { color: #374151; }
[data-theme="light"] .ud-ml-item:hover { background: #f9fafb; }
[data-theme="light"] .ud-item        { color: #6b7280; }
[data-theme="light"] .ud-item:hover  { background: #f9fafb; color: #111827; }
[data-theme="light"] .ud-item-danger { color: #ef4444; }

/* ── CHANGE PASSWORD MODAL ─────────────────────── */
.cp-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.55);
  display: flex; align-items: center; justify-content: center;
  z-index: 1100; backdrop-filter: blur(4px);
}
.cp-overlay.hidden { display: none; }
.cp-panel {
  background: #1a2234; border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px; width: 340px; overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.cp-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.07);
  font-size: 13px; font-weight: 700; color: #e2e8f0;
}
.cp-header button {
  background: none; border: none; color: #64748b; cursor: pointer;
  font-size: 14px; line-height: 1; padding: 2px 4px;
}
.cp-header button:hover { color: #e2e8f0; }
.cp-body { padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.cp-field { display: flex; flex-direction: column; gap: 5px; }
.cp-field label { font-size: 11px; font-weight: 600; color: #64748b; }
.cp-input {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10);
  border-radius: 7px; padding: 8px 11px; color: #e2e8f0;
  font-family: 'DM Sans', sans-serif; font-size: 13px; outline: none;
  transition: border-color .15s;
}
.cp-input:focus { border-color: #10b981; }
.cp-error {
  font-size: 11px; color: #fca5a5; background: rgba(239,68,68,.1);
  border: 1px solid rgba(239,68,68,.2); border-radius: 6px; padding: 7px 10px;
}
.cp-error.hidden { display: none; }
.cp-success {
  font-size: 11px; color: #6ee7b7; background: rgba(16,185,129,.1);
  border: 1px solid rgba(16,185,129,.2); border-radius: 6px; padding: 7px 10px;
}
.cp-success.hidden { display: none; }
.cp-footer {
  padding: 12px 16px; border-top: 1px solid rgba(255,255,255,.07);
}
.cp-save-btn {
  width: 100%; padding: 9px; border-radius: 8px; border: none;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff; font-family: 'DM Sans', sans-serif;
  font-size: 13px; font-weight: 700; cursor: pointer; transition: opacity .15s;
}
.cp-save-btn:hover { opacity: .88; }

[data-theme="light"] .cp-panel { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .cp-header { color: #111827; border-bottom-color: #f3f4f6; }
[data-theme="light"] .cp-input { background: #f9fafb; border-color: #e5e7eb; color: #111827; }
[data-theme="light"] .cp-footer { border-top-color: #f3f4f6; }

/* ═══════════════════════════════════════════════════════
   DISCOVERY ENGINE v20
   ═══════════════════════════════════════════════════════ */

/* Panel container */
.de-panel {
  width: 100%;
  background: var(--card);
  border-radius: 12px;
  overflow: hidden;
}
.de-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px 8px;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
}
.de-header-left { display: flex; align-items: center; gap: 10px; }
.de-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .8px;
  color: #10b981;
  background: rgba(16,185,129,.1);
  border: 1px solid rgba(16,185,129,.25);
  padding: 2px 7px;
  border-radius: 4px;
}
.de-sub { font-size: 11px; color: var(--sub); }
.de-close-btn {
  background: none;
  border: none;
  color: var(--sub);
  font-size: 14px;
  cursor: pointer;
  padding: 3px 6px;
  border-radius: 4px;
  transition: background .15s;
  line-height: 1;
}
.de-close-btn:hover { background: var(--hover); }

/* Layers */
.de-layer {
  padding: 12px 14px 10px;
  border-bottom: 1px solid var(--border);
}
.de-layer:last-child { border-bottom: none; }
.de-layer-hidden { display: none !important; }
.de-layer-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .7px;
  color: var(--sub);
  text-transform: uppercase;
  margin-bottom: 8px;
}

/* Nicho grid */
.de-nicho-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 5px;
}
.de-nicho-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 7px 9px;
  background: var(--card);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .15s, background .15s, box-shadow .15s;
  text-align: left;
}
.de-nicho-card:hover {
  border-color: var(--de-color, #10b981);
  background: color-mix(in srgb, var(--de-color, #10b981) 7%, var(--card));
}
.de-nicho-card.selected {
  border-color: var(--de-color, #10b981);
  background: color-mix(in srgb, var(--de-color, #10b981) 12%, var(--card));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--de-color, #10b981) 30%, transparent);
}
.de-nicho-icon { font-size: 16px; }
.de-nicho-label { font-size: 11px; font-weight: 600; color: var(--text); line-height: 1.2; }
.de-nicho-desc  { font-size: 9px; color: var(--sub); line-height: 1.3; }

/* Opp grid */
.de-opp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 5px;
}
.de-opp-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 7px 9px;
  background: var(--card);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  text-align: left;
}
.de-opp-card:hover {
  border-color: var(--de-color, #10b981);
  background: color-mix(in srgb, var(--de-color, #10b981) 7%, var(--card));
}
.de-opp-card.selected {
  border-color: var(--de-color, #10b981);
  background: color-mix(in srgb, var(--de-color, #10b981) 12%, var(--card));
}
.de-opp-icon  { font-size: 15px; }
.de-opp-label { font-size: 11px; font-weight: 600; color: var(--text); line-height: 1.2; }
.de-opp-desc  { font-size: 9px; color: var(--sub); }

/* Obj grid */
.de-obj-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(145px, 1fr));
  gap: 5px;
}
.de-obj-card {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  background: var(--card);
  border: 1.5px solid var(--border);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.de-obj-card:hover  { border-color: #6366f1; background: rgba(99,102,241,.07); }
.de-obj-card.selected { border-color: #6366f1; background: rgba(99,102,241,.13); }
.de-obj-icon { font-size: 14px; flex-shrink: 0; }
.de-obj-text { display: flex; flex-direction: column; gap: 1px; }
.de-obj-label { font-size: 11px; font-weight: 600; color: var(--text); line-height: 1.2; }
.de-obj-desc  { font-size: 9px; color: var(--sub); }

/* CTA */
.de-cta-wrap {
  padding: 10px 14px;
  background: var(--bg);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.de-selection-summary {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
}
.de-sel-tag {
  font-size: 10px;
  font-weight: 600;
  color: var(--text);
  background: var(--card);
  border: 1px solid var(--border);
  padding: 2px 7px;
  border-radius: 4px;
}
.de-sel-sep { font-size: 10px; color: var(--sub); }
.de-cta-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  padding: 9px 16px;
  background: linear-gradient(135deg, #10b981, #06b6d4);
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: opacity .15s, transform .1s;
  flex-shrink: 0;
}
.de-cta-btn:hover { opacity: .9; transform: translateY(-1px); }
.de-cta-sub { font-size: 9px; font-weight: 400; opacity: .75; }

/* Match score badge on product card */
.card-match-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .3px;
  padding: 2px 6px;
  border-radius: 4px;
  margin-top: 3px;
}
.card-match-badge.match-high { background: rgba(16,185,129,.13); color: #10b981; }
.card-match-badge.match-mid  { background: rgba(245,158,11,.13);  color: #d97706; }
.card-match-badge.match-low  { background: rgba(239,68,68,.13);   color: #ef4444; }

/* Market data badge — dados reais ML API */
.card-market-data {
  font-size: 7.5px; font-weight: 600;
  color: #3b82f6;
  background: rgba(59,130,246,.08);
  border: 1px solid rgba(59,130,246,.2);
  border-radius: 4px;
  padding: 2px 6px;
  margin-top: 3px;
  display: inline-block;
}

/* Trend badge — Fase 4.2 */
.card-trend-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: .3px;
  border: 1px solid;
  border-radius: 4px;
  padding: 2px 6px;
  margin-top: 3px;
  background: rgba(255,255,255,.04);
}

/* Velocity badge — Fase 1.7 */
.velocity-badge {
  display: inline-flex;align-items: center;
  font-size: 7.5px;font-weight: 700;letter-spacing: .3px;
  border: 1px solid;border-radius: 4px;
  padding: 2px 6px;margin-top: 3px;
  background: rgba(255,255,255,.04);
}
.velocity-up   { color: #34d399; border-color: rgba(52,211,153,.3); }
.velocity-down { color: #f87171; border-color: rgba(248,113,113,.3); }

/* Gap Detection badge — Fase 1.9 */
.gap-badge {
  display: inline-flex;align-items: center;
  font-size: 7.5px;font-weight: 700;letter-spacing: .3px;
  border: 1px solid;border-radius: 4px;
  padding: 2px 6px;margin-top: 3px;
}
.gap-high   { color: #f97316; border-color: rgba(249,115,22,.35); background: rgba(249,115,22,.1); }
.gap-early  { color: #a78bfa; border-color: rgba(167,139,250,.35); background: rgba(167,139,250,.1); }
.gap-medium { color: #60a5fa; border-color: rgba(96,165,250,.25); background: rgba(96,165,250,.06); }

/* Acceleration badge — Passo 2 */
.accel-badge {
  display: inline-flex; align-items: center;
  font-size: 8px; font-weight: 700; letter-spacing: .3px;
  border: 1px solid; border-radius: 4px;
  padding: 2px 6px; margin-top: 3px;
}
.accel-up   { color: #22c55e; border-color: rgba(34,197,94,.35);  background: rgba(34,197,94,.08); }
.accel-down { color: #ef4444; border-color: rgba(239,68,68,.35);  background: rgba(239,68,68,.08); }
.accel-flat { color: #94a3b8; border-color: rgba(148,163,184,.3); background: rgba(148,163,184,.05); }

/* Cenários mensais — Passo 3 */
.sc-wrap {
  display: none;
  margin-top: 14px;
  padding: 12px 14px;
  background: rgba(16,185,129,.05);
  border: 1px solid rgba(16,185,129,.18);
  border-radius: 10px;
}
.sc-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: #94a3b8;
  margin-bottom: 10px;
}
.sc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.sc-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 10px 12px;
  text-align: center;
}
.sc-card.sc-hot {
  background: rgba(16,185,129,.08);
  border-color: rgba(16,185,129,.25);
}
.sc-qty {
  font-size: 9px;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .4px;
  margin-bottom: 5px;
}
.sc-rev {
  font-size: 16px;
  font-weight: 700;
  color: #e2e8f0;
  line-height: 1;
}
.sc-sub {
  font-size: 9px;
  color: #475569;
  margin-top: 2px;
  margin-bottom: 6px;
}
.sc-profit {
  font-size: 11px;
  font-weight: 700;
  color: #10b981;
}

/* Early import opportunity banner — Fase 4.3 */
.card-import-opp {
  font-size: 7.5px; font-weight: 600;
  color: #a78bfa;
  background: rgba(167,139,250,.08);
  border: 1px solid rgba(167,139,250,.25);
  border-radius: 4px;
  padding: 3px 6px;
  margin-top: 4px;
  display: block;
  cursor: default;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* No-results state */
.de-no-results {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 56px 24px;
  color: var(--sub);
}
.de-no-results-icon  { font-size: 40px; }
.de-no-results-title { font-size: 15px; font-weight: 600; color: var(--text); }
.de-no-results-sub   { font-size: 13px; }

/* Light mode overrides */
[data-theme="light"] .de-panel  { background: #fff; }
[data-theme="light"] .de-header { background: #f9fafb; border-bottom-color: #e5e7eb; }
[data-theme="light"] .de-layer  { border-bottom-color: #f3f4f6; }
[data-theme="light"] .de-nicho-card,
[data-theme="light"] .de-opp-card,
[data-theme="light"] .de-obj-card { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .de-cta-wrap { background: #f9fafb; }
[data-theme="light"] .de-sel-tag  { background: #fff; border-color: #e5e7eb; }

/* ═══════════════════════════════════════════════════════
   DISCOVERY SESSION OVERLAY
   ═══════════════════════════════════════════════════════ */
.discovery-overlay {
  position: fixed;
  inset: 0;
  z-index: 9500;
  background: rgba(0,0,0,.82);
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.discovery-overlay.hidden { display: none; }

.ds-panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 32px 36px;
  width: min(500px, 90vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.ds-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ds-pulse {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #10b981;
  position: relative;
  animation: ds-dot-pulse 1.2s ease-in-out infinite;
}
.ds-pulse::after {
  content: '';
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 2px solid rgba(16,185,129,.35);
  animation: ds-ring 1.2s ease-in-out infinite;
}
@keyframes ds-dot-pulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.3); } }
@keyframes ds-ring { 0%{ transform:scale(1); opacity:1; } 100%{ transform:scale(2); opacity:0; } }

.ds-logo-text {
  font-family: 'Sora', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .8px;
  color: #10b981;
  text-transform: uppercase;
}

.ds-context {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--sub);
}
.ds-ctx-tag {
  background: rgba(16,185,129,.1);
  border: 1px solid rgba(16,185,129,.2);
  color: #10b981;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
}
.ds-ctx-sep { color: var(--sub); }

.ds-status {
  font-size: 13px;
  color: var(--text);
  font-weight: 500;
  text-align: center;
  min-height: 20px;
}

.ds-dims-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  width: 100%;
}
.ds-dim {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 8px 4px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg);
  font-size: 9px;
  color: var(--sub);
  text-transform: capitalize;
  transition: background .2s, border-color .2s;
}
.ds-dim-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transition: background .3s, box-shadow .3s;
}
.ds-dim-loading { background: var(--border); }
.ds-dim-active  {
  background: #10b981;
  box-shadow: 0 0 6px rgba(16,185,129,.6);
  animation: ds-dot-pulse .9s ease-in-out infinite;
}
.ds-dim-done    { background: #10b981; }

.ds-progress {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ds-progress-bar {
  flex: 1;
  height: 3px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden;
}
.ds-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #10b981, #06b6d4);
  border-radius: 2px;
  width: 0%;
  transition: width .45s ease;
}
.ds-progress-text {
  font-size: 10px;
  color: var(--sub);
  font-weight: 600;
  min-width: 28px;
  text-align: right;
}

[data-theme="light"] .ds-panel  { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .ds-dim    { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .ds-status { color: #111827; }

/* ═══════════════════════════════════════════════
   F16 — Market Health Dashboard
   ═══════════════════════════════════════════════ */
.mhd-overlay {
  position: fixed; inset: 0; z-index: 1600;
  display: flex; align-items: flex-start; justify-content: flex-end;
  padding: 64px 16px 16px; pointer-events: none;
}
.mhd-overlay.hidden { display: none; }
.mhd-overlay-bg {
  position: absolute; inset: 0; pointer-events: all;
}
.mhd-panel {
  position: relative; pointer-events: all;
  width: 540px; max-width: calc(100vw - 32px);
  max-height: calc(100vh - 80px);
  background: #141424; border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px; box-shadow: 0 24px 64px rgba(0,0,0,.65);
  display: flex; flex-direction: column; overflow: hidden;
}
.mhd-header {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px; border-bottom: 1px solid rgba(255,255,255,.06);
  flex-shrink: 0;
}
.mhd-title { font-size: 13px; font-weight: 600; color: #e2e8f0; flex: 1; }
.mhd-overall-pill { font-size: 10px !important; }
.mhd-close {
  background: none; border: none; color: #475569; cursor: pointer;
  font-size: 16px; padding: 2px 6px; line-height: 1; transition: color .15s;
}
.mhd-close:hover { color: #e2e8f0; }

.mhd-body { flex: 1; overflow-y: auto; padding: 12px 14px; }

/* Section */
.mhd-section { margin-bottom: 18px; }
.mhd-section:last-child { margin-bottom: 4px; }
.mhd-section-title {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .9px; color: #6366f1;
  padding-bottom: 7px; border-bottom: 1px solid rgba(99,102,241,.18);
  margin-bottom: 10px;
}
.mhd-detail-row {
  display: flex; justify-content: space-between;
  font-size: 11px; padding: 2px 0; gap: 8px;
}
.mhd-detail-label { color: #475569; }
.mhd-detail-val   { color: #cbd5e1; }
.mhd-mono { font-family: monospace; font-size: 10px; }

/* Source cards grid */
.mhd-sources-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px;
}
.mhd-3col { grid-template-columns: 1fr 1fr 1fr; }
.mhd-source-card {
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px; padding: 10px 12px;
}
.mhd-source-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px;
}
.mhd-source-name { font-size: 11px; font-weight: 600; color: #94a3b8; }
.mhd-source-rows { display: flex; flex-direction: column; gap: 4px; }
.mhd-source-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 10px; color: #475569;
}
.mhd-val   { color: #64748b; }
.mhd-red   { color: #ef4444 !important; }

/* Progress bar */
.mhd-bar-container { display: flex; align-items: center; gap: 5px; }
.mhd-bar-wrap {
  width: 54px; height: 4px; background: rgba(255,255,255,.08);
  border-radius: 2px; overflow: hidden;
}
.mhd-bar-fill { height: 100%; border-radius: 2px; transition: width .4s; }
.mhd-bar-val  { font-size: 10px; color: #64748b; min-width: 26px; text-align: right; }
.mhd-no-data  { font-size: 10px; color: #334155; }

/* Error / summary */
.mhd-error-msg {
  font-size: 9px; color: #f87171;
  background: rgba(239,68,68,.08); border-radius: 4px;
  padding: 3px 6px; margin-top: 4px;
  word-break: break-all; line-height: 1.4;
}
.mhd-summary-msg {
  font-size: 11px; border-radius: 6px; padding: 6px 10px; margin-top: 8px;
}
.mhd-summary-msg.mhd-ok       { background: rgba(16,185,129,.1); color: #10b981; }
.mhd-summary-msg.mhd-partial  { background: rgba(245,158,11,.1);  color: #f59e0b; }
.mhd-summary-msg.mhd-degraded { background: rgba(239,68,68,.1);   color: #ef4444; }
.mhd-summary-msg.mhd-unknown  { background: rgba(100,116,139,.1); color: #94a3b8; }

/* Services */
.mhd-svc-list { display: flex; flex-direction: column; gap: 5px; }
.mhd-svc-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 10px;
  background: rgba(255,255,255,.025); border-radius: 7px;
}
.mhd-svc-left  { display: flex; flex-direction: column; gap: 1px; }
.mhd-svc-name  { font-size: 12px; color: #cbd5e1; font-weight: 500; }
.mhd-svc-note  { font-size: 9px; color: #334155; }
.mhd-saas-badge {
  font-size: 11px; font-weight: 600; text-align: center;
  padding: 7px 12px; border-radius: 7px; margin-top: 8px;
}
.mhd-saas-badge.mhd-ok      { background: rgba(16,185,129,.1); color: #10b981; }
.mhd-saas-badge.mhd-partial { background: rgba(245,158,11,.1);  color: #f59e0b; }

/* Status pills */
.mhd-pill {
  font-size: 9px; font-weight: 700; padding: 2px 8px;
  border-radius: 12px; white-space: nowrap;
}
.mhd-ok       { background: rgba(16,185,129,.15); color: #10b981; }
.mhd-partial  { background: rgba(245,158,11,.15);  color: #f59e0b; }
.mhd-degraded { background: rgba(239,68,68,.15);   color: #ef4444; }
.mhd-unknown  { background: rgba(100,116,139,.15); color: #94a3b8; }

/* Footer */
.mhd-footer {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 16px; border-top: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0;
}
.mhd-updated     { font-size: 10px; color: #334155; }
.mhd-refresh-btn {
  font-size: 11px; color: #6366f1; background: none;
  border: 1px solid rgba(99,102,241,.28); border-radius: 6px;
  padding: 4px 12px; cursor: pointer; transition: all .15s;
}
.mhd-refresh-btn:hover { background: rgba(99,102,241,.1); border-color: rgba(99,102,241,.55); }

/* Loading / error states */
.mhd-loading { text-align: center; color: #334155; font-size: 12px; padding: 40px 20px; }
.mhd-error   { text-align: center; color: #ef4444;  font-size: 12px; padding: 40px 20px; }


/* ═══════════════════════════════════════════════════════
   ACELERANDO AGORA — Passo 5
   ═══════════════════════════════════════════════════════ */
.acelerando-view{padding:20px 24px;max-width:1100px;margin:0 auto;}
.acel-header{margin-bottom:20px;}
.acel-title{font-size:20px;font-weight:700;color:#f1f5f9;margin-bottom:4px;}
.acel-sub{font-size:12px;color:#64748b;margin-bottom:14px;}
.acel-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.acel-filter-group{display:flex;gap:6px;}
.acel-filter{font-size:11px;font-weight:600;padding:5px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s;}
.acel-filter.active,.acel-filter:hover{background:rgba(99,102,241,.15);border-color:#6366f1;color:#a5b4fc;}

/* Stats row */
.acel-stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.acel-stat-card{flex:1;min-width:100px;padding:14px 18px;border-radius:12px;text-align:center;border:1px solid;}
.acel-stat-card.green{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.25);}
.acel-stat-card.grey{background:rgba(100,116,139,.1);border-color:rgba(100,116,139,.25);}
.acel-stat-card.red{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);}
.acel-stat-num{font-size:24px;font-weight:700;font-family:'Sora',sans-serif;}
.acel-stat-card.green .acel-stat-num{color:#10b981;}
.acel-stat-card.grey  .acel-stat-num{color:#94a3b8;}
.acel-stat-card.red   .acel-stat-num{color:#ef4444;}
.acel-stat-lbl{font-size:10px;color:#64748b;margin-top:2px;font-weight:500;}

/* Loading / empty */
.acel-loading{text-align:center;color:#64748b;font-size:13px;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.acel-empty{text-align:center;padding:60px 20px;}
.acel-empty-icon{font-size:40px;margin-bottom:12px;}
.acel-empty-title{font-size:16px;font-weight:600;color:#94a3b8;margin-bottom:8px;}
.acel-empty-text{font-size:12px;color:#475569;line-height:1.6;max-width:400px;margin:0 auto;}

/* Grid de cards */
/* Tab Radar — destaque especial */
.tab-radar{color:#f59e0b!important;font-weight:700!important;}
.tab-radar.active{border-bottom-color:#f59e0b!important;}

/* Grid principal e seções */
.acel-grid{display:flex;flex-direction:column;gap:24px;}
.acel-section{}
.acel-section-title{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#10b981;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid rgba(16,185,129,.2);}
.acel-section-title.warn{color:#ef4444;border-bottom-color:rgba(239,68,68,.2);}
.acel-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}

/* Card individual */
.acel-card{background:var(--card,#1e293b);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px;cursor:pointer;transition:all .18s;position:relative;overflow:hidden;}
.acel-card:hover{border-color:rgba(99,102,241,.35);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.acel-card.tier-acelerando{border-left:3px solid #10b981;}
.acel-card.tier-desacelerando{border-left:3px solid #ef4444;}
.acel-card.tier-estavel{border-left:3px solid #475569;}

/* Topo do card: aceleração + IE lado a lado */
.acel-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.acel-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;font-family:'Sora',sans-serif;}
.acel-badge.up{background:rgba(16,185,129,.18);color:#10b981;border:1px solid rgba(16,185,129,.3);}
.acel-badge.down{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.25);}
.acel-badge.flat{background:rgba(100,116,139,.15);color:#94a3b8;border:1px solid rgba(100,116,139,.25);}

/* IE badge no topo do card */
.acel-ie-badge{font-size:10px;font-weight:800;padding:3px 9px;border-radius:20px;font-family:'Sora',sans-serif;}
.acel-ie-badge.acel-ie-excellent{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3);}
.acel-ie-badge.acel-ie-good{background:rgba(251,191,36,.12);color:#fbbf24;border:1px solid rgba(251,191,36,.3);}
.acel-ie-badge.acel-ie-poor{background:rgba(248,113,113,.12);color:#f87171;border:1px solid rgba(248,113,113,.25);}

.acel-nicho{font-size:9px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#6366f1;margin-bottom:6px;}
.acel-card-title{font-size:12px;font-weight:500;color:#e2e8f0;line-height:1.4;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* Métricas */
.acel-metrics{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.acel-metric{flex:1;min-width:55px;text-align:center;background:rgba(255,255,255,.04);border-radius:8px;padding:6px 4px;}
.acel-metric-val{font-size:12px;font-weight:700;color:#f1f5f9;font-family:'Sora',sans-serif;}
.acel-metric-val.acel-val-green{color:#10b981;}
.acel-metric-val.acel-val-yellow{color:#fbbf24;}
.acel-metric-val.acel-val-red{color:#f87171;}
.acel-metric-lbl{font-size:9px;color:#64748b;margin-top:2px;}

/* Progress bar de aceleração */
.acel-progress-row{display:flex;align-items:center;gap:8px;margin-top:6px;}
.acel-progress-lbl{font-size:9px;color:#64748b;white-space:nowrap;}
.acel-progress-track{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;}
.acel-progress-fill{height:100%;border-radius:4px;transition:width .3s;}

/* Decisão no rodapé do card */
.acel-decision{font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;margin-top:10px;text-align:center;padding:4px 0;border-radius:6px;}
.acel-decision.excellent{background:rgba(16,185,129,.1);color:#10b981;}
.acel-decision.good{background:rgba(251,191,36,.1);color:#fbbf24;}
.acel-decision.poor{background:rgba(248,113,113,.1);color:#f87171;}

/* ═══════════════════════════════════════════════════════
   REVIEWS ANALYSIS — Passo 7
   ═══════════════════════════════════════════════════════ */

/* Reviews button */
.reviews-btn{width:100%;margin-top:8px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#94a3b8;border:1px solid rgba(99,102,241,.3);padding:9px 12px;border-radius:9px;font-size:12px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s;}
.reviews-btn:hover:not(:disabled){color:#a5b4fc;border-color:#6366f1;background:linear-gradient(135deg,#1e1b4b,#1e293b);}
.reviews-btn:disabled{opacity:.4;cursor:not-allowed;}
[data-theme="dark"] .reviews-btn{background:linear-gradient(135deg,#0d1117,#161b22);border-color:rgba(99,102,241,.35);}

/* Modal overlay */
.reviews-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;}
.reviews-modal.hidden{display:none;}
.reviews-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);}

/* Modal box */
.reviews-modal-box{position:relative;background:#fff;border-radius:18px;width:100%;max-width:700px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);transform:translateY(20px) scale(.97);opacity:0;transition:transform .35s cubic-bezier(.34,1.2,.64,1),opacity .3s;}
.reviews-modal.open .reviews-modal-box{transform:translateY(0) scale(1);opacity:1;}
[data-theme="dark"] .reviews-modal-box{background:#161b22;box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 0 1px #30363d;}

/* Header */
.reviews-modal-header{padding:18px 20px 14px;border-bottom:1px solid #f3f4f6;display:flex;align-items:flex-start;gap:14px;flex-shrink:0;}
[data-theme="dark"] .reviews-modal-header{border-bottom-color:#30363d;}
.reviews-modal-header-inner{display:flex;align-items:center;gap:14px;flex:1;min-width:0;}
.reviews-modal-icon{font-size:28px;flex-shrink:0;}
.reviews-modal-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6366f1;margin-bottom:3px;}
.reviews-modal-title{font-family:'Sora',sans-serif;font-size:13px;font-weight:700;color:#111827;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px;}
[data-theme="dark"] .reviews-modal-title{color:#e6edf3;}
.reviews-modal-meta{font-size:10px;color:#94a3b8;}
.reviews-modal-close{background:#f3f4f6;border:none;border-radius:8px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;color:#6b7280;flex-shrink:0;transition:all .15s;align-self:flex-start;}
.reviews-modal-close:hover{background:#e5e7eb;color:#111827;}
[data-theme="dark"] .reviews-modal-close{background:#21262d;color:#8b949e;}
[data-theme="dark"] .reviews-modal-close:hover{background:#30363d;color:#e6edf3;}

/* Body */
.reviews-modal-body{flex:1;overflow-y:auto;padding:18px 20px 24px;scroll-behavior:smooth;}
.reviews-modal-body::-webkit-scrollbar{width:5px;}
.reviews-modal-body::-webkit-scrollbar-track{background:transparent;}
.reviews-modal-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:10px;}
[data-theme="dark"] .reviews-modal-body::-webkit-scrollbar-thumb{background:#30363d;}

/* Loading */
.reviews-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:14px;}
.reviews-modal-loading.hidden{display:none;}
.reviews-modal-loading-text{font-size:13px;color:#374151;font-weight:600;}
[data-theme="dark"] .reviews-modal-loading-text{color:#c9d1d9;}
.reviews-modal-loading-sub{font-size:11px;color:#9ca3af;}

/* Content — seções da análise */
.reviews-modal-content{font-size:13px;line-height:1.7;color:#374151;white-space:pre-wrap;}
[data-theme="dark"] .reviews-modal-content{color:#c9d1d9;}

/* Badge de fonte dos dados */
.reviews-source-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:10px;font-weight:600;margin-bottom:16px;}
.reviews-source-badge.real{background:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.25);}
.reviews-source-badge.hipotetica{background:rgba(99,102,241,.12);color:#818cf8;border:1px solid rgba(99,102,241,.25);}

/* ══════════════════════════════════════════════════════════
   PIPELINE KANBAN v2 — drag-and-drop + IE badge + advance btn
   ══════════════════════════════════════════════════════════ */

/* Drop zone overlay */
.pl-drop-zone{
  position:absolute;inset:0;border-radius:12px;
  border:2px dashed transparent;
  background:transparent;
  transition:all .2s;pointer-events:none;z-index:2;
}
.pl-col{position:relative;}
.pl-drop-zone.drag-over{
  border-color:var(--accent);
  background:rgba(59,130,246,.06);
  pointer-events:none;
}

/* Dragging card state */
.pl-card.dragging{
  opacity:.4;transform:scale(.97);
  box-shadow:0 0 0 2px var(--accent);
}

/* Card header row */
.pl-card-header{
  display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;
}

/* IE badge on pipeline card */
.pl-ie-badge{
  flex-shrink:0;
  font-size:8px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  padding:2px 7px;border-radius:4px;margin-top:2px;
  white-space:nowrap;
}
.pl-ie-badge.excellent{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3);}
.pl-ie-badge.good     {background:rgba(251,191,36,.15);color:#d97706;border:1px solid rgba(251,191,36,.3);}
.pl-ie-badge.poor     {background:rgba(248,113,113,.15);color:#ef4444;border:1px solid rgba(248,113,113,.3);}

/* Card title */
.pl-card-title{
  font-size:12px;font-weight:600;line-height:1.35;color:var(--tx1);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  flex:1;
}
[data-theme="dark"] .pl-card-title{color:#e6edf3;}

/* (meta row handled below via .pl-card-meta) */

/* Advance button */
.pl-advance-btn{
  width:100%;
  padding:6px 0;
  border:1.5px solid currentColor;border-radius:7px;
  background:transparent;
  font-size:10.5px;font-weight:700;letter-spacing:.4px;
  cursor:pointer;transition:background .15s,opacity .15s,transform .1s;
}
.pl-advance-btn:hover{opacity:.8;transform:translateY(-1px);background:rgba(0,0,0,.06);}
.pl-advance-btn:active{transform:translateY(0);}
[data-theme="dark"] .pl-advance-btn:hover{background:rgba(255,255,255,.06);}

/* Final stage badge */
.pl-final-badge{
  width:100%;text-align:center;padding:6px 0;
  font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  color:#10b981;background:rgba(16,185,129,.1);border-radius:7px;
}

/* Remove button */
.pl-card-remove{
  margin-left:auto;flex-shrink:0;
  width:20px;height:20px;border-radius:50%;
  border:none;background:rgba(248,113,113,.1);
  color:#f87171;font-size:10px;font-weight:700;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .15s;line-height:1;
}
.pl-card:hover .pl-card-remove{opacity:1;}
.pl-card-remove:hover{background:rgba(248,113,113,.25)!important;}
.pl-card{position:relative;}

/* Meta row for pipeline cards */
.pl-card-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:10px;color:var(--tx4);margin-bottom:10px;
}
.pl-meta-price{font-weight:700;color:var(--tx2);}
.pl-meta-days,.pl-meta-pri{font-weight:500;}

/* ══════════════════════════════════════════════════════════
   PASSO 8 — NOTAS NO PIPELINE
   ══════════════════════════════════════════════════════════ */
.pl-note-btn{
  flex-shrink:0;background:transparent;border:none;
  font-size:13px;cursor:pointer;position:relative;
  padding:2px 4px;border-radius:5px;
  transition:background .15s;color:var(--tx4);
}
.pl-note-btn:hover{background:rgba(99,102,241,.1);color:#818cf8;}
.pl-note-count{
  position:absolute;top:-4px;right:-4px;
  background:#6366f1;color:#fff;
  font-size:8px;font-weight:700;
  border-radius:50%;width:13px;height:13px;
  display:flex;align-items:center;justify-content:center;
}
.pl-note-preview{
  font-size:10px;color:var(--tx4);
  font-style:italic;margin-bottom:6px;
  padding:4px 7px;
  background:rgba(99,102,241,.06);
  border-left:2px solid #6366f1;
  border-radius:0 5px 5px 0;
  line-height:1.4;
}
.pl-note-area{
  margin-bottom:8px;
}
.pl-note-area.hidden{display:none;}
.pl-note-input{
  width:100%;box-sizing:border-box;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--bg2);
  color:var(--tx1);
  font-size:11px;line-height:1.5;
  resize:vertical;min-height:60px;
  outline:none;transition:border-color .15s;
  font-family:inherit;
}
.pl-note-input:focus{border-color:#6366f1;}
.pl-note-actions{display:flex;gap:6px;margin-top:5px;}
.pl-note-save,.pl-note-cancel{
  flex:1;padding:4px 0;border-radius:6px;
  font-size:10px;font-weight:700;cursor:pointer;
  border:1px solid transparent;transition:opacity .15s;
}
.pl-note-save{background:#6366f1;color:#fff;}
.pl-note-save:hover{opacity:.85;}
.pl-note-cancel{background:transparent;color:var(--tx4);border-color:var(--border);}
.pl-note-cancel:hover{color:var(--tx2);}

/* ══════════════════════════════════════════════════════════
   PASSO 8B — BUSCAS SALVAS
   ══════════════════════════════════════════════════════════ */
.search-input-wrap{position:relative;flex:1;}
.save-search-btn{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  background:transparent;border:none;
  font-size:14px;cursor:pointer;
  color:var(--tx4);transition:color .15s,transform .15s;
  padding:2px;line-height:1;
}
.save-search-btn:hover{color:#f59e0b;transform:translateY(-50%) scale(1.2);}

.saved-searches-row{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:6px 0 2px;
}
.saved-searches-row.hidden{display:none;}
.saved-search-chip{
  display:inline-flex;align-items:center;gap:0;
  background:rgba(99,102,241,.1);
  border:1px solid rgba(99,102,241,.25);
  border-radius:20px;overflow:hidden;
  transition:border-color .15s;
}
.saved-search-chip:hover{border-color:rgba(99,102,241,.5);}
.ssc-label{
  padding:3px 10px 3px 12px;
  font-size:10.5px;font-weight:600;color:#818cf8;
  cursor:pointer;white-space:nowrap;
  max-width:160px;overflow:hidden;text-overflow:ellipsis;
}
.ssc-label:hover{color:#6366f1;}
.ssc-del{
  padding:3px 8px 3px 4px;
  background:transparent;border:none;
  font-size:9px;color:#6b7280;cursor:pointer;
  transition:color .15s;
}
.ssc-del:hover{color:#ef4444;}

/* Toast de busca salva */
.ss-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:#111827;color:#fff;
  padding:8px 18px;border-radius:20px;
  font-size:12px;font-weight:600;
  opacity:0;transition:opacity .2s,transform .2s;
  pointer-events:none;z-index:9999;
  box-shadow:0 4px 16px rgba(0,0,0,.3);
}
.ss-toast.visible{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══════════════════════════════════════════════════════════
   PASSO 8C — BOTÃO BUSCAR NO 1688
   ══════════════════════════════════════════════════════════ */
.find-supplier-btn{
  width:100%;
  padding:7px 12px;
  border:1.5px solid rgba(239,68,68,.4);
  border-radius:8px;
  background:rgba(239,68,68,.07);
  color:#ef4444;
  font-size:11px;font-weight:700;letter-spacing:.3px;
  cursor:pointer;transition:all .15s;
  margin-top:4px;
}
.find-supplier-btn:hover:not(:disabled){
  background:rgba(239,68,68,.15);
  border-color:rgba(239,68,68,.7);
  transform:translateY(-1px);
}
.find-supplier-btn:disabled{
  opacity:.4;cursor:not-allowed;
}
[data-theme="dark"] .find-supplier-btn{color:#f87171;border-color:rgba(248,113,113,.35);}

/* ══════════════════════════════════════════════════════════
   PASSO 8D — FLASH DE AUTO-FILL NA CALCULADORA
   ══════════════════════════════════════════════════════════ */
@keyframes autofill-flash{
  0%{background:rgba(16,185,129,.25);border-color:#10b981;}
  100%{background:inherit;border-color:inherit;}
}
.autofill-flash{
  animation:autofill-flash 1s ease-out forwards;
}

/* ══════════════════════════════════════════════════════════
   PASSO 12 — DASHBOARD OVERVIEW
   ══════════════════════════════════════════════════════════ */

/* Container principal */
.dashboard-view{
  padding:20px 24px;
  max-width:1100px;
  margin:0 auto;
  animation:fadeIn .3s ease;
}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* KPI Strip */
.dash-kpi-strip{
  display:flex;gap:12px;margin-bottom:20px;
  flex-wrap:wrap;
}
.dash-kpi{
  flex:1;min-width:110px;
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px 18px;
  display:flex;flex-direction:column;align-items:flex-start;
  gap:4px;transition:border-color .2s;cursor:default;
}
.dash-kpi:hover{border-color:var(--accent);}
.dash-kpi-num{
  font-size:26px;font-weight:800;line-height:1;
  font-family:'Sora',sans-serif;
  color:var(--tx1);
}
.dash-kpi-lbl{font-size:10px;color:var(--tx4);font-weight:600;letter-spacing:.4px;text-transform:uppercase;}

/* KPI accent colors */
#dash-kpi-alerts .dash-kpi-num{color:#f59e0b;}
#dash-kpi-acel   .dash-kpi-num{color:#10b981;}
#dash-kpi-pipeline .dash-kpi-num{color:#3b82f6;}
#dash-kpi-watchlist .dash-kpi-num{color:#8b5cf6;}

/* Body layout — 2 colunas */
.dash-body{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:16px;
  align-items:start;
}
@media(max-width:900px){.dash-body{grid-template-columns:1fr;}}

/* Cards */
.dash-card{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:14px;
}
.dash-card:last-child{margin-bottom:0;}
.dash-card-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px 10px;
  border-bottom:1px solid var(--border);
}
.dash-card-title{
  font-size:12px;font-weight:700;color:var(--tx2);
  letter-spacing:.3px;text-transform:uppercase;
}
.dash-see-all{
  background:transparent;border:none;
  font-size:10.5px;font-weight:600;color:var(--accent);
  cursor:pointer;transition:opacity .15s;padding:0;
}
.dash-see-all:hover{opacity:.7;}

/* Alertas */
.dash-alerts-list{padding:6px 0;}
.dash-alert-row{
  display:flex;align-items:flex-start;gap:10px;
  padding:9px 16px;border-bottom:1px solid var(--border);
  transition:background .15s;
}
.dash-alert-row:last-child{border-bottom:none;}
.dash-alert-row:hover{background:rgba(255,255,255,.025);}
.dash-alert-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
.dash-alert-body{flex:1;min-width:0;}
.dash-alert-msg{
  font-size:12px;font-weight:600;color:var(--tx1);
  line-height:1.4;display:flex;align-items:center;gap:5px;
}
.dash-alert-meta{font-size:10px;color:var(--tx4);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dash-unread-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--accent);flex-shrink:0;display:inline-block;
}
/* Severity tints */
.dash-alert-high  .dash-alert-msg{color:#f87171;}
.dash-alert-warn  .dash-alert-msg{color:#fbbf24;}
.dash-alert-info  .dash-alert-msg{color:var(--tx1);}

/* Acelerando mini-cards */
.dash-acel-list{padding:6px 0;}
.dash-acel-row{
  display:flex;align-items:center;gap:10px;
  padding:9px 16px;border-bottom:1px solid var(--border);
  transition:background .15s;
}
.dash-acel-row:last-child{border-bottom:none;}
.dash-acel-row:hover{background:rgba(255,255,255,.025);}
.dash-acel-thumb{
  width:40px;height:40px;border-radius:8px;
  overflow:hidden;background:var(--bg3);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
}
.dash-acel-thumb img{width:100%;height:100%;object-fit:cover;}
.dash-acel-info{flex:1;min-width:0;}
.dash-acel-title{
  font-size:12px;font-weight:600;color:var(--tx1);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-bottom:3px;
}
.dash-acel-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.dash-acel-meta span{font-size:10px;color:var(--tx4);}
.dash-acel-badge{
  background:rgba(16,185,129,.15);color:#10b981;
  border:1px solid rgba(16,185,129,.3);
  padding:1px 7px;border-radius:10px;
  font-size:9.5px;font-weight:700;
}

/* Pipeline status */
.dash-pipeline-status{padding:10px 16px 14px;}
.dash-pl-row{
  display:flex;align-items:center;gap:8px;
  margin-bottom:8px;
}
.dash-pl-row:last-child{margin-bottom:0;}
.dash-pl-icon{font-size:13px;width:18px;text-align:center;}
.dash-pl-stage{font-size:11px;font-weight:600;color:var(--tx2);width:90px;flex-shrink:0;}
.dash-pl-bar-wrap{flex:1;height:6px;background:var(--bg3);border-radius:3px;overflow:hidden;}
.dash-pl-bar{
  display:block;height:100%;border-radius:3px;
  border:1px solid transparent;
  transition:width .4s ease;
}
.dash-pl-count{font-size:11px;font-weight:700;width:18px;text-align:right;flex-shrink:0;}

/* Tip card */
.dash-card-tip{border-color:rgba(99,102,241,.25);background:rgba(99,102,241,.04);}
.dash-tip-text{
  padding:12px 16px 14px;
  font-size:12.5px;line-height:1.65;color:var(--tx2);
}
.dash-tip-text b{color:var(--tx1);}

/* Atalhos */
.dash-shortcuts{
  display:grid;grid-template-columns:1fr 1fr;
  gap:8px;padding:12px 16px 14px;
}
.dash-shortcut-btn{
  padding:9px 0;border-radius:9px;
  border:1px solid var(--border);
  background:transparent;
  font-size:11px;font-weight:600;color:var(--tx2);
  cursor:pointer;transition:all .15s;text-align:center;
}
.dash-shortcut-btn:hover{
  border-color:var(--accent);color:var(--accent);
  background:rgba(59,130,246,.05);
}

/* Loading / empty states */
.dash-loading{
  padding:18px 16px;
  font-size:11px;color:var(--tx4);text-align:center;
}
.dash-empty-msg{
  padding:14px 16px;
  font-size:11.5px;color:var(--tx4);
  line-height:1.5;text-align:center;
}

/* ═══════════════════════════════════════════════
   A1 — TIMING SIGNAL (Card Badge)
   ═══════════════════════════════════════════════ */

/* Card row — logo abaixo do título */
.timing-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 6px;
  margin: 4px 0 6px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2px;
}

.timing-row.timing-open    { background: #22c55e12; border-color: #22c55e30; color: #22c55e; }
.timing-row.timing-good    { background: #3b82f612; border-color: #3b82f630; color: #60a5fa; }
.timing-row.timing-watch   { background: #f59e0b12; border-color: #f59e0b30; color: #f59e0b; }
.timing-row.timing-late    { background: #f9731612; border-color: #f9731630; color: #f97316; }
.timing-row.timing-toolate { background: #ef444412; border-color: #ef444430; color: #ef4444; }

.timing-emoji { font-size: 14px; line-height: 1; }

.timing-label { flex: 1; }

.timing-score-pill {
  background: rgba(255,255,255,0.08);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  min-width: 22px;
  text-align: center;
}

.timing-low-conf {
  font-size: 10px;
  font-weight: 700;
  color: #f59e0b;
  background: #f59e0b20;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: help;
}

/* ═══════════════════════════════════════════════
   A1 — TIMING PANEL (Detail Panel)
   ═══════════════════════════════════════════════ */

.timing-panel-section {
  margin: 12px 0 4px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--sf3);
}

/* Headline signal */
.tp-headline {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--sf3);
  border-radius: 10px 10px 0 0;
}

.tp-headline-emoji { font-size: 22px; line-height: 1; }

.tp-headline-label {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.tp-headline-sub {
  font-size: 11px;
  color: var(--tx4);
  margin-top: 2px;
}

/* 4 fatores */
.tp-factors {
  background: var(--surface);
  padding: 4px 0;
}

.tp-factor-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--sf2);
}
.tp-factor-row:last-child { border-bottom: none; }

.tp-factor-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.tp-factor-icon { font-size: 14px; min-width: 18px; }

.tp-factor-name {
  font-size: 11px;
  color: var(--tx3);
  font-weight: 500;
}

.tp-factor-detail {
  font-size: 11px;
  color: var(--tx4);
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 120px;
}

.tp-factor-bar-wrap {
  width: 60px;
  height: 4px;
  background: var(--sf3);
  border-radius: 2px;
  overflow: hidden;
  flex-shrink: 0;
}

.tp-factor-bar {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s ease;
}

/* Meta footer */
.tp-meta {
  padding: 8px 14px;
  font-size: 10px;
  color: var(--tx4);
  background: var(--sf2);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tp-meta-warn {
  color: #f59e0b;
  font-weight: 500;
}

/* ═══════════════════════════════════════════
   A2 — MARGIN ESTIMATE (card badge + panel)
   ═══════════════════════════════════════════ */

/* Card badge — linha abaixo do timing */
.margin-row {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 6px;
  border-left: 3px solid currentColor;
  margin: 3px 0 4px;
  font-size: 11px;
  font-weight: 500;
  background: var(--sf2);
  flex-wrap: wrap;
}
.margin-row.margin-high  { color: #22c55e; border-color: #22c55e; background: #22c55e0d; }
.margin-row.margin-good  { color: #3b82f6; border-color: #3b82f6; background: #3b82f60d; }
.margin-row.margin-ok    { color: #f59e0b; border-color: #f59e0b; background: #f59e0b0d; }
.margin-row.margin-low   { color: #f97316; border-color: #f97316; background: #f973160d; }
.margin-row.margin-neg   { color: #ef4444; border-color: #ef4444; background: #ef44440d; }
.margin-row.margin-unknown { color: #475569; border-color: #475569; }

.margin-emoji  { font-size: 13px; line-height: 1; flex-shrink: 0; }
.margin-label  { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.margin-pct-pill {
  background: currentColor;
  color: #0f172a;
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 700;
  flex-shrink: 0;
}
.margin-fob {
  font-size: 10px;
  opacity: 0.75;
  flex-shrink: 0;
}
.margin-src-tag {
  font-size: 9px;
  border-radius: 3px;
  padding: 1px 4px;
  font-weight: 600;
  flex-shrink: 0;
}
.margin-src-tag.real { background: #22c55e20; color: #22c55e; }
.margin-src-tag.est  { background: #94a3b820; color: #94a3b8; }

/* Panel section */
.margin-panel-section {
  border-top: 1px solid var(--sf3);
  padding-top: 12px;
  margin-top: 4px;
}

/* Headline */
.mp-headline {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid transparent;
  margin-bottom: 10px;
}
.mp-headline-label { font-size: 14px; font-weight: 700; }
.mp-headline-sub   { font-size: 11px; color: var(--tx3); margin-top: 2px; }

/* Cost breakdown */
.mp-costs {
  background: var(--sf2);
  border-radius: 8px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 8px;
}
.mp-cost-row {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--tx3);
}
.mp-cost-row .mp-cost-label { color: var(--tx2); }
.mp-cost-val.deduct { color: #ef4444; }
.mp-cost-val.income { color: #22c55e; font-weight: 600; }
.mp-profit-row {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  border-top: 1px solid var(--sf3);
  padding-top: 6px;
  margin-top: 2px;
}

/* Source info */
.mp-source {
  font-size: 10px;
  padding: 6px 10px;
  border-radius: 6px;
  margin-bottom: 8px;
}
.mp-source.real { background: #22c55e10; color: #22c55e; }
.mp-source.est  { background: #f59e0b10; color: #f59e0b; }

/* Tip */
.mp-tip {
  font-size: 11px;
  color: var(--tx3);
  background: var(--sf2);
  border-radius: 6px;
  padding: 8px 12px;
  border-left: 2px solid #3b82f6;
}

/* ═══════════════════════════════════════════════════════════════
   F2 — AGENT ANALYSIS SECTION (BUY/WATCH/PASS)
   v44
   ═══════════════════════════════════════════════════════════════ */

/* Botão Análise Completa */
.agent-btn {
  width: 100%;
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid #8b5cf6;
  background: #8b5cf610;
  color: #8b5cf6;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, opacity .15s;
  margin-top: 6px;
}
.agent-btn:hover:not(:disabled) { background: #8b5cf620; }
.agent-btn:disabled { opacity: .4; cursor: not-allowed; }

/* Seção do resultado */
.agent-analysis-section {
  margin: 12px 0 4px;
  border-top: 1px solid var(--sf3);
  padding-top: 12px;
}

/* Loading */
.agent-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  font-size: 13px;
  color: var(--tx3);
}
.agent-spinner {
  width: 18px; height: 18px;
  border: 2px solid var(--sf3);
  border-top-color: #8b5cf6;
  border-radius: 50%;
  animation: spin .7s linear infinite;
  flex-shrink: 0;
}
@keyframes spin { to { transform: rotate(360deg); } }

.agent-error { color: #ef4444; padding: 12px; font-size: 13px; }

/* Resultado */
.agent-result { font-size: 13px; }

/* Badge BUY/WATCH/PASS */
.ar-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 2px solid;
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 12px;
}
.ar-badge-icon { font-size: 22px; line-height: 1; }
.ar-badge-label {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .5px;
}
.ar-veto-tag {
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  background: #ef444420;
  color: #ef4444;
  padding: 2px 8px;
  border-radius: 4px;
}

/* Confidence bar */
.ar-conf-wrap { margin-bottom: 12px; }
.ar-conf-label { font-size: 11px; color: var(--tx3); margin-bottom: 4px; }
.ar-conf-bar {
  height: 6px;
  background: var(--sf3);
  border-radius: 3px;
  overflow: hidden;
}
.ar-conf-fill {
  height: 100%;
  border-radius: 3px;
  transition: width .4s ease;
}

/* Headline e summary */
.ar-headline {
  font-size: 14px;
  font-weight: 600;
  color: var(--tx1);
  line-height: 1.4;
  margin-bottom: 8px;
}
.ar-summary {
  font-size: 12px;
  color: var(--tx2);
  line-height: 1.5;
  margin-bottom: 10px;
}

/* Métricas 3-grid */
.ar-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 12px;
}
.ar-metric {
  background: var(--sf2);
  border-radius: 8px;
  padding: 8px 10px;
  text-align: center;
}
.ar-metric-val {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: var(--tx1);
  line-height: 1;
  margin-bottom: 3px;
}
.ar-metric-lbl { font-size: 10px; color: var(--tx3); text-transform: uppercase; letter-spacing: .5px; }

/* Fatores, steps, risks */
.ar-factors, .ar-steps, .ar-risks {
  margin-bottom: 10px;
}
.ar-factors strong, .ar-steps strong, .ar-risks strong {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--tx3);
  margin-bottom: 4px;
}
.ar-factors ul, .ar-steps ul, .ar-risks ul {
  margin: 0; padding: 0 0 0 16px;
  display: flex; flex-direction: column; gap: 3px;
}
.ar-factors li, .ar-steps li { color: var(--tx2); font-size: 12px; line-height: 1.4; }
.ar-risks li { color: #f59e0b; font-size: 12px; line-height: 1.4; }

/* Timeframe */
.ar-timeframe {
  font-size: 11px;
  color: var(--tx3);
  background: var(--sf2);
  border-radius: 6px;
  padding: 6px 10px;
  margin-bottom: 8px;
}

/* Meta */
.ar-meta {
  font-size: 10px;
  color: var(--tx4, var(--tx3));
  border-top: 1px solid var(--sf3);
  padding-top: 6px;
  margin-top: 8px;
}

/* ═══════════════════════════════════════════════════════════════
   F4.2 — Agent Decision Badge nos cards de produto
   v44 (Fase 3)
   ═══════════════════════════════════════════════════════════════ */

.agent-card-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  padding: 3px 8px;
  border-radius: 4px;
  margin-top: 6px;
  width: fit-content;
}
.agent-card-badge.buy   { background: #22c55e18; color: #22c55e; border: 1px solid #22c55e40; }
.agent-card-badge.watch { background: #f59e0b18; color: #f59e0b; border: 1px solid #f59e0b40; }
.agent-card-badge.pass  { background: #ef444418; color: #ef4444; border: 1px solid #ef444440; }

/* ═══════════════════════════════════════════════════════════════
   Scalability Panel — Pivô Filosófico
   Substituiu as métricas de R$10k/mês pelo Índice de Escala
   ═══════════════════════════════════════════════════════════════ */

.ar-scal-panel {
  background: var(--sf2, #1e1e2a);
  border: 1px solid var(--sf3, #2a2a3a);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 12px;
}
.ar-scal-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.ar-scal-title {
  font-size: 11px;
  color: var(--tx3, #9ca3af);
  text-transform: uppercase;
  letter-spacing: .7px;
  flex: 1;
}
.ar-scal-index {
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
}
.ar-scal-unit {
  font-size: 13px;
  font-weight: 500;
  opacity: .7;
}
.ar-scal-lbl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 3px 8px;
  border-radius: 4px;
}
.ar-scal-dims {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ar-scal-dim {
  display: grid;
  grid-template-columns: 90px 1fr 30px;
  align-items: center;
  gap: 8px;
}
.ar-scal-dim-lbl {
  font-size: 10px;
  color: var(--tx3, #9ca3af);
  white-space: nowrap;
}
.ar-scal-dim-bar {
  height: 5px;
  background: var(--sf3, #2a2a3a);
  border-radius: 3px;
  overflow: hidden;
}
.ar-scal-dim-fill {
  height: 100%;
  background: var(--ac1, #7c3aed);
  border-radius: 3px;
  transition: width .4s ease;
}
.ar-scal-dim-val {
  font-size: 10px;
  color: var(--tx2, #d1d5db);
  text-align: right;
}

/* Tip de margem baixa no painel de calculadora */
.mp-tip-warn {
  background: #f9731620;
  border-left-color: #f97316;
  color: #f97316;
}
