:root { color-scheme: light; }

.theme-toggle {
  position: fixed;
  top: 27px;
  right: 18px;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--border, #e8e2da);
  border-radius: 999px;
  background: var(--bg, #fdf9f4);
  color: var(--ink-muted, #8b7d6b);
  box-shadow: none;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.theme-toggle:hover {
  background: var(--bg-subtle, #f7efe5);
  color: var(--ink, #1a1712);
}

.theme-toggle span {
  font-size: 17px;
  line-height: 1;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #12100c;
  --bg-subtle: #1a1611;
  --canvas: #12100c;
  --canvas-elevated: #1b1712;
  --ink: #f5eadc;
  --ink-soft: #d7c8b7;
  --ink-muted: #aa9b89;
  --ink-light: #8f806f;
  --ink-faint: #786b5d;
  --border: rgba(245, 234, 220, 0.16);
  --border-light: rgba(245, 234, 220, 0.1);
  --rule: rgba(245, 234, 220, 0.16);
  --rule-soft: rgba(245, 234, 220, 0.1);
  --card-bg: #211c16;
  --accent: #76b58f;
  --accent-bg: rgba(118, 181, 143, 0.16);
  --accent-light: rgba(149, 3, 1, 0.18);
  --accent-hover: #d46d64;
  --btn-text: #ffffff;
  --sh: 0 18px 44px rgba(0,0,0,.28);
}

html[data-theme="dark"],
html[data-theme="dark"] body {
  background: var(--bg);
  color: var(--ink);
}

html[data-theme="dark"] :is(
  nav,
  .presenter-card,
  .event-info,
  .ticket-card,
  .registration-card,
  .checkout-card,
  .event-card,
  .cal-modal,
  .toggle-wrap,
  .chip,
  .filter-btn,
  .live-header,
  .client-panel,
  .events-frame-wrap
) {
  background-color: var(--card-bg);
  border-color: var(--border);
  color: var(--ink);
}

html[data-theme="dark"] :is(input, textarea, select, .co-field-input, .co-card-element) {
  background-color: #18140f;
  border-color: var(--border);
  color: var(--ink);
}

html[data-theme="dark"] :is(input, textarea, select)::placeholder {
  color: var(--ink-faint);
}

html[data-theme="dark"] :is(.toggle-btn.active, .filter-btn.active, .chip.on, .co-coupon-apply) {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--bg);
}

html[data-theme="dark"] :is(.toggle-btn, .filter-btn, .chip, .nav-link, .cal-btn, .client-buttons button) {
  color: var(--ink-muted);
}

html[data-theme="dark"] :is(.toggle-btn:hover, .filter-btn:hover, .chip:hover, .cal-btn:hover, .client-buttons button:hover) {
  background: #2a241c;
  color: var(--ink);
}

html[data-theme="dark"] :is(.event-title, .card-title, h1, h2, h3, .nav-brand) {
  color: var(--ink);
}

html[data-theme="dark"] :is(.event-meta, .card-meta, .live-copy, .client-note, .client-task p, .topbar-label) {
  color: var(--ink-muted);
}

html[data-theme="dark"] .loading-text {
  animation: none;
  color: var(--ink-soft);
  opacity: .78;
}

html[data-theme="dark"] :is(.page-error, .co-coupon-status.error) {
  color: #f09b91;
}

html[data-theme="dark"] :is(.co-coupon-status.ok, .card-price.paid, .status-paid) {
  background: rgba(118,181,143,.16);
  color: #9fd5b4;
}

html[data-theme="dark"] :is(.cal-modal-overlay, .page-loading) {
  background: rgba(6,5,4,.72);
}

html[data-theme="dark"] .fol-ring {
  color: var(--ink-muted);
  stroke: currentColor;
  animation: none;
  opacity: .48;
}

html[data-theme="dark"] .theme-toggle {
  background: var(--card-bg);
  border-color: var(--border);
  color: var(--ink-soft);
  box-shadow: none;
}

html[data-theme="dark"] .theme-toggle:hover {
  background: #2a241c;
  color: var(--ink);
}
