/* CryptoIntel Factory — Modern FinTech Minimalist */
:root{
    /* Deep Charcoal & Neon Accents */
    --bg0:#0B0E11;--bg1:#161A1E;--bg2:#1C2127;--bg3:#252A31;--bgH:rgba(255,255,255,.04);--bgA:#10131A;
    --bd:#2A2E39;--bdL:#363C4A;--t0:#D1D4DC;--t1:#A1A7B4;--t2:#787B86;--t3:#5A5E6A;
    --ac:#2962FF;--acD:rgba(41,98,255,.1);--acL:#1E53E5;
    --g:#089981;--gD:rgba(8,153,129,.1);--r:#F23645;--rD:rgba(242,54,69,.1);
    --o:#F59E0B;--oD:rgba(245,158,11,.1);--y:#FCD34D;--yD:rgba(252,211,77,.1);
    --b:#2962FF;--bD:rgba(41,98,255,.1);--cy:#06B6D4;--p:#A855F7;--gr:#787B86;
    --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    --mono:'Roboto Mono','JetBrains Mono','SF Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:clamp(12px,0.78vw,22px);scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg0);color:var(--t0);line-height:1.45;overflow:hidden;height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'tnum' 1;font-variant-numeric:tabular-nums}
a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline;color:var(--acL)}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#2A2E39;border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:#363C4A}

/* TOP */
.topbar{position:fixed;top:0;left:0;right:0;height:clamp(32px,2.4vw,56px);background:var(--bg1);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 14px;z-index:100;font-size:clamp(10px,0.75vw,15px)}
.tb-l{display:flex;align-items:center;gap:clamp(8px,1vw,16px);flex:1;min-width:0;overflow:hidden}
.tb-r{display:flex;align-items:center;gap:clamp(8px,1vw,16px);flex-shrink:0;z-index:2;position:relative}
.brand{display:flex;align-items:center;gap:6px;color:var(--ac);font-size:clamp(11px,0.85vw,18px);padding-right:14px;border-right:1px solid var(--bd);font-weight:700;letter-spacing:-.3px}.brand b{color:#fff}
/* LIVE BADGE */
.live-badge{display:flex;align-items:center;gap:4px;font-size:0.65em;font-weight:700;color:var(--t3);padding:2px 8px;border-radius:4px;background:var(--bg2);border:1px solid var(--bd);letter-spacing:.5px;white-space:nowrap}
.live-badge.connected{color:var(--g);border-color:rgba(8,153,129,.25);background:rgba(8,153,129,.06)}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--t3)}
.live-badge.connected .live-dot{background:var(--g);box-shadow:0 0 8px var(--g);animation:livePulse 1.5s infinite}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.4}}

/* SCROLLING TICKER */
.ticker{flex:1;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ticker-scroll{display:flex;gap:clamp(10px,1.2vw,18px);animation:tickerScroll 40s linear infinite;width:max-content}
.ticker-scroll:hover{animation-play-state:paused}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.tk{display:flex;align-items:center;gap:3px;white-space:nowrap;cursor:pointer;transition:opacity .15s}.tk:hover{opacity:.7}.tk-n{color:var(--t3);font-weight:600;font-size:0.75em}.tk-p{font-family:var(--mono);font-weight:600;font-size:0.85em}
.tk-c{font-family:var(--mono);font-size:0.75em;font-weight:600;padding:1px 4px;border-radius:2px}
.tk-c.up{color:var(--g);background:var(--gD)}.tk-c.dn{color:var(--r);background:var(--rD)}
.tb-s{display:flex;align-items:center;gap:4px;padding-left:10px;border-left:1px solid var(--bd);flex-shrink:0;white-space:nowrap}
.tb-sl{color:var(--t3);font-size:0.7em;text-transform:uppercase;letter-spacing:.3px}.tb-sv{font-family:var(--mono);font-weight:700;font-size:0.85em}
.tb-sv.xfear{color:var(--r)}.tb-sv.fear{color:var(--o)}.tb-sv.neutral{color:var(--y)}.tb-sv.greed{color:var(--g)}.tb-sv.xgreed{color:#4ade80}
.mobile-menu-btn{display:none;position:fixed;top:clamp(32px,2.4vw,56px);left:0;z-index:101;background:var(--bg2);border:1px solid var(--bd);border-left:none;color:var(--t1);padding:8px 10px;cursor:pointer;border-radius:0 4px 4px 0;font-size:14px}

/* 3 PANEL */
.layout{display:flex;position:fixed;top:clamp(32px,2.4vw,56px);left:0;right:0;bottom:0}

/* LEFT */
.left{width:clamp(150px,12vw,340px);background:var(--bg1);border-right:1px solid var(--bd);display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;z-index:50;flex-shrink:0}
.lnav{display:flex;flex-direction:column;gap:0;padding:6px 0}
.lb{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--t2);padding:clamp(8px,0.6vw,16px) 14px;border-radius:0;border-left:2px solid transparent;cursor:pointer;font-size:clamp(10px,0.8vw,15px);font-family:var(--sans);white-space:nowrap;transition:all .15s;overflow:hidden}
.lb i{font-size:clamp(13px,1vw,22px);width:18px;text-align:center;flex-shrink:0;opacity:.5;transition:all .15s}
.lb span{opacity:.85;transition:opacity .15s}
.lb:hover{background:var(--bgH);color:var(--t0)}.lb:hover i{opacity:.85}.lb:hover span{opacity:1}
.lb.active{background:rgba(41,98,255,.06);color:var(--ac);font-weight:600;border-left-color:var(--ac)}.lb.active i{color:var(--ac);opacity:1}.lb.active span{opacity:1}
/* CENTER */
.center{flex:1;overflow-y:auto;padding:clamp(8px,0.7vw,28px);min-width:0}
.pn{display:none;animation:fi .15s}.pn.active{display:block}
@keyframes fi{from{opacity:0}to{opacity:1}}

/* RIGHT */
.right{width:clamp(200px,16vw,440px);background:var(--bg1);border-left:1px solid var(--bd);overflow-y:auto;padding:8px;flex-shrink:0}
.rs{margin-bottom:12px}.rt{font-size:0.72em;font-weight:700;color:var(--t3);margin-bottom:6px;display:flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.5px}.rt i{color:var(--ac);font-size:0.85em;opacity:.7}
.wi{display:flex;align-items:center;gap:5px;padding:5px 6px;border-radius:3px;cursor:pointer;transition:.15s;border:1px solid transparent;margin-bottom:2px}
.wi:hover{background:var(--bgH);border-color:var(--bd)}.wi img{width:16px;height:16px;border-radius:50%}
.wi-n{font-weight:600;font-size:0.85em;flex:1}.wi-p{font-family:var(--mono);font-weight:600;font-size:0.8em}.wi-c{font-family:var(--mono);font-size:0.75em;font-weight:600}
.wi-f{background:none;border:none;color:var(--t3);cursor:pointer;font-size:0.85em;padding:1px}.wi-f:hover,.wi-f.active{color:var(--o)}
.tri{display:flex;align-items:center;gap:5px;padding:4px 5px;font-size:0.8em;border-bottom:1px solid var(--bd);cursor:pointer}.tri img{width:14px;height:14px;border-radius:50%}.tri-n{font-weight:600;flex:1}
.ali{padding:5px 7px;background:var(--bg2);border-radius:3px;margin-bottom:2px;font-size:0.8em;border-left:3px solid var(--ac)}.ali .alt{font-size:0.75em;color:var(--t3)}
.pli{padding:5px 7px;background:var(--bg2);border-radius:3px;margin-bottom:2px;font-size:0.8em;display:flex;justify-content:space-between}
.pli img{width:14px;height:14px;border-radius:50%}.pli-n{font-weight:600}.pli-v{font-family:var(--mono);font-weight:700}

/* TOOLBAR */
.pt{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;flex-wrap:wrap;gap:6px}
.pt h2{font-size:clamp(13px,1vw,22px);font-weight:700;display:flex;align-items:center;gap:6px}.pt h2 i{color:var(--ac);font-size:0.85em}
.pills{display:flex;gap:3px;flex-wrap:wrap}
.pl{background:transparent;border:1px solid var(--bd);color:var(--t2);padding:4px 11px;border-radius:4px;cursor:pointer;font-size:clamp(9px,0.7vw,13px);font-family:var(--sans);font-weight:500;transition:all .15s}
.pl:hover{color:var(--t0);background:var(--bgH);border-color:var(--bdL)}.pl.active{background:var(--ac);color:#fff;border-color:var(--ac);font-weight:600}
.pf{display:flex;gap:8px}.ic{display:flex;align-items:center;gap:3px;font-size:0.8em;color:var(--t2);cursor:pointer}.ic input{display:none}.ic input:not(:checked)+.id{opacity:.2}
.id{width:8px;height:8px;border-radius:2px}.id.high{background:var(--r)}.id.medium{background:var(--o)}.id.low{background:var(--y)}
.disc{font-size:0.78em;color:var(--o);background:var(--oD);padding:3px 8px;border-radius:3px;display:flex;align-items:center;gap:4px}

/* TABLE */
.tw{overflow-x:auto;border:1px solid var(--bd);border-radius:4px;margin-bottom:8px;background:var(--bg1)}
.dt{width:100%;border-collapse:collapse;font-size:clamp(10px,0.78vw,15px)}
.dt thead{background:var(--bg2);position:sticky;top:0;z-index:3}
.dt th{padding:clamp(6px,0.5vw,12px) clamp(7px,0.6vw,16px);text-align:left;font-weight:600;color:var(--t3);text-transform:uppercase;font-size:clamp(8px,0.6vw,13px);letter-spacing:.5px;border-bottom:1px solid var(--bd);white-space:nowrap}
.dt td{padding:clamp(5px,0.4vw,10px) clamp(7px,0.6vw,16px);border-bottom:1px solid var(--bd);vertical-align:middle}
.dt tbody tr{transition:background .1s}.dt tbody tr:hover{background:var(--bgH)}
.dt tbody tr:nth-child(even){background:transparent}.dt tbody tr:nth-child(even):hover{background:var(--bgH)}
.dr td{background:var(--bg3)!important;font-weight:700;color:var(--ac);font-size:0.9em}
.ib{width:4px;height:18px;border-radius:2px;display:inline-block}.ib.high{background:var(--r);box-shadow:0 0 4px rgba(239,68,68,.2)}.ib.medium{background:var(--o)}.ib.low{background:var(--y)}
.cc2{display:flex;align-items:center;gap:4px;font-weight:600}.cc2 img{width:14px;height:14px;border-radius:50%}
.cat{display:inline-block;padding:1px 5px;border-radius:2px;font-size:0.75em;font-weight:600;text-transform:uppercase}
.cat-token-unlock{background:var(--oD);color:var(--o)}.cat-fed{background:var(--rD);color:var(--r)}.cat-listing{background:var(--gD);color:var(--g)}.cat-fork{background:var(--bD);color:var(--b)}.cat-conference{background:var(--acD);color:var(--ac)}.cat-earnings{background:rgba(6,182,212,.08);color:var(--cy)}.cat-regulation{background:var(--yD);color:var(--y)}.cat-airdrop{background:rgba(168,85,247,.08);color:var(--p)}
.se{display:inline-block;padding:1px 5px;border-radius:2px;font-size:0.72em;font-weight:700;text-transform:uppercase}
.se-bullish{background:var(--gD);color:var(--g)}.se-bearish{background:var(--rD);color:var(--r)}.se-neutral{background:rgba(107,114,128,.1);color:var(--gr)}
.ct{display:inline-block;padding:1px 4px;background:var(--acD);color:var(--ac);border-radius:2px;font-size:0.72em;font-weight:600;font-family:var(--mono);margin:0 1px}
.srcbar{display:flex;align-items:center;gap:4px;padding:5px 8px;background:var(--bg1);border:1px solid var(--bd);border-radius:3px;font-size:0.8em;color:var(--t3);flex-wrap:wrap;margin-top:4px}
.srcbar a{color:var(--t2);padding:2px 5px;background:var(--bg3);border-radius:2px;text-decoration:none}.srcbar a:hover{color:var(--ac)}
.conf{display:flex;gap:2px}.cd{width:6px;height:6px;border-radius:50%;background:var(--bg3);border:1px solid var(--bd)}.cd.on{border:none}
.st{font-size:clamp(11px,0.85vw,17px);font-weight:700;color:var(--t1);margin-bottom:6px;display:flex;align-items:center;gap:5px}.st i{color:var(--ac);font-size:0.9em}.mt{margin-top:10px}

/* DASHBOARD */
.dg{display:grid;grid-template-columns:1fr clamp(260px,22vw,360px);gap:8px}
/* Dashboard 2-column grid */
.dash-grid-2{columns:2;column-gap:10px;margin-top:10px}
.dash-section{background:var(--bg2);border:1px solid var(--bd);border-radius:6px;overflow:hidden;min-width:0;break-inside:avoid;margin-bottom:10px}
.dash-sec-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--bd);cursor:pointer;transition:background .15s;font-weight:700;font-size:.85em;color:var(--t0)}
.dash-sec-header:hover{background:var(--bg3)}
.dash-sec-header i{margin-right:5px;font-size:.9em}
.dash-sec-header .fa-calendar-alt{color:var(--o)}
.dash-sec-header .fa-newspaper{color:var(--ac)}
.dash-sec-header .fa-youtube{color:#f00}
.dash-sec-header .fa-water{color:#3b82f6}
.dash-sec-more{color:var(--t3);font-size:.75em;transition:color .15s}
.dash-sec-header:hover .dash-sec-more{color:var(--ac)}
.top-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(140px,11vw,200px),1fr));gap:5px}
.dp{background:var(--bg2);border:1px solid var(--bd);border-radius:4px;padding:clamp(8px,0.6vw,12px);cursor:pointer;transition:all .15s;position:relative}
.dp:hover{border-color:var(--bdL);background:var(--bg3)}.dp-t{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.dp-t img{width:clamp(18px,1.4vw,34px);height:clamp(18px,1.4vw,34px);border-radius:50%}
.dp-n{font-weight:700;font-size:clamp(11px,0.9vw,17px)}.dp-s{font-size:0.7em;color:var(--t2);font-family:var(--mono)}
.dp-p{font-family:var(--mono);font-weight:700;font-size:clamp(13px,1.1vw,24px);margin-bottom:2px}
.dp-c{font-family:var(--mono);font-size:clamp(10px,0.8vw,12px);font-weight:600}
.dp-v{display:inline-block;padding:2px 5px;border-radius:2px;font-size:0.7em;font-weight:800;text-transform:uppercase;margin-top:3px}
.dp-f{position:absolute;top:6px;right:6px;background:none;border:none;color:var(--t3);cursor:pointer;font-size:clamp(10px,0.85vw,13px)}.dp-f:hover,.dp-f.active{color:var(--o)}
.dp-mt{font-size:clamp(8px,0.65vw,10px);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;display:flex;align-items:center;gap:4px;opacity:.85}
.dp-mt i{font-size:.85em}

.dci{display:flex;align-items:center;gap:7px;padding:5px 7px;background:var(--bg2);border-radius:3px;margin-bottom:2px;font-size:0.85em;border-left:3px solid var(--r)}
.dci.med{border-left-color:var(--o)}.dci-d{font-family:var(--mono);color:var(--t2);font-size:0.8em;width:45px;flex-shrink:0}.dci-c{font-weight:700;width:35px;flex-shrink:0}.dci-e{flex:1;color:var(--t1)}

.dni{padding:6px 7px;border-bottom:1px solid var(--bd);cursor:pointer;transition:.15s}.dni:hover{background:var(--bgH)}
.dni-s{font-size:0.72em;color:var(--ac);font-weight:600}.dni-h{font-size:0.85em;font-weight:500;margin:1px 0;word-wrap:break-word;overflow-wrap:break-word}.dni-t{font-size:0.7em;color:var(--t3)}

.dvi{display:flex;align-items:center;gap:6px;padding:5px;border-bottom:1px solid var(--bd);text-decoration:none;color:var(--t0)}
.dvi-i{width:clamp(22px,1.8vw,30px);height:clamp(22px,1.8vw,30px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.85em;font-weight:800;color:#fff;flex-shrink:0}
.dvi-n{font-weight:600;font-size:0.82em}.dvi-v{font-size:0.75em;color:var(--t2)}

/* Dashboard Calendar Events */
.dcal-date{font-weight:700;font-size:.78em;color:var(--t0);padding:6px 10px 3px;display:flex;align-items:center;gap:6px}
.dcal-ev{display:flex;align-items:center;gap:10px;padding:4px 10px;cursor:pointer;transition:background .1s;font-size:.8em;border-left:2px solid transparent}
.dcal-ev:hover{background:var(--bg3)}
.dcal-high{border-left-color:var(--r)}
.dcal-med{border-left-color:var(--o)}
.dcal-low{border-left-color:var(--t3)}
.dcal-time{font-family:var(--mono);color:var(--t3);min-width:48px;flex-shrink:0;font-size:.9em}
.dcal-imp{width:14px;flex-shrink:0}
.dcal-coin{font-weight:700;min-width:40px;flex-shrink:0;color:var(--t1);font-size:.9em}
.dcal-name{flex:1;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcal-actual{font-family:var(--mono);font-weight:700;color:var(--g);font-size:.9em;flex-shrink:0}

/* Dashboard News badges */
.dn-imp{font-size:.6em;padding:1px 4px;border-radius:2px;font-weight:700;margin-left:4px;vertical-align:middle}
.dn-imp-high{background:rgba(245,158,11,.15);color:#f59e0b}
.dn-imp-critical{background:rgba(239,68,68,.15);color:#ef4444}
.dn-prob{font-size:.65em;color:var(--t3);font-family:var(--mono);margin-left:4px}

/* Dashboard Video Items */
.dvid{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--bg3)}
.dvid:last-child{border-bottom:none}
.dvid:hover{background:var(--bg3)}
.dvid-ch{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:800;color:#fff;flex-shrink:0}
.dvid-info{flex:1;min-width:0}
.dvid-title{font-size:.82em;font-weight:500;color:var(--t0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dvid-meta{font-size:.68em;color:var(--t3);margin-top:1px}

/* Dashboard Whale Items */
.dwh{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--bg3)}
.dwh:last-child{border-bottom:none}
.dwh:hover{background:var(--bg3)}
.dwh-icon{width:28px;height:28px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:.78em;flex-shrink:0}
.dwh-info{flex:1;min-width:0}
.dwh-val{font-size:.82em;font-weight:600;color:var(--t0)}
.dwh-amount{font-family:var(--mono)}
.dwh-sym{color:var(--ac);font-weight:700;font-size:.9em}
.dwh-meta{font-size:.68em;color:var(--t3);margin-top:1px}

/* MARKET TOOLBAR */
.market-count{font-size:0.6em;color:var(--t3);font-weight:400;margin-left:6px;background:var(--bg2);padding:2px 8px;border-radius:4px;font-family:var(--mono)}
.market-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.market-search{display:flex;align-items:center;gap:6px;background:var(--bg0);border:1px solid var(--bd);border-radius:4px;padding:5px 12px;flex:1;max-width:280px;transition:all .15s}.market-search:focus-within{border-color:var(--ac);box-shadow:0 0 0 2px rgba(41,98,255,.1)}
.market-search i{color:var(--t3);font-size:.8em}
.market-search input{background:none;border:none;color:var(--t0);font-family:var(--mono);font-size:.85em;outline:none;width:100%}
.market-search input::placeholder{color:var(--t3)}

/* CATEGORY BADGES */
.cat-badge{display:inline-block;padding:1px 4px;border-radius:2px;font-size:.6em;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-left:2px}
.cat-top{background:rgba(245,158,11,.15);color:var(--o)}
.cat-layer1{background:rgba(91,106,240,.15);color:var(--ac)}
.cat-defi{background:rgba(34,197,94,.12);color:var(--g)}
.cat-ai{background:rgba(168,85,247,.15);color:var(--p)}
.cat-meme{background:rgba(236,72,153,.12);color:#ec4899}
.cat-rwa{background:rgba(14,165,233,.12);color:var(--cy)}
.cat-gaming{background:rgba(251,191,36,.12);color:#fbbf24}
.cat-payment{background:rgba(99,102,241,.12);color:#6366f1}
.cat-infra{background:rgba(156,163,175,.12);color:#9ca3af}
.cat-metaverse{background:rgba(217,70,239,.12);color:#d946ef}
.cat-layer2{background:rgba(99,102,241,.12);color:#6366f1}
.cat-nft{background:rgba(168,85,247,.12);color:#a855f7}
.cat-privacy{background:rgba(107,114,128,.15);color:#9ca3af}

/* Alpha card extras */
.ci-alpha{border:1px solid rgba(168,85,247,.15)!important;background:var(--bg2)}
.ci-alpha-badge{position:absolute;top:6px;right:6px;font-size:clamp(7px,.55vw,9px);font-weight:700;color:#a855f7;background:rgba(168,85,247,.12);padding:2px 6px;border-radius:3px;display:flex;align-items:center;gap:3px;letter-spacing:.3px;text-transform:uppercase}
.ci-alpha-badge i{font-size:.75em}
.ci-cats{display:flex;flex-wrap:wrap;gap:3px;margin:3px 0}

/* COINS GRID */
.cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(200px,14vw,340px),1fr));gap:6px}
.ci{background:var(--bg2);border:1px solid var(--bd);border-radius:4px;padding:clamp(8px,0.6vw,12px);cursor:pointer;transition:all .15s;position:relative}
.ci:hover{border-color:var(--bdL);background:var(--bg3)}
.ci-t{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.ci-i{display:flex;align-items:center;gap:6px}.ci-i img{width:clamp(20px,1.6vw,34px);height:clamp(20px,1.6vw,34px);border-radius:50%}
.ci-sym-icon{width:clamp(20px,1.6vw,34px);height:clamp(20px,1.6vw,34px);border-radius:50%;background:var(--bg2);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:.6em;font-weight:700;color:var(--ac);flex-shrink:0}
.coin-logo{width:clamp(20px,1.6vw,34px);height:clamp(20px,1.6vw,34px);border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--bg2)}
.ci-fut-badge{display:inline-block;padding:1px 5px;border-radius:3px;font-size:.55em;font-weight:700;background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.3);vertical-align:middle;letter-spacing:.3px}
.ci-v-fut{background:rgba(245,158,11,.1)!important;color:#f59e0b!important;border:1px solid rgba(245,158,11,.2)}
.ci-rank{font-family:var(--mono);font-size:.65em;color:var(--t3);min-width:24px}
.ci-n{font-weight:700;font-size:clamp(11px,0.9vw,17px)}.ci-s{color:var(--t2);font-size:0.72em;font-family:var(--mono)}
.ci-load-more{grid-column:1/-1;text-align:center;padding:14px;background:var(--bg2);border:1px dashed var(--bd);border-radius:5px;cursor:pointer;color:var(--ac);font-weight:600;font-size:.9em;transition:.2s}
.ci-load-more:hover{background:var(--bg1);border-color:var(--ac)}
.ci-load-more i{margin-right:4px}
.ci-f{background:none;border:none;color:var(--t3);cursor:pointer;font-size:clamp(11px,0.9vw,14px);z-index:2}.ci-f:hover,.ci-f.active{color:var(--o)}
.ci-p{font-family:var(--mono);font-weight:700;font-size:clamp(14px,1.1vw,24px);margin-bottom:2px}
.ci-ch{font-family:var(--mono);font-size:clamp(10px,0.8vw,14px);font-weight:600;margin-bottom:3px}
.ci-r{display:flex;justify-content:space-between;font-size:0.78em;padding:2px 0;border-top:1px solid var(--bd);color:var(--t2)}.ci-r b{color:var(--t0);font-family:var(--mono)}
.ci-v{display:inline-block;padding:2px 6px;border-radius:2px;font-size:0.72em;font-weight:800;text-transform:uppercase;margin-top:4px}
.v-buy{background:var(--gD);color:var(--g)}.v-sell{background:var(--rD);color:var(--r)}.v-hold{background:var(--yD);color:var(--y)}.v-strong-buy{background:rgba(34,197,94,.15);color:#4ade80}.v-speculative{background:rgba(168,85,247,.1);color:var(--p)}
.ci-h{font-size:0.65em;color:var(--t3);text-align:center;margin-top:4px}

/* CHANNELS */
.chg{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(220px,16vw,280px),1fr));gap:4px;margin-bottom:8px}
.chc{display:flex;align-items:center;gap:7px;padding:8px 10px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;text-decoration:none;color:var(--t0);transition:all .15s}
.chc:hover{border-color:var(--bdL);text-decoration:none;background:var(--bg3)}
.chi{width:clamp(24px,2vw,42px);height:clamp(24px,2vw,42px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0;font-size:0.85em}
.chn{font-weight:700;font-size:0.88em}.chs{font-size:0.72em;color:var(--t2)}.chf{font-size:0.7em;color:var(--t3)}
.chy{margin-left:auto;color:#f00;font-size:clamp(12px,1vw,15px)}

/* TOOLS */
.ss{margin-top:10px}.ss h3{font-size:0.95em;font-weight:700;margin-bottom:6px;color:var(--t1);display:flex;align-items:center;gap:4px}.ss h3 i{color:var(--ac);font-size:0.9em}
.tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(180px,14vw,240px),1fr));gap:4px}
.tl{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;text-decoration:none;color:var(--t0);transition:all .15s}
.tl:hover{border-color:var(--bdL);text-decoration:none;background:var(--bg3)}
.tl-i{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:0.85em;flex-shrink:0}
.tl-n{font-weight:600;font-size:0.82em}.tl-d{font-size:0.72em;color:var(--t2)}
.tl-b{margin-left:auto;padding:1px 4px;border-radius:2px;font-size:0.65em;font-weight:700;text-transform:uppercase}
.tl-b.free{background:var(--gD);color:var(--g)}.tl-b.paid{background:var(--rD);color:var(--r)}.tl-b.freemium{background:var(--oD);color:var(--o)}

/* WHALE */
.wl{display:block}
.wc{background:var(--bg2);border:1px solid var(--bd);border-radius:8px;padding:0;overflow:hidden}
.wc h3{font-size:0.88em;font-weight:700;margin:0;padding:10px 14px;color:var(--t1);display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--bd);background:var(--bg3)}.wc h3 i{color:var(--ac);font-size:0.85em}
.whale-list{max-height:calc(100vh - 300px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bd) transparent}
.whale-list::-webkit-scrollbar{width:4px}.whale-list::-webkit-scrollbar-thumb{background:var(--bd);border-radius:4px}
.wx{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--bd);font-size:0.82em;transition:.1s}.wx:hover{background:var(--bgH)}
.wx-i{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75em;flex-shrink:0}
.wx-a{font-weight:700;font-family:var(--mono);font-size:0.85em}.wx-d{color:var(--t2);font-size:0.75em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wx-t{color:var(--t3);font-size:0.72em;white-space:nowrap}
/* Whale Live Feed */
.whale-live-badge{display:inline-flex;align-items:center;gap:4px;font-size:.55em;font-weight:700;color:var(--g);padding:2px 8px;border-radius:4px;background:var(--gD);letter-spacing:.5px;vertical-align:middle;margin-left:6px}
.whale-header-actions{display:flex;align-items:center;gap:4px;margin-left:auto}
.whale-settings-panel{display:none;padding:12px;background:var(--bg2);border:1px solid var(--bd);border-radius:6px;margin-bottom:8px}
.whale-settings-panel.open{display:block}
.whale-filters{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;padding:6px 0}
.whale-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.whale-min-select{background:var(--bg2);color:var(--t1);border:1px solid var(--bd);border-radius:6px;padding:4px 10px;font-size:.75em;font-family:var(--mono);cursor:pointer;transition:border-color .15s}
.whale-min-select:focus{border-color:var(--ac);outline:none}
.whale-status{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:.72em;color:var(--t3);background:var(--bg2);border:1px solid var(--bd);border-radius:6px;margin-bottom:6px}
.whale-status-live{display:flex;align-items:center;gap:5px;color:var(--g)}
.whale-status-count{font-family:var(--mono);font-weight:600}
.whale-status-offline{display:flex;align-items:center;gap:5px}
.whale-count{font-size:.72em;font-weight:600;color:var(--t3);margin-left:6px;font-family:var(--mono)}
.whale-no-key-hint{padding:14px;margin-top:6px;background:var(--bg3);border:1px dashed var(--bd);border-radius:6px;font-size:.8em;color:var(--t2);text-align:center}
.whale-no-key-hint a{color:var(--ac);font-weight:600}
.whale-empty{padding:24px;text-align:center;color:var(--t3);font-size:.85em}
.wx-live{display:grid;grid-template-columns:28px 18px 1fr auto;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--bd);font-size:.84em;transition:background .15s;cursor:default}
.wx-live:last-child{border-bottom:none}
.wx-live:hover{background:var(--bgH)}
.wx-live.wx-to-exchange{background:rgba(239,68,68,.04)}.wx-live.wx-from-exchange{background:rgba(34,197,94,.04)}
.wx-chain{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75em;flex-shrink:0}
.wx-dir{width:18px;font-size:.78em;flex-shrink:0;text-align:center}
.wx-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.wx-body .wx-a{display:flex;align-items:baseline;gap:4px}
.wx-sym{font-weight:800;font-size:.92em;color:var(--t0)}
.wx-amt{font-family:var(--mono);font-weight:600;font-size:.82em;color:var(--t1)}
.wx-usd{color:var(--t3);font-size:.78em;font-weight:400;font-family:var(--mono)}
.wx-d{display:flex;align-items:center;gap:3px;font-size:.72em;color:var(--t3);overflow:hidden}
.wx-d .wx-addr{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
.wx-d .wx-arrow{color:var(--t3);flex-shrink:0;font-size:.7em}
.wx-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;min-width:80px}
.wx-hash{color:var(--t3);font-size:.68em;transition:color .15s}
.wx-hash:hover{color:var(--ac);text-decoration:none}
.whale-ex-tag{display:inline;font-size:.6em;font-weight:800;color:var(--o);background:var(--oD);padding:1px 4px;border-radius:3px;margin-left:3px;text-transform:uppercase;letter-spacing:.5px}

/* WHALE CATEGORY FILTER */
#whaleCatFilter .pl{font-size:.72em}

/* WHALE SEARCH */
.whale-search{display:flex;align-items:center;gap:6px;background:var(--bg0);border:1px solid var(--bd);border-radius:6px;padding:4px 12px;max-width:240px;transition:all .15s}
.whale-search:focus-within{border-color:var(--ac);box-shadow:0 0 0 2px rgba(41,98,255,.12)}
.whale-search i{color:var(--t3);font-size:.75em}
.whale-search input{background:none;border:none;color:var(--t0);font-family:var(--mono);font-size:.8em;outline:none;width:100%}
.whale-search input::placeholder{color:var(--t3)}

/* WHALE CATEGORY BADGES */
.wx-cat{font-size:.58em;font-weight:800;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;flex-shrink:0}
.wx-cat-stablecoin{color:#3b82f6;background:rgba(59,130,246,.12)}
.wx-cat-defi{color:#8b5cf6;background:rgba(139,92,246,.12)}
.wx-cat-accumulation{color:#22c55e;background:rgba(34,197,94,.12)}
.wx-cat-large_move{color:#f59e0b;background:rgba(245,158,11,.12)}
.wx-cat-exchange_deposit{color:#ef4444;background:rgba(242,54,69,.12)}
.wx-cat-exchange_withdrawal{color:#089981;background:rgba(8,153,129,.12)}
.wx-cat-unknown{color:var(--t3);background:var(--bg3)}

/* WHALE WATCHLIST PANEL */
.whale-watchlist-panel{margin-top:10px;background:var(--bg2);border:1px solid var(--bd);border-radius:8px;padding:12px;overflow:hidden}
.whale-watchlist-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.whale-watchlist-header h3{font-size:.9em;font-weight:700;color:var(--t1);display:flex;align-items:center;gap:5px;margin:0}
.whale-watchlist-header h3 i{color:var(--cy);font-size:.85em}
.whale-watchlist-add{display:flex;align-items:center;gap:6px}
.whale-wl-search-wrap{position:relative;z-index:10}
.whale-wl-search-wrap input{background:var(--bg0);border:1px solid var(--bd);border-radius:6px;padding:6px 12px;color:var(--t0);font-family:var(--mono);font-size:.78em;outline:none;width:220px;text-transform:uppercase;transition:border-color .15s}
.whale-wl-search-wrap input:focus{border-color:var(--ac)}
.whale-wl-search-results{display:none;position:absolute;right:0;top:100%;width:320px;max-height:350px;overflow-y:auto;background:rgba(22,26,30,.97);backdrop-filter:blur(10px);border:1px solid var(--bd);border-radius:0 0 6px 6px;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:20}
.whale-wl-search-results.open{display:block}
.whale-wl-sr-item{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border-radius:3px;cursor:pointer;font-size:.78em;color:var(--t1);transition:.12s;gap:4px}
.whale-wl-sr-item:hover{background:var(--bgH);color:var(--t0)}
.whale-wl-sr-item.wl-sr-added{background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.15)}
.whale-wl-sr-left{display:flex;align-items:center;gap:5px;min-width:0;flex:1}
.whale-wl-sr-left img{width:18px;height:18px;border-radius:50%;flex-shrink:0}
.whale-wl-sr-sym{font-weight:700;color:var(--t0);white-space:nowrap;font-family:var(--mono)}
.whale-wl-sr-name{font-size:.7em;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.whale-wl-sr-check{color:var(--g);font-size:9px;margin-left:2px}
.whale-wl-sr-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:1px}
.whale-wl-sr-price{font-family:var(--mono);font-weight:600;font-size:.78em;color:var(--t0)}
.whale-wl-sr-chg{font-family:var(--mono);font-size:.68em;font-weight:600}
.whale-wl-sr-section{padding:4px 8px;font-size:.65em;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bd)}
.whale-watchlist-hint{font-size:.7em;color:var(--t3);padding:4px 0;display:flex;align-items:center;gap:4px}
.whale-watchlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:6px}
.whale-wl-card{background:var(--bg3);border:1px solid var(--bd);border-radius:6px;padding:10px 12px;position:relative;transition:all .15s}
.whale-wl-card:hover{border-color:var(--bdL)}
.whale-wl-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.whale-wl-card-coin{display:flex;align-items:center;gap:6px}
.whale-wl-card-sym{font-weight:700;font-size:.88em;font-family:var(--mono)}
.whale-wl-card-remove{background:none;border:none;color:var(--t3);cursor:pointer;font-size:.7em;padding:2px 4px;transition:color .15s}
.whale-wl-card-remove:hover{color:var(--r)}
.whale-wl-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.whale-wl-stat{display:flex;flex-direction:column;gap:1px}
.whale-wl-stat-label{font-size:.6em;color:var(--t3);text-transform:uppercase;letter-spacing:.3px}
.whale-wl-stat-val{font-size:.8em;font-weight:700;font-family:var(--mono)}
.whale-wl-stat-val.positive{color:var(--g)}
.whale-wl-stat-val.negative{color:var(--r)}
.whale-wl-card-time{font-size:.62em;color:var(--t3);margin-top:4px;text-align:right}
.whale-wl-empty{padding:20px;text-align:center;color:var(--t3);font-size:.8em}
.whale-wl-clear{background:none;border:1px solid var(--bd);color:var(--t3);border-radius:3px;padding:2px 6px;font-size:.65em;cursor:pointer;transition:all .15s;margin-right:4px}
.whale-wl-clear:hover{border-color:var(--r);color:var(--r)}

/* ANALYSTS */
.acc{display:inline-flex;align-items:center;gap:3px}.acb{width:55px;height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}.acf{height:100%;border-radius:2px}.acp{font-family:var(--mono);font-weight:700;font-size:0.82em}
.al{display:flex;gap:4px}.al a{color:var(--t2);font-size:1em;transition:.15s}.al a:hover{color:var(--ac)}
.vcg{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(240px,18vw,320px),1fr));gap:5px}
.vc{padding:10px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;transition:all .15s}.vc:hover{border-color:var(--bdL)}
.vc h4{font-size:0.95em;color:var(--ac);margin-bottom:2px}.vc .vd{font-size:0.78em;color:var(--t2);margin-bottom:4px}
.vct{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:4px}
.vt{padding:1px 5px;background:var(--acD);color:var(--ac);border-radius:2px;font-size:0.72em;font-weight:600;font-family:var(--mono)}

/* PEOPLE CARD GRID */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(260px,22vw,360px),1fr));gap:8px;padding:4px 0}
.pp-card{background:var(--bg2);border:1px solid var(--bd);border-radius:6px;padding:12px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}
.pp-card:hover{border-color:var(--bdL);background:var(--bg3);transform:translateY(-1px)}
.pp-card-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.pp-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--bd)}
.pp-avatar-fb{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2em;font-weight:700;color:#fff;flex-shrink:0}
.pp-card-info{min-width:0}
.pp-card-name{font-weight:700;font-size:.92em;color:var(--t0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-card-role{font-size:.72em;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-card-cat{font-size:.68em;font-weight:600;margin-top:2px;display:flex;align-items:center;gap:3px}
.pp-card-call{font-size:.75em;color:var(--t2);font-style:italic;line-height:1.35;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pp-card-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.pp-stat{display:flex;flex-direction:column;align-items:center;min-width:45px}
.pp-stat-label{font-size:.6em;color:var(--t3);text-transform:uppercase;letter-spacing:.3px}
.pp-stat-val{font-size:.78em;font-weight:700;font-family:var(--mono)}
.pp-card-holdings{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}
.pp-hold-badge{padding:1px 6px;background:var(--acD);color:var(--ac);border-radius:3px;font-size:.65em;font-weight:700;font-family:var(--mono)}
.pp-card-links{display:flex;gap:6px;margin-top:auto}
.pp-card-links a{color:var(--t3);font-size:.85em;transition:color .15s}
.pp-card-links a:hover{color:var(--ac)}
/* Person modal extras */
.pp-hold-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg2);border:1px solid var(--bd);border-radius:6px;cursor:pointer;transition:all .15s;font-size:.82em}
.pp-hold-chip:hover{border-color:var(--ac);background:var(--bg3)}
.pp-inv-chip{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;background:var(--acD);border-radius:4px;cursor:pointer;font-size:.75em;font-weight:600;color:var(--ac);transition:all .15s}
.pp-inv-chip:hover{background:var(--ac);color:#fff}
.pp-wallet-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;margin-bottom:4px}
.pp-wallet-info{display:flex;align-items:center;gap:6px;min-width:0}
.pp-wallet-chain{padding:1px 5px;border-radius:3px;font-size:.65em;font-weight:700;background:var(--acD);color:var(--ac)}
.pp-wallet-label{font-size:.78em;font-weight:600;color:var(--t1)}
.pp-wallet-addr{font-size:.7em;color:var(--t3);font-family:var(--mono);background:var(--bg3);padding:1px 4px;border-radius:2px}
.pp-wallet-links{display:flex;gap:6px}
.pp-wallet-links a{color:var(--t3);font-size:.78em;transition:color .15s}
.pp-wallet-links a:hover{color:var(--ac)}

/* MY PORTFOLIO */
.add-btn{background:var(--ac);border:none;color:#fff;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:0.85em;font-weight:600;font-family:var(--sans);display:flex;align-items:center;gap:4px;transition:all .15s}
.add-btn:hover{background:var(--acL)}
.my-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(140px,10vw,200px),1fr));gap:6px;margin-bottom:10px}
.ms-c{padding:clamp(8px,0.6vw,12px);background:var(--bg2);border:1px solid var(--bd);border-radius:4px;text-align:center}
.ms-l{font-size:0.72em;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.ms-v{font-family:var(--mono);font-weight:800;font-size:clamp(16px,1.3vw,28px)}
.ms-editable{cursor:pointer;border:1px dashed var(--bd);transition:all .15s}.ms-editable:hover{border-color:var(--o);background:rgba(245,158,11,.04)}
.usdt-bal-input{background:var(--bg3);border:1px solid var(--ac);border-radius:3px;color:var(--o);font-family:var(--mono);font-weight:800;font-size:clamp(14px,1.1vw,22px);text-align:center;width:100%;padding:2px 4px;outline:none}
.del-btn{background:none;border:none;color:var(--t3);cursor:pointer;font-size:0.85em;transition:.15s}.del-btn:hover{color:var(--r)}

/* MODAL */
.mo{display:none;position:fixed;inset:0;background:rgba(11,14,17,.6);backdrop-filter:blur(10px);z-index:200;align-items:center;justify-content:center;padding:clamp(10px,1.5vw,20px)}.mo.open{display:flex}
.mx{background:rgba(22,26,30,.8);backdrop-filter:blur(10px);border:1px solid var(--bd);border-radius:4px;width:100%;max-width:clamp(600px,55vw,1100px);max-height:85dvh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,.5)}
.mh{display:flex;align-items:center;justify-content:space-between;padding:clamp(12px,0.9vw,16px) clamp(14px,1.1vw,20px);background:var(--bg2);border-bottom:1px solid var(--bd);flex-shrink:0}
.mhi{display:flex;align-items:center;gap:8px}.mhi img{width:clamp(24px,2vw,38px);height:clamp(24px,2vw,38px);border-radius:50%}
.mhi .mn2{font-weight:800;font-size:clamp(14px,1.1vw,22px)}.mhi .ms2{color:var(--t2);font-family:var(--mono);font-size:0.82em}
.mhi .mp2{font-family:var(--mono);font-weight:700;font-size:clamp(15px,1.2vw,24px);margin-left:12px}
.mhi .mc2{font-family:var(--mono);font-size:0.85em;font-weight:600;margin-left:5px}
.mhi .mfav{background:none;border:none;color:var(--t3);cursor:pointer;font-size:clamp(12px,1vw,16px);margin-left:8px}.mfav:hover,.mfav.active{color:var(--o)}
.mhx{background:var(--bg3);border:1px solid var(--bd);color:var(--t2);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.9em;transition:all .15s}.mhx:hover{color:#fff;background:rgba(242,54,69,.15);border-color:var(--r)}
.mc{overflow-y:auto;padding:clamp(10px,1vw,16px);flex:1}
.msec{margin-bottom:12px}.msec h3{font-size:0.92em;font-weight:700;color:var(--ac);margin-bottom:5px;padding-bottom:3px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:4px}.msec h3 i{font-size:0.85em}
.mr{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--bd);font-size:0.88em}.mr .ml{color:var(--t2)}.mr .mv{font-weight:600;font-family:var(--mono)}
.mtg{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(100px,8vw,140px),1fr));gap:4px;margin-top:3px}
.mtc{padding:8px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;text-align:center}
.mtc .mtl{font-size:0.65em;color:var(--t3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}.mtc .mtv{font-family:var(--mono);font-weight:800;font-size:clamp(12px,1vw,16px)}
.mnw{display:flex;flex-direction:column;gap:3px}
.mn3{padding:7px 9px;background:var(--bg2);border:1px solid var(--bd);border-radius:3px;transition:.15s}.mn3:hover{border-color:var(--ac)}
.mn3-s{font-size:0.72em;color:var(--ac);font-weight:600}.mn3-t{font-size:0.88em;font-weight:600;margin:1px 0}.mn3-d{font-size:0.78em;color:var(--t2);line-height:1.4}.mn3-tm{font-size:0.72em;color:var(--t3);margin-top:1px}
.mai{padding:10px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px}
.mai-t{font-size:0.85em;font-weight:700;color:var(--ac);margin-bottom:5px;display:flex;align-items:center;gap:4px}.mai-t i{font-size:0.8em}
.mai p{font-size:0.85em;color:var(--t1);line-height:1.5;margin-bottom:3px}
.mai .ail{font-size:0.7em;font-weight:700;color:var(--t3);text-transform:uppercase;margin-top:5px;margin-bottom:1px}

/* MODAL MINI CHART */
.modal-chart-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.modal-chart-tfs{display:flex;gap:2px}
.mcf-btn{background:transparent;border:1px solid var(--bd);color:var(--t2);padding:3px 10px;border-radius:4px;font-family:var(--mono);font-size:0.78em;font-weight:600;cursor:pointer;transition:all .15s}
.mcf-btn:hover{color:var(--t0);background:var(--bgH)}
.mcf-btn.active{background:var(--ac);color:#fff;border-color:var(--ac)}
.modal-chart-live{display:flex;align-items:center;gap:4px;font-size:0.65em;font-weight:700;color:var(--g);letter-spacing:.5px}
.modal-chart-live .live-dot{width:5px;height:5px;border-radius:50%;background:var(--g);box-shadow:0 0 6px var(--g);animation:livePulse 1.5s infinite}
.modal-chart-wrap{border:1px solid var(--bd);border-radius:4px;overflow:hidden;background:var(--bg0)}
.modal-chart-container{width:100%;height:280px}
.modal-chart-legend{display:flex;gap:8px;padding:4px 2px;font-family:var(--mono);font-size:0.72em;color:var(--t2);min-height:18px;flex-wrap:wrap}

/* FORM */
.form-g{margin-bottom:10px}.form-g label{display:block;font-size:0.78em;color:var(--t2);margin-bottom:3px;font-weight:600}
.fi{width:100%;padding:8px 12px;background:var(--bg0);border:1px solid var(--bd);border-radius:4px;color:var(--t0);font-family:var(--sans);font-size:0.92em;outline:none;transition:all .15s}
.fi:focus{border-color:var(--ac);box-shadow:0 0 0 2px rgba(41,98,255,.1)}.fi::placeholder{color:var(--t3)}
.save-btn{width:100%;padding:10px;background:var(--ac);border:none;color:#fff;border-radius:4px;font-size:1em;font-weight:700;cursor:pointer;font-family:var(--sans);transition:all .15s}.save-btn:hover{background:var(--acL)}

/* PRICE FLASH ANIMATION */
@keyframes priceFlash{0%{background:rgba(59,130,246,.15)}100%{background:transparent}}
.price-flash{animation:priceFlash .6s ease-out}

/* RESPONSIVE */
@media(max-width:1024px){
    .right{width:clamp(180px,20vw,240px)}
    .dg{grid-template-columns:1fr}
    .dash-grid-2{columns:1}
    .wl{grid-template-columns:1fr}
}
/* LANGUAGE TOGGLE */
.lang-btn{display:flex;align-items:center;gap:2px;background:transparent;border:1px solid var(--bd);border-radius:4px;padding:3px 8px;cursor:pointer;font-family:var(--sans);font-size:clamp(9px,0.7vw,11px);flex-shrink:0;white-space:nowrap;transition:all .15s}.lang-btn:hover{border-color:var(--bdL)}
.lang-opt{color:var(--t3);font-weight:600;transition:.15s;padding:1px 3px;border-radius:2px}
.lang-opt.active{color:var(--ac);background:var(--acD)}
.lang-sep{color:var(--bd);font-size:0.8em}

/* VIDEO EXPANSION */
.ch-videos{background:var(--bg1);border:1px solid var(--bd);border-radius:4px;margin-bottom:10px;overflow:hidden;animation:fi .2s}
.ch-videos-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg2);border-bottom:1px solid var(--bd)}
.ch-vh-name{display:flex;align-items:center;gap:8px}
.ch-vh-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:0.9em;flex-shrink:0}
.ch-vh-close{background:var(--bg3);border:1px solid var(--bd);color:var(--t1);width:24px;height:24px;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.8em}.ch-vh-close:hover{color:var(--r);border-color:var(--r)}
.ch-videos-list{padding:8px 12px;max-height:500px;overflow-y:auto}
.vid-card{padding:10px 12px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;margin-bottom:6px;transition:all .15s}
.vid-card:hover{border-color:var(--bdL);background:var(--bg3)}
.vid-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.vid-card-title{font-weight:700;font-size:0.88em;color:var(--t0)}
.vid-card-date{font-size:0.72em;color:var(--t3);font-family:var(--mono);white-space:nowrap;margin-left:8px}
.vid-card-meta{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}
.vid-card-analysis{font-size:0.82em;color:var(--t1);line-height:1.55;padding:8px 10px;background:var(--bg0);border-radius:3px;border-left:3px solid var(--ac)}
.chc.expanded{border-color:var(--ac);background:var(--acD)}

/* EVENT MODAL — PROBABILITY BAR */
.ev-prob-bar{display:flex;height:22px;border-radius:4px;overflow:hidden;margin:6px 0 10px}
.ev-pb-bull{background:var(--g);display:flex;align-items:center;justify-content:center;font-size:0.7em;font-weight:700;color:#fff;transition:width .3s}
.ev-pb-neut{background:var(--gr);display:flex;align-items:center;justify-content:center;font-size:0.7em;font-weight:700;color:#fff;transition:width .3s}
.ev-pb-bear{background:var(--r);display:flex;align-items:center;justify-content:center;font-size:0.7em;font-weight:700;color:#fff;transition:width .3s}
.ev-scenarios{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:6px}
.ev-sc{padding:10px;border-radius:4px;border:1px solid var(--bd);background:var(--bg2)}
.ev-sc-h{font-size:0.78em;font-weight:800;text-transform:uppercase;margin-bottom:3px;display:flex;align-items:center;gap:4px}
.ev-sc-h.bull{color:var(--g)}.ev-sc-h.neut{color:var(--gr)}.ev-sc-h.bear{color:var(--r)}
.ev-sc-p{font-size:0.78em;color:var(--t1);line-height:1.45}

/* MINI PROBABILITY BAR (dashboard / calendar rows) */
.mini-prob{display:flex;height:4px;border-radius:2px;overflow:hidden;width:60px;margin-top:2px}
.mini-pb-bull{background:var(--g)}.mini-pb-neut{background:var(--gr)}.mini-pb-bear{background:var(--r)}

/* CLICKABLE CALENDAR ROW */
.cal-click{cursor:pointer;transition:background .15s}.cal-click:hover{background:var(--bgH)!important}
.cal-no-analysis:hover{background:rgba(41,98,255,.06)!important}
.cal-live{border-left:2px solid var(--g)}
.cal-live-badge{display:inline-flex;align-items:center;gap:3px;font-size:.6em;padding:1px 6px;border-radius:3px;background:rgba(8,153,129,.15);color:var(--g);font-weight:700;margin-left:6px;vertical-align:middle}
.cal-status{display:flex;align-items:center;gap:4px}
.cal-ai-icon{font-size:.55em;color:var(--ac);margin-left:4px;opacity:.7}

/* Calendar inline expand row */
.cal-expand-row td{padding:0!important;border-top:none!important}
.cal-expand-content{display:flex;gap:12px;padding:10px 14px;background:var(--bg2);border-left:3px solid var(--ac);margin:0 4px 4px;border-radius:0 0 4px 4px}
.cal-exp-left{flex:1}
.cal-exp-analysis{font-size:.78em;color:var(--t1);line-height:1.5;margin:0}
.cal-exp-no-analysis{font-size:.78em;color:var(--t3);font-style:italic;margin:0}
.cal-exp-right{display:flex;align-items:center}
.cal-detail-btn{background:var(--ac);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.75em;font-weight:600;font-family:var(--sans);white-space:nowrap;transition:all .15s}
.cal-detail-btn:hover{background:var(--acL)}
.cal-mini-cd{font-size:.6em;color:var(--ac);font-family:var(--mono);margin-left:3px;opacity:.8}

/* Calendar modal countdown */
.cal-countdown{display:flex;align-items:center;justify-content:center;gap:4px;padding:16px 0}
.cd-unit{text-align:center;background:var(--bg2);padding:10px 14px;border-radius:6px;border:1px solid var(--bd);min-width:60px}
.cd-num{font-family:var(--mono);font-size:1.8em;font-weight:700;color:var(--ac);display:block}
.cd-label{font-size:.65em;color:var(--t3);text-transform:uppercase;letter-spacing:.5px}
.cd-sep{font-size:1.5em;color:var(--t3);font-weight:700;font-family:var(--mono)}

/* Actual vs Forecast */
.cal-avf{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 0}
.cal-avf-item{text-align:center}
.cal-avf-label{font-size:.7em;color:var(--t3);display:block;margin-bottom:4px;text-transform:uppercase}
.cal-avf-val{font-family:var(--mono);font-size:1.1em}
.cal-avf-arrow{padding:0 10px}
.cal-avf-verdict{text-align:center;font-size:.82em;font-weight:600;padding:4px 0}

/* Related news in modal */
.cal-related-news{display:flex;flex-direction:column;gap:4px}
.cal-rn-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg2);border-radius:4px;font-size:.78em}
.cal-rn-title{flex:1;color:var(--t1);line-height:1.3}
.cal-rn-src{flex-shrink:0}

/* Affected assets grid */
.cal-assets-grid{display:flex;flex-wrap:wrap;gap:6px}
.cal-asset-card{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;cursor:pointer;transition:background .15s}
.cal-asset-card:hover{background:var(--bgH)}
.cal-asset-sym{font-weight:700;font-size:.82em}
.cal-asset-price{font-family:var(--mono);font-size:.82em}

/* AI loading spinner */
.cal-ai-loading{text-align:center;padding:30px 0}
.cal-ai-spinner{width:32px;height:32px;border:3px solid var(--bd);border-top:3px solid var(--ac);border-radius:50%;animation:calSpin 1s linear infinite;margin:0 auto 12px}
@keyframes calSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.cal-ai-loading p{color:var(--t2);font-size:.82em}

/* SORT BAR */
.sort-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:10px;font-size:clamp(.7rem,.9vw,.85rem);color:var(--tx2)}
.sort-btn{background:transparent;border:1px solid var(--bd);color:var(--t2);padding:4px 12px;border-radius:4px;font-size:inherit;cursor:pointer;transition:all .15s}
.sort-btn:hover{border-color:var(--bdL);color:var(--t0)}
.sort-btn.active{background:var(--ac);color:#fff;border-color:var(--ac)}

/* FAVORITE HIGHLIGHT */
.ci-favorited{border:1px solid rgba(245,158,11,.25)!important}

/* ANALYSIS TIMELINE */
.analysis-timeline{margin-top:14px;border-top:1px solid var(--bd);padding-top:10px}
.at-header{font-size:clamp(.85rem,1.1vw,1rem);font-weight:700;color:var(--tx);margin-bottom:10px}
.at-entry{display:flex;gap:10px;padding:8px;margin-bottom:6px;border-radius:4px;border-left:3px solid var(--bd);background:var(--bg2)}
.at-entry.at-high{border-left-color:#ef4444}
.at-entry.at-medium{border-left-color:#f59e0b}
.at-entry.at-low{border-left-color:#22c55e}
.at-date{min-width:65px;font-size:clamp(.65rem,.8vw,.75rem);color:var(--tx2);padding-top:2px}
.at-body{flex:1;min-width:0}
.at-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.at-title{font-size:clamp(.75rem,.95vw,.88rem);font-weight:600;color:var(--tx)}
.at-text{font-size:clamp(.68rem,.85vw,.8rem);color:var(--tx2);line-height:1.4}
.at-meta{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}
.at-imp{font-size:clamp(.6rem,.72vw,.7rem);padding:2px 6px;border-radius:4px;font-weight:600}
.at-imp.imp-high{background:rgba(239,68,68,.15);color:#ef4444}
.at-imp.imp-medium{background:rgba(245,158,11,.15);color:#f59e0b}
.at-imp.imp-low{background:rgba(34,197,94,.15);color:#22c55e}
.at-prob{font-size:clamp(.6rem,.72vw,.7rem);padding:2px 6px;border-radius:4px;background:var(--bg1);color:var(--tx2)}
.at-sent{font-size:clamp(.6rem,.72vw,.7rem);padding:2px 6px;border-radius:4px}
.at-sent.sent-bullish{background:rgba(34,197,94,.12);color:#22c55e}
.at-sent.sent-bearish{background:rgba(239,68,68,.12);color:#ef4444}
.at-sent.sent-neutral{background:rgba(100,116,139,.12);color:#94a3b8}

/* PROBABILITY BADGES */
.prob-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:clamp(.6rem,.72vw,.7rem);font-weight:600;text-align:center}
.prob-badge.prob-critical{background:rgba(239,68,68,.18);color:#ef4444}
.prob-badge.prob-high{background:rgba(245,158,11,.18);color:#f59e0b}
.prob-badge.prob-medium{background:rgba(100,116,139,.12);color:#94a3b8}
.prob-badge.prob-low{background:rgba(34,197,94,.15);color:#22c55e}

/* ===== TRADINGVIEW LIVE CHART PANEL ===== */
/* Main layout */
.tv-layout{display:grid;grid-template-columns:1fr clamp(220px,22vw,320px);gap:0;margin-bottom:6px}
.tv-chart-area{background:#131722;border:1px solid var(--bd);border-radius:4px 0 0 4px;overflow:hidden;min-height:clamp(350px,55vh,900px);position:relative}
.tv-widget-wrap{width:100%;height:100%;min-height:clamp(350px,55vh,900px)}
.tv-widget-wrap iframe{width:100%;height:100%;min-height:clamp(350px,55vh,900px);border:none;display:block}
.tv-watchlist{background:var(--bg1);border:1px solid var(--bd);border-left:none;border-radius:0 0 4px 0;overflow:visible;display:flex;flex-direction:column;max-height:clamp(350px,55vh,900px)}
.tv-wl-header{padding:7px 10px;background:var(--bg2);border-bottom:1px solid var(--bd);font-size:clamp(10px,.8vw,12px);font-weight:700;color:var(--t2);display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}
.tv-wl-header i{color:var(--ac);font-size:.85em}
.tv-wl-add-btn{margin-left:auto;background:var(--ac);color:#fff;border:none;width:20px;height:20px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .15s;flex-shrink:0}
.tv-wl-add-btn i{color:#fff}
.tv-wl-add-btn:hover{background:var(--acL)}
.tv-wl-search{padding:4px 6px;background:var(--bg2);border-bottom:1px solid var(--bd);position:relative;z-index:10}
.tv-wl-search input{width:100%;background:var(--bg1);border:1px solid var(--bd);color:var(--t0);padding:5px 8px;border-radius:4px;font-size:clamp(10px,.8vw,12px);font-family:var(--mono);outline:none}
.tv-wl-search input:focus{border-color:var(--ac)}
.tv-wl-search-results{max-height:clamp(300px,50vh,500px);overflow-y:auto;margin-top:4px;position:absolute;left:0;right:0;top:100%;background:rgba(22,26,30,.95);backdrop-filter:blur(10px);border:1px solid var(--bd);border-radius:0 0 4px 4px;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.tv-sr-section{padding:4px 6px;font-size:clamp(8px,.6vw,9px);font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bd);margin-bottom:2px}
.tv-sr-expand:hover{background:var(--bgH);border-radius:3px}
.tv-wl-sr-item{display:flex;align-items:center;justify-content:space-between;padding:5px 6px;border-radius:4px;cursor:pointer;font-size:clamp(9px,.7vw,11px);color:var(--t1);transition:.12s;gap:4px}
.tv-wl-sr-item:hover{background:var(--bgH);color:var(--t0)}
.tv-wl-sr-item.tv-sr-added{background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.15)}
.tv-sr-left{display:flex;align-items:center;gap:5px;min-width:0;flex:1}
.tv-sr-left img{width:16px;height:16px;border-radius:50%;flex-shrink:0}
.tv-sr-sym{font-weight:700;color:var(--t0);white-space:nowrap}
.tv-sr-cat{font-size:clamp(7px,.5vw,8px);padding:1px 4px;border-radius:3px;font-weight:600;white-space:nowrap;line-height:1.3}
.tv-sr-check{color:var(--g);font-size:9px;margin-left:2px}
.tv-sr-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:1px}
.tv-sr-price{font-family:var(--mono);font-weight:600;font-size:clamp(9px,.7vw,11px);color:var(--t0)}
.tv-sr-chg{font-family:var(--mono);font-size:clamp(8px,.6vw,9px);font-weight:600}
.tv-wl-body{overflow-y:auto;flex:1;padding:4px}
.tv-wl-cat{padding:4px 6px;font-size:clamp(8px,.6vw,10px);font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bd);margin-top:2px;display:flex;align-items:center;gap:4px;cursor:pointer;user-select:none}
.tv-wl-cat i{font-size:.75em;transition:transform .2s}
.tv-wl-cat.collapsed i.fa-chevron-down{transform:rotate(-90deg)}
.tv-wl-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px;padding:5px 6px;border-radius:3px;cursor:pointer;transition:.15s;border:1px solid transparent;margin-bottom:1px;position:relative}
.tv-wl-item:hover{background:var(--bgH);border-color:var(--bd)}
.tv-wl-remove{background:none;border:none;color:var(--t3);cursor:pointer;font-size:9px;padding:2px 3px;border-radius:2px;opacity:0;transition:.15s;line-height:1}
.tv-wl-item:hover .tv-wl-remove{opacity:1}
.tv-wl-remove:hover{color:var(--r);background:var(--rD)}
.tv-wl-item.active{background:var(--acD);border-color:var(--ac)}
.tv-wl-item-name{font-weight:600;font-size:clamp(10px,.8vw,12px);color:var(--t0);display:flex;align-items:center;gap:4px}
.tv-wl-item-name img{width:14px;height:14px;border-radius:50%}
.tv-wl-item-price{font-family:var(--mono);font-weight:600;font-size:clamp(10px,.78vw,12px);text-align:right}
.tv-wl-item-change{font-family:var(--mono);font-size:clamp(8px,.65vw,10px);font-weight:600;text-align:right;min-width:50px}
.tv-wl-item-delayed{font-size:clamp(7px,.55vw,9px);color:var(--t3);font-style:italic}

/* ===== NEWS ENGINE - AI LIVE NEWS ===== */
.news-header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.news-hdr-btn{background:transparent;border:1px solid var(--bd);color:var(--t2);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.78em;transition:all .15s;display:flex;align-items:center;gap:4px}
.news-hdr-btn:hover{color:var(--t0);background:var(--bgH)}
.news-hdr-btn .fa-spin{color:var(--ac)}
.news-live-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(34,197,94,.15);color:#22c55e;font-size:.65em;font-weight:700;padding:2px 7px;border-radius:3px;margin-left:8px}
.news-live-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:livePulse 1.5s infinite}
@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.3}}

.news-status{display:flex;align-items:center;gap:14px;padding:4px 0;font-size:.72em;color:var(--t3);flex-wrap:wrap}
.news-status span{display:flex;align-items:center;gap:3px}
.news-status i{font-size:.8em;color:var(--t3)}
.news-status .ns-live{color:var(--g)}
.news-status .ns-warn{color:var(--o)}

.news-settings-panel{background:var(--bg2);border:1px solid var(--bd);border-radius:4px;padding:12px;margin-bottom:8px;display:none;flex-direction:column;gap:8px}
.news-settings-panel.open{display:flex}
.news-settings-panel label{font-size:.78em;color:var(--t2);font-weight:600;white-space:nowrap}
.news-key-input{background:var(--bg0);border:1px solid var(--bd);color:var(--t0);padding:5px 10px;border-radius:4px;font-family:var(--mono);font-size:.78em;width:100%;transition:all .15s;box-sizing:border-box}
.news-key-input:focus{border-color:var(--ac);outline:none;box-shadow:0 0 0 2px rgba(41,98,255,.1)}
.key-rotation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.key-api-group{background:var(--bg1);border:1px solid var(--bd);border-radius:4px;padding:8px;display:flex;flex-direction:column;gap:4px}
.key-api-label{font-size:.76em;font-weight:700;color:var(--t1);display:flex;align-items:center;gap:5px;margin-bottom:2px}
.key-api-label i{font-size:.85em}
.key-slot-extra{opacity:.6;border-style:dashed!important}
.key-slot-extra:focus,.key-slot-extra:not(:placeholder-shown){opacity:1;border-style:solid!important}
.key-slot-info{font-size:.8em;font-weight:400;color:var(--g);margin-left:auto}
.key-slot-info.warn{color:var(--o)}
.key-slot-info.err{color:var(--r)}
.news-key-save{background:var(--ac);color:#fff;border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:.78em;font-weight:600;transition:all .15s}
.news-key-save:hover{background:var(--acL)}
.news-key-status{font-size:.72em;padding:2px 6px;border-radius:3px}
.news-key-status.ok{color:var(--g);background:var(--gD)}
.news-key-status.no{color:var(--o);background:rgba(245,158,11,.12)}

.news-row{cursor:pointer;transition:background .15s}
.news-row:hover{background:rgba(91,106,240,.04)!important}
.news-row.expanded{background:var(--bg2)!important;border-bottom:none}
.news-row td{vertical-align:middle}
.news-row td a.news-title-link{color:var(--t0);text-decoration:none;transition:color .15s;cursor:pointer}
.news-row td a.news-title-link:hover{color:var(--ac);text-decoration:underline}
.dni{cursor:pointer;transition:background .15s}
.dni:hover{background:rgba(255,255,255,.04);border-radius:6px}

/* News AI analysis buttons */
.news-ai-btns{display:flex;gap:3px;align-items:center;justify-content:center;white-space:nowrap}
.nai-btn{background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.2);color:var(--t2);padding:3px 6px;border-radius:4px;cursor:pointer;font-size:.72em;transition:all .2s;line-height:1}
.nai-btn:hover{transform:translateY(-1px)}
.nai-btn.loading{opacity:.5;pointer-events:none}
.nai-btn.nai-done{border-color:var(--g);background:rgba(34,197,94,.15)}
.nai-gemini{border-color:rgba(66,133,244,.3);color:#4285f4}.nai-gemini:hover{background:rgba(66,133,244,.2)}
.nai-groq{border-color:rgba(249,115,22,.3);color:#f97316}.nai-groq:hover{background:rgba(249,115,22,.2)}
.nai-cerebras{border-color:rgba(139,92,246,.3);color:#8b5cf6}.nai-cerebras:hover{background:rgba(139,92,246,.2)}
/* News AI result panel */
.nai-result{margin-top:8px}
.nai-result-inner{background:rgba(0,0,0,.15);border-radius:6px;padding:10px 12px;margin-bottom:6px}
.nai-provider-badge{font-weight:700;font-size:.78em;margin-bottom:8px;display:flex;align-items:center;gap:5px}
.nai-section{margin-bottom:6px;font-size:.82em;color:var(--t1);line-height:1.5}
.nai-section p{margin:0}
.nai-section-title{font-weight:600;font-size:.78em;color:var(--t2);margin-bottom:3px;display:flex;align-items:center;gap:4px}
.nai-points{margin:2px 0 0 16px;padding:0;font-size:.92em}.nai-points li{margin-bottom:2px;color:var(--t1)}

.news-src-badge{font-size:.62em;padding:1px 5px;border-radius:2px;margin-left:4px;font-weight:700}
.news-src-badge.live-src{background:rgba(34,197,94,.15);color:#22c55e}
.news-src-badge.static-src{background:rgba(100,116,139,.12);color:#94a3b8}

.news-detail td{padding:0!important;border-top:none!important}
.news-ai-panel{background:var(--bg2);border:1px solid var(--bd);border-top:none;padding:10px 14px;margin:0 4px 4px;border-radius:0 0 4px 4px}
.nai-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.nai-header i{color:var(--ac);font-size:.85em}
.nai-header span{font-weight:700;font-size:.82em;color:var(--ac)}
.nai-commentary{font-size:.82em;color:var(--t1);line-height:1.55;margin-bottom:8px;padding:6px 8px;background:var(--bg3);border-radius:4px;border-left:3px solid var(--ac)}
.nai-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.nai-coins .ct{margin-right:3px}

.nai-realization{margin-top:8px;padding:8px;background:var(--bg3);border-radius:4px;border-left:3px solid var(--o)}
.nai-real-header{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:.8em;font-weight:700}
.nai-real-verdict{font-size:.8em;color:var(--t1);line-height:1.4}
.nai-real-prices{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:.72em;color:var(--t2);font-family:var(--mono)}

.real-badge{font-size:.68em;padding:2px 6px;border-radius:3px;font-weight:700;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.real-badge i{font-size:.85em}
.real-true{background:rgba(34,197,94,.15);color:#22c55e}
.real-false{background:rgba(239,68,68,.15);color:#ef4444}
.real-partial{background:rgba(245,158,11,.15);color:#f59e0b}

.ai-pending{position:relative;overflow:hidden}
.ai-pending::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.05),transparent);animation:aiShimmer 1.8s infinite}
@keyframes aiShimmer{100%{left:100%}}

.nai-no-key{font-size:.78em;color:var(--o);padding:6px 8px;background:rgba(245,158,11,.08);border-radius:4px;display:flex;align-items:center;gap:6px}
.nai-no-key i{color:var(--o)}

/* INFINITE SCROLL */
.ci-sentinel{grid-column:1/-1;height:40px;display:flex;align-items:center;justify-content:center}
.ci-sentinel::after{content:'';width:22px;height:22px;border:2px solid var(--bd);border-top-color:var(--ac);border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== SHARED BAR STYLES (used by Log rate limits) ===== */

@media(max-width:768px){
    .mobile-menu-btn{display:block}
    .left{position:fixed;left:-200px;top:clamp(32px,2.4vw,40px);bottom:0;width:180px!important;z-index:200;transition:left .25s}
    .left.open{left:0}
    .right{display:none}
    .dg{grid-template-columns:1fr}
    .whale-filter-row{flex-direction:column;align-items:flex-start}
    .whale-filter-row .pills{flex-wrap:wrap}
    .whale-search{max-width:100%;flex:1}
    .wx-live{grid-template-columns:24px 14px 1fr auto;gap:6px;padding:7px 8px;font-size:.8em}
    .wx-chain{width:24px;height:24px;font-size:.7em}
    .wx-d .wx-addr{max-width:80px}
    .mx{max-width:100%!important;max-height:90dvh}
    .topbar{padding:0 6px}
    .tb-s{display:none}
    .live-badge{font-size:.55em;padding:2px 5px}
    .ticker-scroll{animation-duration:25s}
    .ev-scenarios{grid-template-columns:1fr}
    .ch-videos-list{max-height:350px}
    .sort-bar{flex-wrap:wrap}
    .at-entry{flex-direction:column;gap:4px}
    .at-date{min-width:auto}
    .tv-layout{grid-template-columns:1fr}
    .tv-chart-area{min-height:280px;border-radius:0}
    .tv-widget-wrap,.tv-widget-wrap iframe{min-height:280px}
    .tv-watchlist{max-height:200px;border-left:1px solid var(--bd);border-radius:0 0 4px 4px}
    .modal-chart-container{height:220px}
    .mcf-btn{padding:2px 7px;font-size:.7em}
    .equity-chart-container{height:180px}
    .equity-chart-header{padding:6px 8px}
    .equity-chart-legend{display:none}
    .top-grid{grid-template-columns:repeat(3,1fr)}
    .dp-mt{font-size:8px}
}
@media(max-width:480px){
    html{font-size:12px}
    .ticker{display:none}.live-badge{display:none}
    .cg{grid-template-columns:1fr 1fr}
    .top-grid{grid-template-columns:1fr 1fr}
    .dp-mt{font-size:7px;gap:2px}
    .brand b{display:none}
}
/* ===== 2K+ / High-DPI scaled (1800px+) ===== */
@media(min-width:1800px){
    html{font-size:17px}
    .topbar{height:48px;padding:0 20px;font-size:13px}
    .left{width:clamp(200px,13vw,260px)}
    .lb{padding:12px 18px;font-size:13px;gap:10px}
    .lb i{font-size:18px;width:22px}
    .right{width:clamp(260px,18vw,360px);padding:12px}
    .center{padding:18px}
    .brand{font-size:15px;gap:8px;padding-right:18px}
    .layout{top:48px}
    .mobile-menu-btn{top:48px}
    /* Grids */
    .cg{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
    .top-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
    .chg{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
    .tg{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
    .vcg{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:8px}
    .dg{gap:12px}
    .ev-scenarios{gap:10px}
    /* Cards */
    .ci{padding:14px;border-radius:6px}
    .dp{padding:14px;border-radius:6px}
    .ci-p{font-size:20px}
    .dp-p{font-size:20px}
    .ci-n{font-size:15px}
    .dp-n{font-size:15px}
    .dp-t img,.ci-i img{width:28px;height:28px}
    .dp-mt{font-size:10px}
    /* Table */
    .dt{font-size:13px}
    .dt th{padding:10px 14px;font-size:11px}
    .dt td{padding:8px 14px}
    /* Pills */
    .pl{padding:6px 14px;font-size:12px}
    /* Toolbar */
    .pt h2{font-size:18px}
    .st{font-size:15px}
    /* Scrollbar */
    ::-webkit-scrollbar{width:6px;height:6px}
    /* Ticker */
    .tk-n{font-size:0.85em}.tk-p{font-size:0.95em}
    /* Right sidebar */
    .wi{padding:7px 8px;gap:6px}
    .wi-n{font-size:0.95em}
    .wi-p{font-size:0.9em}
    .rt{font-size:0.82em}
    /* TV Panel */
    .tv-chart-area{min-height:clamp(400px,60vh,800px)}
    .tv-widget-wrap,.tv-widget-wrap iframe{min-height:clamp(400px,60vh,800px)}
    .tv-wl-item-name{font-size:13px}
    .tv-wl-item-price{font-size:13px}
    .tv-wl-item{padding:7px 8px}
    /* Modal */
    .mx{max-width:clamp(700px,55vw,1000px)}
    .mhi .mn2{font-size:20px}
    .mhi .mp2{font-size:22px}
    .mr{font-size:0.95em;padding:5px 0}
    /* News */
    .news-live-badge{font-size:.75em;padding:3px 8px}
    /* Dashboard grid */
    .dash-grid-2{column-gap:12px}
    .dash-section{border-radius:8px;margin-bottom:12px}
    .dash-sec-header{padding:10px 14px;font-size:.9em}
    .dcal-ev{padding:5px 12px;font-size:.82em}
    .dcal-date{font-size:.82em;padding:7px 12px}
    .dcal-coin{width:40px}
    .dni{padding:8px 10px}
    .dni-s{font-size:.75em}
    .dni-h{font-size:.88em}
    .dvid-ch{width:30px;height:30px;font-size:.85em}
    .dvid-title{font-size:.85em}
    .dwh-icon{width:30px;height:30px;font-size:.82em}
    .dwh-val{font-size:.85em}
    /* Channel cards */
    .chi{width:36px;height:36px;font-size:1em}
    .chn{font-size:0.95em}
    .chf{font-size:0.8em}
    /* Sort bar */
    .sort-btn{padding:6px 14px;font-size:13px}
    /* Market search */
    .market-search{padding:7px 14px;max-width:340px;font-size:0.92em}
    .market-count{font-size:0.7em;padding:3px 10px}
    /* Whale */
    .wx{padding:7px;font-size:0.9em}
    .wx-a{font-size:0.9em}
    .wx-live{gap:10px;padding:9px 14px;font-size:.88em}
    .wx-chain{width:30px;height:30px;font-size:.82em}
    /* Forms */
    .fi{padding:10px 14px;font-size:1em}
    .save-btn{padding:12px;font-size:1.05em}
    /* My Portfolio */
    .ms-v{font-size:24px}
    .ms-l{font-size:0.78em}
    .my-summary{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
    .equity-chart-container{height:300px}
    .equity-chart-header{padding:10px 16px}
}

/* ===== 4K / UHD scaled (2200px+) ===== */
@media(min-width:2200px){
    html{font-size:22px}
    .topbar{height:56px;padding:0 28px;font-size:15px}
    .left{width:clamp(260px,14vw,340px)}
    .lb{padding:16px 22px;font-size:15px;gap:12px}
    .lb i{font-size:22px;width:26px}
    .lnav{gap:2px;padding:8px 0}
    .right{width:clamp(320px,20vw,440px);padding:16px}
    .center{padding:28px}
    .brand{font-size:18px;gap:10px;padding-right:22px}
    .live-badge{font-size:0.8em;padding:4px 12px;gap:6px;border-radius:6px}
    .live-dot{width:8px;height:8px}
    .layout{top:56px}
    .mobile-menu-btn{top:56px}
    /* Scrollbar */
    ::-webkit-scrollbar{width:8px;height:8px}
    ::-webkit-scrollbar-thumb{border-radius:4px}
    /* Ticker */
    .ticker-scroll{gap:24px}
    .tk{gap:5px}
    .tk-n{font-size:0.9em}.tk-p{font-size:1em}
    .tk-c{font-size:0.85em;padding:2px 6px;border-radius:3px}
    .tb-s{gap:6px;padding-left:14px}
    .tb-sl{font-size:0.78em}.tb-sv{font-size:0.95em}
    /* Grids */
    .cg{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
    .top-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
    .chg{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}
    .tg{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
    .vcg{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:10px}
    .dg{grid-template-columns:1fr clamp(340px,24vw,460px);gap:14px}
    .wl{gap:14px}
    .ev-scenarios{gap:12px}
    /* Cards */
    .ci{padding:18px;border-radius:6px}
    .dp{padding:18px;border-radius:6px}
    .ci-p{font-size:24px}
    .dp-p{font-size:24px}
    .ci-n{font-size:17px}
    .dp-n{font-size:17px}
    .ci-s,.dp-s{font-size:0.78em}
    .dp-t img,.ci-i img{width:34px;height:34px}
    .ci-v{padding:4px 10px;font-size:0.78em;border-radius:3px}
    .dp-v{padding:4px 10px;font-size:0.78em;border-radius:3px}
    .ci-r{font-size:0.85em;padding:4px 0}
    .ci-ch{font-size:13px}
    .ci-f{font-size:16px}
    .dp-f{font-size:15px}
    .dp-mt{font-size:11px;gap:5px}
    .ci-rank{font-size:.72em;min-width:30px}
    .ci-h{font-size:0.72em}
    /* Table */
    .dt{font-size:15px}
    .dt th{padding:12px 16px;font-size:13px;letter-spacing:.7px}
    .dt td{padding:10px 16px}
    .tw{border-radius:6px}
    .ib{width:5px;height:22px;border-radius:3px}
    .cc2 img{width:18px;height:18px}
    .cat{padding:2px 7px;font-size:0.8em;border-radius:3px}
    .se{padding:2px 7px;font-size:0.78em;border-radius:3px}
    .ct{padding:2px 6px;font-size:0.78em;border-radius:3px}
    /* Pills */
    .pl{padding:7px 16px;font-size:13px;border-radius:6px}
    .pills{gap:5px}
    /* Toolbar */
    .pt{margin-bottom:12px;gap:10px}
    .pt h2{font-size:22px;gap:8px}
    .st{font-size:17px;margin-bottom:10px}
    .disc{font-size:0.85em;padding:5px 12px;border-radius:4px}
    /* Right sidebar */
    .rs{margin-bottom:16px}
    .rt{font-size:0.82em;margin-bottom:8px;letter-spacing:.7px}
    .wi{padding:8px 10px;gap:8px;margin-bottom:3px;border-radius:4px}
    .wi img{width:22px;height:22px}
    .wi-n{font-size:1em}
    .wi-p{font-size:0.92em}
    .wi-c{font-size:0.82em}
    .ali{padding:8px 10px;font-size:0.88em;border-radius:4px}
    .pli{padding:8px 10px;font-size:0.88em;border-radius:4px}
    .pli img{width:18px;height:18px}
    .tri{padding:6px 8px;font-size:0.88em}
    .tri img{width:18px;height:18px}
    /* TV Panel */
    .tv-chart-area{min-height:clamp(500px,65vh,900px);border-radius:0 0 0 6px}
    .tv-widget-wrap,.tv-widget-wrap iframe{min-height:clamp(500px,65vh,900px)}
    .tv-watchlist{max-height:clamp(500px,65vh,900px);border-radius:0 0 6px 0}
    .tv-layout{gap:0;margin-bottom:10px}
    .tv-wl-header{padding:10px 14px;font-size:14px}
    .tv-wl-add-btn{width:26px;height:26px;font-size:13px;border-radius:5px}
    .tv-wl-search input{padding:8px 12px;font-size:14px;border-radius:5px}
    .tv-wl-search{padding:6px 8px}
    .tv-wl-item{padding:8px 10px;gap:6px;border-radius:4px}
    .tv-wl-item-name{font-size:15px}
    .tv-wl-item-name img{width:18px;height:18px}
    .tv-wl-item-price{font-size:15px}
    .tv-wl-item-change{font-size:12px;min-width:60px}
    .tv-wl-cat{padding:6px 8px;font-size:12px}
    .tv-wl-remove{font-size:12px;padding:3px 5px}
    .tv-wl-body{padding:6px}
    .tv-sr-section{padding:6px 10px;font-size:11px}
    .tv-wl-sr-item{padding:8px 10px;font-size:13px}
    .tv-sr-left img{width:20px;height:20px}
    .tv-sr-cat{font-size:10px;padding:2px 6px}
    .tv-sr-price{font-size:13px}
    .tv-sr-chg{font-size:11px}
    .tv-no-chart{font-size:16px;gap:10px}
    /* Modal */
    .mo{padding:28px}
    .mx{max-width:clamp(800px,50vw,1100px);border-radius:8px}
    .mh{padding:18px 24px}
    .mhi img{width:38px;height:38px}
    .mhi .mn2{font-size:22px}
    .mhi .ms2{font-size:0.88em}
    .mhi .mp2{font-size:24px;margin-left:16px}
    .mhi .mc2{font-size:0.92em}
    .mhi .mfav{font-size:18px;margin-left:12px}
    .mhx{width:36px;height:36px;font-size:1.1em;border-radius:6px}
    .mc{padding:18px}
    .msec{margin-bottom:16px}
    .msec h3{font-size:1.05em;margin-bottom:8px;padding-bottom:5px}
    .mr{font-size:1em;padding:6px 0}
    .mtg{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
    .mtc{padding:12px;border-radius:6px}
    .mtc .mtv{font-size:18px}
    .mtc .mtl{font-size:0.72em}
    .mn3{padding:10px 14px;border-radius:5px}
    .mn3-t{font-size:0.95em}
    .mn3-d{font-size:0.85em}
    .mai{padding:14px;border-radius:6px}
    .mai-t{font-size:0.92em;margin-bottom:8px}
    .mai p{font-size:0.9em}
    .modal-chart-container{height:360px}
    .mcf-btn{padding:5px 12px;font-size:0.85em;border-radius:5px}
    .modal-chart-toolbar{margin-bottom:6px}
    .modal-chart-wrap{border-radius:6px}
    .modal-chart-legend{font-size:0.78em;padding:6px 4px;gap:10px}
    /* News */
    .news-live-badge{font-size:.78em;padding:4px 10px;border-radius:4px;margin-left:10px}
    .news-live-dot{width:8px;height:8px}
    .news-hdr-btn{padding:6px 14px;font-size:.85em;border-radius:5px}
    .news-status{font-size:.78em;gap:18px;padding:6px 0}
    .news-settings-panel{padding:16px;border-radius:6px;gap:12px}
    .news-key-input{padding:8px 14px;font-size:.88em;min-width:280px}
    .news-key-save{padding:8px 18px;font-size:.85em;border-radius:5px}
    .news-ai-btns{gap:4px}
    .nai-btn{padding:4px 8px;font-size:.78em;border-radius:5px}
    .news-src-badge{font-size:.7em;padding:2px 7px;border-radius:3px}
    .news-ai-panel{padding:14px 18px;margin:0 6px 6px;border-radius:0 0 6px 6px}
    .nai-commentary{font-size:.88em;padding:8px 12px;border-radius:5px}
    .nai-no-key{font-size:.85em;padding:8px 12px;border-radius:5px}
    .news-market-pills .pl{font-size:12px}
    /* Channel cards */
    .chc{padding:12px 14px;gap:10px;border-radius:6px}
    .chi{width:42px;height:42px;font-size:1.1em}
    .chn{font-size:1em}
    .chs{font-size:0.78em}
    .chf{font-size:0.78em}
    .chy{font-size:18px}
    .ch-videos-header{padding:14px 18px}
    .ch-vh-icon{width:36px;height:36px;font-size:1.05em}
    .ch-vh-close{width:30px;height:30px;font-size:0.9em;border-radius:4px}
    .ch-videos-list{padding:12px 16px}
    .vid-card{padding:14px 16px;border-radius:6px;margin-bottom:8px}
    .vid-card-title{font-size:0.95em}
    .vid-card-date{font-size:.78em}
    .vid-card-analysis{font-size:.88em;padding:10px 14px;border-radius:5px}
    /* Sort bar */
    .sort-bar{gap:10px;padding:10px 16px;margin-bottom:14px;font-size:.9em}
    .sort-btn{padding:7px 16px;font-size:14px;border-radius:5px}
    /* Market search */
    .market-search{padding:8px 16px;max-width:400px;border-radius:6px}
    .market-search input{font-size:.92em}
    .market-count{font-size:0.72em;padding:4px 12px;border-radius:5px}
    .market-toolbar{gap:12px;margin-bottom:10px}
    /* Category badges */
    .cat-badge{font-size:.68em;padding:2px 6px;border-radius:3px}
    .ci-alpha-badge{font-size:10px;padding:3px 8px;border-radius:4px}
    /* Whale */
    .wc{border-radius:8px}
    .wc h3{font-size:1em;padding:12px 16px}
    .whale-list{max-height:580px}
    .wx{padding:8px;font-size:0.9em;gap:8px}
    .wx-i{width:28px;height:28px;font-size:0.85em}
    .wx-a{font-size:0.9em}
    .wx-d{font-size:0.82em}
    .wx-live{grid-template-columns:32px 20px 1fr auto;padding:10px 16px;font-size:.9em;gap:10px}
    .wx-chain{width:32px;height:32px;font-size:.85em}
    .whale-filters{gap:8px}
    .whale-filter-row{gap:10px}
    .wx-d .wx-addr{max-width:200px}
    /* Analysts */
    .acc{gap:5px}
    .acb{width:70px;height:6px}
    .acp{font-size:0.9em}
    .al a{font-size:1.1em}
    .vc{padding:14px;border-radius:6px}
    .vc h4{font-size:1.05em;margin-bottom:4px}
    .vc .vd{font-size:0.85em;margin-bottom:6px}
    .vct{gap:4px;margin-bottom:6px}
    .vt{padding:2px 7px;font-size:0.78em}
    /* My Portfolio */
    .add-btn{padding:8px 18px;font-size:0.92em;border-radius:5px}
    .my-summary{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
    .ms-c{padding:16px;border-radius:6px}
    .ms-v{font-size:28px}
    .ms-l{font-size:0.78em;margin-bottom:4px}
    /* Prob bar */
    .ev-prob-bar{height:28px;border-radius:5px}
    .ev-pb-bull,.ev-pb-neut,.ev-pb-bear{font-size:0.78em}
    .ev-sc{padding:14px;border-radius:6px}
    .ev-sc-h{font-size:0.85em;margin-bottom:5px}
    .ev-sc-p{font-size:0.85em}
    .mini-prob{width:80px;height:5px}
    /* Dashboard */
    .dash-grid-2{column-gap:18px;margin-top:14px;max-width:2400px}
    .dash-section{border-radius:8px;margin-bottom:18px}
    .dash-sec-header{padding:12px 18px;font-size:.95em}
    .dash-sec-header i{font-size:1em;margin-right:6px}
    .dcal-ev{padding:6px 14px;font-size:.88em;gap:8px}
    .dcal-date{font-size:.85em;padding:8px 14px;gap:8px}
    .dcal-time{width:44px;font-size:.92em}
    .dcal-coin{width:44px;font-size:.92em}
    .dcal-imp{width:16px}
    .dci{padding:8px 10px;font-size:0.92em;border-radius:5px}
    .dci-d{font-size:0.85em;width:55px}
    .dci-e{font-size:1em}
    .dni{padding:12px 14px}
    .dni-s{font-size:0.82em}
    .dni-h{font-size:0.95em}
    .dni-t{font-size:0.82em}
    .dvid-ch{width:34px;height:34px;font-size:.9em}
    .dvid-title{font-size:.9em}
    .dvid-meta{font-size:.72em}
    .dwh-icon{width:34px;height:34px;font-size:.85em}
    .dwh-val{font-size:.9em}
    .dwh-meta{font-size:.72em}
    .dvi{gap:8px;padding:8px}
    .dvi-i{width:36px;height:36px;font-size:1em}
    .dvi-n{font-size:0.9em}
    .dvi-v{font-size:0.82em}
    /* Source bar */
    .srcbar{padding:8px 12px;font-size:0.88em;border-radius:5px}
    .srcbar a{padding:3px 7px;border-radius:3px}
    .conf{gap:3px}
    .cd{width:8px;height:8px}
    /* Forms */
    .form-g{margin-bottom:14px}
    .form-g label{font-size:0.85em;margin-bottom:5px}
    .fi{padding:12px 16px;font-size:1em;border-radius:6px}
    .save-btn{padding:14px;font-size:1.1em;border-radius:6px}
    /* Infinite scroll sentinel */
    .ci-sentinel{height:60px}
    .ci-sentinel::after{width:28px;height:28px;border-width:3px}
    /* Market switcher */
    .market-switcher{gap:4px;padding:0 14px}
    .ms-btn{font-size:12px;padding:0 14px;gap:5px}
    .ms-btn i{font-size:.9em}
    /* Market type pills */
    .market-type-pills .pl{font-size:12px}
    .mkt-cat-row{min-height:34px;margin-bottom:8px}
    .mkt-badge{font-size:.72em;padding:2px 7px;border-radius:3px}
    /* Calendar */
    .cal-num{font-size:1em}
    .cal-currency-filter .pl{font-size:11px;padding:3px 8px}
    .cal-country-flag{width:20px;height:15px;margin-right:5px}
    /* ForexFactory style */
    .cal-impact-row-high td:first-child,.cal-impact-row-medium td:first-child,.cal-impact-row-low td:first-child{border-left-width:4px}
    /* Global search */
    .global-search-results{max-height:400px;border-radius:0 0 6px 6px}
    .gsr-item{padding:8px 12px;font-size:14px;gap:10px}
    .gsr-item-sym{min-width:70px}
    .gsr-section{padding:5px 12px;font-size:.78em}
    /* Language toggle */
    .lang-btn{padding:4px 10px;font-size:12px;border-radius:5px}
    .lang-opt{padding:2px 5px;border-radius:3px}
    /* Analysis timeline */
    .at-entry{padding:12px;margin-bottom:8px;border-radius:6px}
    .at-title{font-size:.95em}
    .at-text{font-size:.88em}
    .at-date{font-size:.78em;min-width:80px}
    .at-imp,.at-prob,.at-sent{font-size:.72em;padding:3px 8px;border-radius:5px}
    .prob-badge{font-size:.72em;padding:3px 9px;border-radius:5px}
}

/* ===== MARKET SWITCHER (Topbar) ===== */
.market-switcher{display:flex;gap:2px;padding:0 10px;border-left:1px solid var(--bd);flex-shrink:0;align-items:center;height:100%}
.ms-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--t3);padding:0 10px;border-radius:0;cursor:pointer;font-family:var(--sans);font-size:clamp(8px,0.65vw,10px);font-weight:600;display:flex;align-items:center;gap:4px;transition:all .15s;white-space:nowrap;height:100%}
.ms-btn:hover{color:var(--t1)}
.ms-btn.active{color:#fff;border-bottom-color:var(--ac)}
.ms-btn i{font-size:.8em;opacity:.7}.ms-btn.active i{opacity:1}

/* ===== MARKET TYPE BADGES ===== */
.mkt-badge{display:inline-block;padding:1px 5px;border-radius:2px;font-size:.65em;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.mkt-crypto{background:rgba(245,158,11,.12);color:#f59e0b}
.mkt-forex{background:rgba(59,130,246,.12);color:#3b82f6}
.mkt-stocks{background:rgba(34,197,94,.12);color:#22c55e}
.mkt-commodities{background:rgba(239,68,68,.12);color:#ef4444}
.mkt-indices{background:rgba(139,92,246,.12);color:#8b5cf6}
.mkt-general{background:rgba(107,114,128,.12);color:#6b7280}

/* ===== MARKET TYPE PILLS (Market section) ===== */
.mkt-header{flex-wrap:nowrap}
.mkt-header h2{flex-shrink:0;white-space:nowrap}
.market-type-pills{display:flex;gap:3px;flex-shrink:0}
.market-type-pills .pl{font-size:clamp(9px,0.7vw,11px)}
/* Category pills row — separate line, fixed height to prevent layout shift */
.mkt-cat-row{min-height:28px;margin-bottom:6px;display:flex;align-items:center}
.mkt-cat-row .pills{flex-wrap:wrap;gap:2px}

/* ===== MARKET ICON (emoji for forex/stocks/commodities) ===== */
.mkt-icon{display:flex;align-items:center;justify-content:center;width:clamp(20px,1.6vw,34px);height:clamp(20px,1.6vw,34px);font-size:clamp(16px,1.3vw,26px);flex-shrink:0}

/* ===== FOREXFACTORY-STYLE CALENDAR ===== */
.cal-impact-row-high td:first-child{border-left:3px solid var(--r)}
.cal-impact-row-medium td:first-child{border-left:3px solid var(--o)}
.cal-impact-row-low td:first-child{border-left:3px solid var(--y)}
.cal-num{text-align:right;font-family:var(--mono);font-weight:600}
.cal-actual-better{color:var(--g);font-weight:700}
.cal-actual-worse{color:var(--r);font-weight:700}
.cal-actual-neutral{color:var(--t1)}
.cal-currency-filter{display:flex;gap:3px;flex-wrap:wrap}
.cal-currency-filter .pl{font-size:clamp(8px,.6vw,10px);padding:2px 6px}
.cal-country-flag{width:16px;height:12px;border-radius:1px;vertical-align:middle;margin-right:3px}

/* ===== TOPBAR MULTI-MARKET STATS ===== */
.tb-stats-group{display:flex;align-items:center;gap:clamp(8px,1vw,16px)}
.tb-stats-group[style*="display:none"]+.tb-stats-group{margin-left:0}

/* ===== TV NO-CHART MESSAGE ===== */
.tv-no-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--t3);text-align:center;gap:6px;font-size:clamp(11px,.85vw,13px)}
.tv-no-chart a{font-size:.85em;color:var(--ac)}

/* ===== NEWS MARKET FILTER ===== */
.news-market-pills{display:flex;gap:3px;margin-bottom:6px}
.news-market-pills .pl{font-size:clamp(9px,0.7vw,11px)}

/* ===== ENHANCED SEARCH ===== */
.global-search-wrap{position:relative}
.global-search-results{position:absolute;top:100%;left:0;right:0;background:rgba(22,26,30,.85);backdrop-filter:blur(10px);border:1px solid var(--bd);border-top:none;border-radius:0 0 4px 4px;max-height:300px;overflow-y:auto;z-index:30;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.gsr-item{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;transition:.12s;font-size:clamp(10px,.78vw,12px)}
.gsr-item:hover{background:var(--bgH)}
.gsr-item-sym{font-weight:700;color:var(--t0);min-width:55px}
.gsr-item-name{color:var(--t2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsr-item-price{font-family:var(--mono);font-weight:600;color:var(--t0)}
.gsr-item-chg{font-family:var(--mono);font-size:.9em;font-weight:600;min-width:50px;text-align:right}
.gsr-section{padding:3px 8px;font-size:.7em;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--bd)}

/* ===== WATCHLIST DRAG & DROP ===== */
.tv-wl-drag-handle{opacity:0;cursor:grab;color:var(--t3);font-size:.6em;margin-right:2px;transition:opacity .15s;flex-shrink:0}
.tv-wl-item:hover .tv-wl-drag-handle,.tv-wl-cat:hover .tv-wl-drag-handle{opacity:.5}
.tv-wl-drag-handle:hover{opacity:1!important}
.tv-wl-item.dragging,.tv-wl-cat.dragging{opacity:.25;pointer-events:none}
.tv-wl-drop-indicator{height:2px;background:var(--ac);margin:0 4px;border-radius:1px;pointer-events:none}
.tv-wl-cat-items.drag-over{background:rgba(41,98,255,.06);border-radius:3px}

/* Watchlist category controls */
.tv-wl-cat-count{font-size:.6em;color:var(--t3);margin-left:2px;font-weight:400}
.tv-wl-cat-actions{display:flex;align-items:center;gap:1px;margin-left:auto;opacity:0;transition:opacity .15s}
.tv-wl-cat:hover .tv-wl-cat-actions{opacity:1}
.tv-wl-cat-btn{background:none;border:none;color:var(--t3);cursor:pointer;font-size:.55em;padding:2px 3px;line-height:1;border-radius:2px;transition:all .1s}
.tv-wl-cat-btn:hover{color:var(--t0);background:var(--bgH)}
.tv-wl-cat-btn.wl-del:hover{color:var(--r);background:var(--rD)}
/* Item move buttons */
.tv-wl-item-actions{display:flex;flex-direction:column;gap:0;opacity:0;transition:opacity .15s;margin-left:2px}
.tv-wl-item:hover .tv-wl-item-actions{opacity:1}
.tv-wl-mv{background:none;border:none;color:var(--t3);cursor:pointer;font-size:.5em;padding:0 2px;line-height:1;border-radius:2px;transition:all .1s}
.tv-wl-mv:hover{color:var(--ac);background:var(--acD)}

/* Watchlist empty state */
.tv-wl-empty{padding:6px 8px;font-size:.68em;color:var(--t3);font-style:italic;text-align:center}

/* Add category row */
.tv-wl-add-cat{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;font-size:.68em;color:var(--ac);cursor:pointer;border-top:1px solid var(--bd);opacity:.5;transition:opacity .15s;margin-top:4px}
.tv-wl-add-cat:hover{opacity:1}
.tv-wl-add-cat i{font-size:.8em}

/* Watchlist category modal */
.wl-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:9999}
.wl-modal{background:var(--bg1);border:1px solid var(--bd);border-radius:8px;padding:16px 20px;width:280px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.wl-modal h3{margin:0 0 12px;font-size:.82em;color:var(--t1);font-weight:700}
.wl-modal label{display:block;font-size:.68em;color:var(--t3);margin:8px 0 2px;font-weight:600}
.wl-modal input,.wl-modal select{width:100%;padding:6px 8px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;color:var(--t1);font-size:.78em;font-family:var(--sans);box-sizing:border-box}
.wl-modal input:focus,.wl-modal select:focus{outline:none;border-color:var(--ac)}
.wl-modal-actions{display:flex;gap:8px;margin-top:14px}
.wl-modal-actions button{flex:1;padding:6px;border:none;border-radius:4px;cursor:pointer;font-size:.72em;font-weight:600;font-family:var(--sans);transition:opacity .15s}
.wl-modal-actions button:first-child{background:var(--ac);color:#fff}
.wl-modal-actions button:first-child:hover{opacity:.85}
.wl-modal-actions button:last-child{background:var(--bg2);color:var(--t2);border:1px solid var(--bd)}
.wl-modal-actions button:last-child:hover{background:var(--bg3)}

/* === VIP TAG SYSTEM === */
.vip-tag{display:inline-flex;align-items:center;gap:2px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#000;font-size:.55em;font-weight:800;padding:1px 5px;border-radius:3px;letter-spacing:.5px;text-transform:uppercase;line-height:1.4;vertical-align:middle;white-space:nowrap;box-shadow:0 1px 3px rgba(245,158,11,.35);position:relative;top:-1px}
.vip-tag i{font-size:.7em}

/* VIP badge in people cards */
.pp-card.vip-card{border-color:rgba(245,158,11,.35);box-shadow:0 0 0 1px rgba(245,158,11,.15),0 2px 8px rgba(245,158,11,.08)}
.pp-card.vip-card::before{content:'';position:absolute;top:0;right:0;width:0;height:0;border-top:24px solid #f59e0b;border-left:24px solid transparent;border-radius:0 5px 0 0;opacity:.7}

/* VIP badge in crypto/market grid */
.ci.vip-item{border-color:rgba(245,158,11,.25)}
.ci.vip-item::after{content:'';position:absolute;top:0;right:0;width:0;height:0;border-top:16px solid #f59e0b;border-left:16px solid transparent;opacity:.5}

/* VIP filter pill */
.pl[data-f="vip"]{background:linear-gradient(135deg,#f59e0b,#f97316)!important;color:#000!important;font-weight:700}
.pl[data-f="vip"].active{box-shadow:0 0 8px rgba(245,158,11,.5)}

/* ===== SIGNALS SECTION ===== */
/* Signal Toolbar */
.sig-toolbar{display:flex;align-items:center;gap:8px;padding:6px 10px;flex-wrap:wrap;border-bottom:1px solid var(--bd);margin-bottom:8px}
.sig-filters,.sig-cats{display:flex;gap:3px}
.sig-fbtn,.sig-cbtn{padding:3px 8px;border:1px solid var(--bd);background:var(--bg2);color:var(--t2);border-radius:3px;cursor:pointer;font-size:.72em;transition:all .15s}
.sig-fbtn.active,.sig-cbtn.active{background:var(--acD);color:var(--ac);border-color:var(--ac)}
.sig-fbtn:hover,.sig-cbtn:hover{border-color:var(--t3)}
.sig-sort{display:flex;align-items:center;gap:4px;font-size:.72em;color:var(--t3);margin-left:auto}
.sig-sort select{background:var(--bg2);border:1px solid var(--bd);color:var(--t1);border-radius:3px;padding:2px 6px;font-size:1em}
.sig-view-toggle{display:flex;gap:2px}
.sig-vbtn{padding:4px 8px;border:1px solid var(--bd);background:var(--bg2);color:var(--t3);cursor:pointer;border-radius:3px;font-size:.72em}
.sig-vbtn.active{background:var(--acD);color:var(--ac);border-color:var(--ac)}

/* Signal Card Grid */
.sig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;padding:4px}

/* Signal Card */
.sig-card{background:var(--bg2);border:1px solid var(--bd);border-radius:6px;overflow:hidden;cursor:pointer;transition:border-color .15s,transform .1s}
.sig-card:hover{border-color:var(--ac);transform:translateY(-1px)}
.sig-card-chart{height:140px;background:#131722;position:relative}
.sig-card-chart iframe{pointer-events:none}
.sig-card-nochart{height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg3);color:var(--t3);font-size:1.2em}
.sig-card-body{padding:8px 10px}
.sig-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}
.sig-card-coin{display:flex;align-items:center;gap:6px}
.sig-card-coin img{width:24px;height:24px;border-radius:50%}
.sig-card-name{font-weight:700;font-size:.85em;color:var(--t0);display:flex;align-items:center;gap:4px}
.sig-card-fullname{font-size:.7em;color:var(--t3)}
.sig-card-price-wrap{text-align:right}
.sig-card-price{font-family:var(--mono);font-weight:600;font-size:.85em}
.sig-card-change{font-family:var(--mono);font-size:.72em;font-weight:600;padding:1px 4px;border-radius:2px}
.sig-card-change.up{color:var(--g);background:var(--gD)}
.sig-card-change.dn{color:var(--r);background:var(--rD)}
.sig-card-verdict{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}
.sig-card-targets{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.sig-tg{display:flex;flex-direction:column;align-items:center;background:var(--bg3);border-radius:3px;padding:3px 4px}
.sig-tl{font-size:.6em;color:var(--t3);text-transform:uppercase}
.sig-tv{font-family:var(--mono);font-size:.72em;font-weight:600}
.sig-card-notargets{font-size:.72em;color:var(--t3);text-align:center;padding:4px;font-style:italic}
.sig-alpha{color:var(--p);font-size:.7em}
.sig-cat-badge{font-size:.58em;padding:1px 5px;border-radius:2px;background:var(--bg3);color:var(--t3);text-transform:uppercase}
@media(max-width:768px){
    .sig-grid{grid-template-columns:1fr}
    .sig-toolbar{flex-direction:column;align-items:stretch}
    .sig-sort{margin-left:0}
}

/* ===== API STATUS PAGE (Redesigned) ===== */

/* Summary Bar */
.api-summary-bar{display:flex;align-items:center;justify-content:space-between;background:var(--bg2);border:1px solid var(--bd);border-radius:8px;padding:12px 16px;margin:8px 8px 0;gap:16px;flex-wrap:wrap}
.api-sum-status{display:flex;align-items:center;gap:10px;border-left:3px solid var(--g);padding-left:10px}
.api-sum-label{font-weight:700;font-size:.9em}
.api-sum-detail{font-size:.7em;color:var(--t3);font-family:var(--mono);margin-top:1px}
.api-sum-counters{display:flex;gap:16px;align-items:center}
.api-sum-c{display:flex;flex-direction:column;align-items:center;gap:1px}
.api-sum-num{font-size:1.1em;font-weight:700;font-family:var(--mono)}
.api-sum-lbl{font-size:.6em;color:var(--t3);text-transform:uppercase;letter-spacing:.5px}

/* Tab Navigation */
.api-tabs{display:flex;gap:2px;padding:10px 8px 0;border-bottom:1px solid var(--bd);margin:0 8px}
.api-tab{background:none;border:none;color:var(--t3);font-size:.8em;font-weight:600;padding:8px 14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;gap:5px}
.api-tab:hover{color:var(--t1)}
.api-tab.active{color:var(--ac);border-bottom-color:var(--ac)}
.api-tab i{font-size:.85em}

/* Tab Content */
.api-tab-content{display:none;padding:10px 8px}
.api-tab-content.active{display:block}

/* ── Overview Tab Cards ── */
.apo-cat{margin-bottom:12px}
.apo-cat-header{display:flex;align-items:center;gap:7px;font-weight:700;font-size:.85em;color:var(--t0);padding:6px 4px;border-bottom:1px solid var(--bd);margin-bottom:8px}
.apo-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;padding-bottom:4px}

.apo-card{background:var(--bg2);border:1px solid var(--bd);border-radius:6px;padding:10px 12px;transition:border-color .15s}
.apo-card:hover{border-color:var(--ac)}
.apo-card-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.apo-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.apo-dot.healthy{background:var(--g);box-shadow:0 0 5px var(--g)}
.apo-dot.degraded{background:var(--o);box-shadow:0 0 5px var(--o)}
.apo-dot.down{background:var(--r);box-shadow:0 0 5px var(--r)}
.apo-dot.idle{background:var(--t3)}
.apo-name{font-weight:600;font-size:.82em;color:var(--t0);flex:1}
.apo-rate-badge{font-size:.62em;font-weight:600;font-family:var(--mono);padding:2px 6px;border-radius:3px;white-space:nowrap}
.apo-rate-badge.ok{background:var(--gD);color:var(--g)}
.apo-rate-badge.warn{background:var(--oD);color:var(--o)}
.apo-rate-badge.crit{background:var(--rD);color:var(--r)}

/* Stats row */
.apo-stats{display:flex;gap:8px;margin-bottom:6px;font-size:.7em;font-family:var(--mono);align-items:center;flex-wrap:wrap}
.apo-stat-ok{color:var(--g);display:flex;align-items:center;gap:2px}
.apo-stat-err{color:var(--r);display:flex;align-items:center;gap:2px}
.apo-stat-pct{color:var(--ac);font-weight:600}
.apo-stat-ms{color:var(--t3);display:flex;align-items:center;gap:2px}

/* Bar rows */
.apo-bar-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:.68em;font-family:var(--mono);color:var(--t2)}
.apo-bar-label{width:42px;color:var(--t3);flex-shrink:0;font-size:.9em}
.apo-bar-track{flex:1;background:var(--bg3);border-radius:3px;height:5px;overflow:hidden}
.apo-bar-fill{height:100%;border-radius:3px;transition:width .3s}
.apo-bar-fill.ok{background:var(--g)}
.apo-bar-fill.warn{background:var(--o)}
.apo-bar-fill.crit{background:var(--r)}
.apo-bar-val{width:55px;text-align:right;flex-shrink:0;font-size:.9em;color:var(--t3)}

/* Key slot pills */
.apo-keys{display:flex;gap:3px;margin:4px 0}
.apo-slot{width:20px;height:16px;border-radius:3px;font-size:.6em;font-weight:700;font-family:var(--mono);display:flex;align-items:center;justify-content:center;border:1px solid var(--bd);color:var(--t3);background:var(--bg3)}
.apo-slot.active{background:var(--gD);color:var(--g);border-color:var(--g)}
.apo-slot.ready{background:var(--bg2);color:var(--t1);border-color:var(--t2)}
.apo-slot.failed{background:var(--rD);color:var(--r);border-color:var(--r)}
.apo-slot.cooldown{background:var(--oD);color:var(--o);border-color:var(--o)}
.apo-slot.empty{opacity:.3}

/* Footer */
.apo-footer{display:flex;justify-content:space-between;align-items:center;font-size:.65em;color:var(--t3);border-top:1px solid var(--bg3);padding-top:5px;margin-top:4px;gap:6px}
.apo-footer i{margin-right:2px}
.apo-last-err{color:var(--r);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}

/* ── Logs Tab ── */
.api-log-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px;flex-wrap:wrap}
.api-log-filters{display:flex;gap:2px}
.api-log-filter{background:var(--bg2);border:1px solid var(--bd);color:var(--t3);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.72em;font-weight:600;transition:all .15s}
.api-log-filter:hover{color:var(--t1)}
.api-log-filter.active{background:var(--acD);color:var(--ac);border-color:var(--ac)}
.log-clear-btn{background:none;border:1px solid var(--bd);color:var(--t3);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.72em;transition:all .15s;display:flex;align-items:center;gap:4px}
.log-clear-btn:hover{color:var(--r);border-color:var(--r)}

.api-log-list{max-height:600px;overflow-y:auto;border:1px solid var(--bd);border-radius:6px;background:var(--bg2)}
.apl-empty{padding:24px;text-align:center;color:var(--t3);font-size:.85em}
.apl-empty i{font-size:1.5em;margin-bottom:6px;display:block}
.apl-entry{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid var(--bg3);font-size:.75em;transition:background .1s}
.apl-entry:last-child{border-bottom:none}
.apl-entry:hover{background:rgba(255,255,255,.02)}
.apl-entry.err{background:rgba(239,68,68,.04)}
.apl-entry.warn{background:rgba(245,158,11,.03)}
.apl-time{font-family:var(--mono);color:var(--t3);font-size:.9em;width:60px;flex-shrink:0}
.apl-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:3px;font-size:.85em;font-weight:600;min-width:46px;justify-content:center}
.apl-badge.ok{background:var(--gD);color:var(--g)}
.apl-badge.err{background:var(--rD);color:var(--r)}
.apl-badge.warn{background:var(--oD);color:var(--o)}
.apl-badge.info{background:rgba(99,102,241,.1);color:var(--ac)}
.apl-api{font-weight:600;color:var(--ac);background:var(--acD);padding:1px 6px;border-radius:3px;white-space:nowrap;font-size:.9em;flex-shrink:0}
.apl-msg{color:var(--t2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.apl-entry.err .apl-msg{color:var(--r)}
.apl-latency{font-family:var(--mono);color:var(--t3);font-size:.85em;flex-shrink:0}

@media(max-width:768px){
    .apo-cat-grid{grid-template-columns:1fr}
    .api-summary-bar{flex-direction:column;align-items:flex-start}
    .api-sum-counters{gap:10px}
}

/* ===== PORTFOLIO EQUITY CHART ===== */
.equity-chart-wrap{background:var(--bg2);border:1px solid var(--bd);border-radius:4px;margin-bottom:10px;overflow:hidden}
.equity-chart-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--bd);gap:8px;flex-wrap:wrap}
.equity-chart-title{font-size:.82em;font-weight:700;color:var(--t1);display:flex;align-items:center;gap:5px;white-space:nowrap}
.equity-chart-title i{color:var(--ac);font-size:.9em}
.equity-chart-legend{display:flex;gap:12px;font-size:.75em;font-family:var(--mono);color:var(--t2);flex:1;justify-content:center}
.ecl-item{display:flex;align-items:center;gap:4px}
.ecl-dot{width:8px;height:8px;border-radius:2px;display:inline-block}
.equity-chart-controls{display:flex;gap:2px}
.ecf-btn{background:transparent;border:1px solid var(--bd);color:var(--t3);padding:2px 8px;border-radius:3px;cursor:pointer;font-size:.72em;font-family:var(--mono);font-weight:600;transition:all .15s}
.ecf-btn:hover{color:var(--t0);background:var(--bgH)}
.ecf-btn.active{background:var(--ac);color:#fff;border-color:var(--ac)}
.equity-chart-container{height:220px;width:100%}

/* ===== TRADE COIN SEARCH ===== */
.tr-search-results{position:absolute;top:100%;left:0;right:0;background:var(--bg2);border:1px solid var(--bd);border-radius:0 0 6px 6px;max-height:260px;overflow-y:auto;z-index:300;display:none;box-shadow:0 4px 12px rgba(0,0,0,.4)}
.tr-search-results.open{display:block}
.tr-sr-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;cursor:pointer;font-size:.8em;color:var(--t1);transition:.12s;gap:6px}
.tr-sr-item:hover{background:var(--bgH);color:var(--t0)}
.tr-sr-left{display:flex;align-items:center;gap:5px;min-width:0;flex:1}
.tr-sr-left img{width:18px;height:18px;border-radius:50%;flex-shrink:0}
.tr-sr-sym{font-weight:700;color:var(--t0);white-space:nowrap}
.tr-sr-name{font-size:.75em;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.tr-sr-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.tr-sr-price{font-family:var(--mono);font-weight:600;font-size:.8em;color:var(--t0)}
.tr-sr-chg{font-family:var(--mono);font-size:.68em;font-weight:600}
.tr-sr-section{font-size:.65em;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;padding:5px 10px;background:var(--bg3);font-weight:600;display:flex;align-items:center;gap:4px}

/* Video Intel Filters & AI Panel */
.vid-filters{display:flex;gap:6px;align-items:center}
.vid-select{background:var(--bg3);border:1px solid var(--bd);color:var(--t1);padding:3px 8px;border-radius:4px;font-size:.75em;font-family:var(--mono);cursor:pointer}
.vid-select:focus{outline:none;border-color:var(--ac)}
.vid-ai-panel{background:var(--bg2);border:1px solid var(--bd);border-radius:6px;padding:12px;margin-bottom:12px}
.vai-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.85em;font-weight:700;color:var(--t0)}
.vai-header i{color:var(--ac);font-size:1em}
.vai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:12px}
.vai-card{background:var(--bg3);border-radius:5px;padding:10px}
.vai-card-label{font-size:.68em;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.vai-card-value{font-size:1.1em;font-weight:700;font-family:var(--mono)}
.vai-card-sub{font-size:.7em;color:var(--t2);margin-top:2px}
.vai-coins{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.vai-coin{display:flex;align-items:center;gap:4px;background:var(--bg3);border-radius:4px;padding:3px 8px;font-size:.75em;font-family:var(--mono)}
.vai-coin-sym{font-weight:700;color:var(--t0)}
.vai-coin-cnt{color:var(--ac);font-weight:600}
.vai-coin-sent{font-size:.65em;padding:1px 4px;border-radius:2px;font-weight:600}
.vai-consensus{background:var(--bg3);border-radius:5px;padding:10px;margin-bottom:10px}
.vai-consensus h4{font-size:.78em;font-weight:700;color:var(--t1);margin:0 0 6px 0}
.vai-con-item{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:.78em}
.vai-con-coin{font-weight:700;color:var(--t0);font-family:var(--mono)}
.vai-con-target{color:var(--g);font-family:var(--mono)}
.vai-con-channels{color:var(--t3);font-size:.85em}
.vai-impact{background:var(--bg3);border-radius:5px;padding:10px}
.vai-impact h4{font-size:.78em;font-weight:700;color:var(--t1);margin:0 0 6px 0}
.vai-imp-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03)}
.vai-imp-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;color:#fff;font-weight:800;flex-shrink:0}
.vai-imp-info{flex:1;min-width:0}
.vai-imp-name{font-size:.8em;font-weight:700;color:var(--t0)}
.vai-imp-focus{font-size:.68em;color:var(--t3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vai-imp-lang{font-size:.6em;padding:1px 5px;border-radius:3px;background:var(--bg1);color:var(--t2);font-weight:600;text-transform:uppercase}
.vai-imp-vids{font-size:.72em;color:var(--ac);font-family:var(--mono);white-space:nowrap}
.vai-sent-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:4px}
.vai-sent-bull{background:var(--g)}.vai-sent-neut{background:var(--y)}.vai-sent-bear{background:var(--r)}

/* Video AI Per-Video Analysis */
.vid-ai-btn{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.15));border:1px solid rgba(99,102,241,.3);color:var(--ac);padding:3px 10px;border-radius:4px;cursor:pointer;font-size:.7em;font-family:var(--mono);font-weight:600;transition:all .2s;display:inline-flex;align-items:center;gap:4px}
.vid-ai-btn:hover{background:linear-gradient(135deg,rgba(99,102,241,.3),rgba(139,92,246,.3));transform:translateY(-1px)}
.vid-ai-btn.loading{opacity:.6;pointer-events:none}
.vid-ai-btn .fa-spin{font-size:.8em}
.vid-ai-result{margin-top:8px;padding:10px 12px;background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.05));border:1px solid rgba(99,102,241,.15);border-radius:6px;font-size:.78em;line-height:1.5;color:var(--t1);animation:vidAiFadeIn .3s ease}
@keyframes vidAiFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.vid-ai-section{margin-bottom:8px}
.vid-ai-section-title{font-size:.72em;font-weight:700;color:var(--ac);text-transform:uppercase;margin-bottom:4px;display:flex;align-items:center;gap:4px}
.vid-ai-section-title i{font-size:.85em}
.vid-ai-section p{margin:0;color:var(--t1);font-size:.82em;line-height:1.55}
.vid-ai-points{list-style:none;padding:0;margin:0}
.vid-ai-points li{padding:2px 0;color:var(--t1);font-size:.82em;position:relative;padding-left:14px}
.vid-ai-points li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--ac)}
.vid-ai-risk-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:.72em;font-weight:700;text-transform:uppercase}
.vid-ai-risk-badge.low{background:rgba(8,153,129,.2);color:var(--g)}
.vid-ai-risk-badge.medium{background:rgba(255,193,7,.2);color:var(--y)}
.vid-ai-risk-badge.high{background:rgba(242,54,69,.2);color:var(--r)}
.vid-ai-batch-wrap{display:flex;align-items:center;gap:8px;margin:8px 0 4px}
.vid-ai-batch-btn{background:linear-gradient(135deg,var(--ac),#7c3aed);border:none;color:#fff;padding:5px 14px;border-radius:4px;cursor:pointer;font-size:.74em;font-weight:700;transition:all .2s;display:inline-flex;align-items:center;gap:5px}
.vid-ai-batch-btn:hover{opacity:.85;transform:translateY(-1px)}
.vid-ai-batch-btn.loading{opacity:.5;pointer-events:none}
.vid-ai-batch-progress{font-size:.72em;color:var(--t3);font-family:var(--mono)}
/* ===== GROK AI + RSS STYLES ===== */
.grok-controls{display:flex;align-items:center;gap:8px;margin:6px 0 10px;padding:8px 12px;background:var(--bg2);border:1px solid var(--bd);border-radius:4px;flex-wrap:wrap}
.grok-fetch-btn{background:linear-gradient(135deg,#1da1f2,#0d8ecf);border:none;color:#fff;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.78em;font-weight:700;transition:all .2s;display:inline-flex;align-items:center;gap:5px}
.grok-fetch-btn:hover{opacity:.85;transform:translateY(-1px)}
.grok-fetch-btn.loading{opacity:.5;pointer-events:none}
.grok-stop-btn{background:rgba(242,54,69,.15);border:1px solid rgba(242,54,69,.3);color:var(--r);padding:5px 12px;border-radius:4px;cursor:pointer;font-size:.74em;font-weight:600;transition:all .2s}
.grok-stop-btn:hover{background:rgba(242,54,69,.25)}
.grok-status{font-size:.72em;color:var(--t3);font-family:var(--mono)}
.rss-progress{font-size:.72em;color:var(--t2);font-family:var(--mono);margin-left:auto}
.grok-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:3px;font-size:.68em;font-weight:700;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}
.grok-summary{font-size:.85em;line-height:1.6;color:var(--t0);font-weight:500;margin:0 0 6px 0}
.vid-groq-btn{background:linear-gradient(135deg,rgba(249,115,22,.15),rgba(234,88,12,.15)) !important;border-color:rgba(249,115,22,.3) !important;color:#f97316 !important}
.vid-groq-btn:hover{background:linear-gradient(135deg,rgba(249,115,22,.3),rgba(234,88,12,.3)) !important}
.groq-ai-result{border-left:3px solid #f97316 !important}
.vid-cerebras-btn{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(124,58,237,.15)) !important;border-color:rgba(139,92,246,.3) !important;color:#8b5cf6 !important}
.vid-cerebras-btn:hover{background:linear-gradient(135deg,rgba(139,92,246,.3),rgba(124,58,237,.3)) !important}
.cerebras-ai-result{border-left:3px solid #8b5cf6 !important}
.vid-gemini-btn{background:linear-gradient(135deg,rgba(66,133,244,.15),rgba(52,168,83,.15)) !important;border-color:rgba(66,133,244,.3) !important;color:#4285f4 !important}
.vid-gemini-btn:hover{background:linear-gradient(135deg,rgba(66,133,244,.3),rgba(52,168,83,.3)) !important}
.vid-thumb{width:120px;height:68px;border-radius:4px;object-fit:cover;flex-shrink:0;margin-right:8px}
.vid-watch-link{font-size:.72em;color:#ff0000;text-decoration:none;display:inline-flex;align-items:center;gap:3px}
.vid-watch-link:hover{text-decoration:underline}
.vid-rss-tag{font-size:.6em;padding:1px 5px;border-radius:3px;background:rgba(29,161,242,.15);color:#1da1f2;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-left:4px}
@media(max-width:768px){.grok-controls{flex-direction:column;align-items:flex-start;gap:5px}.rss-progress{margin-left:0}.vid-thumb{width:80px;height:45px}}
