:root {
  --p24-brand-mark: #F97316;
  --p24-brand-text: #1B9E4B;
  --p24-bg-base: #12141A;
  --p24-bg-surface: #1A1D27;
  --p24-bg-elevated: #242836;
  --p24-border: rgba(255,255,255,0.10);
  --p24-border-hover: rgba(255,255,255,0.20);
  --p24-text-primary: #F0F0F0;
  --p24-text-secondary: rgba(255,255,255,0.60);
  --p24-text-muted: rgba(255,255,255,0.40);
  --p24-green: #22C55E;
  --p24-red: #EF4444;
  --p24-yellow: #EAB308;
  --p24-blue: #3B82F6;
  --p24-font-display: 'Space Grotesk', system-ui, sans-serif;
  --p24-font-body: 'Inter', system-ui, sans-serif;
  --p24-font-data: 'JetBrains Mono', monospace;
  --p24-radius: 8px;
  --p24-radius-sm: 6px;
  --p24-card-border: 1px solid var(--p24-border);
  --p24-card-bg: var(--p24-bg-surface);
}
*, *::before, *::after { box-sizing: border-box; }
body { background: var(--p24-bg-base); color: var(--p24-text-primary); font-family: var(--p24-font-body); margin: 0; }
.p24-tab { padding: 8px 14px; font-family: var(--p24-font-body); font-size: 13px; font-weight: 500; color: var(--p24-text-muted); text-decoration: none; border-bottom: none; border-radius: var(--p24-radius-sm); transition: color 0.15s, background 0.15s; display: inline-block; }
.p24-tab:hover { color: var(--p24-text-secondary); background: rgba(255,255,255,0.04); }
.p24-tab.active { color: #F97316; background: rgba(249,115,22,0.08); border-bottom: none; }
.p24-card { background: var(--p24-bg-surface); border: var(--p24-card-border); border-radius: var(--p24-radius); padding: 20px 24px; box-shadow: 0 1px 3px rgba(0,0,0,0.25); transition: border-color 0.15s, box-shadow 0.15s; }
.p24-card:hover { border-color: var(--p24-border-hover); box-shadow: 0 2px 8px rgba(0,0,0,0.35); }
.p24-badge-win    { color: var(--p24-green);  font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; }
.p24-badge-loss   { color: var(--p24-red);    font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; }
.p24-badge-paper  { color: var(--p24-yellow); font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; }
.p24-badge-live   { color: var(--p24-green);  font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; }
.p24-badge-paused { color: var(--p24-text-muted); font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; }
.p24-metric { background: var(--p24-bg-surface); border: var(--p24-card-border); border-radius: var(--p24-radius); padding: 20px 24px; box-shadow: 0 1px 3px rgba(0,0,0,0.25); display: flex; flex-direction: column; gap: 6px; }
.p24-metric-label { font-family: var(--p24-font-body); font-size: 11px; font-weight: 500; color: var(--p24-text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.p24-metric-value { font-family: var(--p24-font-data); font-size: 22px; font-weight: 500; color: var(--p24-text-primary); }

/* ── Polish patch ── */
.p24-badge-limited-live { color: #06B6D4; font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; }
.badge-limited-live     { color: #06B6D4; background: rgba(6,182,212,.12); font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; padding: 2px 8px; display: inline-block; white-space: nowrap; }
.badge-overdue          { color: var(--p24-red); background: rgba(239,68,68,.12); font-family: var(--p24-font-data); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; padding: 2px 8px; display: inline-block; white-space: nowrap; }
.badge-deferred         { color: #A855F7; background: rgba(168,85,247,.12); font-family: var(--p24-font-data); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; padding: 2px 8px; display: inline-block; white-space: nowrap; }
.src-badge              { font-family: var(--p24-font-data); font-size: 9px; letter-spacing: 0.05em; padding: 1px 6px; margin-left: 8px; text-transform: uppercase; display: inline-block; }
.src-live               { background: rgba(34,197,94,.12); color: var(--p24-green); }
.src-seeded             { background: rgba(255,255,255,.06); color: var(--p24-text-muted); }
.p24-empty-state        { padding: 24px 12px; font-family: var(--p24-font-data); font-size: 12px; color: var(--p24-text-muted); }
.ws-card:hover          { border-color: var(--p24-border-hover); background: var(--p24-bg-elevated); box-shadow: 0 2px 8px rgba(0,0,0,0.35); }

/* ── Polish pass 2025-04 ── */
/* Unified result pill — used in Dashboard + Trades */
.p24-pill          { display:inline-block; font-family:var(--p24-font-data); font-size:11px; font-weight:500; padding:3px 10px; text-transform:uppercase; letter-spacing:0.5px; white-space:nowrap; border-radius: var(--p24-radius-sm); }
.p24-pill-win      { color:var(--p24-green);  background:rgba(34,197,94,.12); }
.p24-pill-loss     { color:var(--p24-red);    background:rgba(239,68,68,.12); }
.p24-pill-open     { color:var(--p24-yellow); background:rgba(234,179,8,.12); }
.p24-pill-void     { color:var(--p24-text-muted); background:rgba(255,255,255,.06); }
.p24-pill-push     { color:#94A3B8; background:rgba(148,163,184,.12); }
.p24-pill-canceled { color:var(--p24-text-muted); background:rgba(255,255,255,.06); }
/* Disabled btn state */
.btn:disabled      { opacity:0.35; cursor:not-allowed; pointer-events:none; }
/* c-strip: soften letter-spacing */
.c-strip-label     { letter-spacing: 1px; }
/* filter-label: add letter-spacing */
.filter-label      { letter-spacing: 0.05em; }

/* Radius unification — design refresh lot 1 */
.badge-limited-live, .badge-overdue, .badge-deferred, .src-badge, .alert-badge, .result-badge { border-radius: var(--p24-radius-sm); }

/* ── Header classes — design refresh lot 2A ── */
.p24-header { display:flex; align-items:center; justify-content:space-between; padding:14px 24px; background:var(--p24-bg-base); border-bottom:1px solid var(--p24-border); position:sticky; top:0; z-index:50; }
.p24-header-left { display:flex; align-items:center; gap:12px; }
.p24-logo-link { display:flex; align-items:center; gap:10px; text-decoration:none; }
.p24-logo-text { font-family:var(--p24-font-display); font-weight:700; font-size:18px; color:var(--p24-brand-text); letter-spacing:-0.3px; }
.p24-nav { display:flex; gap:4px; margin-left:16px; }
.p24-header-right { display:flex; align-items:center; gap:14px; font-family:var(--p24-font-data); font-size:11px; color:var(--p24-text-muted); }
