/* ===========================================
   SYNTHEDGE v2 — DASHBOARD CSS
   =========================================== */

.dash-body { display:flex; min-height:100vh; background:var(--bg-base); }

/* SIDEBAR */
.sidebar {
  width:240px; flex-shrink:0;
  background:var(--bg-card); border-right:1px solid var(--border);
  display:flex; flex-direction:column;
  position:fixed; top:0; left:0; bottom:0; z-index:50;
  transition: transform .3s ease; overflow-y:auto;
}
.sidebar-logo { padding:20px 20px 16px; border-bottom:1px solid var(--border); }
.sidebar-nav { flex:1; padding:12px 10px; display:flex; flex-direction:column; gap:2px; }
.snav-item {
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:var(--r-sm);
  font-size:13px; font-weight:500; color:var(--text-3);
  transition: background .15s, color .15s; cursor:pointer;
}
.snav-item:hover { background:rgba(255,255,255,0.04); color:var(--text-1); }
.snav-item.active { background:var(--orange-soft); color:var(--orange); }
.snav-item svg { flex-shrink:0; }
.snav-divider { height:1px; background:var(--border); margin:8px 12px; }
.snav-logout { color:var(--text-3); margin-top:auto; }
.snav-logout:hover { color:var(--red); background:rgba(251,91,91,0.08); }

.sidebar-premium {
  margin:10px; padding:14px;
  background:linear-gradient(135deg, rgba(255,107,53,0.12) 0%, rgba(45,212,191,0.08) 100%);
  border:1px solid rgba(255,107,53,0.25); border-radius:var(--r-md);
  display:flex; align-items:center; gap:10px;
}
.sp-icon { font-size:18px; }
.sp-text { flex:1; }
.sp-text strong { display:block; font-size:12px; color:var(--text-1); }
.sp-text span { font-size:11px; color:var(--text-3); }
.sp-btn { background:var(--orange); color:#1A0E08; padding:5px 10px; border-radius:var(--r-sm); font-size:11px; font-weight:700; white-space:nowrap; transition:background .2s; }
.sp-btn:hover { background:var(--orange-hi); }

/* MAIN */
.dash-main { flex:1; margin-left:240px; display:flex; flex-direction:column; min-height:100vh; }

/* TOPBAR */
.topbar {
  height:60px; border-bottom:1px solid var(--border);
  background:rgba(15,18,41,0.9); backdrop-filter:blur(10px);
  display:flex; align-items:center; padding:0 24px; gap:16px;
  position:sticky; top:0; z-index:40;
}
.sidebar-toggle { color:var(--text-3); padding:6px; border-radius:var(--r-sm); display:none; transition:color .2s; }
.sidebar-toggle:hover { color:var(--text-1); }
.topbar-title { font-family:var(--font-display); font-weight:700; font-size:15px; }
.topbar-right { display:flex; align-items:center; gap:12px; margin-left:auto; }
.topbar-notif { position:relative; color:var(--text-3); padding:6px; border-radius:var(--r-sm); transition:color .2s; }
.topbar-notif:hover { color:var(--text-1); }
.notif-dot { position:absolute; top:6px; right:6px; width:7px; height:7px; border-radius:50%; background:var(--orange); border:1.5px solid var(--bg-base); }
.topbar-user {
  display:flex; align-items:center; gap:8px;
  background:var(--bg-card); border:1px solid var(--border);
  padding:5px 12px 5px 5px; border-radius:100px; cursor:pointer;
  font-size:13px; font-weight:500; color:var(--text-2);
  transition:border-color .2s;
}
.topbar-user:hover { border-color:var(--border-soft); color:var(--text-1); }
.user-avatar {
  width:28px; height:28px; border-radius:50%;
  background:var(--orange-soft); border:1px solid rgba(255,107,53,0.3);
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:700; color:var(--orange);
}

/* CONTENT */
.dash-content { padding:28px 24px; display:flex; flex-direction:column; gap:20px; }
.dash-greeting { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.dash-greeting h1 { font-family:var(--font-display); font-size:1.4rem; font-weight:800; margin-bottom:4px; }
.dash-greeting p { font-size:13px; color:var(--text-2); }

/* STAT CARDS */
.dash-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.dcard { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-md); padding:18px 20px; }
.dcard-accent { border-color:rgba(255,107,53,0.3); background:linear-gradient(135deg, rgba(255,107,53,0.07), var(--bg-card)); }
.dcard-label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--text-3); margin-bottom:8px; }
.dcard-value { font-family:var(--font-display); font-size:1.5rem; font-weight:800; margin-bottom:4px; }
.dcard-sub { font-size:12px; color:var(--text-3); }

/* GRID */
.dash-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.dbox-col { display:flex; flex-direction:column; gap:20px; }

/* BOX */
.dbox { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-lg); padding:22px; }
.dbox-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; gap:12px; }
.dbox-header h2 { font-family:var(--font-display); font-size:14px; font-weight:700; }
.dbox-link { font-size:12px; color:var(--orange); transition:opacity .2s; }
.dbox-link:hover { opacity:.8; }

/* STATUS BADGES */
.status-badge { padding:3px 10px; border-radius:100px; font-size:11px; font-weight:700; }
.status-active { background:rgba(52,211,153,0.12); color:var(--green); }
.status-pending { background:rgba(255,176,32,0.12); color:var(--amber); }
.status-failed { background:rgba(251,91,91,0.12); color:var(--red); }

/* PHASE STEPS */
.phase-steps { margin-bottom:24px; }
.phase-step { display:flex; align-items:center; gap:12px; padding:10px 0; }
.phase-line { width:2px; height:20px; background:var(--border); margin-left:9px; }
.ps-dot { width:20px; height:20px; border-radius:50%; border:2px solid var(--border); background:var(--bg-base); flex-shrink:0; }
.ps-dot-active { border-color:var(--orange); background:var(--orange); box-shadow:0 0 10px var(--orange-glow); }
.ps-info { flex:1; }
.ps-name { display:block; font-size:13px; font-weight:700; }
.ps-rule { display:block; font-size:11px; color:var(--text-3); margin-top:1px; }
.ps-pct { font-size:13px; font-weight:700; color:var(--orange); }

/* PROGRESS BARS */
.progress-section { margin-bottom:20px; }
.progress-labels { display:flex; justify-content:space-between; margin-bottom:8px; font-size:12px; color:var(--text-3); }
.progress-bar-wrap { height:8px; border-radius:100px; background:rgba(255,255,255,0.06); overflow:hidden; }
.progress-bar-fill { height:100%; border-radius:100px; background:linear-gradient(90deg, var(--orange), var(--amber)); transition:width .8s ease; }
.rm-green { background:linear-gradient(90deg, var(--green), #1fa97f); }
.rm-amber { background:linear-gradient(90deg, var(--amber), #d99016); }

/* RISK METERS */
.risk-meters { display:flex; flex-direction:column; gap:14px; margin-bottom:20px; }
.rm-top { display:flex; justify-content:space-between; font-size:12px; color:var(--text-3); margin-bottom:6px; }
.rm-val { font-weight:700; }

/* RULES CHECK */
.rules-check { display:flex; flex-direction:column; gap:8px; }
.rule-row { display:flex; align-items:center; gap:8px; font-size:12px; padding:6px 10px; border-radius:var(--r-sm); }
.rule-ok { color:var(--green); background:rgba(52,211,153,0.06); }
.rule-pending { color:var(--amber); background:rgba(255,176,32,0.06); }
.rule-fail { color:var(--red); background:rgba(251,91,91,0.06); }

/* MT5 CREDENTIALS */
.cred-grid { display:flex; flex-direction:column; gap:12px; margin-bottom:14px; }
.cred-label { display:block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--text-3); margin-bottom:4px; }
.cred-value-row { display:flex; align-items:center; gap:8px; background:var(--bg-base); border:1px solid var(--border); border-radius:var(--r-sm); padding:8px 12px; }
.cred-value { font-family:'Courier New',monospace; font-size:14px; font-weight:700; flex:1; letter-spacing:.05em; }
.copy-btn { color:var(--text-3); padding:2px; border-radius:4px; transition:color .2s; flex-shrink:0; }
.copy-btn:hover { color:var(--orange); }
.toggle-pass-btn { color:var(--text-3); padding:2px; border-radius:4px; transition:color .2s; flex-shrink:0; }
.toggle-pass-btn:hover { color:var(--text-1); }
.cred-notice {
  display:flex; align-items:center; gap:6px; font-size:11px; color:var(--text-3);
  padding:8px 10px; background:rgba(251,91,91,0.05); border:1px solid rgba(251,91,91,0.15);
  border-radius:var(--r-sm);
}
.cred-notice svg { color:var(--red); flex-shrink:0; }

/* QUICK STATS */
.quick-stats { display:flex; flex-direction:column; gap:0; }
.qs-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--border); font-size:13px; }
.qs-row:last-child { border-bottom:none; }
.qs-label { color:var(--text-3); }
.qs-val { font-weight:500; }

/* TABLE */
.table-wrap { overflow-x:auto; }
.dash-table { width:100%; border-collapse:collapse; font-size:13px; }
.dash-table th { text-align:left; padding:10px 12px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--text-3); border-bottom:1px solid var(--border); }
.dash-table td { padding:12px 12px; border-bottom:1px solid rgba(255,255,255,0.03); }
.dash-table tr:last-child td { border-bottom:none; }
.dash-table tr:hover td { background:rgba(255,255,255,0.015); }
.instrument-tag { background:var(--orange-soft); color:var(--orange); padding:3px 8px; border-radius:4px; font-size:11px; font-weight:700; white-space:nowrap; }
.trade-type { padding:2px 8px; border-radius:4px; font-size:11px; font-weight:700; }
.buy { background:rgba(52,211,153,0.1); color:var(--green); }
.sell { background:rgba(251,91,91,0.1); color:var(--red); }
.pnl-pos { color:var(--green); font-weight:700; }
.pnl-neg { color:var(--red); font-weight:700; }
.trade-status { padding:2px 8px; border-radius:4px; font-size:11px; font-weight:700; }
.closed { background:rgba(255,255,255,0.06); color:var(--text-3); }
.open { background:rgba(52,211,153,0.1); color:var(--green); }

/* NOTIFICATIONS */
.notif-list { display:flex; flex-direction:column; gap:12px; }
.notif-item { display:flex; gap:12px; padding:12px; border-radius:var(--r-md); border:1px solid var(--border); }
.notif-info { border-color:rgba(255,107,53,0.15); background:rgba(255,107,53,0.04); }
.notif-warning { border-color:rgba(255,176,32,0.15); background:rgba(255,176,32,0.04); }
.notif-success { border-color:rgba(52,211,153,0.15); background:rgba(52,211,153,0.04); }
.notif-icon { font-size:18px; flex-shrink:0; }
.notif-title { font-size:13px; font-weight:700; margin-bottom:2px; }
.notif-desc { font-size:12px; color:var(--text-3); line-height:1.5; }
.notif-time { font-size:11px; color:var(--text-3); margin-top:4px; }

/* PAYOUT OVERVIEW */
.po-item { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--border); font-size:13px; }
.po-label { color:var(--text-3); }
.po-val { font-weight:700; }
.po-notice {
  display:flex; align-items:center; gap:6px; font-size:11px; color:var(--text-3);
  padding:8px 10px; background:rgba(255,255,255,0.03); border:1px solid var(--border);
  border-radius:var(--r-sm); margin-top:14px; line-height:1.5;
}

/* UTILITY */
.text-green { color:var(--green); }
.text-accent { color:var(--orange); }
.text-muted { color:var(--text-3); }

/* RESPONSIVE */
@media (max-width:1100px) { .dash-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px) {
  .sidebar { transform:translateX(-100%); }
  .sidebar.open { transform:translateX(0); }
  .dash-main { margin-left:0; }
  .sidebar-toggle { display:flex; }
  .dash-grid-2 { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .dash-cards { grid-template-columns:1fr 1fr; }
  .dash-greeting { flex-direction:column; }
  .dash-content { padding:16px; }
}
