*{margin:0;padding:0;box-sizing:border-box}
html,body{background:#050810;color:#e2e8f0;font-family:'SF Mono',Monaco,monospace;font-size:13px;min-height:100vh}
a{text-decoration:none;color:inherit}
.header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#111827cc;border-bottom:1px solid #1e293b;position:sticky;top:0;z-index:100}
.logo{font-size:18px;font-weight:900;color:#22c55e;letter-spacing:2px}
.live-btn{display:inline-block;margin-left:8px;padding:3px 14px;border:1px solid;border-radius:4px;font-size:12px;font-weight:800;letter-spacing:1px}
.live-btn:hover{opacity:0.8}
.global-kpi{display:flex;gap:8px;padding:8px 12px;background:#111827aa;flex-wrap:wrap;align-items:stretch}
.gk{flex:0 1 auto;min-width:90px;text-align:center;padding:10px 16px;background:#0f172a;border-radius:8px;border:1px solid #1e293b;display:flex;flex-direction:column;justify-content:center;align-items:center}
.gk .v{font-size:clamp(16px,2vw,26px);font-weight:900;white-space:nowrap;line-height:1.1;font-variant-numeric:tabular-nums}
.gk .l{font-size:10px;color:#64748b;letter-spacing:1px;text-transform:uppercase;margin-top:4px;white-space:nowrap}
.chart-section{margin:8px 12px;background:linear-gradient(180deg,#0a0f1a,#050810);border:1px solid #1e293b;border-radius:8px;padding:12px}
.chart-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.chart-label{font-size:11px;color:#22c55e;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.chart-info{font-size:10px;color:#64748b}
.chart-body{height:140px;background:#050810;border:1px solid #1e293b;border-radius:6px}
.chart-body svg{width:100%;height:100%}
.agents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;max-width:100%;box-sizing:border-box}
@media (max-width:600px){.agents-grid{grid-template-columns:1fr}}
.agent-card{background:linear-gradient(135deg,#111827,#0f172a);border:2px solid #1e293b;border-radius:12px;padding:16px;transition:border-color 0.2s,box-shadow 0.2s;display:block;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
.agent-card:hover{border-color:#22c55e;box-shadow:0 4px 20px rgba(34,197,94,0.2)}
.agent-card.gold:hover{border-color:#eab308;box-shadow:0 4px 20px rgba(234,179,8,0.3)}
.agent-card.btc:hover{border-color:#f59e0b;box-shadow:0 4px 20px rgba(245,158,11,0.3)}
.agent-card.equity:hover{border-color:#a855f7;box-shadow:0 4px 20px rgba(168,85,247,0.3)}
.agent-card.forex:hover{border-color:#06b6d4;box-shadow:0 4px 20px rgba(6,182,212,0.3)}
.agent-card.ghost:hover{border-color:#8b5cf6;box-shadow:0 4px 20px rgba(139,92,246,0.3)}
.agent-title{font-size:18px;font-weight:900;letter-spacing:2px;margin-bottom:4px}
.agent-card.gold .agent-title{color:#eab308}
.agent-card.btc .agent-title{color:#f59e0b}
.agent-card.equity .agent-title{color:#a855f7}
.agent-card.forex .agent-title{color:#06b6d4}
.agent-card.ghost .agent-title{color:#8b5cf6}
.agent-sub{font-size:11px;color:#64748b;margin-bottom:12px}
.agent-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}
.a-kpi{background:#050810;border:1px solid #1e293b;border-radius:6px;padding:6px;text-align:center;min-width:0;overflow:hidden}
.a-kpi .v{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-kpi .l{font-size:8px;color:#64748b;text-transform:uppercase;margin-top:2px;letter-spacing:0.5px}
.agent-mini-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}
.agent-mini-charts .mini-chart:nth-child(3){grid-column:1/-1}
.mini-chart{background:#050810;border:1px solid #1e293b;border-radius:6px;padding:4px;height:78px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.chart-header{display:flex;justify-content:space-between;align-items:center;font-size:9px;padding:0 2px 2px}
.chart-stats{display:flex;gap:5px;font-size:8px;color:#64748b}
.chart-stats .s{display:flex;flex-direction:column;align-items:center}
.chart-stats .k{color:#334155}
.mini-chart svg{flex:1;width:100%}
.agent-cta{text-align:center;padding:6px;background:#050810;border-radius:6px;font-size:10px;color:#22c55e;font-weight:700;letter-spacing:1px}
.green{color:#22c55e}.red{color:#ef4444}.cyan{color:#06b6d4}.yellow{color:#eab308}.gray{color:#64748b}.orange{color:#f59e0b}.purple{color:#a855f7}
.activity{margin:8px 12px;background:#0a0f1a;border:1px solid #22c55e44;border-radius:8px;padding:8px}
.activity-title{font-size:10px;color:#22c55e;text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:4px}
.activity-cols{display:grid;grid-template-columns:60px 90px 140px 70px 60px 1fr;font-size:9px;color:#64748b;padding:0 4px;gap:6px;margin-bottom:2px}
.activity-feed{max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#334155 transparent}
.activity-row{display:grid;grid-template-columns:60px 90px 140px 70px 60px 1fr;padding:3px 4px;font-size:10px;border-bottom:1px solid #0f172a;gap:6px;align-items:center}
.signature-table{margin:8px 12px;background:#111827cc;border:1px solid #1e293b;border-radius:8px;padding:12px}
.signature-table-title{font-size:11px;color:#eab308;text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #1e293b}
table{width:100%;border-collapse:collapse;font-size:12px}
th{text-align:left;padding:4px 8px;color:#64748b;font-size:9px;border-bottom:1px solid #1e293b;text-transform:uppercase;letter-spacing:0.5px}
td{padding:4px 8px;border-bottom:1px solid #0f172a}
.footer{text-align:center;padding:10px;color:#334155;font-size:10px}
.feeds-health{margin:8px 12px;background:#0a0f1a;border:1px solid #06b6d444;border-radius:8px;padding:8px}
.feeds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.feed-badge{padding:4px 8px;border-radius:4px;font-size:10px;text-align:center;background:#050810;border:1px solid #1e293b}
.feed-badge.on{border-color:#22c55e;color:#22c55e}
.feed-badge.off{border-color:#64748b;color:#64748b}

/* Mobile responsive < 480px (Sprint 12, audit Dim B 2026-05-14) */
@media (max-width:480px){
  body{font-size:12px}
  .header{padding:6px 8px;flex-wrap:wrap;gap:4px}
  .logo{font-size:14px;letter-spacing:1px}
  .live-btn{padding:2px 8px;font-size:10px;letter-spacing:0.5px;margin-left:4px}
  .global-kpi{padding:6px 8px;gap:4px}
  .gk{min-width:0;padding:6px 8px;flex:1 1 auto}
  .gk .v{font-size:13px}
  .gk .l{font-size:8px;letter-spacing:0.3px}
  .chart-section{margin:6px 8px;padding:8px}
  .chart-body{height:110px}
  .agents-grid{padding:8px;gap:8px}
  .agent-card{padding:10px}
  .agent-title{font-size:14px;letter-spacing:1px}
  .agent-sub{font-size:10px;margin-bottom:8px}
  .agent-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .a-kpi{padding:4px}
  .a-kpi .v{font-size:12px}
  .a-kpi .l{font-size:7px}
  .agent-mini-charts{grid-template-columns:1fr;gap:4px}
  .agent-mini-charts .mini-chart:nth-child(3){grid-column:auto}
  .mini-chart{height:60px}
  .agent-cta{font-size:9px;padding:4px}
  .activity{margin:6px 8px;padding:6px;overflow-x:auto}
  .activity-cols,.activity-row{grid-template-columns:50px 70px 1fr 60px 50px;font-size:9px;gap:4px}
  .activity-cols>*:nth-child(6),.activity-row>*:nth-child(6){display:none}
  .signature-table{margin:6px 8px;padding:8px;overflow-x:auto}
  .signature-table table{min-width:520px}
  .feeds-health{margin:6px 8px;padding:6px}
  .feeds-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:4px}
  .feed-badge{padding:3px 6px;font-size:9px}
}
#trades_feed .activity-row{grid-template-columns:60px 90px 140px 60px 80px 80px 1fr}

/* Tail style block extracted from index.html line 195 */
#trades_feed .activity-row{grid-template-columns:60px 90px 140px 60px 80px 80px 1fr}


/* Utility classes — Sprint S5b 2026-05-19 : reduce 184 inline style attrs */
.mono-xs{font-size:10px;font-family:monospace}
.card-dark{background:#000;border:1px solid #1e293b;border-radius:6px;padding:8px}
.fg-2{color:var(--fg-2)}
.fg-2-xs{color:var(--fg-2);font-size:10px}
.fg-muted{color:#64748b}
.fg-orange{color:#f59e0b}
.fg-green{color:#22c55e}
.fg-cyan{color:#06b6d4}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fs-11{font-size:11px}
.fw-700{font-weight:700}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row-spread{display:flex;justify-content:space-between;border-bottom:1px solid #1e293b22;padding:1px 0}
.mt-4-muted{margin-top:4px;color:#64748b}
.mt-4{margin-top:4px}
.fr-muted{float:right;color:#64748b;font-weight:400}
.center-pad-8{color:#334155;text-align:center;padding:8px}
.section-title{color:var(--fg-2);font-size:10px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px}
/* Dynamic-color utility — set --c via inline style="--c:#xxx" */
.dyn-c{color:var(--c)}

/* Sprint S5b round 2 (2026-06-01) : CSP3 strict — extract remaining inline styles */
/* Nav buttons (DASHBOARD/NEWS/FEEDS/SIGNATURES/API) */
.nav-tinted-green{background:#22c55e22;color:#22c55e;border-color:#22c55e}
.nav-tinted-purple{background:#a855f722;color:#a855f7;border-color:#a855f7}
.nav-tinted-cyan{background:#06b6d422;color:#06b6d4;border-color:#06b6d4}
.nav-tinted-yellow{background:#eab30822;color:#eab308;border-color:#eab308}
/* Mini labels (font-size:9px + tint + uppercase) */
.lbl-tint-red,.lbl-tint-purple,.lbl-tint-green,.lbl-tint-cyan,.lbl-tint-yellow,.lbl-tint-orange,.lbl-tint-indigo,.lbl-tint-pink{font-size:9px;font-weight:700;text-transform:uppercase;margin-bottom:6px}
.lbl-tint-red{color:#ef4444}.lbl-tint-purple{color:#a855f7}.lbl-tint-green{color:#22c55e}.lbl-tint-cyan{color:#06b6d4}.lbl-tint-yellow{color:#eab308}.lbl-tint-orange{color:#f59e0b}.lbl-tint-indigo{color:#6366f1}.lbl-tint-pink{color:#ec4899}
/* Section headers (font-size:10px + tint + uppercase + letter-spacing) */
.sec-head-red,.sec-head-purple,.sec-head-green,.sec-head-cyan,.sec-head-yellow,.sec-head-orange,.sec-head-indigo,.sec-head-pink{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-bottom:8px}
.sec-head-red{color:#ef4444}.sec-head-purple{color:#a855f7}.sec-head-green{color:#22c55e}.sec-head-cyan{color:#06b6d4}.sec-head-yellow{color:#eab308}.sec-head-orange{color:#f59e0b}.sec-head-indigo{color:#6366f1}.sec-head-pink{color:#ec4899}
/* Status timestamp */
.last-update-meta{font-size:10px;color:#64748b}
/* Risk overview cards (full section with tinted border) */
.risk-section-red{margin:8px 12px;background:#0a0f1a;border:1px solid #ef444440;border-radius:8px;padding:12px}
.risk-section-indigo{margin:8px 12px;background:#0a0f1a;border:1px solid #6366f140;border-radius:8px;padding:12px}
.risk-section-purple{margin:8px 12px;background:#0a0f1a;border:1px solid #a855f740;border-radius:8px;padding:12px}
.risk-section-yellow{margin:8px 12px;background:#0a0f1a;border:1px solid #eab30840;border-radius:8px;padding:12px}
.risk-section-cyan{margin:8px 12px;background:#0a0f1a;border:1px solid #06b6d440;border-radius:8px;padding:12px}
/* Autofit grids */
.grid-auto-220{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.grid-auto-240{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}
.grid-auto-260{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}
/* Misc */
.center-muted{text-align:center;color:#334155;padding:8px}
.trades-grid-cols{grid-template-columns:60px 90px 140px 60px 80px 80px 1fr}
.border-orange{border-color:#f59e0b66}
.grid-auto-400-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:8px;margin-bottom:12px}
.panel-tint-green{background:#0a0f1a;border:1px solid #22c55e40;border-radius:8px;padding:12px;margin-bottom:12px}
.panel-tint-purple{background:#0a0f1a;border:1px solid #a855f740;border-radius:8px;padding:12px;margin-bottom:12px}
.grid-gap-3{display:grid;gap:3px}
/* PnL coloring (replaces inline style="color: pnl>=0 ? green : red") */
.fg-up{color:var(--green)}
.fg-down{color:var(--red)}
.fg-up-2-xs{color:var(--green);font-size:11px;margin-left:6px}
.fg-down-2-xs{color:var(--red);font-size:11px;margin-left:6px}
/* Common team.js layout patterns */
.flex-spread-mt4-fs11{display:flex;justify-content:space-between;margin-top:4px;font-size:11px}
.cursor-pointer{cursor:pointer}
.fg-2-fs10-mt2{color:var(--fg-2);font-size:10px;margin-top:2px}
.fg-2-fs11-ml6{font-size:11px;color:var(--fg-2);margin-left:6px}
.row-title{margin:18px 0 8px;color:var(--fg-2);font-size:12px;text-transform:uppercase;letter-spacing:0.08em;border-bottom:1px solid var(--border);padding-bottom:6px}
.tr-pad{text-align:right;padding-right:10px}
.overflow-x{overflow-x:auto}
.mt-4-only{margin-top:4px}
.mb-14{margin-bottom:14px}
/* Dynamic-color span : sets color via --c property */
.dyn-c-xs{color:var(--c);font-size:10px;margin-left:6px}

/* Sprint S5b round 3 2026-06-01 : reste inline styles → utility classes */
.bg-card-dark{background:#050810;border:1px solid #1e293b;border-radius:6px;padding:8px}
.bb-1-22-p2-0{border-bottom:1px solid #1e293b22;padding:2px 0}
.fg-green-mt4{color:#22c55e;margin-top:4px}
.fg-334-fs10-p8{color:#334155;font-size:10px;padding:8px}
.fg-334-center-p12{color:#334155;text-align:center;padding:12px;grid-column:1/-1}
.fg-334-center-p20{color:#334155;text-align:center;padding:20px;grid-column:1/-1}
.fg-muted-ml8{color:#64748b;font-weight:400;margin-left:8px}
.fg-muted-trunc{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fg-purple{color:#a855f7}
.fg-light{color:#e6e6e6}
.flex-spread-fs10-mb4{display:flex;justify-content:space-between;font-size:10px;margin-bottom:4px}
.grid-3-g4-mt4-mini{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-top:4px;font-size:9px;color:#64748b}
.flex-1-pl6-light{flex:1;padding-left:6px;color:#e6e6e6}
.dsr-pos{color:#22c55e}
.dsr-neg{color:#ef4444}
/* Dynamic color combinations (uses data-c via MutationObserver) */
.dyn-c-fs10{color:var(--c);font-size:10px}
.dyn-c-fs11-ml6{color:var(--c);font-size:11px;margin-left:6px}
.dyn-c-fs12-ml6{color:var(--c);font-size:12px;margin-left:6px}
.dyn-c-fw600{color:var(--c);font-weight:600}
.dyn-c-fw700-up{color:var(--c);font-weight:700;text-transform:uppercase}
.dyn-c-tag{color:var(--c);font-size:10px;padding:2px 6px;border:1px solid var(--c);border-radius:3px;margin-left:6px}
.bg-cyan-tint{background:rgba(34,211,238,0.1);text-align:center}
.bg-yellow-tint{background:rgba(250,204,21,0.1);text-align:center}
.fg2-fs12{color:var(--fg-2);font-size:12px}
.pnl-up-fw600{color:var(--green);font-weight:600}
.pnl-down-fw600{color:var(--red);font-weight:600}
/* Remaining one-off layout helpers (Sprint S5b round 3 2026-06-01) */
.ml-12-fg2{margin-left:12px;font-size:11px;color:var(--fg-2)}
.ml-10-fs10{margin-left:10px;font-size:10px}
.ml-10{margin-left:10px}
.gtc-thirds{grid-template-columns:1fr 1fr 1fr}
.fs-11-fg2-ml10{font-size:11px;color:var(--fg-2);margin-left:10px}
.fs-11-fg2-mb10{font-size:11px;color:var(--fg-2);margin-bottom:10px}
.fs-11-fg2{font-size:11px;color:var(--fg-2)}
.fs-28-ls01{font-size:28px;letter-spacing:0.1em}
.fs-12{font-size:12px}
.grid-300-fill-g14{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.flex-spread-m2{display:flex;justify-content:space-between;margin:2px 0}
.flex-spread-mt2-fs11{display:flex;justify-content:space-between;margin-top:2px;font-size:11px}
.flex-spread-center-mb20{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.fg2-fs12-mb12{color:var(--fg-2);font-size:12px;margin-bottom:12px}
.fg2-fs11-mt10{color:var(--fg-2);font-size:11px;margin-top:10px}
.accent-fs9-ml6{color:var(--accent);font-size:9px;margin-left:6px}
