:root {
  --bg:#0f1117;--bg2:#1a1d27;--bg3:#22263a;
  --border:#2e3250;--text:#e8eaf6;--text2:#8b8fa8;
  --accent:#7c6af7;--accent2:#5b4de0;
  --green:#4caf82;--red:#e05c5c;--yellow:#f0b429;--orange:#f07e2a;
  --radius:10px;--font:'Inter',system-ui,sans-serif;
}
.light{
  --bg:#f5f6fa;--bg2:#ffffff;--bg3:#eef0f8;
  --border:#d0d3e8;--text:#1a1d27;--text2:#6b6f88;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{overflow-y:scroll;scrollbar-gutter:stable;}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;min-height:100vh;}

/* HEADER */
.header{background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;}
.header-inner{max-width:1140px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px;}
.logo{font-weight:700;font-size:16px;}
.subtitle{color:var(--text2);font-size:12px;flex:1;}
.theme-btn{background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;padding:4px 8px;color:var(--text);font-size:14px;}

/* MAIN */
.main{max-width:1140px;margin:0 auto;padding:24px 20px;display:flex;flex-direction:column;gap:20px;}

/* PANEL */
.panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;}
.panel-grid{display:grid;grid-template-columns:2fr 1fr 1fr 100px;gap:16px;margin-bottom:16px;}
@media(max-width:720px){.panel-grid{grid-template-columns:1fr;}}

.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-size:12px;color:var(--text2);font-weight:500;display:flex;align-items:center;gap:6px;}
.hint{font-size:11px;color:var(--text2);}
.hint-inline{font-size:11px;color:var(--text2);}
input[type=text],input[type=number],select,textarea{
  background:var(--bg3);border:1px solid var(--border);border-radius:6px;
  color:var(--text);padding:8px 10px;font-size:13px;font-family:var(--font);
  outline:none;transition:border-color .2s;
}
input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--accent);}
input[type=number]{width:70px;}
textarea{resize:vertical;}
code{background:var(--bg3);padding:1px 5px;border-radius:3px;font-size:11px;}

.range-row{display:flex;align-items:center;gap:8px;color:var(--text2);}

/* GEO */
.geo-field{margin-top:4px;}
.geo-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px;}
.geo-chip{display:flex;align-items:center;background:var(--bg3);border:1px solid var(--border);
  border-radius:20px;padding:4px 10px;cursor:pointer;font-size:12px;user-select:none;transition:all .15s;}
.geo-chip:hover{border-color:var(--accent);}
.geo-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff;}

/* CTA */
.cta-row{display:flex;gap:12px;margin-top:16px;align-items:center;}
.cta-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 24px;
  font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;}
.cta-btn:hover{background:var(--accent2);}
.cta-btn.stop{background:var(--red);}
.export-btn{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:10px 16px;
  font-size:13px;cursor:pointer;color:var(--text);transition:border-color .2s;}
.export-btn:hover:not(:disabled){border-color:var(--accent);}
.export-btn:disabled{opacity:.4;cursor:default;}
.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:0;text-decoration:underline;}

/* PROGRESS */
.progress-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;}
.progress-bar-track{background:var(--bg3);border-radius:4px;height:6px;overflow:hidden;}
.progress-bar{height:100%;background:var(--accent);border-radius:4px;transition:width .3s;width:0%;}
.progress-info{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--text2);}
.hidden{display:none!important;}

/* RESULTS HEADER */
.results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.tabs{display:flex;gap:6px;flex-wrap:wrap;}
.tab{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:6px 12px;
  cursor:pointer;font-size:12px;color:var(--text2);transition:all .15s;}
.tab.active{border-color:var(--accent);color:var(--text);background:var(--bg3);}
.cnt{background:var(--bg3);border-radius:10px;padding:1px 6px;font-size:11px;margin-left:4px;}
.sort-row{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--text2);}

/* TABLE */
.results-table{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.table-head{display:grid;grid-template-columns:2fr 60px 60px 180px 90px 130px;gap:12px;
  padding:10px 16px;background:var(--bg3);font-size:11px;color:var(--text2);font-weight:600;
  text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);}
.table-row{display:grid;grid-template-columns:2fr 60px 60px 180px 90px 130px;gap:12px;
  padding:10px 16px;border-bottom:1px solid var(--border);align-items:center;
  cursor:pointer;transition:background .1s;}
.table-row:hover{background:var(--bg3);}
.table-row:last-child{border-bottom:none;}

.cell-brand{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cell-geo{color:var(--text2);font-size:12px;}
.cell-score{font-weight:700;font-size:16px;}
.score-0{color:var(--text2);}
.score-low{color:var(--green);}
.score-med{color:var(--yellow);}
.score-high{color:var(--orange);}
.score-error{color:var(--red);}

.cell-anchors{display:flex;flex-wrap:wrap;gap:4px;}
.anchor-pill{background:var(--bg3);border:1px solid var(--border);border-radius:10px;
  padding:2px 7px;font-size:11px;color:var(--text2);}
.anchor-pill b{color:var(--text);}

.cell-spark{display:flex;align-items:center;}
.no-data{color:var(--text2);font-size:12px;}

/* BADGES */
.badge{font-size:11px;padding:3px 8px;border-radius:12px;font-weight:500;white-space:nowrap;}
.badge-keep  {background:rgba(76,175,130,.15);color:var(--green);border:1px solid rgba(76,175,130,.3);}
.badge-zero  {background:rgba(139,143,168,.1);color:var(--text2);border:1px solid var(--border);}
.badge-hot   {background:rgba(240,126,42,.15);color:var(--orange);border:1px solid rgba(240,126,42,.3);}
.badge-error {background:rgba(224,92,92,.1);color:var(--red);border:1px solid rgba(224,92,92,.3);}

/* EMPTY */
.empty-state{text-align:center;padding:60px 20px;color:var(--text2);}
.empty-icon{font-size:48px;margin-bottom:16px;}

/* CATEGORY SELECTOR */
.category-row{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
.cat-btn{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:7px 18px;
  cursor:pointer;font-size:13px;color:var(--text2);transition:all .15s;font-family:var(--font);}
.cat-btn:hover{border-color:var(--accent);}
.cat-btn.active[data-cat="forex"]    {background:#7c6af722;border-color:var(--accent);color:var(--text);}
.cat-btn.active[data-cat="binary"]   {background:#e05c5c22;border-color:var(--red);color:var(--text);}
.cat-btn.active[data-cat="investing"]{background:#4caf8222;border-color:var(--green);color:var(--text);}

/* NAV TABS */
.nav-tabs{display:flex;gap:4px;}
.nav-tab{background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;
  padding:5px 14px;font-size:13px;color:var(--text2);transition:all .15s;}
.nav-tab:hover{border-color:var(--border);}
.nav-tab.active{background:var(--bg3);border-color:var(--border);color:var(--text);}

/* DISCOVER PANEL */
.panel-grid-discover{display:grid;grid-template-columns:2fr 1fr 100px;gap:16px;margin-bottom:16px;}
@media(max-width:720px){.panel-grid-discover{grid-template-columns:1fr;}}

/* DISCOVER FILTER ROW */
.disc-filter-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.field-label{font-size:12px;color:var(--text2);}
.check-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text2);
  cursor:pointer;margin-left:auto;}

/* DISCOVER RESULTS */
.disc-results{display:flex;flex-direction:column;gap:14px;}
.disc-geo-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.disc-geo-header{padding:12px 16px;background:var(--bg3);font-weight:600;font-size:13px;
  border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;}
.geo-code{background:var(--border);border-radius:4px;padding:1px 6px;font-size:11px;
  font-weight:400;color:var(--text2);}

.seed-group{padding:10px 16px;border-bottom:1px solid var(--border);}
.seed-group:last-child{border-bottom:none;}
.seed-label{font-size:11px;color:var(--text2);font-weight:500;margin-bottom:6px;
  text-transform:uppercase;letter-spacing:.4px;}

.disc-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;
  cursor:pointer;font-size:13px;transition:background .1s;}
.disc-item:hover{background:var(--bg3);}
.disc-item.brand-like{background:rgba(76,175,130,.04);}
.disc-item.brand-like:hover{background:rgba(76,175,130,.1);}
.disc-item input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--accent);}

.disc-query{flex:1;}
.brand-query{color:var(--green);font-weight:500;}
.disc-val{font-size:12px;color:var(--text2);min-width:36px;text-align:right;}

.type-badge{font-size:10px;padding:2px 5px;border-radius:4px;font-weight:600;white-space:nowrap;}
.type-top{background:rgba(91,155,213,.15);color:#5b9bd5;}
.type-rising{background:rgba(76,175,130,.15);color:var(--green);}

/* CHART MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100;
  display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px);}
.modal{background:var(--bg2);border:1px solid var(--border);border-radius:14px;
  width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;}
.modal-header{display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px;border-bottom:1px solid var(--border);}
.modal-header span{font-weight:600;font-size:15px;}
.modal-close{background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;
  padding:4px 10px;color:var(--text);font-size:16px;line-height:1;}
.modal-body{padding:20px;flex:1;overflow:auto;min-height:300px;}
.modal-footer{padding:12px 20px;border-top:1px solid var(--border);
  display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
