[data-theme="light"] {
  color-scheme: light;
  /* Cal.com canvas + Apple parchment rhythm */
  --fc-bg-page: #f5f5f7;
  --fc-bg-page-gradient: linear-gradient(135deg, #f5f5f7 0%, #f8fafc 50%, #f5f5f7 100%);
  --fc-bg-surface: #ffffff;
  --fc-bg-glass: #ffffff;
  --fc-bg-glass-subtle: #f5f5f7;
  --fc-bg-hover: rgba(0, 0, 0, 0.04);
  --fc-bg-accent-hover: rgba(16, 185, 129, 0.1);
  /* Apple ink + Cal body/muted hierarchy */
  --fc-text-primary: #1d1d1f;
  --fc-text-secondary: #374151;
  --fc-text-muted: #6b7280;
  --fc-text-on-accent: #ffffff;
  --fc-border: rgba(0, 0, 0, 0.08);
  --fc-border-strong: rgba(0, 0, 0, 0.12);
  --fc-border-accent: rgba(16, 185, 129, 0.35);
  --fc-accent: #10b981;
  --fc-accent-strong: #059669;
  --fc-accent-muted: rgba(16, 185, 129, 0.12);
  --fc-manager-table-bg: color-mix(in oklab, var(--fc-accent) 3%, transparent);
  --fc-manager-table-row-hover: color-mix(in oklab, var(--fc-accent) 6%, transparent);
  --fc-manager-table-row-stripe: color-mix(in oklab, var(--fc-accent) 5%, transparent);
  --fc-manager-table-border: color-mix(in oklab, var(--fc-accent) 30%, transparent);
  --fc-input-bg: #ffffff;
  --fc-input-border: rgba(0, 0, 0, 0.12);
  --fc-input-placeholder: #6b7280;
  --fc-shadow-glass: 0 1px 2px rgba(0, 0, 0, 0.05), 0 4px 12px rgba(0, 0, 0, 0.06);
  --fc-shadow-hover: 0 8px 24px rgba(16, 185, 129, 0.12);
  --fc-chart-muted: #6b7280;
  --fc-chart-grid: rgba(107, 114, 128, 0.2);
  --fc-scrollbar-track: #f5f5f7;
  --fc-scrollbar-thumb: #10b981;
  --fc-theme-color-meta: #ffffff;
  --fc-danger: #ef4444;
  --fc-warning: #f59e0b;
  --fc-info: #3b82f6;
  /* Semantic stat accents — readable on light surfaces */
  --fc-stat-positive: #059669;
  --fc-stat-negative: #dc2626;
  --fc-stat-warning: #d97706;
  --fc-stat-info: #2563eb;
}

html:not([data-theme]) {
  color-scheme: dark;
  --fc-bg-page: #0f172a;
  --fc-bg-page-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
  --fc-bg-surface: rgba(15, 23, 42, 0.8);
  --fc-bg-glass: rgba(15, 23, 42, 0.8);
  --fc-bg-glass-subtle: rgba(255, 255, 255, 0.05);
  --fc-bg-hover: rgba(255, 255, 255, 0.05);
  --fc-bg-accent-hover: rgba(16, 185, 129, 0.2);
  --fc-text-primary: #f8fafc;
  --fc-text-secondary: #cbd5e1;
  --fc-text-muted: #94a3b8;
  --fc-text-on-accent: #ffffff;
  --fc-border: rgba(255, 255, 255, 0.1);
  --fc-border-strong: rgba(255, 255, 255, 0.15);
  --fc-border-accent: rgba(16, 185, 129, 0.3);
  --fc-accent: #10b981;
  --fc-accent-strong: #059669;
  --fc-accent-muted: rgba(16, 185, 129, 0.1);
  --fc-manager-table-bg: color-mix(in oklab, var(--fc-accent) 3%, transparent);
  --fc-manager-table-row-hover: color-mix(in oklab, var(--fc-accent) 6%, transparent);
  --fc-manager-table-row-stripe: color-mix(in oklab, var(--fc-accent) 5%, transparent);
  --fc-manager-table-border: color-mix(in oklab, var(--fc-accent) 30%, transparent);
  --fc-input-bg: rgba(255, 255, 255, 0.05);
  --fc-input-border: rgba(255, 255, 255, 0.1);
  --fc-input-placeholder: #64748b;
  --fc-shadow-glass: 0 4px 24px rgba(0, 0, 0, 0.25);
  --fc-shadow-hover: 0 20px 40px rgba(16, 185, 129, 0.15);
  --fc-chart-muted: #94a3b8;
  --fc-chart-grid: rgba(148, 163, 184, 0.18);
  --fc-scrollbar-track: rgba(15, 23, 42, 0.5);
  --fc-scrollbar-thumb: #10b981;
  --fc-theme-color-meta: #0f172a;
  --fc-danger: #ef4444;
  --fc-warning: #fbbf24;
  --fc-info: #3b82f6;
  --fc-stat-positive: #34d399;
  --fc-stat-negative: #f87171;
  --fc-stat-warning: #fbbf24;
  --fc-stat-info: #60a5fa;
}

[data-theme="dark"] {
  color-scheme: dark;
  --fc-bg-page: #0f172a;
  --fc-bg-page-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
  --fc-bg-surface: rgba(15, 23, 42, 0.8);
  --fc-bg-glass: rgba(15, 23, 42, 0.8);
  --fc-bg-glass-subtle: rgba(255, 255, 255, 0.05);
  --fc-bg-hover: rgba(255, 255, 255, 0.05);
  --fc-bg-accent-hover: rgba(16, 185, 129, 0.2);
  --fc-text-primary: #f8fafc;
  --fc-text-secondary: #cbd5e1;
  --fc-text-muted: #94a3b8;
  --fc-text-on-accent: #ffffff;
  --fc-border: rgba(255, 255, 255, 0.1);
  --fc-border-strong: rgba(255, 255, 255, 0.15);
  --fc-border-accent: rgba(16, 185, 129, 0.3);
  --fc-accent: #10b981;
  --fc-accent-strong: #059669;
  --fc-accent-muted: rgba(16, 185, 129, 0.1);
  --fc-manager-table-bg: color-mix(in oklab, var(--fc-accent) 3%, transparent);
  --fc-manager-table-row-hover: color-mix(in oklab, var(--fc-accent) 6%, transparent);
  --fc-manager-table-row-stripe: color-mix(in oklab, var(--fc-accent) 5%, transparent);
  --fc-manager-table-border: color-mix(in oklab, var(--fc-accent) 30%, transparent);
  --fc-input-bg: rgba(255, 255, 255, 0.05);
  --fc-input-border: rgba(255, 255, 255, 0.1);
  --fc-input-placeholder: #64748b;
  --fc-shadow-glass: 0 4px 24px rgba(0, 0, 0, 0.25);
  --fc-shadow-hover: 0 20px 40px rgba(16, 185, 129, 0.15);
  --fc-chart-muted: #94a3b8;
  --fc-chart-grid: rgba(148, 163, 184, 0.18);
  --fc-scrollbar-track: rgba(15, 23, 42, 0.5);
  --fc-scrollbar-thumb: #10b981;
  --fc-theme-color-meta: #0f172a;
  --fc-danger: #ef4444;
  --fc-warning: #fbbf24;
  --fc-info: #3b82f6;
  --fc-stat-positive: #34d399;
  --fc-stat-negative: #f87171;
  --fc-stat-warning: #fbbf24;
  --fc-stat-info: #60a5fa;
}

html {
  transition: background-color 0.2s ease, color 0.2s ease;
}
