:root{
  --bg:#0c0f13; --fg:#e6e8ea; --muted:#9aa3ab;
  --card:#141922; --accent:#3aa0ff; --grid:#1e2530;
  --up:#1ecb77; --down:#ff5c5c; --min:#ffd24d; --max:#7aa2f7;
  --sep:#2a3342;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,Segoe UI,Roboto,Ubuntu,Arial}
a{color:var(--accent);text-decoration:none}
.muted{color:var(--muted)}
.num{text-align:right}
.l{text-align:left}
.full{width:100%}

/* Topbar */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 10px;background:#0b111a;border-bottom:1px solid var(--sep);
  position:sticky;top:0;z-index:10;gap:10px;flex-wrap:wrap
}
.brand{font-weight:600;display:flex;align-items:center;gap:6px}
.nav a{margin-right:12px}
.rightbox{display:flex;gap:12px;align-items:center;color:var(--muted)}

/* Layout with grid areas (Ads visible at all sizes) */
.container{
  display:grid;
  grid-template-columns:260px 1fr 260px;
  grid-template-areas:"left content right";
  gap:8px; padding:8px;
}
.sidebar.left{ grid-area:left; margin-left:5px; }
.content{ grid-area:content; min-width:0; }
.sidebar.right{ grid-area:right; margin-right:5px; display:block; }

.panel{background:var(--card);border:1px solid var(--sep);border-radius:8px;padding:10px;margin-bottom:8px}
.field{margin-bottom:10px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.list-scroll{max-height:220px;overflow:auto;border:1px solid var(--sep);border-radius:6px;padding:6px}
.chk{display:flex;align-items:center;gap:8px;margin:4px 0}

.footer{display:flex;justify-content:space-between;align-items:center;padding:10px;border-top:1px solid var(--sep);color:var(--muted)}

/* Cards, tables */
.pair-card{background:var(--card);border:1px solid var(--sep);border-radius:8px;margin:8px 0;padding:8px}
table{width:100%;border-collapse:separate;border-spacing:0}
table.tight th, table.tight td{padding:6px 8px;border-bottom:1px solid var(--sep)}
thead th{font-weight:600;color:var(--muted);cursor:pointer}
tbody tr:hover{background:#111620}
.price.up{color:var(--up)}
.price.down{color:var(--down)}
.price.min{background:#2b2300}
.price.max{background:#0b1630}

/* Charts */
.chart{width:100%;height:260px;display:block}
.axis{stroke:#3a4354;stroke-width:1}
.tick{stroke:#3a4354;stroke-width:1}
.tick-label{fill:#5a6880;font-size:11px}
.chart-line{fill:none;stroke-width:2}
.line-1{stroke:#7aa2f7}

/* Buttons, inputs */
button{background:var(--accent);color:white;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;min-height:36px}
button:hover{opacity:.9}
input,select{background:#0f141d;color:var(--fg);border:1px solid var(--sep);border-radius:6px;padding:6px;min-height:36px}

/* Lastline */
.lastline{display:flex;align-items:center;gap:10px;color:var(--muted)}
.sep{width:1px;height:14px;background:var(--sep);display:inline-block}

/* Ads */
.ad-slot{height:120px;border:1px dashed var(--sep);border-radius:8px;margin:6px 0;display:flex;align-items:center;justify-content:center;color:var(--muted)}

/* min/max highlight */
.num.price.min { font-weight:700; text-decoration:underline; }
.num.price.max { font-weight:700; }

/* chart tooltip */
.tt-line{stroke:#888;stroke-width:1;opacity:.8}
.tt-dot{fill:#fff;stroke:#444}
.tt-box{fill:#111;opacity:.85}
.tt-text{fill:#fff;font-size:12px}
.gridline{stroke:#2a3342;stroke-width:1;opacity:.4}
.y-tick-label{fill:#9aa3ab;font-size:11px}

/* Barre de scroll dédiée à la colonne gauche */
.sidebar.left{
  position:sticky;
  top:48px;
  max-height:calc(100vh - 56px);
  overflow:hidden;
}
.sidebar.left .sidebar-scroll{
  max-height:100%;
  overflow:auto;
  padding-right:6px;
}

/* Menus déroulants */
details.collapsible{
  background:transparent;
  border:1px solid var(--sep);
  border-radius:6px;
  padding:0;
  margin:0 0 10px 0;
}
details.collapsible > summary{
  list-style:none; cursor:pointer; padding:8px 10px;
  color:var(--fg); background:rgba(255,255,255,0.02);
  border-radius:6px; position:relative; user-select:none;
}
details.collapsible > summary::-webkit-details-marker{display:none}
details.collapsible > summary:after{
  content:"▸"; position:absolute; right:10px; top:8px; font-size:12px; color:var(--muted);
  transform-origin:center; transition:transform .15s ease;
}
details.collapsible[open] > summary:after{ transform:rotate(90deg); }
details.collapsible > div{ padding:8px 10px 10px 10px; }

/* === Auth / Profile forms wrappers (login, register, reset) === */
.login-wrap, .profile-wrap{ max-width:820px; margin:16px auto; padding:0 12px; width:100% }
.login-wrap .form, .form{ display:flex; flex-direction:column; gap:12px; max-width:520px }
.form label{display:flex; flex-direction:column; gap:6px}
.form input{width:100%}

/* === Two-column form grid (profile) === */
.form-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:12px 20px; max-width: 820px }
.form-grid label{ display:flex; flex-direction:column; font-weight:500 }
.form-grid input{ padding:6px 8px; border:1px solid #ccc; border-radius:6px }
.form-actions{ grid-column: span 2; text-align:right }
.btn-primary,.btn-secondary{ padding:6px 12px; border:none; border-radius:6px; cursor:pointer; min-height:36px }
.btn-primary{ background:#007bff; color:#fff }
.btn-secondary{ background:#eee; color:#333; margin-left:8px }
.token-box{ display:flex; align-items:center; gap:6px }
.token-box input{ flex:1; font-family:monospace }

/* === Admin dashboard === */
.admin-wrap{max-width:1100px;margin:24px auto;padding:0 12px}
.admin-tabs{display:flex;gap:8px;margin:0 0 12px}
.admin-tab{padding:8px 12px;border:1px solid var(--sep);border-radius:8px;cursor:pointer;background:transparent}
.admin-tab.active{background:#0f141d}
.admin-avatar{width:28px;height:28px;border-radius:50%;border:1px solid var(--sep);object-fit:cover}

.admin-card{background:var(--card);border:1px solid var(--sep);border-radius:12px;padding:12px;margin:10px 0}

.admin-grid{display:grid;gap:8px}
.admin-grid.cols-2{grid-template-columns:1fr 1fr}
.admin-grid.cols-3{grid-template-columns:1fr 1fr 1fr}

.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{border-bottom:1px solid var(--sep);padding:6px 8px;text-align:left}
.admin-table thead th{font-weight:600;color:var(--muted)}

.admin-badge{display:inline-block;padding:2px 6px;border-radius:6px;background:#0f141d;border:1px solid var(--sep);color:var(--muted);font-size:12px}
.admin-k{background:#0f141d;border:1px solid var(--sep);border-radius:6px;padding:1px 6px;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}
.admin-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.admin-actions .hint{color:var(--muted);font-size:12px}
.admin-input-sm{padding:4px 6px;border-radius:6px;border:1px solid var(--sep);background:#0f141d;color:var(--fg);width:90px}
.admin-select{background:#0f141d;color:var(--fg);border:1px solid var(--sep);border-radius:6px;padding:6px}
.admin-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 10px;cursor:pointer}
.admin-btn:hover{opacity:.9}
.admin-btn.secondary{background:#1e2530;color:var(--fg);border:1px solid var(--sep)}
.admin-sticky-head{position:sticky;top:48px;z-index:5;background:var(--bg);padding:6px 0}
.admin-scroll{max-height:60vh;overflow:auto;border:1px solid var(--sep);border-radius:8px}
.admin-table input[type="number"]{width:90px}
.admin-table input[type="text"]{width:200px}
.admin-table select{min-width:120px}

/* ======= Responsive (garder Ads visibles) ======= */
@media (max-width:1100px){
  .container{
    grid-template-columns:240px 1fr 240px;
    grid-template-areas:"left content right";
  }
  .sidebar.left{ top:44px; max-height:calc(100vh - 52px) }
  button,input,select{ min-height:40px }
  .panel{padding:12px}
  .chart{height:240px}
}

@media (max-width:900px){
  .container{
    grid-template-columns:1fr;
    grid-template-areas:
      "left"
      "content"
      "right"; /* Ads sous le contenu */
    gap:12px; padding:10px;
  }
  .sidebar.left{ position:static; max-height:none; margin:0; }
  .sidebar.right{ margin:0; display:block; } /* assurer l’affichage en pile */
  .topbar{gap:8px}
  .rightbox{width:100%;justify-content:flex-end}
  .chart{height:230px}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.tight th, table.tight td{white-space:nowrap}
  .lastline{flex-wrap:wrap;gap:6px}
}

@media (max-width:700px){
  html,body{font-size:16px;line-height:1.5}
  .topbar{padding:10px}
  .brand{font-size:16px}
  .container{padding:10px}
  .panel{padding:12px}
  .form-grid{grid-template-columns:1fr;max-width:100%}
  .form-actions{grid-column:1}
  .btn-primary,.btn-secondary,button{width:100%}
  input,select,button{min-height:44px}
  .chart{height:220px}
  .list-scroll{max-height:180px}
  .footer{flex-direction:column;gap:6px;align-items:flex-start}
  .login-wrap{max-width:560px}
}

@media (max-width:420px){
  .topbar{gap:6px}
  .rightbox{gap:8px}
  .chart{height:200px}
  .pair-card,.panel{padding:10px}
  thead th{font-size:12px}
  table.tight th, table.tight td{padding:8px}
}

/* Bannières */
.banner.warn{
  background:#fff3cd;color:#664d03;padding:8px 12px;border:1px solid #ffecb5;border-radius:6px;margin:8px 0
}

/* Banner: 2 lignes (hint + CTA) + bouton close à droite */
.rate-banner{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
  background:var(--card); color:var(--fg); border:1px solid var(--sep); border-radius:10px;
  padding:20px 24px; display:none; gap:14px; align-items:center; justify-content:center; flex-direction:column;
  box-shadow:0 8px 32px rgba(0,0,0,.45); max-width:400px; text-align:center; z-index:1000
}
.rate-banner .msg{margin-bottom:10px; font-size:15px}
.rate-banner .cta{ background:var(--accent); color:#fff; padding:8px 14px; border-radius:6px; text-decoration:none; }
.rate-banner .close{ background:transparent; color:var(--muted); border:0; font-size:18px; cursor:pointer; margin-top:8px; }

/* Pages sans colonne gauche */
.no-left .sidebar.left{ display:none }
.no-left .container{
  grid-template-columns: 1fr 260px;
  grid-template-areas: "content right";
}
@media (max-width:900px){
  .no-left .container{
    grid-template-columns:1fr;
    grid-template-areas:
      "content"
      "right"; /* pub sous le contenu même sans colonne gauche */
  }
  .no-left .sidebar.right{ display:block; margin:0; }
}

/* Analytics chart wrapper */
.chart-wrap{width:100%;overflow:hidden}
.hidden{display:none}
.panel .actions{margin-top:10px; display:flex; gap:10px; flex-wrap:wrap}
.panel .actions .btn{padding:8px 12px; border-radius:6px; text-decoration:none; background:var(--accent); color:#fff}
.panel .actions .link{font-size:.95em}
ul.bullet{margin:8px 0 0 18px}




/* === Upsell : bordures clignotantes lentes === */
.upsell-blink{
  position: relative;
  border: 2px solid transparent;
  border-radius: 10px;
  animation: upsell-border-blink 4s ease-in-out infinite;
}

/* Animation de la bordure (pulsation lente, changement d'intensité/couleur) */
@keyframes upsell-border-blink{
  0%   { border-color: rgba(58,160,255,0.1); box-shadow: 0 0 4px rgba(58,160,255,0.1); }
  25%  { border-color: rgba(58,160,255,0.6); box-shadow: 0 0 12px rgba(58,160,255,0.6); }
  50%  { border-color: rgba(58,160,255,0.2); box-shadow: 0 0 6px rgba(58,160,255,0.2); }
  75%  { border-color: rgba(30,203,119,0.6); box-shadow: 0 0 12px rgba(30,203,119,0.6); }
  100% { border-color: rgba(58,160,255,0.1); box-shadow: 0 0 4px rgba(58,160,255,0.1); }
}

/* Survol = halo plus marqué */
.upsell-blink:hover{
  border-color: rgba(58,160,255,0.8);
  box-shadow: 0 0 16px rgba(58,160,255,0.8);
}

/* Accessibilité : désactive pour ceux qui préfèrent moins d’animations */
@media (prefers-reduced-motion: reduce){
  .upsell-blink{ animation: none !important; }
}
.nav-user{
  display:flex;
  align-items:center;
  gap:12px;
}
.nav-user a{
  display:flex;
  align-items:center;
  gap:6px;
}

/* Affiliate pill */
/* === Affiliate link avec bordure clignotante lente === */
.aff-link{
  position: relative;
  margin-left:.4rem;
  padding:4px 12px;
  border:2px solid transparent;
  border-radius:8px;
  font-size:.9rem;
  font-weight:500;
  text-decoration:none;
  display:inline-block;
  color:var(--fg);       /* variables déjà présentes dans tes thèmes */
  background:var(--bg2);
  animation: aff-border-blink 4s ease-in-out infinite;
  transition: background .2s, color .2s;
}
.aff-link:hover{
  border-color: rgba(42,108,255,0.8);
  box-shadow: 0 0 16px rgba(42,108,255,0.8);
  background:var(--bg3);
}

/* Animation de la bordure (halo discret bleu) */
@keyframes aff-border-blink{
  0%   { border-color: rgba(42,108,255,0.15); box-shadow: 0 0 4px rgba(42,108,255,0.15); }
  25%  { border-color: rgba(42,108,255,0.6);  box-shadow: 0 0 12px rgba(42,108,255,0.6); }
  50%  { border-color: rgba(42,108,255,0.25); box-shadow: 0 0 6px rgba(42,108,255,0.25); }
  75%  { border-color: rgba(37,99,235,0.6);   box-shadow: 0 0 12px rgba(37,99,235,0.6); }
  100% { border-color: rgba(42,108,255,0.15); box-shadow: 0 0 4px rgba(42,108,255,0.15); }
}


/* === Direct Messages (DM) === */
.wrap.dm{
  max-width:1100px;margin:16px auto;padding:0 10px;display:grid;gap:12px;
  grid-template-columns: 340px 1fr;
}
.dm-title{display:flex;align-items:center;gap:8px;font-size:16px;margin:0}
.dm-threads{
  background:var(--card);border:1px solid var(--sep);border-radius:12px;min-height:520px;
  display:flex;flex-direction:column;overflow:hidden
}
.dm-threads-header{
  display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--sep);
  position:sticky;top:0;background:var(--card);z-index:2
}
.dm-threads-tools{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--sep)}
.dm-threads-tools .input{flex:1;min-width:0}
.dm-threads-list{
  overflow:auto; padding:6px; display:flex; flex-direction:column; gap:6px; min-height:0;
}
.dm-thread{
  display:grid; grid-template-columns:auto 1fr auto; gap:6px;
  align-items:center; padding:8px; border:1px solid var(--sep); border-radius:10px; background:#0f141d; cursor:pointer;
}
.dm-thread:hover{ background:#131a25; }
.dm-thread .peer{
  grid-column:1 / span 2; display:flex; align-items:center; gap:8px; font-weight:600;
}
.dm-thread .last{ grid-column:1 / span 3; color:var(--muted); font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.dm-thread .badge{ background:var(--accent); color:#fff; border-radius:999px; padding:2px 8px; font-size:.75rem }

.dm-view{
  background:var(--card);border:1px solid var(--sep);border-radius:12px;min-height:520px;
  display:grid; grid-template-rows: auto 1fr auto; overflow:hidden; min-width:0;
}
.dm-view-header{
  display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid var(--sep);
  position:sticky; top:0; background:var(--card); z-index:2;
}
.peer{ display:flex; align-items:center; gap:10px }
.peer-avatar{ width:28px; height:28px; border-radius:50%; background:#0f141d; border:1px solid var(--sep) }

.dm-messages{
  padding:12px; overflow:auto; display:flex; flex-direction:column; gap:8px; min-height:0; scroll-behavior:smooth;
}
.dm-empty{
  color:var(--muted); text-align:center; padding:40px 10px; border:1px dashed var(--sep); border-radius:10px;
}

.dm-msg{ max-width:78%; padding:8px 10px; border-radius:12px; display:inline-block; position:relative }
.dm-msg .dm-body{ white-space:pre-wrap; word-wrap:break-word; }
.dm-msg .dm-ts{ color:var(--muted); font-size:.78rem; margin-top:4px }
.dm-msg.me{ align-self:flex-end; background:#19324a; border:1px solid #244760 }
.dm-msg.peer{ align-self:flex-start; background:#1a221e; border:1px solid #274234 }
.dm-msg img.dm-img{ display:block; max-width:360px; height:auto; border-radius:10px; border:1px solid var(--sep); margin-bottom:6px }
.dm-file{ display:inline-flex; gap:6px; align-items:center; padding:6px 8px; background:#0f141d; border:1px solid var(--sep); border-radius:8px }

.dm-inputbar{
  border-top:1px solid var(--sep); padding:8px; background:rgba(0,0,0,.15);
  position:sticky; bottom:0; z-index:2;
}
.dm-form{ display:grid; grid-template-columns: 1fr; gap:8px }
.dm-form .to{ width:100% }
.composer{ display:grid; grid-template-columns: 1fr auto auto; gap:8px; align-items:center }
.composer .msg{ width:100%; resize:none; max-height:180px; }
.iconbtn.attach{
  padding:6px 8px; border:1px solid var(--sep); border-radius:8px; background:#0f141d; display:inline-flex; align-items:center; justify-content:center; min-height:36px
}
.btn.send{ min-width:88px }

.dm-preview{ margin-top:8px; border:1px solid var(--sep); border-radius:10px; padding:8px; background:#0f141d }
.dm-att{ display:flex; align-items:center; gap:8px }
.dm-att-img img{ max-width:200px; height:auto; border-radius:8px; border:1px solid var(--sep) }
.dm-att-name{ color:var(--muted) }

/* Mobile: pile verticale, threads au-dessus */
@media (max-width:900px){
  .wrap.dm{ grid-template-columns: 1fr; }
  .dm-threads{ order:1; min-height:300px }
  .dm-view{ order:2; min-height:420px }
  .dm-msg img.dm-img{ max-width:100% }
}

/* Forcer les <img class="icon"> SVG monochromes à suivre le texte */
img.icon {
  display:inline-block;
  width:1em; height:1em;
  vertical-align:middle;
  color: var(--accent);
  filter: invert(36%) sepia(98%) saturate(2466%) hue-rotate(205deg) brightness(96%) contrast(101%);
}

/* Exemple : héritage direct de la couleur du parent */
.nav-user a,
.dm-view-header .peer,
.dm-threads-header .dm-title {
  color: var(--accent);
}

/* Messages header alert (unread DM) */
.nav-dm.dm-attn{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: .4rem;
  padding: 4px 10px;
  border: 2px solid transparent;
  border-radius: 8px;
  font-weight: 500;
  color: var(--fg);
  background: var(--bg2);
  animation: dm-attn-border 4s ease-in-out infinite;
  transition: background .2s, color .2s, box-shadow .2s, border-color .2s;
}
.nav-dm.dm-attn:hover{
  border-color: rgba(42,108,255,0.8);
  box-shadow: 0 0 16px rgba(42,108,255,0.8);
  background: var(--bg3);
}
@keyframes dm-attn-border{
  0%   { border-color: rgba(42,108,255,0.15); box-shadow: 0 0 4px rgba(42,108,255,0.15); }
  25%  { border-color: rgba(42,108,255,0.6);  box-shadow: 0 0 12px rgba(42,108,255,0.6); }
  50%  { border-color: rgba(42,108,255,0.25); box-shadow: 0 0 6px rgba(42,108,255,0.25); }
  75%  { border-color: rgba(37,99,235,0.6);   box-shadow: 0 0 12px rgba(37,99,235,0.6); }
  100% { border-color: rgba(42,108,255,0.15); box-shadow: 0 0 4px rgba(42,108,255,0.15); }
}
/* le badge conserve son look, mais s'intègre bien dans la pilule */
#dm-badge.badge{ margin-left: 2px; }

html, body { height:100%; }
body { display:flex; min-height:100vh; flex-direction:column; }
main.container { flex:1; }
footer.footer { margin-top:auto; }
/* Modal minimal */
.modal.hidden { display:none; }
.modal { position:fixed; inset:0; z-index:1000; }
.modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.5); }
.modal-card { position:relative; width:min(680px, 96vw); margin:5vh auto; background:var(--card, #121212); color:var(--fg, #eee); border-radius:12px; box-shadow:0 10px 40px rgba(0,0,0,0.4); padding:12px; }
.modal-head { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--sep,#333); padding-bottom:6px; }
.modal-body { padding:10px 0; }
.modal-foot { display:flex; gap:8px; justify-content:flex-end; border-top:1px solid var(--sep,#333); padding-top:8px; }
.modal-close { background:none; border:0; font-size:20px; line-height:1; color:inherit; cursor:pointer; }

/* Training Trading utility styles — dark theme aware */
.tt-portfolio{ float:right; font-size:14px; color:var(--muted); }
.tt-portfolio strong{ color:var(--fg); }

/* Modal */
.tt-modal{ position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; z-index:1000; }
.tt-modal-dialog{
  background:var(--card); color:var(--fg);
  max-width:520px; margin:10vh auto; padding:16px;
  border:1px solid var(--sep); border-radius:10px;
}

/* Forms */
.tt-form .row{ display:flex; gap:8px; align-items:center; margin-bottom:8px; }

/* Actions / Buttons */
.tt-actions{ display:flex; gap:8px; justify-content:flex-end; }
.tt-btn{
  padding:8px 12px; min-height:36px;
  background:var(--accent); color:#fff;
  border:none; border-radius:8px; cursor:pointer;
}
.tt-btn:hover{ opacity:.92; }
.tt-btn-ghost{
  padding:6px 10px; min-height:36px;
  background:transparent; color:var(--fg);
  border:1px solid var(--sep); border-radius:8px; cursor:pointer;
}
.tt-btn-ghost:hover{ background:rgba(255,255,255,.03); }

/* Tables */
.tt-table{ width:100%; border-collapse:collapse; }
.tt-table th,.tt-table td{ border-bottom:1px solid var(--sep); padding:6px 8px; text-align:left; }
.tt-table thead th{ font-weight:600; color:var(--muted); }

/* Cards */
.tt-card{
  background:var(--card);
  border:1px solid var(--sep);
  padding:12px; border-radius:12px; margin:12px 0;
}

/* Toast */
.tt-toast{
  position:fixed; left:50%; transform:translateX(-50%);
  bottom:24px; background:rgba(17,23,32,.96);
  color:var(--fg); padding:8px 12px; border-radius:8px;
  border:1px solid var(--sep);
  display:none; z-index:1100;
}
.tt-toast.error{
  background:rgba(40,10,10,.96);
  border-color: rgba(255,92,92,.6);
  color:#fff;
}

/* Minor helpers for dark grid look */
.tt-table tbody tr:hover{ background:rgba(255,255,255,.02); }
.tt-check input{ accent-color:var(--accent); }

/* Training Trading portfolio color */
#tt-portfolio-equity.portfolio-loss {
  color: #c00; /* rouge */
  font-weight: bold;
}
#tt-portfolio-equity.portfolio-gain {
  color: #080; /* vert */
  font-weight: bold;
}
