:root{
  --bg:#111; --panel:#161616; --text:#eee; --muted:#aaa;
  --accent:#FFD700; --border:#242424; --ok:#12d48b; --danger:#f14646;
}
*{box-sizing:border-box}
body.mlm-portal{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu}
a{color:#ddd;text-decoration:none}
a:hover{color:#fff}

/* Utilities */
.hidden{ display:none !important; } /* ← NEW: fallback, help text hidden নিশ্চিত */

/* Cards & layout */
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .15s ease, box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.35)}
.muted{color:var(--muted)}
.alert{padding:10px 12px;border-radius:12px;margin:10px 0}
.alert.error{background:#2a0d0d;color:#f7caca;border:1px solid #4a1212}
.alert.ok{background:#072716;color:#b1ffd6;border:1px solid #0f4f2d}

/* Topbar */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;background:#0d0d0d;border-bottom:1px solid var(--border);
  position:relative; z-index:2000;
}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.3px}
.logo{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--accent);color:#111;font-weight:900}
.userchip{
  display:inline-flex !important; gap:10px; align-items:center;
  background:#141414; padding:8px 10px; height:38px; box-sizing:border-box;
  flex:0 0 auto !important; border-radius:999px; width:auto !important;
  border:1px solid var(--border); position:relative; cursor:pointer;
  z-index:2100; overflow:visible !important; max-width:240px; white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.topbar .userchip img.avatar{ width:28px; height:28px; flex:0 0 28px; border-radius:50%;}
.topbar .userchip .id{ font-size:12px; font-weight:700; text-overflow:ellipsis; overflow:hidden; }
.topbar .userchip .em{ font-size:12px; color:var(--muted); text-overflow:ellipsis; overflow:hidden; }
.topbar .userchip svg{ width:14px; height:14px; flex:0 0 14px; opacity:.85; }
.topbar .userchip.open{ height:38px; padding:6px 8px; }

/* Generic dropdown */
.dropdown{
  position:absolute;top:42px;right:0;background:#0c0c0c;border:1px solid var(--border);
  border-radius:12px;display:none;min-width:220px;overflow:hidden;
  z-index:3000; -webkit-overflow-scrolling:touch;
}

/* User dropdown */
#userdropdown{
  position:absolute; top:66px; right:18px; background:#0c0c0c;
  border:1px solid #242424; border-bottom-left-radius: 8px; min-width:220px;
  overflow:hidden; z-index:3000;
}
#userdropdown[hidden]{ display:none !important; }
.dropdown a, #userdropdown a{display:block;padding:10px 12px;color:#cbd5e1;text-decoration:none}
.dropdown a:hover, #userdropdown a:hover{background:#161616}
.dropdown a.logout, #userdropdown a.logout{color:#111;background:var(--accent);font-weight:800}
.dropdown a.logout:hover, #userdropdown a.logout:hover{filter:brightness(.95)}

/* Layout */
.layout{display:flex;min-height:calc(100vh - 60px)}
.sidebar{width:250px;background:#0f0f0f;border-right:1px solid var(--border);padding:14px;position:sticky;top:0;align-self:flex-start}
.menu a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:12px 14px;border-radius:12px;color:#cbd5e1;margin:6px 0;
  border:1px solid transparent;transition:background .15s ease,border-color .15s ease
}
.menu a.active,.menu a:hover{background:#171717;color:#fff;border-color:#2a2a2a}
.menu a .dot{width:8px;height:8px;border-radius:999px;background:transparent}
.menu a.active .dot{background:var(--accent)}
.content{flex:1;padding:18px}

/* Grid stats */
.grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:16px;margin-bottom:18px}
.grid1{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:16px;margin-bottom:18px}
.stat .stat-title{color:var(--muted);font-size:12px;margin-bottom:6px}
.stat .stat-value{font-size:28px;font-weight:800}

/* Buttons */
.btn{display:inline-block;padding:11px 16px;border-radius:12px;background:var(--accent);color:#111;text-decoration:none;font-weight:800;transition:transform .15s ease, box-shadow .15s ease}
.btn1{display:inline-block;background:var(--accent);color:#111;text-decoration:none;}
.btn:hover{transform:translateY(-1px);}
.btn.full{width:100%}
.btn.primary{background:var(--accent);color:#111}
.btn.secondary{background:#222;color:#ddd}
.btn1.secondary1{
  background: #FFD700;
  color: #111;
  text-decoration: none;
  font-weight: 600;
}

/* Auth pages */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}
.auth-card{width:100%;max-width:460px}
.brand .title{font-size:22px}

/* Forms */
.form label{display:block;margin:14px 0 6px;color:#ddd;font-size:13px}
.form input{width:100%;padding:12px;border-radius:12px;border:1px solid #2a2a2a;background:#0c0c0c;color:#eee;outline:none}
.form input:focus{border-color:#3a3a3a;box-shadow:0 0 0 3px rgba(255,215,0,.12)}
.form .row{display:flex;gap:12px}
.form .col{flex:1}
.auth-foot{margin-top:10px}

/* === Password toggle (global) === */
.pwd-wrap{ position:relative; }
.pwd-wrap input{ width:100%; padding-right:42px; position:relative; z-index:1; }
.pwd-toggle{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border:0; background:transparent; cursor:pointer;
  display:grid; place-items:center; color:#cbd5e1; opacity:.85;
  z-index:3; pointer-events:auto;
}
.pwd-toggle:hover{ opacity:1; }
.pwd-toggle:focus{ outline:2px solid #2a2a2a; border-radius:8px; }
.pwd-toggle svg{ width:18px; height:18px; }
.pwd-toggle svg{ width:18px; height:18px; }


/* Register password help / validation */
#fox-register-form input.is-invalid{
  border-color:var(--danger) !important;
  box-shadow:0 0 0 3px rgba(241,70,70,.18) !important;
}

/* Honeypot (keep far off-screen and inert) */
.hp-wrap{
  position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;
  z-index:-1; pointer-events:none;
}

/* Turnstile spacing */
.cf-turnstile{ margin:12px 0 6px; }

/* Responsive */
@media (max-width:980px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid1{grid-template-columns:repeat(3,minmax(0,1fr))}
  .topbar .userchip{ max-width:200px; }
  .topbar .userchip .meta{ max-width:130px; }
  .topbar .userchip .em{ display:none; }
  body.show-sidebar::before{ z-index:1500 !important; pointer-events:none !important; }
}
@media (max-width:540px){
  .grid{grid-template-columns:1fr}
  .grid1{grid-template-columns:1fr}
  .topbar .userchip{ max-width:160px; height:36px; padding:5px 8px; }
  .topbar .userchip img.avatar{ width:26px; height:26px; flex-basis:26px; }
  .topbar .userchip .meta{ max-width:100px; }
  .topbar .userchip .id{ font-size:11px; }
}

/* Safety */
.userchip, .userchip *{ pointer-events:auto !important; }

/* Avatar chip sizing */
.topbar .userchip{ flex:0 0 auto; padding:6px 10px; white-space:nowrap; }
.topbar .userchip img.avatar{ width:28px; height:28px; border-radius:50%; flex:0 0 28px; }
.topbar .userchip .meta{ max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.topbar .userchip .id{ font-size:12px; }
.topbar .userchip .em{ font-size:12px; color: var(--muted); }
.topbar .userchip.open{ padding:6px 10px; }

@media (max-width:980px){
  .topbar .userchip{ padding:6px 8px; }
  .topbar .userchip .meta{ max-width:120px; }
  .topbar .userchip .em{ display:none; }
}




/* ===== Live Prices Ticker (Forex + Crypto) — FULL CSS ===== */
.ticker-wrap{
  position: relative;
  margin: 8px 0 14px;
}

/* Common container styling */
.ticker-wrap .tradingview-widget-container{
  position: relative;
  background: transparent !important; /* backstop */
  border: 1px solid var(--border, #232323);
  border-radius: 12px;
  overflow: hidden;
  box-shadow:
    0 1px 0 rgba(255,255,255,.03),
    0 0 0 1px rgba(255,255,255,.03) inset;
}
.ticker-wrap .tradingview-widget-container__widget{
  min-height: 44px;            /* compact height */
  background: transparent !important; /* backstop */
}

/* Click-guard overlay (prevents redirect to TradingView) */
.ticker-wrap .tv-guard{
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: auto;
}
.ticker-wrap .tv-guard a{
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px; /* invisible but focusable */
  outline: none;
}

/* Layout switching */
.ticker-desktop{ display: none; }
.ticker-mobile { display: block; }

@media (min-width: 1000px){
  .ticker-desktop{ display: block; }
  .ticker-mobile { display: none; }
}

/* Slightly taller on very small screens */
@media (max-width: 420px){
  .ticker-wrap .tradingview-widget-container__widget{
    min-height: 48px;
  }
}

/* Ensure no unexpected white flash from ancestors */
.ticker-wrap,
.ticker-wrap *:where(.tradingview-widget-container, .tradingview-widget-container__widget){
  background-color: transparent !important;
}




/* ===== Idle Modal ===== */
.fc-idle-modal { position: fixed; inset: 0; z-index: 999999; }
.fc-idle-modal[aria-hidden="true"] { display: none; }
.fc-idle-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); backdrop-filter: blur(2px); }
.fc-idle-card {
  position: relative; max-width: 420px; margin: 10vh auto; background: #0B0B0C; color: #EDEDED;
  border: 1px solid #2A2A2C; border-radius: 16px; padding: 20px; box-shadow: 0 10px 30px rgba(0,0,0,.5);
}
.fc-idle-head { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.fc-idle-logo { width:36px;height:36px;border-radius:10px;background:#FFCC00;color:#111;display:grid;place-items:center;font-weight:800; }
.fc-idle-text { margin: 6px 0 16px; color:#CFCFCF; }
.fc-idle-actions { display:flex; gap:10px; justify-content:flex-end; }
.fc-btn-primary {
  background:#FFCC00; color:#111; border:none; font-weight:700; padding:10px 14px; border-radius:10px; cursor:pointer;
}
.fc-btn-ghost {
  background:transparent; color:#EDEDED; border:1px solid #444; padding:10px 14px; border-radius:10px; cursor:pointer;
}
.fc-btn-primary:hover { filter: brightness(.95); }
.fc-btn-ghost:hover { border-color:#666; }
