:root{
 --bg:#0b1220;--sidebar:#0e1929;--panel:#111e30;--panel2:#15243a;--line:#26374e;
 --text:#e8eef8;--muted:#8494aa;--teal:#21c8ad;--teal-dim:rgba(33,200,173,.12);
 --blue:#6da8ff;--violet:#a78bfa;--amber:#f3b95f;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif;font-size:13px}
button{font:inherit;color:inherit;cursor:pointer}
.dashboard{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}
.sidebar{background:var(--sidebar);border-left:1px solid var(--line);padding:25px 17px 18px;display:flex;flex-direction:column;min-height:100vh}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:2px 7px 32px}
.brand-mark{width:39px;height:39px;border:1px solid rgba(33,200,173,.5);background:var(--teal-dim);color:var(--teal);display:grid;place-items:center;border-radius:11px;font-size:22px;font-weight:bold}
.brand strong{display:block;font-size:22px;letter-spacing:2px;color:#f4f8ff}
.brand small{display:block;color:#71839b;font-size:8px;letter-spacing:1.3px;margin-top:4px}
.workspace-label,.eyebrow{font-size:10px;color:#778ba5;letter-spacing:.4px}
.workspace-label{padding:0 10px 12px}
.side-nav{display:grid;gap:6px}
.nav-item{width:100%;border:0;background:transparent;color:#9aabc0;text-align:right;border-radius:8px;padding:12px 13px;display:flex;align-items:center;gap:12px;transition:.18s}
.nav-item>span{width:19px;text-align:center;font-size:17px;color:#8296b0}
.nav-item:hover,.nav-item.active{background:var(--teal-dim);color:#e8fffb}
.nav-item.active{box-shadow:inset -2px 0 var(--teal)}
.nav-item.active>span{color:var(--teal)}
.sidebar-bottom{margin-top:auto}
.connection{display:flex;align-items:center;gap:9px;padding:12px 10px 18px;color:#8394a9;font-size:10px}
.connection i,.market-status i{width:7px;height:7px;border-radius:50%;background:var(--amber);display:inline-block}
.profile{border-top:1px solid var(--line);padding:17px 4px 0;margin-top:12px;display:flex;align-items:center;gap:10px}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#243d55;color:var(--teal);font-weight:bold}
.profile b,.profile small{display:block}.profile b{font-size:11px}.profile small{font-size:9px;color:var(--muted);margin-top:4px}.more{margin-right:auto;color:var(--muted);letter-spacing:2px}
.main-content{min-width:0;padding:27px clamp(16px,3vw,42px) 18px;max-width:1800px;width:100%;margin:auto}
.topbar,.top-actions,.welcome-row,.panel-heading,.metric-top,.chart-toolbar,.chart-legend{display:flex;align-items:center;justify-content:space-between;gap:14px}
.topbar{padding-bottom:23px;border-bottom:1px solid rgba(38,55,78,.7)}
.heading h1{font-size:19px;margin:7px 0 0}.top-actions{gap:10px}.market-status{font-size:10px;color:#a3b2c5;display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:30px}.icon-button,.user-button,.outline-button{background:#142238;border:1px solid var(--line);border-radius:8px;padding:9px 12px}.icon-button{font-size:16px}.user-button{font-size:11px}.user-button span{color:var(--muted);margin-right:8px}
.welcome-row{padding:25px 0 19px}.welcome-row h2{font-size:16px;margin:0 0 8px}.welcome-row p{color:var(--muted);font-size:11px;margin:0}.date-chip{border:1px solid var(--line);border-radius:7px;padding:9px 12px;color:#9aabc0;font-size:10px}.date-chip span{color:var(--amber);margin-right:5px}
.market-switcher{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 17px}.market-tab{background:transparent;border:1px solid transparent;color:#91a2b8;border-radius:7px;padding:9px 15px;font-size:11px}.market-tab:hover,.market-tab.active{background:#172b40;border-color:#2b465d;color:#e9f6f5}.market-tab.active{color:var(--teal)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}.metric-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:11px}.metric-card{padding:16px 17px;min-height:119px}.metric-top{color:#a6b5c8;font-size:10px}.metric-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-size:16px}.teal{color:var(--teal);background:var(--teal-dim)}.violet{color:var(--violet);background:rgba(167,139,250,.12)}.amber{color:var(--amber);background:rgba(243,185,95,.12)}.blue{color:var(--blue);background:rgba(109,168,255,.12)}.metric-value{font-size:23px;font-weight:bold;margin:10px 0 5px;color:#e9f0f9}.metric-value.compact{font-size:17px;padding-top:5px}.metric-foot{font-size:9px;color:#71839a}
.content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:14px}.panel{padding:17px;min-width:0}.panel-heading{margin-bottom:16px}.panel-heading h3{font-size:13px;margin:6px 0 0}.outline-button{font-size:10px;color:#a8b8ca;padding:8px 10px}.outline-button span{margin-right:8px;color:var(--muted)}
.chart-toolbar{padding-bottom:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.symbol-pills,.timeframes{display:flex;gap:5px;flex-wrap:wrap}.symbol-pill,.timeframes button{background:transparent;border:1px solid transparent;border-radius:5px;padding:7px 9px;font-size:9px;color:#8fa2b9}.symbol-pill.active,.timeframes button.selected{background:#193348;border-color:#28546a;color:var(--teal)}
.chart-placeholder{height:274px;position:relative;overflow:hidden;display:grid;place-items:center;background-image:linear-gradient(rgba(42,62,86,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(42,62,86,.22) 1px,transparent 1px);background-size:100% 48px,65px 100%;border-bottom:1px solid var(--line)}
.chart-watermark{position:absolute;font-size:76px;font-weight:bold;color:rgba(105,135,165,.045);letter-spacing:8px}
.chart-message{position:relative;display:flex;align-items:center;flex-direction:column;gap:9px;text-align:center}.chart-symbol{font-size:27px;color:var(--teal)}.chart-message b{font-size:12px;color:#c6d3e2}.chart-message small{font-size:9px;color:#71849b;max-width:280px;line-height:1.8}.chart-axis{position:absolute;bottom:8px;right:10px;left:10px;display:flex;justify-content:space-between;color:#61748e;font-size:9px}.chart-legend{justify-content:flex-start;padding-top:12px;color:#71849b;font-size:9px}.chart-legend span:last-child{margin-right:auto}.legend-dot{display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:50%;margin-left:5px}
.watch-list{display:grid}.watch-row{display:flex;align-items:center;gap:10px;width:100%;padding:13px 2px;background:transparent;border:0;border-bottom:1px solid rgba(38,55,78,.7);text-align:right}.asset-icon{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;font-weight:bold;font-size:14px}.gold{background:rgba(243,185,95,.13);color:var(--amber)}.euro{background:rgba(109,168,255,.13);color:var(--blue)}.bitcoin{background:rgba(243,145,75,.13);color:#f39a56}.oil{background:rgba(166,177,195,.12);color:#b6c4d7}.asset-name{display:grid;gap:5px}.asset-name b{font-size:10px}.asset-name small{font-size:9px;color:#71849b;direction:ltr;text-align:right}.asset-state{margin-right:auto;font-size:9px;color:#8293a9}.arrow{color:#6e829a;font-size:19px}.watch-row:hover .asset-name b{color:var(--teal)}
.small-action{border:0;background:transparent;color:var(--teal);font-size:9px}.add-watch{width:100%;margin-top:14px;background:transparent;border:1px dashed #35516a;color:#91a8bd;border-radius:7px;padding:10px;font-size:10px}
.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:14px}.insight-panel p{font-size:10px;line-height:2.1;color:#9aabc0;margin:0 0 16px}.ai-tag{font-size:8px;letter-spacing:1px;color:var(--teal);border:1px solid rgba(33,200,173,.3);background:var(--teal-dim);border-radius:5px;padding:6px 8px}.primary-button{border:0;background:var(--teal);color:#06221f;border-radius:7px;padding:10px 14px;font-size:10px;font-weight:bold}.primary-button span{margin-right:9px}.empty-activity{min-height:93px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#8496ad}.empty-activity>span{font-size:21px;color:#526a83}.empty-activity b{font-size:10px;font-weight:normal;color:#b3c0d1}.empty-activity small{font-size:9px;color:#71839a}
footer{display:flex;justify-content:space-between;color:#60738c;font-size:9px;padding:22px 2px 4px}footer span{color:#52657e}
.toast{position:fixed;bottom:22px;left:22px;background:#193348;border:1px solid #2b6570;color:#dffbf5;padding:11px 15px;border-radius:8px;font-size:11px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.dashboard{grid-template-columns:205px minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.watch-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}}
@media(max-width:700px){.dashboard{grid-template-columns:1fr}.sidebar{min-height:auto;padding:13px 14px;border-left:0;border-bottom:1px solid var(--line)}.brand{padding:0 3px 13px}.brand-mark{width:33px;height:33px}.brand strong{font-size:18px}.workspace-label,.sidebar-bottom,.profile{display:none}.side-nav{display:flex;overflow-x:auto;gap:5px;padding-bottom:2px}.nav-item{white-space:nowrap;width:auto;padding:9px 11px;font-size:10px}.nav-item>span{font-size:14px;width:auto}.main-content{padding:17px 13px}.topbar{align-items:flex-start}.heading h1{font-size:16px}.market-status{display:none}.welcome-row{align-items:flex-start;flex-direction:column}.date-chip{align-self:flex-start}.metric-card{padding:13px;min-height:110px}.metric-top{font-size:9px}.metric-value{font-size:20px}.bottom-grid{grid-template-columns:1fr}.watch-list{grid-template-columns:1fr}.chart-placeholder{height:230px}.chart-toolbar{align-items:flex-start;flex-direction:column}.user-button{font-size:0}.user-button span{font-size:13px;margin:0}}
@media(max-width:390px){.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:10px}.metric-value.compact{font-size:14px}.market-tab{padding:8px 10px}}

/* Interactive demo chart */
.chart-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 8px;flex-wrap:wrap}
.indicator-tools{display:flex;gap:6px;flex-wrap:wrap}
.indicator-toggle{border:1px solid var(--line);background:#101c2d;color:#879ab2;border-radius:5px;padding:6px 9px;font-size:9px}
.indicator-toggle.active{border-color:#2c6b68;background:rgba(33,200,173,.1);color:var(--teal)}
.sample-label{font-size:9px;color:var(--amber)}
#chartCanvas{height:330px;display:block;position:relative;overflow:hidden;background:#0d1828;border:1px solid rgba(38,55,78,.65);border-radius:7px}
#chartCanvas svg{display:block;width:100%;height:100%}
.chart-legend{gap:13px;flex-wrap:wrap}
.legend-line{display:inline-block;width:15px;height:2px;vertical-align:middle;margin-left:5px}
.sma-key{background:#f0b85b}.ema-key{background:#a78bfa}
.legend-note{margin-right:auto;color:#657990}
@media(max-width:700px){#chartCanvas{height:270px}.chart-legend{gap:8px}.legend-note{width:100%;margin-right:0}}

.chart-empty{min-height:280px;display:grid;place-items:center;text-align:center;padding:24px;color:#8fa2ba;font-size:12px;line-height:2}

/* Persistent interactive watchlist */
.watch-row{gap:6px;padding:8px 0}
.watch-select{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:transparent;border:0;padding:5px 2px;text-align:right}
.watch-select .asset-name{min-width:64px}
.watch-select .asset-state{white-space:nowrap}
.watch-remove{flex:0 0 28px;width:28px;height:28px;border:1px solid rgba(237,102,114,.28);border-radius:6px;background:rgba(237,102,114,.07);color:#ed8290;font-size:18px;line-height:1}
.watch-remove:hover{background:rgba(237,102,114,.16)}
.watch-empty{padding:22px 8px;text-align:center;color:var(--muted);font-size:10px}

.watch-picker-overlay{position:fixed;inset:0;z-index:10000;background:rgba(1,8,22,.78);display:flex;align-items:center;justify-content:center;padding:18px}
.watch-picker-dialog{width:min(100%,360px);background:#0d1c34;border:1px solid #29405e;border-radius:14px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.45);display:grid;gap:16px}
.watch-picker-dialog h3{margin:0;color:#eef5ff;font-size:16px}
.watch-picker-dialog select{width:100%;min-height:44px;background:#07152b;color:#eef5ff;border:1px solid #38506e;border-radius:8px;padding:8px;font:inherit}
.watch-picker-actions{display:flex;gap:10px;justify-content:flex-start}
.watch-picker-actions button{min-height:40px;padding:0 16px}


/* Dedicated watchlist page */
.watchlist-page{margin-top:18px}
.watchlist-page[hidden]{display:none}
.watchlist-full-panel{width:100%;min-height:260px}
.watchlist-full-panel .panel-heading{align-items:center}
.watchlist-full-panel .watch-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.watchlist-full-panel .watch-row{padding:14px 4px}
.watchlist-hint{margin:18px 2px 0;color:var(--muted);font-size:10px;line-height:1.9}
[hidden]{display:none!important}
@media(max-width:700px){.watchlist-full-panel .watch-list{grid-template-columns:1fr}}

/* Data-driven technical analysis panel */
.technical-panel{display:flex;flex-direction:column;gap:12px}
.signal-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.signal-badge{display:inline-flex;align-items:center;border-radius:7px;padding:8px 15px;font-size:13px;font-weight:bold;border:1px solid var(--line)}
.signal-badge.buy{background:rgba(32,201,151,.13);border-color:rgba(32,201,151,.45);color:#46d9ae}
.signal-badge.sell{background:rgba(237,102,114,.13);border-color:rgba(237,102,114,.45);color:#f18b96}
.signal-badge.neutral{background:rgba(243,185,95,.1);border-color:rgba(243,185,95,.35);color:var(--amber)}
.signal-confidence{font-size:10px;color:#9aabc0}
.analysis-summary{margin:0!important;color:#c0cede!important;font-size:11px!important;line-height:2!important}
.analysis-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.analysis-metrics>div{background:#0d192a;border:1px solid rgba(38,55,78,.8);border-radius:7px;padding:10px;display:grid;gap:6px;min-width:0}
.analysis-metrics small{font-size:9px;color:var(--muted)}
.analysis-metrics b{font-size:12px;color:#e7eef8;overflow-wrap:anywhere}
.analysis-reasons{margin:0;padding:0 18px 0 0;color:#9aabc0;font-size:10px;line-height:2.1}
.analysis-disclaimer{border-right:2px solid var(--amber);padding:5px 9px;color:#8293a9;font-size:9px;line-height:1.8}
