/* SECTION_CSS_TAB2 */
/* Asset selector */
#t2-asset-bar {
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
  padding:0 0 10px; border-bottom:1px solid var(--border); margin-bottom:12px;
}
.asset-btn {
  display:flex; align-items:center; gap:5px; padding:5px 12px;
  border-radius:var(--radius); border:1px solid var(--border2);
  background:transparent; color:var(--muted); font-size:11px; font-weight:600;
  transition:all .15s; white-space:nowrap; cursor:pointer;
}
.asset-btn::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--dot,#8B949E); }
.asset-btn.active  { border-color:var(--green2); color:var(--text); background:rgba(0,212,170,.07); }
.tv-check { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--muted); cursor:pointer; user-select:none; }
.tv-check input { accent-color:var(--green); }
#btn-t2-fullscreen {
  margin-left:auto; padding:4px 10px; border-radius:var(--radius);
  border:1px solid var(--border2); background:transparent; color:var(--muted2);
  font-size:11px; cursor:pointer; transition:all .15s;
}
#btn-t2-fullscreen:hover { color:var(--text); border-color:var(--green2); }

/* ── T2 Widgets dérivés purs ── */
#t2-cvd-canvas { width:100% !important; height:80px !important; display:block; }
#t2-squeeze-oracle-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; align-items:start; }
#t2-oracle-body p { font-size:13px; color:var(--text); line-height:1.75; margin:0; font-family:var(--sans); }
@media(max-width:860px) { #t2-squeeze-oracle-row { grid-template-columns:1fr; } }

/* Layout principal */
#t2-main { display:flex; gap:14px; margin-bottom:14px; align-items:start; }
#t2-chart-col { flex:1; min-width:0; display:flex; flex-direction:column; gap:12px; }
#t2-sidebar { width:210px; flex-shrink:0; display:flex; flex-direction:column; gap:12px; }
@media(max-width:1100px) { #t2-sidebar { width:175px; } }
@media(max-width:900px)  { #t2-main { flex-direction:column; } #t2-sidebar { width:100%; } }

/* Graphique + plein écran */
#t2-chart-wrap { position:relative; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); }
#tv-container  { height:380px; }
#t2-chart-wrap.fullscreen { position:fixed; inset:0; z-index:9999; border-radius:0; background:var(--bg); }
#t2-chart-wrap.fullscreen #tv-container { height:100vh; }
#fib-overlay { position:absolute; top:0; left:0; right:0; bottom:0; pointer-events:none; z-index:5; }
.fib-line { position:absolute; left:0; right:0; height:1px; display:flex; align-items:center; gap:6px; padding:0 8px; }
.fib-line::before { content:''; flex:1; height:1px; background:currentColor; opacity:.5; }
.fib-label { font-family:var(--mono); font-size:9px; font-weight:700; opacity:.9; white-space:nowrap; }
@media(max-width:768px){ #tv-container{height:260px!important} }

/* 4 blocs dérivés */
#t2-deriv-row { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
@media(max-width:900px) { #t2-deriv-row { grid-template-columns:repeat(2,1fr); } }
.deriv-block {
  background:var(--bg3); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:11px 14px; display:flex; flex-direction:column; gap:5px;
}
.deriv-block-label { font-family:var(--sans); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--muted2); }
.deriv-block-val   { font-family:var(--mono); font-size:1.4rem; font-weight:800; letter-spacing:-.02em; color:var(--text); line-height:1; }
#ls-bar-track { height:8px; border-radius:4px; overflow:hidden; display:flex; margin-top:2px; }
#ls-long-bar  { background:rgba(0,212,170,.3); transition:width .5s; display:flex; align-items:center; justify-content:center; }
#ls-short-bar { background:rgba(255,77,106,.3); transition:width .5s; display:flex; align-items:center; justify-content:center; }
#ls-long-pct  { font-family:var(--mono); font-size:9px; font-weight:700; color:var(--green); }
#ls-short-pct { font-family:var(--mono); font-size:9px; font-weight:700; color:var(--red); }

/* ── Ligne 3 : Macro + Alertes ── */
#t2-bottom-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-bottom:12px; }
@media(max-width:900px) { #t2-bottom-row { grid-template-columns:1fr; } }
.t2-panel {
  background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius-lg);
  overflow:hidden;
}
.t2-panel-hd {
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 14px; background:var(--bg3); border-bottom:1px solid var(--border);
}
.t2-panel-body { padding:12px 14px; }

/* Sidebar : Fear & Greed */
#fg-mini-wrap { position:relative; width:120px; height:66px; margin:0 auto; }
#fg-mini-wrap canvas { display:block; }
#fg-mini-center { position:absolute; bottom:0; left:50%; transform:translateX(-50%); text-align:center; pointer-events:none; }
#fg-mini-val { font-family:var(--mono); font-size:18px; font-weight:800; color:var(--text); }
#fg-mini-lbl { font-size:9px; color:var(--muted); margin-top:2px; }

/* Macro rows */
.macro-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid rgba(255,255,255,.03); }
.macro-row:last-child { border-bottom:none; }
.macro-key { font-family:var(--sans); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--muted2); }
.macro-val { font-family:var(--mono); font-size:12px; font-weight:700; color:var(--text); }

/* Alertes */
#t2-alerts-list { display:flex; flex-direction:column; gap:6px; max-height:160px; overflow-y:auto; }
.t2-alert-row {
  display:grid; grid-template-columns:1fr auto auto;
  gap:8px; align-items:center; padding:7px 10px;
  background:var(--bg3); border-radius:var(--radius); border:1px solid var(--border);
  font-size:12px;
}
.t2-alert-coin  { font-weight:700; color:var(--text); font-family:var(--mono); }
.t2-alert-price { font-family:var(--mono); color:var(--muted); }
.t2-alert-del   { cursor:pointer; color:var(--muted2); font-size:14px; padding:0 4px; }
.t2-alert-del:hover { color:var(--red); }
.t2-alert-triggered { border-color:rgba(240,165,0,.4); background:rgba(240,165,0,.06); }
#t2-alert-form  { display:flex; gap:6px; margin-bottom:8px; }
.t2-alert-input {
  flex:1; background:var(--bg3); border:1px solid var(--border2);
  border-radius:var(--radius); color:var(--text); font-size:11px;
  padding:5px 8px; font-family:var(--mono); outline:none;
}
.t2-alert-input:focus { border-color:var(--green2); }
#btn-t2-add-alert {
  padding:5px 10px; border-radius:var(--radius); border:1px solid rgba(0,212,170,.35);
  color:var(--green); background:rgba(0,212,170,.07); font-size:10px; font-weight:700;
  cursor:pointer; white-space:nowrap; transition:all .15s;
}
#btn-t2-add-alert:hover { background:rgba(0,212,170,.15); }

/* Corrélation */
#t2-corr-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.t2-corr-cell {
  display:flex; flex-direction:column; gap:2px; padding:8px;
  background:var(--bg3); border-radius:var(--radius); text-align:center;
}
.t2-corr-pair { font-size:9px; font-weight:700; color:var(--muted2); text-transform:uppercase; }
.t2-corr-val  { font-family:var(--mono); font-size:14px; font-weight:800; }

/* Dominance bar */
#t2-dom-bar-wrap { height:14px; border-radius:7px; overflow:hidden; display:flex; margin:8px 0 4px; }
.t2-dom-seg { height:100%; transition:width .5s; }
#t2-dom-legend { display:flex; gap:10px; flex-wrap:wrap; }
.t2-dom-item { display:flex; align-items:center; gap:4px; font-size:10px; color:var(--muted); }
.t2-dom-dot  { width:7px; height:7px; border-radius:50%; flex-shrink:0; }

/* News ticker */
#news-ticker-wrap { overflow:hidden; background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius-lg); padding:8px 0; }
#news-ticker-track { display:flex; gap:40px; width:max-content; animation:tickerScroll 40s linear infinite; }
#news-ticker-wrap:hover #news-ticker-track { animation-play-state:paused; }
.ticker-item { display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:11px; color:var(--muted); }
.ticker-dot   { width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.ticker-title { color:var(--text); font-weight:500; }
@keyframes tickerScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.liq-bar-wrap{background:var(--bg3);border-radius:3px;height:6px;overflow:hidden}
.liq-bar{height:100%;border-radius:3px;transition:width 0.4s}
.section-badge{font-size:11px;font-weight:600}

/* SECTION_CSS_TAB3 */
.btn-sm {
  padding: 4px 10px; border-radius: var(--radius);
  border: 1px solid var(--border2); background: transparent;
  color: var(--muted); font-size: 10px; font-weight: 600;
  font-family: var(--sans); cursor: pointer; transition: all 0.15s;
}
.btn-sm:hover { border-color: rgba(255,255,255,0.15); color: var(--text); }
.btn-expand {
  padding: 8px 20px; border-radius: var(--radius);
  border: 1px solid var(--border2); background: var(--bg3);
  color: var(--muted); font-size: 11px; font-weight: 600;
  font-family: var(--sans); cursor: pointer; transition: all 0.2s;
  width: 100%;
}
.btn-expand:hover { border-color: var(--green2); color: var(--green); background: rgba(0,212,170,0.05); }

/* Filtre temporel Tab3 */
.t3-hist-btn {
  padding: 3px 10px; border-radius: var(--radius); border: 1px solid var(--border2);
  background: transparent; color: var(--muted); font-size: 10px; font-weight: 600;
  cursor: pointer; transition: all .15s; font-family: var(--sans);
}
.t3-hist-btn.active { border-color: var(--green); color: var(--green); background: rgba(38,166,154,.08); }
#t3-period-bar {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.t3-period-btn {
  padding: 4px 12px; border-radius: var(--radius);
  border: 1px solid var(--border2); background: transparent;
  color: var(--muted); font-size: 11px; font-weight: 600;
  font-family: var(--mono); cursor: pointer; transition: all .15s;
}
.t3-period-btn.active {
  border-color: var(--green2); color: var(--green);
  background: rgba(0,212,170,.08);
}

/* ── Equity Live — boutons période ── */
.t3-eq-period-btn {
  padding: 3px 9px; border-radius: var(--radius);
  border: 1px solid var(--border2); background: transparent;
  color: var(--muted); font-size: 10px; font-weight: 600;
  font-family: var(--mono); cursor: pointer; transition: all .15s;
}
.t3-eq-period-btn:hover { border-color: var(--cyan); color: var(--cyan); }
.t3-eq-period-btn.active {
  border-color: var(--cyan); color: var(--cyan);
  background: rgba(0,229,255,.07);
}

/* KPI 4 cartes majeures */
#t3-kpi-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 12px; margin-bottom: 14px;
}
@media(max-width:900px) { #t3-kpi-grid { grid-template-columns: repeat(2, 1fr); } }
.t3-kpi-card {
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 16px 18px;
  box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 4px;
}
.t3-kpi-label {
  font-family: var(--sans); font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .09em; color: var(--muted2);
}
.t3-kpi-val {
  font-family: var(--mono); font-size: 1.6rem; font-weight: 900;
  letter-spacing: -.03em; color: var(--text); line-height: 1;
}
.t3-kpi-sub {
  font-family: var(--sans); font-size: 10px; color: var(--muted2); margin-top: 2px;
}
/* Accent bar gauche pour les KPI cartes */
.t3-kpi-card.accent-green { border-left: 3px solid var(--green); }
.t3-kpi-card.accent-red   { border-left: 3px solid var(--red); }
.t3-kpi-card.accent-blue  { border-left: 3px solid var(--blue); }
.t3-kpi-card.accent-orange{ border-left: 3px solid var(--orange); }

/* Layout L2 : graphique + donut PnL */
#t3-chart-row {
  display: grid; grid-template-columns: 1fr 260px;
  gap: 14px; margin-bottom: 14px; align-items: start;
}
@media(max-width:900px) { #t3-chart-row { grid-template-columns: 1fr; } }

/* Layout L3 : Time-of-Day + Insights */
#t3-analysis-row {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px; margin-bottom: 14px; align-items: start;
}
@media(max-width:768px) { #t3-analysis-row { grid-template-columns: 1fr; } }

/* Insights block */
.insight-row {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.03);
}
.insight-row:last-child { border-bottom: none; }
.insight-icon { font-size: 18px; flex-shrink: 0; line-height: 1; }
.insight-label { font-size: 9px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--muted2); font-family: var(--sans); }
.insight-val { font-family: var(--mono); font-size: 13px; font-weight: 700; color: var(--text); margin-top: 2px; }

/* Donut PnL par actif */
#t3-pnl-donut-wrap {
  position: relative; width: 180px; height: 180px; margin: 4px auto;
}
#t3-pnl-center {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  text-align: center; pointer-events: none;
}
#t3-pnl-total { font-family: var(--mono); font-size: 13px; font-weight: 800; line-height: 1; }
#t3-pnl-total-lbl { font-size: 8px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted2); font-family: var(--sans); margin-top: 2px; }
.t3-pnl-legend-row { display: flex; align-items: center; gap: 8px; padding: 3px 0; }
.t3-pnl-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.t3-pnl-coin { font-family: var(--sans); font-size: 11px; font-weight: 600; color: var(--text); flex: 1; }
.t3-pnl-amount { font-family: var(--mono); font-size: 11px; font-weight: 700; }

@media(max-width:768px){
  #tab3>div[style*="repeat(6,1fr)"]{grid-template-columns:repeat(2,1fr)!important;gap:8px}
  #tab3>div[style*="grid-template-columns:1fr 2fr"]{grid-template-columns:1fr!important}
}

/* SECTION_CSS_TAB4 */
/* Scrollbar fine */
#tab4 ::-webkit-scrollbar{width:4px;height:4px}
#tab4 ::-webkit-scrollbar-track{background:transparent}
#tab4 ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}

/* API bar / Header */
#t4-api-bar{display:flex;align-items:center;gap:8px;padding:8px 0 10px;
  border-bottom:1px solid var(--border);margin-bottom:10px;
  position:sticky;top:52px;z-index:98;background:var(--bg);flex-wrap:wrap}
#t4-desk-title{font-family:var(--sans);font-size:15px;font-weight:800;
  color:var(--text);letter-spacing:-.01em;flex-shrink:0}
/* Legacy input — caché, compat JS */
#t4-yt-key-input{display:none}
.t4-api-btn{padding:5px 14px;border-radius:var(--radius);border:1px solid rgba(0,212,170,.4);
  color:var(--green);background:rgba(0,212,170,.08);font-size:11px;font-weight:700;
  cursor:pointer;font-family:var(--sans);transition:all .15s;white-space:nowrap}
.t4-api-btn:hover{background:rgba(0,212,170,.18)}
.t4-api-btn:disabled{opacity:.4;cursor:not-allowed}
#t4-scan-status{font-size:11px;color:var(--muted2);font-family:var(--mono);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Filtres */
#t4-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:6px 0 8px;border-bottom:1px solid var(--border);margin-bottom:10px}
.news-fb{padding:4px 12px;border-radius:var(--radius);border:1px solid var(--border2);
  background:transparent;color:var(--muted);font-size:11px;font-weight:600;
  cursor:pointer;transition:all .15s;white-space:nowrap}
.news-fb.active{border-color:var(--green2);color:var(--green);background:rgba(0,212,170,.07)}

/* ═══ LAYOUT PRINCIPAL : Bloomberg Macro 50% | News Timeline 50% ═══ */
#t4-main{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}
@media(max-width:1100px){#t4-main{grid-template-columns:1fr}}
.t4-section-title{font-family:var(--sans);font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.t4-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.t4-card-hd{display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;border-bottom:1px solid var(--border);background:var(--bg3)}

/* ═══ COLONNE GAUCHE ═══ */
#t4-left-col{display:flex;flex-direction:column;gap:12px}

/* YouTubeurs — 1 ligne par chaîne */
#t4-channels-grid{display:flex;flex-direction:column}
#t4-channels-section-hd{display:flex;align-items:center;justify-content:space-between;
  padding:7px 14px;border-bottom:1px solid var(--border);background:var(--bg3);
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2)}
.t4-ch-row{display:grid;grid-template-columns:3px 26px 1fr auto;
  gap:0 8px;padding:7px 12px 7px 0;border-bottom:1px solid rgba(255,255,255,.03);
  align-items:center;transition:background .1s}
.t4-ch-row:last-child{border-bottom:none}
.t4-ch-row:hover{background:rgba(255,255,255,.025)}
.t4-ch-sentinel{align-self:stretch;border-radius:0 2px 2px 0;min-height:32px}
.t4-ch-sentinel.long{background:#00D4AA}.t4-ch-sentinel.short{background:#FF4D6A}
.t4-ch-sentinel.neut{background:rgba(255,255,255,.1)}
.t4-ch-score-circle{width:26px;height:26px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:9px;font-weight:800;border:1.5px solid}
.t4-ch-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.t4-ch-name{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--text)}
.t4-ch-video{font-size:10px;color:var(--muted2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t4-ch-thesis{font-size:8px;font-weight:800;padding:2px 6px;border-radius:3px;
  font-family:var(--mono);flex-shrink:0;white-space:nowrap}
.t4-ch-thesis.long{background:rgba(0,212,170,.12);color:#00D4AA}
.t4-ch-thesis.short{background:rgba(255,77,106,.12);color:#FF4D6A}
.t4-ch-thesis.neut{background:rgba(255,255,255,.07);color:var(--muted2)}

/* X/Twitter */
#t4-x-header-wrap{padding:9px 14px;border-bottom:1px solid var(--border);background:var(--bg3)}
#t4-x-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
#t4-x-sentiment{display:flex;align-items:center;gap:7px;
  padding:6px 10px;background:var(--bg4);border-radius:var(--radius)}
#sr-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted2)}
#sr-label{font-size:11px;font-weight:700;flex:1;color:var(--muted2);font-family:var(--sans)}
#sr-bar-wrap{width:60px;height:4px;background:var(--bg2);border-radius:2px;overflow:hidden;flex-shrink:0}
#sr-bar{height:100%;border-radius:2px;background:var(--muted2);width:50%;transition:width .4s,background .4s}
#t4-x-list{overflow-y:auto;max-height:400px}
.x-tweet{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.035);
  display:flex;flex-direction:column;gap:5px;border-left:3px solid transparent;transition:background .1s}
.x-tweet:hover{background:rgba(255,255,255,.025)}
.x-tweet:last-child{border-bottom:none}
.x-tweet.bull{border-left-color:rgba(0,212,170,.6)}
.x-tweet.bear{border-left-color:rgba(255,77,106,.6)}
.x-tweet.neut{border-left-color:rgba(255,255,255,.1)}
.x-tweet-header{display:flex;align-items:center;gap:8px}
.x-handle{font-size:12px;font-weight:700;color:var(--text);flex:1;font-family:var(--sans)}
.x-time{font-size:10px;color:var(--muted2);font-family:var(--mono);flex-shrink:0}
.x-text{font-size:12px;color:var(--muted);line-height:1.55}
.x-sent{font-size:9px;font-weight:800;padding:2px 7px;border-radius:3px;
  font-family:var(--mono);flex-shrink:0}
.x-sent.bull{background:rgba(0,212,170,.12);color:#00D4AA}
.x-sent.bear{background:rgba(255,77,106,.12);color:#FF4D6A}
.x-sent.neut{background:rgba(255,255,255,.07);color:var(--muted2)}
#t4-x-24h-tag{font-size:9px;font-weight:700;padding:2px 7px;border-radius:3px;
  background:rgba(77,159,255,.1);color:var(--blue);border:1px solid rgba(77,159,255,.2)}

/* ═══ COLONNE DROITE ═══ */
#t4-right-col{display:flex;flex-direction:column;gap:12px;min-width:0}

/* Signal pill — intégré dans le header Watcher */
#t4-signal-pill{font-family:var(--mono);font-size:10px;font-weight:900;
  padding:2px 7px;border-radius:4px;letter-spacing:.05em;flex-shrink:0}
#t4-signal-pill.long{background:rgba(0,212,170,.15);color:#00D4AA}
#t4-signal-pill.short{background:rgba(255,77,106,.15);color:#FF4D6A}
#t4-signal-pill.neut{background:rgba(255,255,255,.07);color:var(--muted)}
#t4-signal-desc{font-size:10px;color:var(--muted2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ════ ANALYSE HEDGE FUND — bloc unique ════ */
#t4-analysis-card{background:var(--bg2);border:1px solid rgba(240,165,0,.25);
  border-radius:var(--radius-lg);overflow:visible}
#t4-analysis-hd{display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;background:rgba(240,165,0,.06);border-bottom:1px solid rgba(240,165,0,.15);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0}
#t4-analysis-body{
  padding:18px 20px;
  font-size:13px;color:var(--text);line-height:1.85;
  font-family:var(--sans);
}
#t4-analysis-body h3{
  font-size:12px;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--orange);margin:18px 0 8px;
}
#t4-analysis-body h3:first-child{margin-top:0}
#t4-analysis-body b{color:var(--text);font-weight:700}
#t4-analysis-body ul{margin:6px 0 10px 0;padding-left:16px;display:flex;flex-direction:column;gap:4px}
#t4-analysis-body li{color:var(--muted);line-height:1.6}
#t4-analysis-body p{margin:0 0 10px;color:var(--muted)}
#t4-analysis-body br{display:block;margin:4px 0}

/* Confluences / Divergences */
.t4-cf-section{display:flex;flex-direction:column;gap:4px}
.t4-cf-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  color:var(--muted2);font-family:var(--sans);margin-bottom:2px}
.t4-cf-list{display:flex;flex-direction:column;gap:4px}
.t4-cf-item{display:flex;align-items:flex-start;gap:8px;
  font-size:12px;color:var(--muted);line-height:1.5;padding:2px 0}
.t4-cf-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:5px}

/* ════ NEWS — cartes Bloomberg ════ */
#t4-news-col{background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden}
#t4-news-col-hd{display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;background:var(--bg3);border-bottom:1px solid var(--border)}
#t4-news-list{display:flex;flex-direction:column;max-height:560px;overflow-y:auto;border-left:2px solid var(--border);padding-left:15px;margin-left:5px}
.t4-news-card{display:flex;align-items:flex-start;gap:12px;
  padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.04);
  text-decoration:none;transition:background .15s;border-left:3px solid transparent;
  cursor:pointer;}
.t4-news-card:last-child{border-bottom:none}
.t4-news-card:hover{background:rgba(255,255,255,.04);border-left-width:3px}
.t4-news-card.hl-btc{border-left-color:#F0A500;background:rgba(240,165,0,.025)}
.t4-news-card.hl-eth{border-left-color:#4D9FFF;background:rgba(77,159,255,.025)}
.t4-news-card.hl-sol{border-left-color:#A78BFA;background:rgba(167,139,250,.025)}
.t4-news-card.hl-tao{border-left-color:#34D399;background:rgba(52,211,153,.025)}
.t4-news-card.hl-hype{border-left-color:#60A5FA;background:rgba(96,165,250,.025)}
.t4-news-card-time{font-family:var(--mono);font-size:10px;color:var(--muted2);
  white-space:nowrap;flex-shrink:0;margin-top:3px}
.t4-news-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.t4-news-card-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.5;margin-bottom:3px}
.t4-news-card-meta{display:flex;align-items:center;gap:7px}
.t4-src-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:2px 6px;border-radius:3px;border:1px solid;white-space:nowrap;flex-shrink:0}
.t4-tag{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;
  background:rgba(255,255,255,.07);color:var(--muted2);white-space:nowrap}
.t4-tag.btc-tag{color:#F0A500;background:rgba(240,165,0,.12)}
.t4-tag.eth-tag{color:#4D9FFF;background:rgba(77,159,255,.12)}
.t4-tag.sol-tag{color:#A78BFA;background:rgba(167,139,250,.12)}
.t4-tag.tao-tag{color:#34D399;background:rgba(52,211,153,.12)}
.t4-tag.hype-tag{color:#60A5FA;background:rgba(96,165,250,.12)}
.t4-tag.macro-tag{color:#F0A500;background:rgba(240,165,0,.10)}
.news-loading{padding:20px;text-align:center;color:var(--muted2);font-size:12px;font-style:italic}

/* ════ NEWS TIMELINE — Flash CoinAcademy ════ */
.news-tl{
  display:flex;
  flex-direction:column;
}
.news-tl-item{
  position:relative;
  padding:10px 12px 10px 0;
  margin-bottom:15px;
  border-bottom:1px solid rgba(255,255,255,.04);
  display:block;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  transition:background .15s;
}
.news-tl-item:last-child{border-bottom:none}
.news-tl-item:hover{background:rgba(255,255,255,.03)}
/* Point rouge positionné exactement sur la ligne verticale */
.news-tl-item::before{
  content:'';
  position:absolute;
  left:-20px;
  top:5px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--red);
  box-shadow:0 0 0 3px rgba(255,77,106,.18), 0 0 0 1px var(--bg);
  z-index:1;
}
.news-tl-time{
  display:block;
  font-family:var(--mono);
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted2);
  margin-bottom:4px;
}
.news-tl-title{
  display:block;
  font-size:12px;
  font-weight:700;
  color:var(--text);
  line-height:1.45;
  margin-bottom:4px;
}
.news-tl-desc{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:11px;
  color:var(--muted2);
  line-height:1.5;
  margin-bottom:4px;
}
.news-tl-source{
  display:block;
  font-size:10px;
  color:var(--muted2);
  font-style:italic;
}

/* Scénarios */
#t4-scenarios-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
#t4-scenarios-hd{display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;border-bottom:1px solid var(--border);background:var(--bg3)}
#t4-scenarios-table-wrap{overflow-x:auto}
#t4-scenarios-table{width:100%;border-collapse:collapse}
#t4-scenarios-table th{padding:7px 12px;text-align:left;background:var(--bg3);
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  color:var(--muted2);border-bottom:1px solid var(--border);white-space:nowrap}
#t4-scenarios-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.025);
  font-size:12px;color:var(--muted);line-height:1.5;vertical-align:top}
#t4-scenarios-table tr:last-child td{border-bottom:none}
#t4-scenarios-table tr:hover td{background:rgba(255,255,255,.02)}
.t4-scenario-name{font-weight:700;color:var(--text);white-space:nowrap;font-size:13px}
.t4-action-badge{display:inline-block;padding:3px 10px;border-radius:3px;
  font-size:10px;font-weight:800;font-family:var(--mono);white-space:nowrap}
.t4-action-badge.green{background:rgba(0,212,170,.12);color:#00D4AA}
.t4-action-badge.red{background:rgba(255,77,106,.12);color:#FF4D6A}
.t4-action-badge.orange{background:rgba(240,165,0,.12);color:#F0A500}
.t4-action-badge.muted{background:rgba(255,255,255,.07);color:var(--muted2)}

/* Journal */
#t4-journal-card{background:var(--bg2);border:1px solid rgba(77,159,255,.2);
  border-radius:var(--radius-lg);overflow:hidden}
#t4-journal-hd{display:flex;align-items:center;justify-content:space-between;
  padding:9px 12px;border-bottom:1px solid rgba(77,159,255,.12);background:rgba(77,159,255,.04)}
#t4-journal-list{max-height:280px;overflow-y:auto}
.t4-journal-row{display:grid;grid-template-columns:100px 1fr 70px 70px;
  padding:9px 14px;border-bottom:1px solid rgba(255,255,255,.025);
  align-items:start;gap:8px;font-size:11px}
.t4-journal-row:last-child{border-bottom:none}
.t4-j-analyst{font-weight:700;color:var(--text);font-family:var(--sans);font-size:12px}
.t4-j-pred{color:var(--muted);line-height:1.4}
.t4-j-target{font-family:var(--mono);color:var(--text);white-space:nowrap;text-align:right}
.t4-j-statut{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;
  text-align:center;font-family:var(--sans);white-space:nowrap}
.t4-j-statut.valide{background:rgba(0,212,170,.12);color:#00D4AA}
.t4-j-statut.invalide{background:rgba(255,77,106,.12);color:#FF4D6A}
.t4-j-statut.en_cours{background:rgba(240,165,0,.12);color:#F0A500}
#t4-conviction-bar{display:flex}
/* Legacy compat */
#ns-val{display:none}#ns-dot{display:none}.yt-btn-ai{display:none}.yt-row{display:none}.yt-header-row{display:none}
#t4-synthesis-card{display:none}

/* ════ MORNING BRIEF ════ */
#t4-brief-card{background:var(--bg2);border:1px solid rgba(99,102,241,.3);
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 0 0 1px rgba(99,102,241,.08),0 4px 20px rgba(99,102,241,.06)}
#t4-brief-card .t4-card-hd{background:rgba(99,102,241,.07);border-bottom:1px solid rgba(99,102,241,.2)}
#t4-brief-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.brief-bullet{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}
.brief-bullet-label{font-family:var(--mono);font-size:9px;font-weight:800;text-transform:uppercase;
  letter-spacing:.07em;padding:2px 6px;border-radius:3px;flex-shrink:0;margin-top:1px;white-space:nowrap}
.brief-bullet-label.macro{background:rgba(240,165,0,.12);color:#F0A500}
.brief-bullet-label.levels{background:rgba(77,159,255,.12);color:#4D9FFF}
.brief-bullet-label.action{background:rgba(0,212,170,.12);color:#00D4AA}
.brief-bullet-text{color:var(--muted);flex:1}
.brief-bullet-text b{color:var(--text)}
#t4-brief-ts{font-family:var(--mono);font-size:9px;color:var(--muted2)}

/* ════ SENTINEL LED ════ */
#t4-sentinel-led{display:flex;align-items:center;gap:8px;
  padding:7px 12px;background:rgba(0,212,170,.05);
  border:1px solid rgba(0,212,170,.15);border-radius:var(--radius);
  font-size:10px;font-family:var(--sans)}
.led-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:#00D4AA;box-shadow:0 0 6px #00D4AA88;
  animation:led-pulse 2.5s ease-in-out infinite}
.led-dot.off{background:#546E7A;box-shadow:none;animation:none}
@keyframes led-pulse{0%,100%{opacity:1}50%{opacity:.45}}
#t4-led-label{font-weight:700;color:#00D4AA}
#t4-led-label.off{color:var(--muted2)}
#t4-led-sync{font-family:var(--mono);color:var(--muted2);margin-left:auto;font-size:9px}

/* ════ WAR ROOM VIDEO CARDS ════ */
#t4-warroom-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1px;
  background:var(--border);
}
.warroom-card{
  background:var(--bg2);padding:10px 12px;cursor:pointer;
  display:flex;flex-direction:column;gap:5px;
  transition:background .15s;position:relative;
  border-left:3px solid transparent;
}
.warroom-card:hover{background:var(--bg3)}
.warroom-card.bull{border-left-color:rgba(0,212,170,.6)}
.warroom-card.bear{border-left-color:rgba(255,77,106,.6)}
.warroom-card.neut{border-left-color:rgba(255,255,255,.1)}
.warroom-card.urgent{
  border-left-color:#FF4D6A !important;
  box-shadow:inset 3px 0 12px rgba(255,77,106,.18),0 0 0 0 rgba(255,77,106,.3);
  background:rgba(255,77,106,.04) !important;
}
.warroom-card.urgent-bull{
  border-left-color:#00D4AA !important;
  box-shadow:inset 3px 0 12px rgba(0,212,170,.18);
  background:rgba(0,212,170,.04) !important;
}
.warroom-card-header{display:flex;align-items:center;gap:6px}
.warroom-channel{font-family:var(--sans);font-size:11px;font-weight:700;color:var(--text);flex:1;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warroom-score{font-family:var(--mono);font-size:9px;font-weight:800;padding:1px 5px;
  border-radius:3px;flex-shrink:0}
.warroom-score.bull{background:rgba(0,212,170,.12);color:#00D4AA}
.warroom-score.bear{background:rgba(255,77,106,.12);color:#FF4D6A}
.warroom-score.neut{background:rgba(255,255,255,.07);color:var(--muted2)}
.warroom-urgency{font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;
  background:rgba(255,77,106,.18);color:#FF4D6A;flex-shrink:0;letter-spacing:.04em}
.warroom-title{font-size:11px;color:var(--muted);line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.warroom-thesis{font-size:10px;color:var(--muted2);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-style:italic}
.warroom-footer{display:flex;align-items:center;gap:6px;margin-top:2px}
.warroom-date{font-family:var(--mono);font-size:9px;color:var(--muted2)}
.warroom-open-hint{font-size:9px;color:var(--muted2);margin-left:auto;opacity:0;transition:opacity .15s}
.warroom-card:hover .warroom-open-hint{opacity:1}

/* ════ MARKET PULSE MINI-TABS ════ */
#t4-pulse-tabs{display:flex;gap:2px;padding:0 0 8px}
.pulse-tab{background:transparent;border:1px solid var(--border);border-radius:var(--radius);
  color:var(--muted2);font-family:var(--mono);font-size:10px;font-weight:700;
  padding:4px 12px;cursor:pointer;letter-spacing:.05em;transition:all .15s}
.pulse-tab.active{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.35);color:#818CF8}
.pulse-tab:hover:not(.active){border-color:var(--border2);color:var(--muted)}

/* ════ PULSE FEED — monospace terminal ════ */
#t4-pulse-alpha,#t4-pulse-macro{display:flex;flex-direction:column}
.pulse-feed{overflow-y:auto;max-height:calc(100vh - 280px);display:flex;flex-direction:column}
.pulse-row{
  padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.035);
  display:flex;flex-direction:column;gap:3px;
  border-left:2px solid transparent;transition:background .1s;
  cursor:default;
}
.pulse-row:last-child{border-bottom:none}
.pulse-row:hover{background:rgba(255,255,255,.02)}
.pulse-row.bull{border-left-color:rgba(0,212,170,.5)}
.pulse-row.bear{border-left-color:rgba(255,77,106,.5)}
.pulse-row-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pulse-cat-tag{font-family:var(--mono);font-size:8px;font-weight:800;padding:1px 5px;
  border-radius:3px;flex-shrink:0;letter-spacing:.04em}
.pulse-cat-tag.whales{background:rgba(171,124,247,.15);color:#AB7CF7;border:1px solid rgba(171,124,247,.2)}
.pulse-cat-tag.macro{background:rgba(240,165,0,.12);color:#F0A500;border:1px solid rgba(240,165,0,.2)}
.pulse-cat-tag.news{background:rgba(77,159,255,.12);color:#4D9FFF;border:1px solid rgba(77,159,255,.2)}
.pulse-cat-tag.traders{background:rgba(0,212,170,.12);color:#00D4AA;border:1px solid rgba(0,212,170,.2)}
.pulse-author{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--text)}
.pulse-time{font-family:var(--mono);font-size:9px;color:var(--muted2);margin-left:auto}
.pulse-text{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.5}
.pulse-text a{color:var(--blue);text-decoration:none}
.pulse-text a:hover{text-decoration:underline}
.pulse-sent{font-family:var(--mono);font-size:8px;font-weight:700;padding:1px 4px;border-radius:2px}
.pulse-sent.bull{background:rgba(0,212,170,.12);color:#00D4AA}
.pulse-sent.bear{background:rgba(255,77,106,.12);color:#FF4D6A}

/* ════ DRAWER VIDEO ANALYSIS ════ */
.drawer-video-title{font-family:var(--sans);font-size:14px;font-weight:700;
  color:var(--text);margin-bottom:4px;line-height:1.4}
.drawer-video-meta{font-size:10px;color:var(--muted2);margin-bottom:14px;font-family:var(--sans)}
.drawer-analysis-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.drawer-analysis-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.drawer-section-label{font-family:var(--mono);font-size:9px;font-weight:800;
  text-transform:uppercase;letter-spacing:.09em;color:var(--muted2);margin-bottom:7px}
.drawer-claim{font-size:12px;color:var(--muted);line-height:1.6;padding:3px 0 3px 10px;
  border-left:2px solid rgba(255,255,255,.1)}
.drawer-claim.bull{border-left-color:rgba(0,212,170,.5);color:#C8E8E0}
.drawer-claim.bear{border-left-color:rgba(255,77,106,.5);color:#E8C8C8}
.drawer-signal{font-family:var(--mono);font-size:11px;color:var(--muted);
  padding:4px 8px;background:var(--bg3);border-radius:4px;margin-bottom:3px;line-height:1.5}
.drawer-target{display:flex;align-items:center;justify-content:space-between;
  padding:5px 10px;background:var(--bg3);border-radius:5px;margin-bottom:3px;
  font-family:var(--mono);font-size:12px}

/* ════════════════════════════════════════════════
   TAB5 — AUDIT ANALYSTS
   Palette : Bleu nuit, Or (top), Rouge (fail)
   ════════════════════════════════════════════════ */
#tab5 { padding-bottom: 40px; }
#t5-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:10px; }
#t5-title  { font-size:18px; font-weight:800; color:var(--text); font-family:var(--sans); }
#t5-subtitle { font-size:11px; color:var(--muted2); margin-top:2px; }
#btn-t5-backtest {
  padding:7px 16px; border-radius:var(--radius); border:1px solid rgba(0,212,170,.35);
  color:var(--green); background:rgba(0,212,170,.08); font-size:11px; font-weight:700;
  cursor:pointer; font-family:var(--sans); transition:all .15s; white-space:nowrap;
}
#btn-t5-backtest:hover { background:rgba(0,212,170,.18); }
#btn-t5-backtest:disabled { opacity:.4; cursor:not-allowed; }
#btn-t5-audit {
  padding:7px 16px; border-radius:var(--radius); border:1px solid rgba(251,191,36,.4);
  color:#FBBF24; background:rgba(251,191,36,.08); font-size:11px; font-weight:700;
  cursor:pointer; font-family:var(--sans); transition:all .15s; white-space:nowrap;
}
#btn-t5-audit:hover { background:rgba(251,191,36,.18); }
#btn-t5-audit:disabled { opacity:.4; cursor:not-allowed; }
#t5-status { font-size:11px; color:var(--muted2); font-family:var(--mono); }

/* Filtres */
#t5-filters { display:flex; align-items:center; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.t5-filter-btn {
  padding:4px 12px; border-radius:var(--radius); border:1px solid var(--border2);
  background:transparent; color:var(--muted); font-size:11px; font-weight:600;
  cursor:pointer; transition:all .15s;
}
.t5-filter-btn.active { border-color:#FBBF24; color:#FBBF24; background:rgba(251,191,36,.07); }

/* ── Leaderboard cartes ── */
#t5-leaderboard {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:10px; margin-bottom:20px;
}
.t5-analyst-card {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:14px 16px;
  display:flex; flex-direction:column; gap:8px;
  transition:border-color .15s, transform .15s; cursor:default;
  position:relative; overflow:hidden;
}
.t5-analyst-card:hover { border-color:var(--border2); transform:translateY(-1px); }
.t5-analyst-card.rank-1 { border-color:rgba(251,191,36,.5); background:rgba(251,191,36,.04); }
.t5-analyst-card.rank-2 { border-color:rgba(192,192,192,.4); }
.t5-analyst-card.rank-3 { border-color:rgba(180,83,9,.4); }
.t5-rank-badge {
  position:absolute; top:10px; right:10px;
  font-size:10px; font-weight:800; font-family:var(--mono);
  padding:1px 6px; border-radius:3px;
}
.t5-rank-badge.gold   { background:rgba(251,191,36,.2); color:#FBBF24; }
.t5-rank-badge.silver { background:rgba(192,192,192,.15); color:#C0C0C0; }
.t5-rank-badge.bronze { background:rgba(180,83,9,.2); color:#B45309; }
.t5-rank-badge.normal { background:rgba(255,255,255,.07); color:var(--muted2); }
.t5-analyst-name { font-size:14px; font-weight:700; color:var(--text); font-family:var(--sans); }
.t5-analyst-sentiment {
  font-size:10px; font-weight:800; padding:2px 8px; border-radius:3px;
  font-family:var(--mono); display:inline-block; width:fit-content;
}
.t5-analyst-sentiment.long  { background:rgba(0,212,170,.12); color:#00D4AA; }
.t5-analyst-sentiment.short { background:rgba(255,77,106,.12); color:#FF4D6A; }
.t5-analyst-sentiment.neut  { background:rgba(255,255,255,.07); color:var(--muted2); }
.t5-metrics { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.t5-metric { display:flex; flex-direction:column; gap:1px; }
.t5-metric-label { font-size:9px; color:var(--muted2); text-transform:uppercase; letter-spacing:.07em; font-family:var(--sans); }
.t5-metric-val { font-size:16px; font-weight:800; font-family:var(--mono); }
/* Alpha score bar */
.t5-alpha-bar-wrap { height:3px; background:var(--bg4); border-radius:2px; overflow:hidden; margin-top:4px; }
.t5-alpha-bar { height:100%; border-radius:2px; transition:width .5s; }

/* ── Historique des prédictions ── */
#t5-history-card {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--radius-lg); overflow:hidden; margin-bottom:16px;
}
#t5-history-hd {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 16px; background:var(--bg3); border-bottom:1px solid var(--border);
}
#t5-history-table { width:100%; border-collapse:collapse; }
#t5-history-table th {
  padding:8px 14px; text-align:left; background:var(--bg3);
  font-size:9px; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--muted2); border-bottom:1px solid var(--border);
  white-space:nowrap;
}
#t5-history-table td {
  padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.025);
  font-size:13px; color:var(--muted); vertical-align:middle;
}
#t5-history-table tr:last-child td { border-bottom:none; }
#t5-history-table tr:hover td { background:rgba(255,255,255,.02); }
.t5-pred-analyst { font-weight:700; color:var(--text); font-size:13px; }
.t5-pred-thesis {
  font-size:11px; font-weight:800; padding:3px 8px; border-radius:3px;
  font-family:var(--mono); white-space:nowrap;
}
.t5-pred-thesis.bull { background:rgba(0,212,170,.12); color:#00D4AA; }
.t5-pred-thesis.bear { background:rgba(255,77,106,.12); color:#FF4D6A; }
.t5-pred-thesis.neut { background:rgba(255,255,255,.07); color:var(--muted2); }
.t5-pred-status {
  font-size:11px; font-weight:800; padding:3px 9px; border-radius:3px;
  font-family:var(--mono); white-space:nowrap;
}
.t5-pred-status.valid   { background:rgba(0,212,170,.12); color:#00D4AA; }
.t5-pred-status.invalid { background:rgba(255,77,106,.12); color:#FF4D6A; }
.t5-pred-status.pending { background:rgba(251,191,36,.12); color:#FBBF24; }

/* ── Hall of Fame / Rapport IA ── */
#t5-hof-card {
  background:var(--bg2); border:1px solid rgba(251,191,36,.2);
  border-radius:var(--radius-lg); overflow:hidden;
}
#t5-hof-hd {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 16px; background:rgba(251,191,36,.05);
  border-bottom:1px solid rgba(251,191,36,.12);
}
#t5-hof-body {
  padding:18px 20px;
  font-size:14px; color:var(--text); line-height:1.85; font-family:var(--sans);
}
#t5-hof-body h3 {
  font-size:11px; font-weight:800; text-transform:uppercase;
  letter-spacing:.1em; color:#FBBF24; margin:18px 0 8px;
}
#t5-hof-body h3:first-child { margin-top:0; }
#t5-hof-body b   { color:var(--text); font-weight:700; }
#t5-hof-body ul  { margin:6px 0 12px; padding-left:18px; display:flex; flex-direction:column; gap:5px; }
#t5-hof-body li  { color:var(--muted); line-height:1.6; }
#t5-hof-body p   { margin:0 0 12px; color:var(--muted); }
.t5-hof-placeholder {
  text-align:center; padding:32px; color:var(--muted2);
  font-style:italic; font-size:13px;
}

/* ── Liquidation Map BTC ── */
#t2-liq-map-wrap {
  position:relative; height:200px; overflow:hidden;
}
#t2-liq-map-canvas { width:100%; height:100%; display:block; }
.liq-map-legend {
  display:flex; gap:14px; margin-top:8px; flex-wrap:wrap;
}
.liq-map-legend-item {
  display:flex; align-items:center; gap:5px;
  font-size:10px; color:var(--muted2); font-family:var(--sans);
}
.liq-map-legend-dot { width:10px; height:10px; border-radius:2px; flex-shrink:0; }

/* ── Spread BTC/ETH (Tab1) ── */
#t1-spread-card {
  background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:14px 16px;
  margin-bottom:12px;
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px;
}
.spread-cell { display:flex; flex-direction:column; gap:3px; }
.spread-label {
  font-family:var(--sans); font-size:9px; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; color:var(--muted2);
}
.spread-val {
  font-family:var(--mono); font-size:18px; font-weight:800; color:var(--text);
  line-height:1;
}
.spread-sub { font-size:10px; color:var(--muted2); }

/* ── Funding hedge Tab3 ── */
#t3-hedge-card {
  background:var(--bg2); border:1px solid rgba(239,83,80,.2);
  border-radius:var(--radius-lg); overflow:hidden; margin-top:14px;
}
#t3-hedge-hd {
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 14px; background:rgba(239,83,80,.04);
  border-bottom:1px solid rgba(239,83,80,.12);
}
#t3-hedge-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
.hedge-cell {
  padding:12px 14px; border-right:1px solid rgba(255,255,255,.04);
  display:flex; flex-direction:column; gap:3px;
}
.hedge-cell:last-child { border-right:none; }
.hedge-cell-label { font-size:9px; color:var(--muted2); text-transform:uppercase; letter-spacing:.07em; font-family:var(--sans); }
.hedge-cell-val   { font-family:var(--mono); font-size:15px; font-weight:800; color:var(--text); }
.hedge-cell-sub   { font-size:10px; color:var(--muted2); }


/* ══════════════════════════════════════════════════
   COCKPIT TAB1 — Summary Strip
══════════════════════════════════════════════════ */
#t1-summary-strip {
  display: flex; align-items: center;
  background: #0E0E0E; border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--radius-lg); padding: 0;
  margin-bottom: 12px; overflow: hidden; height: 48px;
}
.ss-group {
  display: flex; align-items: center; gap: 18px;
  padding: 0 20px; height: 100%;
  border-right: 1px solid rgba(255,255,255,.06);
}
.ss-group:last-child { border-right: none; margin-left: auto; }
.ss-item { display: flex; flex-direction: column; gap: 1px; }
.ss-label {
  font-family: var(--sans); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; color: var(--muted2);
}
.ss-val {
  font-family: var(--mono); font-size: 14px; font-weight: 700;
  color: var(--text); line-height: 1; white-space: nowrap;
}
.ss-val.pos { color: var(--green); }
.ss-val.neg { color: var(--red); }
/* Ticker dans strip */
.ss-ticker { display: flex; align-items: center; gap: 16px; padding: 0 20px; }
.ss-tick-item {
  display: flex; align-items: center; gap: 5px;
  font-family: var(--mono); font-size: 12px;
}
.ss-tick-sym { font-weight: 700; color: var(--muted2); font-size: 10px; }
.ss-tick-price { font-weight: 700; color: var(--text); }
.ss-tick-chg { font-size: 10px; }
.ss-tick-chg.pos { color: var(--green); }
.ss-tick-chg.neg { color: var(--red); }
.ss-tick-sep { width: 1px; height: 20px; background: rgba(255,255,255,.06); }

/* ══ Cockpit core row : Jauge + Donut ══ */
#t1-cockpit-core {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px; margin-bottom: 12px;
}
@media(max-width:900px) { #t1-cockpit-core { grid-template-columns: 1fr; } }

/* Donut agrandi */
#slot-donut .donut-canvas-wrap {
  position: relative; flex: 0 0 300px; height: 300px;
}
#slot-donut canvas#chartDonut {
  width: 220px !important; height: 220px !important;
}




/* ══ KPI secondaires sous le core ══ */
#t1-secondary-kpis {
  display: grid; grid-template-columns: repeat(6,1fr);
  gap: 8px; margin-bottom: 12px;
}
@media(max-width:1100px) { #t1-secondary-kpis { grid-template-columns: repeat(3,1fr); } }
@media(max-width:700px)  { #t1-secondary-kpis { grid-template-columns: repeat(2,1fr); } }
.sec-kpi {
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 8px 12px;
}
.sec-kpi-label {
  font-family: var(--sans); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .07em; color: var(--muted2);
  margin-bottom: 4px;
}
.sec-kpi-val {
  font-family: var(--mono); font-size: 16px; font-weight: 800;
  color: var(--text); line-height: 1;
}

/* ══ Shadow Trade button ══ */
.shadow-trade-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 4px;
  border: 1px solid rgba(38,166,154,.4); background: rgba(38,166,154,.07);
  color: var(--green); font-size: 14px; font-weight: 700;
  cursor: pointer; transition: all .12s; line-height: 1; flex-shrink: 0;
}
.shadow-trade-btn:hover { background: rgba(38,166,154,.2); border-color: var(--green); }
.shadow-trade-input-row {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 8px; background: rgba(38,166,154,.05);
  border-top: 1px solid rgba(38,166,154,.15);
}
.shadow-trade-inp {
  flex: 1; background: var(--bg3); border: 1px solid rgba(38,166,154,.3);
  border-radius: 4px; color: var(--text); font-size: 11px;
  padding: 3px 6px; font-family: var(--mono); outline: none;
  max-width: 100px;
}
.shadow-trade-apply {
  padding: 3px 8px; border-radius: 4px;
  border: 1px solid rgba(38,166,154,.4); background: rgba(38,166,154,.1);
  color: var(--green); font-size: 10px; font-weight: 700; cursor: pointer;
}
.shadow-trade-close {
  padding: 3px 6px; background: transparent; border: none;
  color: var(--muted2); cursor: pointer; font-size: 12px;
}

/* ══ Oracle repositionné sous positions ══ */



/* ════════════════════════════════════════════════════
   COCKPIT TAB1 — Golden Layout v3
   ════════════════════════════════════════════════════ */

/* ── Summary Strip ── */
#t1-summary-strip {
  display: flex; align-items: stretch;
  background: #101014; border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; margin-bottom: 10px; overflow: visible; height: 52px;
  position: relative;
}
.ss-left { display: flex; align-items: center; flex-shrink: 0; }
.ss-item {
  display: flex; flex-direction: column; justify-content: center;
  padding: 0 22px; border-right: 1px solid rgba(255,255,255,.05); height: 100%;
  min-width: 100px;
}
.ss-label { font-family: var(--sans); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #3A3A50; }
.ss-val   { font-family: var(--mono); font-size: 17px; font-weight: 900; color: var(--text); letter-spacing: -.03em; line-height: 1.1; }
.ss-val.pos { color: #26A69A; }
.ss-val.neg { color: #EF5350; }
.ss-ticker-zone {
  display: flex; align-items: center; flex: 1; justify-content: flex-end;
  padding-right: 8px; gap: 0; overflow: hidden;
}
.ss-tick {
  display: flex; align-items: center; gap: 5px;
  padding: 0 13px; height: 100%; border-left: 1px solid rgba(255,255,255,.05);
  flex-shrink: 0;
}
.ss-tick-coin { font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .07em; color: #3A3A50; }
.ss-tick-px   { font-family: var(--mono); font-size: 13px; font-weight: 700; color: var(--text); }
.ss-tick-chg  { font-family: var(--mono); font-size: 10px; font-weight: 600; }
.ss-tick-chg.pos { color: #26A69A; }
.ss-tick-chg.neg { color: #EF5350; }
.ss-tick-chg.neu { color: #3A3A50; }
@media(max-width:1200px){ .ss-tick:nth-child(n+5){ display:none; } }
@media(max-width:900px)  { .ss-ticker-zone{ display:none; } }

/* ── Cockpit Core : Jauge | Donut ── */
#t1-cockpit-core {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px;
}
@media(max-width:900px){ #t1-cockpit-core{ grid-template-columns:1fr; } }

/* ── Donut agrandi ── */
#slot-donut canvas { display: block !important; }




/* ── Positions table cockpit ── */
#positions-table { width: 100%; border-collapse: collapse; }
#positions-table thead th {
  font-family: var(--sans); font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; color: #546E7A;
  padding: 5px 8px; border-bottom: 1px solid rgba(255,255,255,.05);
  background: #0E0E12; white-space: nowrap; text-align: right;
}
#positions-table thead th:first-child { text-align: left; }
#positions-table tbody td {
  font-family: var(--mono); font-size: 12px; color: #B0B8C8;
  padding: 5px 8px; border-bottom: 1px solid rgba(255,255,255,.03);
  vertical-align: middle; text-align: right;
}
#positions-table tbody td:first-child { text-align: left; }
#positions-table tbody tr:hover td { background: rgba(255,255,255,.02); }

/* Asset cell avec logo */
.pos-asset-cell { display: flex; align-items: center; gap: 8px; }
.coin-logo {
  width: 22px; height: 22px; border-radius: 50%; background: #1A1A28;
  overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}
.coin-logo img { width: 22px; height: 22px; object-fit: cover; border-radius: 50%; }
.coin-logo-fallback { font-size: 9px; font-weight: 800; color: #90A4AE; }
.pos-coin-sym { font-family: var(--mono); font-weight: 800; color: #ECEFF4; font-size: 13px; }
.pos-role-badge {
  font-size: 8px; font-weight: 700; padding: 2px 5px; border-radius: 3px;
  text-transform: uppercase; letter-spacing: .05em;
}
.pos-role-badge.hedge { background: rgba(66,165,245,.12); color: #42A5F5; }
.pos-role-badge.long  { background: rgba(38,166,154,.12); color: #26A69A; }

/* Side badge */
.pos-side {
  font-size: 10px; font-weight: 800; padding: 2px 8px; border-radius: 4px;
  letter-spacing: .04em; display: inline-block;
}
.pos-side.long  { background: rgba(38,166,154,.14); color: #26A69A; }
.pos-side.short { background: rgba(239,83,80,.14);  color: #EF5350; }

/* PnL colors */
.pnl-pos { color: #26A69A !important; font-weight: 700; }
.pnl-neg { color: #EF5350 !important; font-weight: 700; }

/* Shadow trade button */
.btn-shadow, .shadow-trade-btn {
  width: 22px; height: 22px; border-radius: 5px; cursor: pointer;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  color: #8892A4; font-size: 14px; display: inline-flex; align-items: center; justify-content: center;
  transition: all .15s; line-height: 1; font-family: var(--sans);
}
.btn-shadow:hover, .shadow-trade-btn:hover {
  background: rgba(66,165,245,.15); color: #42A5F5; border-color: rgba(66,165,245,.35);
}

/* Shadow popup */
.shadow-popup {
  position: absolute; right: 0; top: 32px; z-index: 100;
  background: #141418; border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px; padding: 10px 12px; display: flex; gap: 6px; align-items: center;
  box-shadow: 0 12px 32px rgba(0,0,0,.7); white-space: nowrap;
}
.shadow-popup input {
  width: 90px; background: #1C1C24; border: 1px solid rgba(255,255,255,.1);
  border-radius: 5px; color: #ECEFF4; font-family: var(--mono); font-size: 12px;
  padding: 5px 8px; outline: none;
}
.shadow-popup input:focus { border-color: var(--blue); }
.sp-btn { padding: 5px 10px; border-radius: 5px; border: none; font-size: 11px; font-weight: 700; cursor: pointer; }
.sp-btn.ok  { background: rgba(66,165,245,.2); color: var(--blue); }
.sp-btn.cls { background: rgba(239,83,80,.15); color: #EF5350; }

/* Oracle Actionable / Live Advisor */

#t1-oracle-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 14px; background: rgba(66,165,245,.04);
  border-bottom: 1px solid rgba(66,165,245,.08);
}
.oracle-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 9px; font-weight: 800; padding: 2px 7px; border-radius: 4px;
  text-transform: uppercase; letter-spacing: .06em;
}
.oracle-badge.buy  { background: rgba(38,166,154,.15); color: #26A69A; }
.oracle-badge.tp   { background: rgba(255,167,38,.15);  color: #FFA726; }
.oracle-badge.warn { background: rgba(239,83,80,.15);   color: #EF5350; }
.oracle-alert-row {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 16px; border-bottom: 1px solid rgba(255,255,255,.03);
  font-family: var(--sans); font-size: 12px; line-height: 1.7;
  white-space: normal !important; height: auto !important;
  overflow: visible !important; word-break: break-word;
  min-height: 36px;
}
.oracle-alert-row .oracle-badge { flex-shrink: 0; margin-top: 1px; }
.oracle-alert-row:last-child { border-bottom: none; }

/* Equity Area Chart */
#t1-equity-wrap {
  background: #101014; border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px; overflow: hidden; margin-bottom: 10px;
}
#t1-equity-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 14px; border-bottom: 1px solid rgba(255,255,255,.05);
}
#t1-equity-hd-legend { display: flex; gap: 14px; font-size: 10px; color: #3A3A50; }
#t1-equity-hd-legend span { display: flex; align-items: center; gap: 5px; }

/* KPIs secondaires bas de page */
#t1-secondary-kpis {
  display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; margin-bottom: 10px;
}
@media(max-width:1100px){ #t1-secondary-kpis{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:700px) { #t1-secondary-kpis{ grid-template-columns:repeat(2,1fr); } }
.sec-kpi-card {
  background: #101014; border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: 10px 14px;
}
.sec-kpi-label { font-family: var(--sans); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #3A3A50; margin-bottom: 4px; }
.sec-kpi-val   { font-family: var(--mono); font-size: 18px; font-weight: 800; color: var(--text); }

/* ── Shadow Trade popup amélioré ── */
.shadow-trade-popup {
  position: absolute; right: 0; top: 28px; z-index: 200;
  background: #141418; border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px; padding: 12px 14px;
  display: flex; flex-direction: column; gap: 8px;
  box-shadow: 0 16px 40px rgba(0,0,0,.8); min-width: 200px;
}
.shadow-trade-popup .sp-header {
  font-family: var(--sans); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; color: #3A3A50;
  padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.06);
}
.shadow-trade-popup input {
  background: #1C1C24; border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px; color: #ECEFF4; font-family: var(--mono); font-size: 13px;
  padding: 6px 10px; outline: none; width: 100%; box-sizing: border-box;
}
.shadow-trade-popup input:focus { border-color: var(--blue); }
.shadow-trade-popup .sp-btns { display: flex; gap: 6px; }
.sp-btn-sim { flex:1; padding:6px; border-radius:6px; border:none; background:rgba(66,165,245,.2); color:var(--blue); font-size:11px; font-weight:700; cursor:pointer; }
.sp-btn-cls { padding:6px 10px; border-radius:6px; border:none; background:rgba(239,83,80,.1); color:#EF5350; font-size:11px; cursor:pointer; }

/* ── Summary Strip compact ── */
#t1-summary-strip { height: 48px; }
.ss-item { padding: 0 14px; }
.ss-val { font-size: 14px; }
.ss-tick { padding: 0 11px; }
.ss-tick-px { font-size: 12px; }

/* ── Oracle section conteneur ── */
#t1-oracle-section {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
#t1-oracle-alerts {
  overflow: visible !important;
  white-space: normal !important;
  height: auto !important;
  max-height: none !important;
}
#t1-ai-body {
  overflow: visible;
  white-space: normal;
  height: auto;
  max-height: none;
  min-height: 40px;
  /* Pas de scroll interne — le contenu s'étend, la page scrolle */
}

/* ── Positions table - dernière col centée ── */
#positions-table td:last-child { text-align: center; width: 32px; padding: 5px 4px; }


/* ── Contraste amélioré ── */
/* Texte principal : blanc pur */
.widget-title, .section-title { color: #E8EDF4 !important; }
/* Valeurs KPI : blanc pur */
.sec-kpi-val, .kpi-val, .value { color: #ECEFF4 !important; }
/* Labels : gris moyen lisible */
.sec-kpi-label, .kpi-label, .label { color: #8892A4 !important; }
/* Muted amélioré : pas trop sombre */
.sub, .muted-text { color: #7A8494 !important; }
/* Tableau positions */
#positions-table tbody td { color: #C8D4E0 !important; }
/* Oracle body */
#t1-ai-body p, #t1-ai-body li { color: #C8D4E0 !important; }
/* Summary Strip : valeurs */
.ss-val { color: #ECEFF4 !important; }
.ss-label { color: #7A8494 !important; }
/* Strip tickers */
.ss-tick-px { color: #ECEFF4 !important; }
.ss-tick-coin { color: #7A8494 !important; }
/* Sidebar live radar */
.qs-label { color: #7A8494 !important; }
.qs-val   { color: #D0D8E4 !important; }
/* Headers de tableau */
#positions-table thead th { color: #7A8494 !important; }
/* Donut overlay */
#donut-net-delta-val { color: #ECEFF4 !important; }
#donut-net-delta-lbl { color: #8892A4 !important; }
/* Oracle alert badges */
.oracle-badge.buy  { color: #26A69A !important; }
.oracle-badge.tp   { color: #FFA726 !important; }
.oracle-badge.warn { color: #EF5350 !important; }
.x-tweet-alpha { border-left-color: rgba(255,167,38,.7) !important; background: rgba(255,167,38,.03); }
.x-tweet-alpha .x-handle { color: #FFA726 !important; }

/* ── X Alpha Feed — cartes social premium ── */
.x-card {
  display: flex; gap: 10px; padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  transition: background .15s; cursor: default;
  border-left: 3px solid transparent;
  position: relative;
}
.x-card:hover { background: rgba(255,255,255,.025); }
.x-card:last-child { border-bottom: none; }
.x-card.bull { border-left-color: rgba(38,166,154,.5); }
.x-card.bear { border-left-color: rgba(239,83,80,.5); }
.x-card.neut { border-left-color: rgba(255,255,255,.08); }
.x-card-alpha { background: rgba(255,167,38,.03) !important; border-left-color: rgba(255,167,38,.6) !important; }

/* Avatar */
.x-avatar {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 900; font-family: var(--sans);
  color: #fff; margin-top: 1px;
}

/* Corps */
.x-card-body { flex: 1; min-width: 0; }
.x-card-header {
  display: flex; align-items: center; gap: 5px;
  margin-bottom: 5px; flex-wrap: wrap;
}
.x-card-name {
  font-family: var(--sans); font-size: 13px; font-weight: 800; color: #ECEFF4;
}
.x-card-check {
  color: #42A5F5; font-size: 12px; flex-shrink: 0;
}
.x-card-handle {
  font-family: var(--sans); font-size: 11px; color: #546E7A;
  flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.x-card-sent-badge {
  font-size: 9px; font-weight: 700; padding: 1px 6px; border-radius: 4px;
  margin-left: auto; flex-shrink: 0; letter-spacing: .04em;
}
.x-card-sent-badge.bull { background: rgba(38,166,154,.15); color: #26A69A; }
.x-card-sent-badge.bear { background: rgba(239,83,80,.15);  color: #EF5350; }
.x-card-sent-badge.neut { background: rgba(255,255,255,.07); color: #546E7A; }
.x-card-alpha-badge {
  font-size: 8px; font-weight: 700; padding: 1px 5px; border-radius: 3px;
  background: rgba(255,167,38,.18); color: #FFA726; margin-left: 4px;
}

.x-card-text {
  font-family: var(--sans); font-size: 13px; color: #C8D4E0;
  line-height: 1.55; word-break: break-word;
}
.x-card-footer {
  margin-top: 6px; display: flex; align-items: center; gap: 8px;
}
.x-card-time { font-size: 10px; color: #3A4A5A; margin-left: auto; }
.x-card-link {
  font-size: 10px; color: var(--blue); text-decoration: none; opacity: .7;
}
.x-card-link:hover { opacity: 1; }


/* ════════════════════════════════════════════════════════
   RESPONSIVE — Mobile First (breakpoints: 768, 900, 1100)
   ════════════════════════════════════════════════════════ */

/* Donut adaptatif — empêcher débordement */
#slot-donut .donut-canvas-wrap {
  position: relative;
  flex: 0 0 min(300px, 80vw);
  height: min(300px, 80vw);
}
#slot-donut canvas#chartDonut {
  width:  min(300px, 80vw) !important;
  height: min(300px, 80vw) !important;
}

/* Summary Strip — compact sur mobile */
@media (max-width: 640px) {
  #t1-summary-strip { height: auto; flex-wrap: wrap; border-radius: 8px; }
  .ss-left { flex-wrap: wrap; width: 100%; }
  .ss-item { padding: 7px 12px; border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.05); flex: 1; min-width: 80px; }
  .ss-val { font-size: 14px; }
  .ss-label { font-size: 8px; }
  #btn-hl-sync { display: none; }
}

/* Tableau positions — scroll horizontal + texte compact */
@media (max-width: 768px) {
  #positions-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  #positions-table thead th,
  #positions-table tbody td { padding: 4px 6px; font-size: 10px; }
  .pos-coin-sym { font-size: 11px; }
  .coin-logo { width: 16px; height: 16px; }
  /* Cacher colonnes secondaires sur mobile */
  #positions-table th:nth-child(3),
  #positions-table td:nth-child(3),
  #positions-table th:nth-child(8),
  #positions-table td:nth-child(8) { display: none; }
}

/* Donut — centré sur mobile, légende en dessous */
@media (max-width: 768px) {
  #slot-donut > div:first-of-type { justify-content: center; }
  #donut-legend.donut-legend-row { justify-content: center; }
  #donut-equity-block { flex-direction: column; gap: 8px; }
  #donut-equity-block > div { text-align: center; }
}

/* Oracle Tab1 — padding réduit */
@media (max-width: 640px) {
  #t1-ai-body { padding: 10px 12px; font-size: 11px; }
  .oracle-alert-row { padding: 8px 10px; font-size: 11px; }
  #t1-oracle-hd { padding: 7px 10px; flex-wrap: wrap; gap: 6px; }
}

/* KPI secondaires — 2 colonnes sur mobile */
@media (max-width: 640px) {
  #t1-secondary-kpis { grid-template-columns: repeat(2, 1fr) !important; gap: 6px; }
  .sec-kpi-card { padding: 8px 10px; }
  .sec-kpi-val { font-size: 15px; }
}

/* Bottom row — 1 colonne sur mobile */
@media (max-width: 768px) {
  #bottom-row { grid-template-columns: 1fr !important; }
  #orders-section { display: none; } /* masqué sur mobile pour clarté */
}

/* Header global — compact mobile */
@media (max-width: 640px) {
  #app-header { padding: 0 10px; height: 48px; }
  .header-brand-name { font-size: 14px; }
  .header-brand-sub { display: none; }
  #address-display { display: none; }
  #price-bar { display: none; }
  #btn-wallet { padding: 5px 10px; font-size: 11px; }
}

/* Tab2 — stats grid 2 cols mobile */
@media (max-width: 640px) {
  #t2-deriv-row { grid-template-columns: repeat(2,1fr) !important; }
  #t2-sidebar { display: none; }
  #t2-chart-col { width: 100%; }
}

/* Tab3 hedge — 2 cols mobile */
@media (max-width: 640px) {
  #t3-hedge-grid { grid-template-columns: repeat(2,1fr) !important; }
  #t3-kpi-grid   { grid-template-columns: repeat(2,1fr) !important; }
}

/* Tab4 — full width mobile */
@media (max-width: 640px) {
  #t4-main { grid-template-columns: 1fr !important; }
  .t4-card { border-radius: 8px; }
  #t4-api-bar { flex-wrap: wrap; gap: 6px; }
  #t4-yt-key-input, #t4-gemini-key-input { max-width: 100% !important; min-width: 0; }
}

/* ── Bloomberg Macro Terminal widgets ─────────────────────── */
#t4-macro-cal-body { padding:0 }
.t4-cal-row:last-child { border-bottom: none !important }
.t4-cal-row:hover { background: rgba(255,255,255,.03) }

#t4-analyst-body p { margin:0; font-size:13px; line-height:1.8; color:var(--text); font-family:var(--sans) }

#t4-news-timeline-body { max-height: calc(100vh - 220px); overflow-y: auto }
.t4-timeline-item { display:flex; align-items:flex-start; gap:12px; padding:10px 14px;
  border-bottom:1px solid var(--border); text-decoration:none; transition:background .15s }
.t4-timeline-item:last-child { border-bottom: none }
.t4-timeline-item:hover { background: rgba(255,255,255,.04) }
.t4-timeline-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; display:block; margin-top:5px }
.t4-timeline-time { font-family:var(--mono); font-size:9px; color:var(--muted2); white-space:nowrap }
.t4-timeline-title { font-size:12px; font-weight:600; color:var(--text); line-height:1.5; margin-bottom:3px }
.t4-timeline-meta { display:flex; align-items:center; gap:6px }
.t4-timeline-src { font-size:9px; font-weight:700; text-transform:uppercase; color:var(--muted2) }
.t4-timeline-tag { font-size:9px; font-weight:700; padding:1px 5px; border-radius:3px }

#t4-dxy-canvas { width:100% !important; height:72px !important; display:block }

/* Tab5 — cartes empilées mobile */
@media (max-width: 640px) {
  #t5-leaderboard { grid-template-columns: 1fr !important; }
  #t5-split-row   { grid-template-columns: 1fr !important; }
}

/* ── Social Intelligence — layout split ───────────────────── */
#t5-split-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 20px;
  align-items: start;
}
.t5-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.t5-card-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 14px; border-bottom: 1px solid var(--border);
  background: var(--bg3);
}
.t5-card-section-title {
  font-family: var(--sans); font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .09em; color: var(--muted);
}

/* Scanner YouTube button */
#btn-t5-yt-scan {
  padding: 7px 16px; border-radius: var(--radius);
  border: 1px solid rgba(99,102,241,.4);
  color: #818CF8; background: rgba(99,102,241,.08);
  font-size: 11px; font-weight: 700; cursor: pointer;
  font-family: var(--sans); transition: all .15s; white-space: nowrap;
}
#btn-t5-yt-scan:hover    { background: rgba(99,102,241,.18); }
#btn-t5-yt-scan:disabled { opacity: .4; cursor: not-allowed; }

/* YouTube variable cards (3 variables per channel) */
.t5-yt-var-card {
  padding: 12px 14px; border-bottom: 1px solid var(--border);
}
.t5-yt-var-card:last-child { border-bottom: none; }
.t5-yt-var-card:hover { background: rgba(255,255,255,.025); }
.t5-yt-channel-name {
  font-size: 11px; font-weight: 800; font-family: var(--sans);
  color: var(--text); margin-bottom: 8px;
  display: flex; align-items: center; gap: 8px;
}
.t5-yt-var { font-size: 11px; color: var(--muted); line-height: 1.6; margin-bottom: 4px; }
.t5-yt-var b { color: var(--muted2); font-weight: 700; }
.t5-danger-badge {
  font-family: var(--mono); font-size: 9px; font-weight: 800;
  padding: 2px 6px; border-radius: 3px;
}
.t5-danger-badge.high   { color: #FF4D6A; background: rgba(255,77,106,.12); }
.t5-danger-badge.med    { color: #F0A500; background: rgba(240,165,0,.12); }
.t5-danger-badge.low    { color: #00D4AA; background: rgba(0,212,170,.12); }

/* X Alpha feed in Tab5 */
.t5-x-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 9px 14px; border-bottom: 1px solid var(--border);
  text-decoration: none;
}
.t5-x-item:last-child { border-bottom: none; }
.t5-x-item:hover { background: rgba(255,255,255,.03); }
.t5-x-sent { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.t5-x-body { flex: 1; min-width: 0; }
.t5-x-text { font-size: 12px; color: var(--text); line-height: 1.5; }
.t5-x-meta { display: flex; align-items: center; gap: 8px; margin-top: 3px; }
.t5-x-handle { font-size: 10px; color: var(--muted2); font-weight: 600; }
.t5-x-time   { font-family: var(--mono); font-size: 9px; color: var(--muted2); }

/* Danger badge in leaderboard card */
.t5-ldb-danger {
  font-family: var(--mono); font-size: 8px; font-weight: 800;
  padding: 1px 5px; border-radius: 3px; align-self: flex-start;
}
.t5-ldb-danger.high { color: #FF4D6A; background: rgba(255,77,106,.12); }
.t5-ldb-danger.med  { color: #F0A500; background: rgba(240,165,0,.12); }

/* Sidebar navigation mobile */
@media (max-width: 900px) {
  #sidebar { width: 220px; }
  .nav-label { font-size: 12px; }
}

/* X Feed cards — padding réduit mobile */
@media (max-width: 640px) {
  .x-card { padding: 9px 10px; gap: 8px; }
  .x-avatar { width: 30px; height: 30px; font-size: 12px; }
  .x-card-name { font-size: 12px; }
  .x-card-text { font-size: 12px; }
}

/* Analyse Hedge Fund panel */
@media (max-width: 640px) {
  #t3-watchlist-items { flex-direction: column; }
  #t3-watchlist-items > div { min-width: 0 !important; }
}

/* ════════════════════════════════════════════════════════
   RESPONSIVE iPhone (≤480px)
   ════════════════════════════════════════════════════════ */
@media (max-width: 480px) {

  /* Empêcher tout overflow horizontal */
  #main-content, .tab-panel { max-width: 100vw; overflow-x: hidden; }

  /* Tab panels — réduire le padding */
  .tab-panel { padding: 10px 10px 70px; }

  /* Header — dégager de l'espace pour le hamburger fixe (56px) */
  #header { padding: 0 10px 0 56px; height: 48px; }
  #address-display { display: none; }
  #btn-wallet { padding: 4px 9px; font-size: 11px; }

  /* Summary strip — wrap en 2 colonnes */
  /* overflow-x:clip coupe sans créer de scrollbar, overflow-y:visible permet le wrap */
  #t1-summary-strip { height: auto !important; overflow-x: clip !important; overflow-y: visible !important; flex-wrap: wrap; }
  .ss-left { flex-wrap: wrap; width: 100%; }
  .ss-item { padding: 6px 10px; border-right: none;
    border-bottom: 1px solid rgba(255,255,255,.04);
    flex: 1 0 45%; min-width: 0; }
  .ss-val { font-size: 13px; }
  .ss-corr-zone { display: none !important; }
  .ss-ticker-zone { overflow-x: auto; -webkit-overflow-scrolling: touch;
    flex: 0 0 100%; border-top: 1px solid rgba(255,255,255,.05); }

  /* Cockpit — déjà 1 col à 900px, simplement ajuster gap */
  #t1-cockpit-core { gap: 8px; }

  /* KPI secondaires — 2 cols */
  #t1-secondary-kpis { grid-template-columns: repeat(2,1fr) !important; gap: 6px; }
  .sec-kpi-val { font-size: 14px; }

  /* Market tickers — 2×2 */
  #t1-market-tickers { grid-template-columns: repeat(2,1fr) !important; }
  .mkt-ticker-price { font-size: 17px; }

  /* Positions — cacher colonnes entrée + marge sur très petit écran */
  #positions-table th:nth-child(5),
  #positions-table td:nth-child(5) { display: none; }

  /* Préparer un Trade — boutons % en ligne */
  #prepare-trade-panel { padding: 10px; }
  .pt-side-btn { font-size: 12px; padding: 8px 10px; }
  .pt-pct-btn { padding: 3px 6px; font-size: 9px; }

  /* Tab4 — barre d'API empilée */
  #t4-api-bar { flex-direction: column; align-items: stretch; gap: 6px; }
  #t4-yt-key-input, #t4-gemini-key-input { max-width: 100% !important; width: 100%; }
  .t4-api-btn { width: 100%; text-align: center; }

  /* Tab4 — toolbar news scrollable */
  #t4-toolbar { overflow-x: auto; -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap; padding-bottom: 4px; }

  /* Tab4 — watcher header wrap */
  #t4-watcher-card > div:first-child { flex-wrap: wrap; gap: 6px; }

  /* Tab3 — KPIs 2 cols */
  #t3-kpi-grid { grid-template-columns: repeat(2,1fr) !important; }
  #t3-chart-row { grid-template-columns: 1fr !important; }
  #t3-analysis-row { grid-template-columns: 1fr !important; }

  /* Bottom row Tab1 */
  #bottom-row { grid-template-columns: 1fr !important; }
  #orders-section { display: none; }

  /* Widget cards — juste réduire le padding interne sans casser les charts */
  .widget-header { padding: 8px 12px; }
  .sec-kpi { padding: 6px 10px; }

  /* Panneau de commande IA — centré en bas */
  #cmd-panel { right: 10px; left: 10px; width: auto; bottom: 10px; }
}


/* ── Panneau de commande IA ── */
#cmd-panel {
  position: fixed; bottom: 20px; right: 20px; z-index: 1000;
  width: 360px; background: #0E0E14;
  border: 1px solid rgba(66,165,245,.3); border-radius: 14px;
  box-shadow: 0 16px 48px rgba(0,0,0,.7), 0 0 0 1px rgba(66,165,245,.1);
  display: flex; flex-direction: column; overflow: hidden;
  transition: all .25s ease;
}
#cmd-panel.collapsed { height: 44px; }
#cmd-panel-hd {
  display: flex; align-items: center; gap: 8px; padding: 10px 14px;
  background: rgba(66,165,245,.06); cursor: pointer; user-select: none;
  border-bottom: 1px solid rgba(66,165,245,.12);
}
#cmd-panel-hd-title { font-family: var(--sans); font-size: 11px; font-weight: 800; color: var(--blue); text-transform: uppercase; letter-spacing: .08em; flex: 1; }
#cmd-toggle-btn { font-size: 10px; color: #546E7A; background: none; border: none; cursor: pointer; padding: 0; }
#cmd-panel-body { padding: 10px; display: flex; flex-direction: column; gap: 8px; }
#cmd-input {
  width: 100%; box-sizing: border-box; background: #141418;
  border: 1px solid rgba(255,255,255,.1); border-radius: 8px;
  color: #ECEFF4; font-family: var(--sans); font-size: 12px;
  padding: 9px 12px; outline: none; resize: none; line-height: 1.5;
  min-height: 72px; max-height: 160px; overflow-y: auto;
}
#cmd-input:focus { border-color: rgba(66,165,245,.4); }
#cmd-input::placeholder { color: #3A4A5A; }
.cmd-btn-row { display: flex; gap: 6px; }
.cmd-btn {
  flex: 1; padding: 7px 10px; border-radius: 7px; border: none; cursor: pointer;
  font-family: var(--sans); font-size: 11px; font-weight: 700; transition: all .15s;
}
.cmd-btn-primary { background: rgba(66,165,245,.18); color: var(--blue); }
.cmd-btn-primary:hover { background: rgba(66,165,245,.28); }
.cmd-btn-reset { background: rgba(255,255,255,.06); color: #546E7A; }
.cmd-btn-reset:hover { background: rgba(255,255,255,.1); color: #8892A4; }
#cmd-log {
  font-family: var(--mono); font-size: 10px; color: #546E7A;
  padding: 4px 6px; background: #0A0A0F; border-radius: 5px;
  min-height: 18px; line-height: 1.5;
}
#cmd-shortcuts { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 2px 2px; }
.cmd-chip {
  font-size: 9px; padding: 2px 7px; border-radius: 10px; cursor: pointer;
  background: rgba(255,255,255,.05); color: #546E7A; border: 1px solid rgba(255,255,255,.08);
  font-family: var(--sans); transition: all .12s; white-space: nowrap;
}
.cmd-chip:hover { background: rgba(66,165,245,.1); color: var(--blue); border-color: rgba(66,165,245,.2); }
@media (max-width: 480px) { #cmd-panel { width: calc(100vw - 24px); right: 12px; bottom: 12px; } }

/* ── F : Risk Manager KPIs ── */
#t3-risk-manager {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
  padding: 14px 0; margin-bottom: 4px;
}
.rm-kpi {
  background: var(--bg3); border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 12px 14px;
}
.rm-kpi-label { font-size: 9px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: #546E7A; margin-bottom: 6px; }
.rm-kpi-val { font-family: var(--mono); font-size: 18px; font-weight: 900;
  color: #ECEFF4; line-height: 1; margin-bottom: 3px; }
.rm-kpi-sub { font-size: 10px; color: #546E7A; }
@media(max-width:640px) { #t3-risk-manager { grid-template-columns: 1fr; } }

/* ── K : Drawdown chart ── */
#t3-drawdown-wrap {
  padding: 12px 16px 8px;
  border-top: 1px solid rgba(255,255,255,.05);
  margin-top: 4px;
}
#t3-drawdown-hd {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px;
}

/* ── J : Journal tabs ── */
#t3-section-tabs {
  display: flex; gap: 0; border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 14px;
}
.t3-section-tab {
  padding: 7px 16px; font-size: 11px; font-weight: 700; font-family: var(--sans);
  color: #546E7A; cursor: pointer; border: none; background: none;
  border-bottom: 2px solid transparent; margin-bottom: -1px; transition: all .15s;
}
.t3-section-tab.active { color: var(--blue); border-bottom-color: var(--blue); }
.t3-section-tab:hover { color: #8892A4; }
#t3-journal-panel { display: none; }
#t3-journal-panel.active { display: block; }
#t3-perf-panel.active { display: block; }
#t3-perf-panel { display: block; }

.journal-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.journal-table th {
  font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em;
  color: #546E7A; padding: 5px 8px; border-bottom: 1px solid rgba(255,255,255,.06);
  text-align: right; white-space: nowrap;
}
.journal-table th:first-child { text-align: left; }
.journal-table td {
  font-family: var(--mono); font-size: 11px; color: #C8D4E0;
  padding: 6px 8px; border-bottom: 1px solid rgba(255,255,255,.03);
  text-align: right;
}
.journal-table td:first-child { text-align: left; color: #ECEFF4; font-weight: 700; }
.journal-table tr:hover td { background: rgba(255,255,255,.02); }
.journal-note { font-size: 9px; padding: 1px 6px; border-radius: 3px; font-weight: 700; font-family: var(--sans); }
.journal-note.tp { background: rgba(38,166,154,.15); color: #26A69A; }
.journal-note.sl { background: rgba(239,83,80,.15); color: #EF5350; }
.journal-note.closed { background: rgba(255,255,255,.07); color: #8892A4; }

/* ── M : X Feed filter ── */
#t4-x-filter { display: flex; gap: 4px; padding: 6px 14px 8px; flex-wrap: wrap; }
.x-filter-btn {
  font-size: 9px; font-weight: 700; padding: 2px 9px; border-radius: 10px;
  border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.04);
  color: #546E7A; cursor: pointer; font-family: var(--sans); transition: all .12s;
}
.x-filter-btn.active { background: rgba(66,165,245,.15); color: #42A5F5; border-color: rgba(66,165,245,.3); }
.x-filter-btn:hover { color: #8892A4; }

/* ── Bull/Bear Case Oracle ── */
#t1-bullbear-section {
  border-top: 1px solid rgba(255,255,255,.06);
  margin-top: 10px; padding-top: 10px;
}
.bb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; }
@media(max-width:640px) { .bb-grid { grid-template-columns: 1fr; } }
.bb-card {
  border-radius: 8px; padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.07);
}
.bb-card.bull { background: rgba(38,166,154,.06); border-color: rgba(38,166,154,.2); }
.bb-card.bear { background: rgba(239,83,80,.06);  border-color: rgba(239,83,80,.2);  }
.bb-card-hd {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em; margin-bottom: 8px; display: flex;
  align-items: center; justify-content: space-between;
}
.bb-card.bull .bb-card-hd { color: #26A69A; }
.bb-card.bear .bb-card-hd { color: #EF5350; }
.bb-arg {
  font-size: 11px; color: #8892A4; line-height: 1.55;
  padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: var(--sans); display: flex; gap: 6px;
}
.bb-arg:last-child { border-bottom: none; }
.bb-arg-bullet { flex-shrink: 0; }
.bb-invalidation {
  margin-top: 8px; font-size: 10px; padding: 4px 8px; border-radius: 4px;
  font-family: var(--sans); font-weight: 700;
}
.bb-card.bull .bb-invalidation { background: rgba(239,83,80,.1); color: #EF5350; }
.bb-card.bear .bb-invalidation { background: rgba(38,166,154,.1); color: #26A69A; }

/* Bandeau friction sous jauge */
#t1-friction-banner {
  display: none; margin: 8px 0 0;
  padding: 8px 14px; border-radius: 8px;
  background: rgba(255,167,38,.06);
  border: 1px solid rgba(255,167,38,.2);
  border-left: 3px solid #FFA726;
}

/* ── Price Lines overlay TradingView ── */
#tv-price-overlay {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none; z-index: 6; overflow: hidden;
}
.tv-price-line {
  position: absolute; left: 0; right: 0; height: 1px;
  display: flex; align-items: center; justify-content: flex-end;
}
.tv-price-line.tp  { background: rgba(38,166,154,.6); }
.tv-price-line.sl  { background: rgba(239,83,80,.6);  }
.tv-price-label {
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  padding: 2px 6px; border-radius: 3px; white-space: nowrap;
  margin-right: 6px;
}
.tv-price-line.tp  .tv-price-label { background: rgba(38,166,154,.85); color: #fff; }
.tv-price-line.sl  .tv-price-label { background: rgba(239,83,80,.85);  color: #fff; }

/* ── Focus Mode ── */
.focus-btn {
  position: absolute; top: 8px; right: 8px; z-index: 10;
  width: 24px; height: 24px; border-radius: 5px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: #546E7A; font-size: 11px; transition: all .15s; padding: 0;
}
.focus-btn:hover { background: rgba(255,255,255,.12); color: #ECEFF4; }
.widget-card { position: relative; }
#focus-overlay {
  display: none; position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.85); backdrop-filter: blur(4px);
  align-items: center; justify-content: center; padding: 20px;
}
#focus-overlay.active { display: flex; }
#focus-inner {
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--radius-lg); width: 100%; max-width: 1100px;
  max-height: 90vh; overflow: auto; padding: 20px;
  position: relative;
}
#focus-close {
  position: absolute; top: 12px; right: 12px; z-index: 10;
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15);
  cursor: pointer; color: #ECEFF4; font-size: 14px; display: flex;
  align-items: center; justify-content: center;
}

/* ── P : Greeks ── */
#t1-greeks-bar {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 8px 14px; background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06); border-radius: 10px;
  margin-bottom: 10px;
}
.greek-item {
  flex: 1; min-width: 100px; text-align: center; padding: 6px 10px;
  background: var(--bg3); border-radius: 8px; border: 1px solid rgba(255,255,255,.06);
}
.greek-label { font-size: 9px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: #546E7A; margin-bottom: 4px; }
.greek-val { font-family: var(--mono); font-size: 15px; font-weight: 900; color: #ECEFF4; }
.greek-sub { font-size: 9px; color: #3A4A5A; margin-top: 2px; }

/* ── Q : Stress Test ── */
#t3-stress-panel { display: none; }
#t3-stress-panel.active { display: block; }
.stress-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 14px; }
@media(max-width:640px) { .stress-grid { grid-template-columns: 1fr; } }
.stress-card {
  border-radius: 10px; padding: 14px 16px; cursor: pointer;
  border: 1.5px solid rgba(255,255,255,.08); background: var(--bg3);
  transition: all .15s; position: relative; overflow: hidden;
}
.stress-card:hover { border-color: rgba(255,255,255,.2); transform: translateY(-1px); }
.stress-card.active { border-color: var(--blue); background: rgba(66,165,245,.06); }
.stress-card-title { font-size: 12px; font-weight: 800; color: #ECEFF4; margin-bottom: 4px; }
.stress-card-sub   { font-size: 10px; color: #546E7A; margin-bottom: 10px; }
.stress-result { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 10px; }
.stress-kpi { background: rgba(0,0,0,.3); border-radius: 6px; padding: 6px 8px; }
.stress-kpi-label { font-size: 8px; color: #546E7A; font-weight: 700; text-transform: uppercase; }
.stress-kpi-val   { font-family: var(--mono); font-size: 13px; font-weight: 800; }

/* ── X : Backtesting ── */
#t3-backtest-panel { display: none; }
#t3-backtest-panel.active { display: block; }
.bt-legend { display: flex; gap: 16px; font-size: 10px; margin-bottom: 8px; }
.bt-legend span { display: flex; align-items: center; gap: 5px; }

/* ── Macro Calendar Tab2 ── */
#t2-macro-calendar { }
.macro-event-row {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: var(--sans);
}
.macro-event-row:last-child { border-bottom: none; }
.macro-time { font-size: 10px; color: #546E7A; min-width: 42px; font-family: var(--mono); }
.macro-impact { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 3px; }
.macro-impact.high   { background: #EF5350; }
.macro-impact.medium { background: #FFA726; }
.macro-impact.low    { background: #546E7A; }
.macro-event-name { font-size: 11px; color: #C8D4E0; font-weight: 600; }
.macro-event-country { font-size: 9px; color: #546E7A; margin-top: 1px; }

/* ── Harmonisation CSS — variables globales ── */
:root {
  --btn-h: 28px;
  --val-size: 1.15rem;
}
.btn-base {
  height: var(--btn-h); padding: 0 12px; border-radius: var(--radius);
  font-size: 10px; font-weight: 700; font-family: var(--sans);
  cursor: pointer; border: 1px solid rgba(255,255,255,.1);
  background: var(--bg3); color: var(--muted); transition: all .15s;
  display: inline-flex; align-items: center; gap: 4px;
}
.btn-base:hover { background: var(--bg4); color: var(--text); }
.btn-base.primary { background: rgba(66,165,245,.1); border-color: rgba(66,165,245,.3); color: var(--blue); }
.btn-base.primary:hover { background: rgba(66,165,245,.2); }
.btn-base.danger  { background: rgba(239,83,80,.06); border-color: rgba(239,83,80,.3); color: var(--red); }

/* Tab4 backdrop-filter drawer */
#t4-api-bar {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ══ Design Premium Bento Box ══ */
.widget-card {
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: var(--bg2) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.25) !important;
  transition: border-color .2s !important;
}
.widget-card:hover { border-color: rgba(255,255,255,.12) !important; }

/* KPIs uniformisés */
.rm-kpi, .greek-item, .sec-kpi-card {
  border-radius: 10px !important;
  background: var(--bg3) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
}

/* Panneau latéral avec flou */
#sidebar, #t4-left-col, #t4-main {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Boutons épurés */
.t4-api-btn, .btn-sm, .t3-period-btn {
  border-radius: 8px !important;
  font-weight: 700 !important;
  transition: all .15s !important;
}

/* ── Action Bar Tab1 ── */
#t1-action-bar {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 10px; padding: 0 2px;
}
#t1-ab-spacer { flex: 1; }

/* ── Bouton Actualiser prominent ── */
#btn-refresh {
  padding: 8px 18px;
  background: rgba(0,212,170,.09); border: 1px solid rgba(0,212,170,.35);
  border-radius: 9px; color: #00D4AA;
  font-size: 12px; font-weight: 700; font-family: var(--sans);
  cursor: pointer; transition: all .2s;
  display: flex; align-items: center; gap: 7px;
  letter-spacing: .05em; white-space: nowrap;
}
#btn-refresh:hover { background: rgba(0,212,170,.18); border-color: rgba(0,212,170,.6); color: #2EFFC4; }
#btn-refresh:active { transform: scale(.97); }
.btn-refresh-spin { display: inline-block; font-size: 15px; transition: transform .5s ease; }
#btn-refresh:active .btn-refresh-spin { transform: rotate(360deg); }

/* ── Bouton Préparer un Trade (CTA action bar) ── */
#btn-prepare-trade-cta {
  padding: 8px 16px;
  background: rgba(129,140,248,.09); border: 1px solid rgba(129,140,248,.3);
  border-radius: 9px; color: #818CF8;
  font-size: 12px; font-weight: 700; font-family: var(--sans);
  cursor: pointer; transition: all .2s;
  display: flex; align-items: center; gap: 6px;
  letter-spacing: .04em; white-space: nowrap;
}
#btn-prepare-trade-cta:hover { background: rgba(129,140,248,.18); border-color: rgba(129,140,248,.55); }

/* ── Jauge : flèche de tendance visible ── */
#gauge-trend-arrow {
  font-size: 14px; font-weight: 800; font-family: var(--mono);
  padding: 2px 6px; border-radius: 5px;
  background: rgba(255,255,255,.05);
  letter-spacing: -.01em; min-width: 36px; text-align: center;
}

/* Barre API Intelligence */
#t4-api-bar {
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  backdrop-filter: blur(8px);
  padding: 8px 14px;
  gap: 10px;
  flex-wrap: wrap;
}

/* Cartes news épurées */
.news-item, .x-card {
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.05) !important;
  transition: border-color .15s, background .15s !important;
}
.news-item:hover, .x-card:hover {
  border-color: rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.03) !important;
}

/* ══════════════════════════════════════════════
   Tab2 — Macro / News Row
══════════════════════════════════════════════ */
.t2-macro-news-row {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 12px;
  margin-bottom: 12px;
  align-items: start;
}

/* Macro calendar event rows (new style) */
.t2-macro-event-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.t2-macro-event-row:last-child { border-bottom: none; }
.t2-macro-badge { font-size: 12px; flex-shrink: 0; margin-top: 1px; }
.t2-macro-event-info { flex: 1; min-width: 0; }
.t2-macro-event-name {
  font-size: 11px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.t2-macro-event-meta {
  font-size: 10px;
  color: var(--muted2);
  margin-top: 2px;
}

/* Defcon pulse — card flashes red when high-impact event < 1h */
@keyframes defcon-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,77,106,0); }
  50%       { box-shadow: 0 0 0 6px rgba(255,77,106,.35); }
}
.defcon {
  animation: defcon-pulse 1.4s ease-in-out infinite;
  border-color: rgba(255,77,106,.4) !important;
}

/* ══════════════════════════════════════════════
   Tab2 — News Feed
══════════════════════════════════════════════ */
.t2-news-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  text-decoration: none;
  transition: background .12s;
  cursor: pointer;
}
.t2-news-item:last-child { border-bottom: none; }
.t2-news-item:hover { background: rgba(255,255,255,.04); }
.t2-news-src {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 4px;
  border: 1px solid transparent;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.t2-news-title {
  font-size: 11px;
  color: var(--text);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.35;
}
.t2-news-time {
  font-size: 9px;
  color: var(--muted2);
  white-space: nowrap;
  flex-shrink: 0;
  font-family: var(--mono);
}

/* ══════════════════════════════════════════════
   Tab2 — Funding Rate Heatmap
══════════════════════════════════════════════ */
.fr-heatmap-cell {
  border-radius: 8px;
  padding: 8px 10px;
  text-align: center;
  min-width: 0;
}
.fr-skeleton {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  min-height: 54px;
  animation: shimmer 1.4s ease-in-out infinite;
}
@keyframes shimmer {
  0%, 100% { opacity: .5; }
  50%       { opacity: 1;  }
}
.fr-coin {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted2);
  margin-bottom: 3px;
}
.fr-val {
  font-size: 12px;
  font-weight: 700;
}
.fr-interp {
  font-size: 9px;
  color: var(--muted2);
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
