*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0b0b0b;--s1:#111111;--s2:#181818;--s3:#1e1e1e;
  --b1:#1c1c1c;--b2:#242424;--b3:#2e2e2e;
  --t1:#d8d8d8;--t2:#888;--t3:#555;--t4:#333;
  --acc:#00c896;--acc-bg:#00c89614;--acc-br:#00c89630;
  --amb:#f59e0b;--amb-bg:#f59e0b14;
  --lnk:#60a5fa;
  --vis:#3f3f3f;--vis-check:#22c55e;
  --mono:'JetBrains Mono','Fira Code','Cascadia Code',monospace;
  --sans:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;
  --row:28px;--sw:172px;--topbar:34px;--toolbar:38px;--sb:26px;
}
html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--t1);font-family:var(--sans);font-size:13px;line-height:1.4}

/* LAYOUT */
#app{display:flex;height:100vh}
#sidebar{width:var(--sw);min-width:var(--sw);background:var(--s1);border-right:1px solid var(--b1);display:flex;flex-direction:column}
#main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}

/* SIDEBAR */
.sb-logo{padding:10px 12px;border-bottom:1px solid var(--b1);display:flex;align-items:center;gap:8px;height:var(--topbar);cursor:pointer;user-select:none}
.sb-logo:hover .sb-logo-name{color:var(--acc)}
.sb-logo-mark{width:20px;height:20px;background:var(--acc);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#000;flex-shrink:0;font-family:var(--mono)}
.sb-logo-name{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t1)}
.sb-nav{padding:4px 0;flex:1}
.nav-item{display:flex;align-items:center;gap:8px;padding:0 12px;height:32px;cursor:pointer;color:var(--t3);font-size:12px;border-left:2px solid transparent;transition:background .1s,color .1s;user-select:none}
.nav-item:hover{background:var(--s2);color:var(--t2)}
.nav-item.on{color:var(--acc);border-left-color:var(--acc);background:var(--acc-bg)}
.nav-icon{font-size:14px;width:14px;text-align:center;flex-shrink:0;opacity:.9}
.sb-foot{padding:8px 12px;border-top:1px solid var(--b1);font-size:11px;font-family:var(--mono);color:var(--t4)}

/* TOPBAR */
#topbar{height:var(--topbar);background:var(--s1);border-bottom:1px solid var(--b1);display:flex;align-items:center;padding:0 14px;gap:16px;flex-shrink:0}
.tb-title{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--t3)}
.tb-stats{display:flex;gap:1px;margin-left:auto}
.stat-pill{display:flex;align-items:center;gap:5px;padding:0 9px;height:20px;background:var(--s2);border:1px solid var(--b2);font-size:11px;font-family:var(--mono)}
.stat-pill:first-child{border-radius:3px 0 0 3px}
.stat-pill:last-child{border-radius:0 3px 3px 0}
.stat-l{color:var(--t4);font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.stat-v{color:var(--acc);font-weight:600}

/* TOOLBAR */
.toolbar{height:var(--toolbar);background:var(--s1);border-bottom:1px solid var(--b1);display:flex;align-items:center;padding:0 14px;gap:8px;flex-shrink:0}
.srch{display:flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--b2);padding:0 8px;height:22px;border-radius:2px;flex:1;max-width:280px}
.srch input{background:none;border:none;outline:none;color:var(--t1);font-size:12px;font-family:var(--mono);width:100%}
.srch input::placeholder{color:var(--t4)}
.srch-icon{color:var(--t4);font-size:13px}
.tb-right{display:flex;align-items:center;gap:6px;margin-left:auto}
.tb-lbl{font-size:11px;color:var(--t4);font-family:var(--mono)}
.btn{padding:2px 9px;font-size:11px;background:var(--s2);border:1px solid var(--b2);color:var(--t3);border-radius:2px;cursor:pointer;font-family:var(--mono);letter-spacing:.03em}
.btn:hover{border-color:var(--acc);color:var(--acc)}
.btn.on{background:var(--acc-bg);border-color:var(--acc-br);color:var(--acc)}
.btn-pri{padding:3px 12px;font-size:12px;background:var(--acc-bg);border:1px solid var(--acc);color:var(--acc);border-radius:2px;cursor:pointer;font-family:var(--sans);font-weight:600}
.btn-pri:hover{background:var(--acc);color:#000}

/* BACK BAR */
.back-bar{height:var(--toolbar);background:var(--s1);border-bottom:1px solid var(--b1);display:flex;align-items:center;padding:0 14px;gap:12px;flex-shrink:0}
.back-btn{padding:3px 10px;font-size:12px;background:var(--s2);border:1px solid var(--b2);color:var(--t2);border-radius:2px;cursor:pointer;font-family:var(--mono)}
.back-btn:hover{border-color:var(--acc);color:var(--acc)}
.section-title{font-size:13px;font-weight:600;color:var(--t1)}

/* VIEWS */
.view{flex:1;display:none;flex-direction:column;overflow:hidden;min-height:0}
.view.on{display:flex}

/* TABLE AREA */
.tbl-wrap{flex:1;overflow-y:auto;overflow-x:auto}
.tbl-wrap::-webkit-scrollbar{width:5px;height:5px}
.tbl-wrap::-webkit-scrollbar-track{background:var(--bg)}
.tbl-wrap::-webkit-scrollbar-thumb{background:var(--b3);border-radius:2px}
table{width:100%;border-collapse:collapse;font-size:12px}
thead{position:sticky;top:0;z-index:2}
thead tr{background:var(--s2);border-bottom:1px solid var(--b2)}
th{padding:0 10px;height:24px;text-align:left;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--t4);white-space:nowrap;border-right:1px solid var(--b1);user-select:none}
th.r{text-align:right}
th.c{text-align:center}
td{padding:0 10px;height:var(--row);border-bottom:1px solid var(--b1);border-right:1px solid var(--b1);vertical-align:middle;white-space:nowrap}
tr:hover td{background:var(--s2)}
td.num{text-align:right;font-family:var(--mono);font-size:12px;color:var(--t1)}
td.rank{text-align:right;font-family:var(--mono);font-size:12px;color:var(--t3);width:44px}

/* MARKET-CAP BAR CELL */

/* LINKS */
a.cl{color:var(--lnk);text-decoration:none;font-size:12px}
a.cl:hover{text-decoration:underline}
.tkr{font-family:var(--mono);font-size:11px;color:var(--t3);margin-left:6px}

/* WEBSITE LINK (visited fades + ✓) */
a.wb{color:var(--lnk);text-decoration:none;font-size:12px;font-family:var(--mono)}
a.wb:hover{text-decoration:underline;color:#93c5fd}
a.wb.vd{color:var(--vis)}
a.wb.vd:hover{color:var(--t2)}
a.wb .ck{color:var(--vis-check);margin-right:3px;font-size:11px}
.wb-none{color:var(--t4)}

/* TAGS */
.tags{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden}
.il{display:inline-block;padding:1px 7px;font-size:11px;background:var(--s3);border:1px solid var(--b2);border-radius:2px;color:var(--t2);text-decoration:none;white-space:nowrap;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.il:hover{border-color:var(--acc);color:var(--acc)}
.il.sec{background:#0d1a16;border-color:#16302a;color:#3a9b82}
.il.sec:hover{border-color:var(--acc);color:var(--acc)}

/* COUNTRY */
.ctry{color:var(--t2);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.muted{color:var(--t4)}

/* PAGER */
.pgbar{height:30px;background:var(--s1);border-top:1px solid var(--b1);display:flex;align-items:center;padding:0 14px;gap:4px;flex-shrink:0}
.pgbtn{min-width:24px;height:20px;padding:0 6px;font-size:11px;background:var(--s2);border:1px solid var(--b2);color:var(--t2);border-radius:2px;cursor:pointer;font-family:var(--mono)}
.pgbtn:hover:not(:disabled){border-color:var(--acc);color:var(--acc)}
.pgbtn.on{background:var(--acc-bg);border-color:var(--acc-br);color:var(--acc)}
.pgbtn:disabled{opacity:.3;cursor:default}
.pg-info{margin-left:auto;font-size:11px;color:var(--t4);font-family:var(--mono)}

.loading{text-align:center;color:var(--t4);font-family:var(--mono);font-size:12px;padding:20px 0!important}

/* LOOKUP */
.lookup-area{flex:1;overflow-y:auto;padding:12px}
.lookup-form{display:flex;gap:8px;margin-bottom:14px;max-width:420px}
.lookup-input{flex:1;background:var(--bg);border:1px solid var(--b2);color:var(--t1);padding:0 10px;height:30px;border-radius:2px;font-family:var(--mono);font-size:13px;outline:none}
.lookup-input:focus{border-color:var(--acc)}
.d-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1px;background:var(--b1);border:1px solid var(--b1);border-radius:3px;overflow:hidden;margin-bottom:12px;max-width:920px}
.d-fact{background:var(--s1);padding:5px 10px}
.d-fact-l{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--t4);margin-bottom:1px}
.d-fact-v{font-size:12px;font-weight:600;font-family:var(--mono);color:var(--t1)}
.d-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-width:920px}
.d-card{background:var(--s1);border:1px solid var(--b1);border-radius:3px;overflow:hidden}
.d-card-hdr{padding:8px 12px;border-bottom:1px solid var(--b1);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);display:flex;align-items:center;justify-content:space-between}
.d-card-hdr .cnt{font-family:var(--mono);color:var(--t4);font-weight:400}
.ln-tbl{width:100%;border-collapse:collapse;font-size:12px}
.ln-tbl td{padding:0 12px;height:26px;border-bottom:1px solid var(--b1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}
.ln-tbl tr:last-child td{border-bottom:0}
.ln-tbl tr:hover td{background:var(--s2)}
.ln-link{color:var(--t1);text-decoration:none}
.ln-link:hover{color:var(--acc)}
.ln-link.vd{color:var(--vis)}
.ln-link.vd:hover{color:var(--t2)}
.ln-link .ck{color:var(--vis-check);margin-right:3px;font-size:11px}
.ln-empty{color:var(--t4);font-family:var(--mono);font-size:12px;padding:10px 12px}
.d-msg{color:var(--t4);font-family:var(--mono);font-size:12px;margin-bottom:10px}
