/**
 * FC × FL dark DFS workspace — shared by dfs.html, live-dfs.html, contests
 */
:root {
  --fcfl-bg: #0f1218;
  --fcfl-panel: #1a1f28;
  --fcfl-panel-2: #222833;
  --fcfl-border: #343d4d;
  --fcfl-text: #e8ecf1;
  --fcfl-muted: #8b95a8;
  --fcfl-blue: #1a73e8;
  --fcfl-brand: #9bd51c;
  --fcfl-green: #5fba7d;
  --fcfl-radius: 6px;
  --fcfl-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fcfl-mono: "SF Mono", "Roboto Mono", ui-monospace, monospace;
}

body.fcfl-dfs {
  background: var(--fcfl-bg) !important;
  color: var(--fcfl-text) !important;
  font-family: var(--fcfl-font) !important;
}

body.fcfl-dfs .paper-header,
body.fcfl-dfs .la-header,
body.fcfl-dfs header.product-header {
  background: var(--fcfl-panel) !important;
  border-bottom: 1px solid var(--fcfl-border) !important;
  color: var(--fcfl-text) !important;
}

body.fcfl-dfs .paper-main,
body.fcfl-dfs main,
body.fcfl-dfs .product-main {
  background: var(--fcfl-bg) !important;
}

body.fcfl-dfs .dfs-control-bar {
  background: var(--fcfl-panel) !important;
  border-bottom: 1px solid var(--fcfl-border) !important;
  padding: 10px 14px !important;
  gap: 12px !important;
}

body.fcfl-dfs .dfs-control-bar label {
  color: var(--fcfl-muted) !important;
  font-size: 10px !important;
  letter-spacing: 0.06em !important;
}

body.fcfl-dfs .dfs-control-bar select,
body.fcfl-dfs .dfs-control-bar input[type="date"],
body.fcfl-dfs .dfs-control-bar input[type="text"] {
  background: var(--fcfl-panel-2) !important;
  border: 1px solid var(--fcfl-border) !important;
  color: var(--fcfl-text) !important;
  border-radius: var(--fcfl-radius) !important;
  font-family: var(--fcfl-mono) !important;
  font-size: 13px !important;
}

body.fcfl-dfs .dfs-refresh-btn,
body.fcfl-dfs .dfs-control-bar button {
  background: var(--fcfl-blue) !important;
  border: none !important;
  color: #fff !important;
  border-radius: var(--fcfl-radius) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

body.fcfl-dfs .dfs-board table,
body.fcfl-dfs .dfs-table {
  font-size: 12px !important;
  font-variant-numeric: tabular-nums;
}

body.fcfl-dfs .dfs-board th,
body.fcfl-dfs .dfs-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--fcfl-panel-2) !important;
  color: var(--fcfl-muted) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--fcfl-border) !important;
  padding: 8px 10px !important;
}

body.fcfl-dfs .dfs-board td,
body.fcfl-dfs .dfs-table td {
  padding: 6px 10px !important;
  border-bottom: 1px solid rgba(52, 61, 77, 0.5) !important;
  color: var(--fcfl-text) !important;
}

body.fcfl-dfs .dfs-board tr:nth-child(even) td,
body.fcfl-dfs .dfs-table tr:nth-child(even) td {
  background: rgba(0, 0, 0, 0.12);
}

body.fcfl-dfs .dfs-board tr:hover td,
body.fcfl-dfs .dfs-table tr:hover td {
  background: rgba(26, 115, 232, 0.1) !important;
}

body.fcfl-dfs .metric-cell.dfs-metric-verified {
  color: var(--fcfl-green) !important;
}

body.fcfl-dfs .dfs-kpi-strip {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid var(--fcfl-border);
  background: var(--fcfl-panel);
  margin-bottom: 12px;
}

body.fcfl-dfs .dfs-kpi {
  flex: 1 1 100px;
  padding: 10px 14px;
  border-right: 1px solid var(--fcfl-border);
}

body.fcfl-dfs .dfs-kpi:last-child { border-right: none; }

body.fcfl-dfs .dfs-kpi-val {
  font-family: var(--fcfl-mono);
  font-size: 18px;
  font-weight: 700;
}

body.fcfl-dfs .dfs-kpi-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fcfl-muted);
}

body.fcfl-dfs .la-header-wordmark em {
  color: var(--fcfl-brand) !important;
}

/* ── Design-system hooks (la-platform / la-platform-dark) ── */
body.la-platform.fcfl-dfs,
body.la-platform-dark.fcfl-dfs {
  --fcfl-bg: var(--la-dark-bg, #0f1218);
  --fcfl-panel: var(--la-dark-surface, #1a1f28);
  --fcfl-panel-2: var(--la-dark-surface-2, #222833);
  --fcfl-border: var(--la-dark-border, #343d4d);
  --fcfl-text: var(--la-dark-ink, #e8ecf1);
  --fcfl-muted: var(--la-dark-muted, #8b95a8);
  --fcfl-blue: var(--la-dark-blue, #1a73e8);
  --fcfl-brand: var(--la-dark-brand, #9bd51c);
  --fcfl-green: var(--la-dark-green, #5fba7d);
}

body.la-platform .dfs-lab-shell,
body.la-platform-dark .dfs-lab-shell {
  background: var(--fcfl-bg) !important;
  color: var(--fcfl-text) !important;
  min-height: 100vh;
}

body.la-platform .dfs-lab-header,
body.la-platform-dark .dfs-lab-header,
body.la-platform .dfs-lab-hero,
body.la-platform-dark .dfs-lab-hero {
  background: var(--fcfl-panel) !important;
  border-color: var(--fcfl-border) !important;
  color: var(--fcfl-text) !important;
}

body.la-platform .dfs-lab-main,
body.la-platform-dark .dfs-lab-main {
  background: var(--fcfl-bg) !important;
}

body.la-platform .system-brand-name em,
body.la-platform-dark .system-brand-name em {
  color: var(--fcfl-brand) !important;
}

body.la-platform.fcfl-dfs .dfs-control-bar,
body.la-platform-dark.fcfl-dfs .dfs-control-bar,
body.la-platform .dfs-control-bar,
body.la-platform-dark .dfs-control-bar {
  background: var(--fcfl-panel) !important;
  border-bottom-color: var(--fcfl-border) !important;
}

body.la-platform.fcfl-dfs .dfs-board,
body.la-platform-dark.fcfl-dfs .dfs-board,
body.la-platform .dfs-board,
body.la-platform-dark .dfs-board {
  background: var(--fcfl-bg) !important;
  border-color: var(--fcfl-border) !important;
}

body.la-platform.fcfl-dfs .dfs-recap-shell,
body.la-platform-dark.fcfl-dfs .dfs-recap-shell {
  background: var(--fcfl-bg) !important;
  color: var(--fcfl-text) !important;
}