.webinar-dash {
  --wd-ink-000: #ffffff; --wd-ink-050: #f7f7f7; --wd-ink-100: #ececec;
  --wd-ink-200: #d9d9d9; --wd-ink-400: #8a8a8a; --wd-ink-500: #5e5e5e;
  --wd-ink-700: #262626; --wd-ink-900: #0a0a0a; --wd-ink-999: #000000;
  --wd-red-500: #e1261c; --wd-red-600: #c31c14;

  --wd-bg: var(--wd-ink-000);
  --wd-bg-subtle: var(--wd-ink-050);
  --wd-fg: var(--wd-ink-999);
  --wd-fg-2: var(--wd-ink-700);
  --wd-fg-3: var(--wd-ink-500);
  --wd-fg-4: var(--wd-ink-400);
  --wd-border: var(--wd-ink-200);
  --wd-border-strong: var(--wd-ink-999);
  --wd-border-subtle: var(--wd-ink-100);
  --wd-accent: var(--wd-red-500);
  --wd-accent-press: var(--wd-red-600);
  --wd-accent-on: #ffffff;
  --wd-ok: #0a8a3f;
  --wd-warn: #c68a00;
  --wd-danger: var(--wd-red-500);

  --wd-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --wd-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;

  font-family: var(--wd-sans);
  color: var(--wd-fg);
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  gap: 24px;
}

.theme-dark .webinar-dash {
  --wd-bg: var(--wd-ink-900);
  --wd-bg-subtle: #161616;
  --wd-fg: var(--wd-ink-000);
  --wd-fg-2: var(--wd-ink-200);
  --wd-fg-3: var(--wd-ink-400);
  --wd-fg-4: var(--wd-ink-500);
  --wd-border: var(--wd-ink-700);
  --wd-border-strong: #b8b8b8;
  --wd-border-subtle: #161616;
  /* Accent tracks the installed theme at .obsidian/themes/tesanti/theme.css,
     whose dark section reads "Black canvas, same signal red": --accent-h/-s/-l
     are declared once at :root and never redeclared under .theme-dark, and only
     the hover state lifts (#c31c14 light, #ff4d43 dark). Match that exactly. */
  --wd-accent: var(--wd-red-500);
  --wd-accent-press: #ff4d43;
  --wd-accent-on: #ffffff;
  /* Status tokens are separate from the brand accent by design-system rule, and
     here they carry small text in a dense table. #e1261c on near-black is about
     3.8:1, under AA for small text, so these lift where the accent does not. */
  --wd-ok: #2fbf6a;
  --wd-warn: #e0a516;
  --wd-danger: #ff5c50;
}

@media (max-width: 820px) {
  .webinar-dash { grid-template-columns: minmax(0, 1fr); }
}

.webinar-dash > * { min-width: 0; }

.wd-pane { display: flex; flex-direction: column; gap: 20px; }

.wd-eyebrow {
  font-family: var(--wd-mono); font-size: 11px; line-height: 1;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--wd-fg-3); font-weight: 500;
  display: flex; align-items: center; gap: 8px;
}
.wd-eyebrow::before {
  content: ""; width: 5px; height: 5px; flex: none; background: var(--wd-accent);
}

.wd-block { display: flex; flex-direction: column; gap: 12px; }

.wd-row {
  display: flex; align-items: center; gap: 12px;
  border: 1px solid var(--wd-border); border-radius: 4px;
  padding: 12px 12px 12px 16px; background: var(--wd-bg);
}
.wd-row + .wd-row { margin-top: -1px; }
.wd-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.wd-row-name {
  font-size: 14px; font-weight: 600;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.wd-mono {
  font-family: var(--wd-mono); font-size: 11px; color: var(--wd-fg-3);
  font-variant-numeric: tabular-nums;
}

.wd-btn {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  font-family: var(--wd-sans); font-size: 13px; font-weight: 600;
  padding: 6px 12px; border-radius: 6px; cursor: pointer;
  border: 1px solid var(--wd-accent); background: var(--wd-accent);
  color: var(--wd-accent-on);
  transition: background 120ms cubic-bezier(0.2, 0, 0, 1);
}
.wd-btn:hover { background: var(--wd-accent-press); border-color: var(--wd-accent-press); }
.wd-btn:focus-visible { outline: 2px solid var(--wd-accent); outline-offset: 2px; }
.wd-btn[disabled] {
  opacity: 0.45; cursor: not-allowed;
  background: transparent; color: var(--wd-fg-3); border-color: var(--wd-border);
}
.wd-btn svg { width: 14px; height: 14px; flex: none; }

.wd-done { display: flex; flex-direction: column; }
.wd-done-row {
  display: flex; align-items: baseline; gap: 12px; padding: 5px 0;
  border-bottom: 1px solid var(--wd-border-subtle); font-size: 13px;
}
.wd-done-row:last-child { border-bottom: 0; }
.wd-done-name {
  color: var(--wd-fg-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.wd-note { font-size: 12px; color: var(--wd-fg-3); }
.wd-error {
  font-size: 13px; color: var(--wd-danger);
  border: 1px solid var(--wd-danger); border-radius: 4px; padding: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .webinar-dash * { transition-duration: 0.01ms !important; }
}
