/* =============================================================
   CENTRALIZED THEME DEFINITIONS
   All theme palettes and component overrides live here.
   Individual pages should NOT define :root color variables inline.
   ============================================================= */

/* ===== DARK THEME (Default) ===== */
:root {
  /* Primary colors — aligned with SynapCores Design System --sc-accent */
  --primary: #4361EE;
  --primary-light: #6B8AFF;
  --primary-dark: #3451D1;
  --accent: #4361EE;
  --accent-pink: #ec4899;
  --accent-teal: #10b981;
  --success: #10b981;
  --warning: #f59e0b;
  --danger: #ef4444;
  --error: #ef4444;

  /* Background colors */
  --bg-primary: #1a1a2e;
  --bg-secondary: #16213e;
  --bg-tertiary: #0f3460;
  --bg-gradient: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  --bg-main: #1a1a2e;
  --bg-sidebar: rgba(255, 255, 255, 0.05);
  --bg-card: rgba(255, 255, 255, 0.08);
  --bg-card-hover: rgba(255, 255, 255, 0.12);

  /* Text colors */
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.8);
  --text-muted: rgba(255, 255, 255, 0.5);
  --text: #ffffff;
  --text-glass-white: #ffffff;
  --text-glass-light: rgba(255, 255, 255, 0.9);
  --text-glass-muted: rgba(255, 255, 255, 0.6);

  /* Chat-specific accent aliases — aligned with design system */
  --accent-primary: #4361EE;
  --accent-secondary: #6B8AFF;
  --accent-tertiary: #10b981;
  --accent-warm: #f59e0b;

  /* Glassmorphism tokens */
  --glass-bg: rgba(255, 255, 255, 0.08);
  --glass-bg-solid: rgba(255, 255, 255, 0.12);
  --glass-border: rgba(255, 255, 255, 0.15);
  --glass-hover: rgba(255, 255, 255, 0.12);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  --blur-amount: 20px;

  /* Borders and shadows */
  --border-light: rgba(255, 255, 255, 0.1);
  --shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.2);
  --shadow-hover: 0 8px 32px rgba(67, 97, 238, 0.3);

  /* Radii */
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;

  /* Service brand colors */
  --google-blue: #4285F4;
  --google-green: #34A853;
  --outlook-blue: #0078D4;
  --monday-red: #FF3D57;
  --monday-yellow: #FFCB00;
  --monday-green: #00c875;
  --slack-purple: #4A154B;

  /* Social platform colors */
  --facebook: #1877F2;
  --twitter: #1DA1F2;
  --linkedin: #0A66C2;
  --reddit: #FF5700;
  --wordpress: #21759B;
  --instagram: #E4405F;
  --whatsapp: #25D366;

  /* ── Widget Color Tokens (dark defaults) ──────────────────────────
     Widgets SHOULD use these instead of hardcoded hex colors.
     Maps to the most common hardcoded colors found across widgets:
       #0f172a → --w-bg-base      #1e293b → --w-bg-card
       #334155 → --w-border       #e2e8f0 → --w-text
       #94a3b8 → --w-text-muted   #64748b → --w-text-secondary
       #2a2a4a → --w-bg-elevated  #1a1a3a → --w-bg-deep
     ────────────────────────────────────────────────────────────── */
  --w-bg-deep: #0f172a;
  --w-bg-base: #1a1a3a;
  --w-bg-card: #1e293b;
  --w-bg-elevated: #2a2a4a;
  --w-border: #334155;
  --w-border-subtle: rgba(255, 255, 255, 0.06);
  --w-text: #e2e8f0;
  --w-text-secondary: #64748b;
  --w-text-muted: #94a3b8;
  --w-text-bright: #ffffff;
  --w-hover: rgba(255, 255, 255, 0.05);
  --w-overlay: rgba(0, 0, 0, 0.6);
  --w-input-bg: #0f172a;
  --w-input-border: #334155;
  --w-success: #10b981;
  --w-warning: #f59e0b;
  --w-danger: #ef4444;
  --w-info: #3b82f6;
  --w-accent: #4361EE;
}


/* ===== GLACIAL ICE - Light Theme ===== */
[data-theme="light"] {
  /* Primary colors — aligned with SynapCores Design System */
  --primary: #4361EE;
  --primary-light: #6B8AFF;
  --primary-dark: #3451D1;
  --accent: #4361EE;
  --accent-pink: #db2777;
  --accent-teal: #059669;
  --success: #059669;
  --warning: #d97706;
  --danger: #dc2626;
  --error: #dc2626;

  /* Background colors - light frosted glass */
  --bg-primary: #e8f4fc;
  --bg-secondary: #f0f7fc;
  --bg-tertiary: #dceefb;
  --bg-gradient: linear-gradient(135deg, #e8f4fc 0%, #d4edfc 50%, #c5e4f9 100%);
  --bg-main: #e8f4fc;
  --bg-sidebar: rgba(255, 255, 255, 0.5);
  --bg-card: rgba(255, 255, 255, 0.65);
  --bg-card-hover: rgba(255, 255, 255, 0.8);

  /* Text colors */
  --text-primary: #0f172a;
  --text-secondary: rgba(15, 23, 42, 0.85);
  --text-muted: rgba(15, 23, 42, 0.65);
  --text: #0f172a;
  --text-glass-white: #1e293b;
  --text-glass-light: rgba(30, 41, 59, 0.9);
  --text-glass-muted: rgba(30, 41, 59, 0.6);

  /* Chat-specific accent aliases — aligned with design system */
  --accent-primary: #4361EE;
  --accent-secondary: #6B8AFF;
  --accent-tertiary: #059669;
  --accent-warm: #d97706;

  /* Glassmorphism - frosted ice effect */
  --glass-bg: rgba(255, 255, 255, 0.6);
  --glass-bg-solid: rgba(255, 255, 255, 0.75);
  --glass-border: rgba(255, 255, 255, 0.8);
  --glass-hover: rgba(255, 255, 255, 0.7);
  --glass-shadow: 0 8px 32px rgba(148, 163, 184, 0.15);

  /* Borders and shadows */
  --border-light: rgba(148, 163, 184, 0.2);
  --shadow-soft: 0 4px 24px rgba(148, 163, 184, 0.15);
  --shadow-hover: 0 8px 32px rgba(67, 97, 238, 0.15);

  /* Widget Color Tokens (light) */
  --w-bg-deep: #f1f5f9;
  --w-bg-base: #f8fafc;
  --w-bg-card: #ffffff;
  --w-bg-elevated: #ffffff;
  --w-border: #cbd5e1;
  --w-border-subtle: rgba(0, 0, 0, 0.06);
  --w-text: #0f172a;
  --w-text-secondary: #475569;
  --w-text-muted: #64748b;
  --w-text-bright: #0f172a;
  --w-hover: rgba(0, 0, 0, 0.04);
  --w-overlay: rgba(0, 0, 0, 0.4);
  --w-input-bg: #f1f5f9;
  --w-input-border: #cbd5e1;
  --w-success: #059669;
  --w-warning: #d97706;
  --w-danger: #dc2626;
  --w-info: #2563eb;
  --w-accent: #4361EE;
}


/* ===== GMAIL THEME ===== */
[data-theme="gmail"] {
  /* Primary colors - Google's Material Design palette */
  --primary: #1a73e8;
  --primary-light: #4285f4;
  --primary-dark: #1557b0;
  --accent: #1a73e8;
  --accent-pink: #d93025;
  --accent-teal: #188038;
  --success: #188038;
  --warning: #f9ab00;
  --danger: #d93025;
  --error: #d93025;

  /* Background colors - Gmail's clean white/gray */
  --bg-primary: #f6f8fc;
  --bg-secondary: #ffffff;
  --bg-tertiary: #edf2fc;
  --bg-gradient: linear-gradient(135deg, #f6f8fc 0%, #ffffff 50%, #edf2fc 100%);
  --bg-main: #f6f8fc;
  --bg-sidebar: rgba(255, 255, 255, 0.85);
  --bg-card: rgba(255, 255, 255, 0.9);
  --bg-card-hover: rgba(255, 255, 255, 1);

  /* Text colors - Gmail's text palette */
  --text-primary: #202124;
  --text-secondary: #5f6368;
  --text-muted: #80868b;
  --text: #202124;
  --text-glass-white: #202124;
  --text-glass-light: #3c4043;
  --text-glass-muted: #80868b;

  /* Chat-specific accent aliases */
  --accent-primary: #1a73e8;
  --accent-secondary: #4285f4;
  --accent-tertiary: #188038;
  --accent-warm: #f9ab00;

  /* Glass - clean flat look, minimal blur */
  --glass-bg: rgba(255, 255, 255, 0.75);
  --glass-bg-solid: rgba(255, 255, 255, 0.92);
  --glass-border: #dadce0;
  --glass-hover: rgba(232, 240, 254, 0.8);
  --glass-shadow: 0 1px 3px rgba(60, 64, 67, 0.15);
  --blur-amount: 8px;

  /* Borders and shadows - Gmail's subtle style */
  --border-light: #dadce0;
  --shadow-soft: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px rgba(60, 64, 67, 0.15);
  --shadow-hover: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px rgba(60, 64, 67, 0.15);

  /* Radii - Gmail uses rounder shapes */
  --radius-lg: 16px;
  --radius-md: 12px;
  --radius-sm: 8px;

  /* Widget Color Tokens (Gmail) */
  --w-bg-deep: #f6f8fc;
  --w-bg-base: #ffffff;
  --w-bg-card: #ffffff;
  --w-bg-elevated: #ffffff;
  --w-border: #dadce0;
  --w-border-subtle: rgba(0, 0, 0, 0.05);
  --w-text: #202124;
  --w-text-secondary: #5f6368;
  --w-text-muted: #80868b;
  --w-text-bright: #202124;
  --w-hover: rgba(0, 0, 0, 0.04);
  --w-overlay: rgba(0, 0, 0, 0.4);
  --w-input-bg: #f6f8fc;
  --w-input-border: #dadce0;
  --w-success: #188038;
  --w-warning: #f9ab00;
  --w-danger: #d93025;
  --w-info: #1a73e8;
  --w-accent: #1a73e8;
}


/* ===== OUTLOOK 365 THEME ===== */
[data-theme="outlook"] {
  /* Primary colors - Microsoft Fluent Design */
  --primary: #0078d4;
  --primary-light: #2b88d8;
  --primary-dark: #106ebe;
  --accent: #0078d4;
  --accent-pink: #e3008c;
  --accent-teal: #107c10;
  --success: #107c10;
  --warning: #ffb900;
  --danger: #d13438;
  --error: #d13438;

  /* Background colors - Outlook's neutral grays */
  --bg-primary: #faf9f8;
  --bg-secondary: #ffffff;
  --bg-tertiary: #f3f2f1;
  --bg-gradient: linear-gradient(135deg, #faf9f8 0%, #ffffff 50%, #f3f2f1 100%);
  --bg-main: #faf9f8;
  --bg-sidebar: rgba(243, 242, 241, 0.9);
  --bg-card: rgba(255, 255, 255, 0.95);
  --bg-card-hover: rgba(255, 255, 255, 1);

  /* Text colors - Fluent neutrals */
  --text-primary: #323130;
  --text-secondary: #605e5c;
  --text-muted: #a19f9d;
  --text: #323130;
  --text-glass-white: #323130;
  --text-glass-light: #484644;
  --text-glass-muted: #a19f9d;

  /* Chat-specific accent aliases */
  --accent-primary: #0078d4;
  --accent-secondary: #2b88d8;
  --accent-tertiary: #107c10;
  --accent-warm: #ffb900;

  /* Glass - Fluent acrylic-like but flatter */
  --glass-bg: rgba(255, 255, 255, 0.8);
  --glass-bg-solid: rgba(255, 255, 255, 0.95);
  --glass-border: #edebe9;
  --glass-hover: rgba(243, 242, 241, 0.8);
  --glass-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 0 2px rgba(0, 0, 0, 0.06);
  --blur-amount: 10px;

  /* Borders and shadows - Fluent style */
  --border-light: #edebe9;
  --shadow-soft: 0 2px 4px rgba(0, 0, 0, 0.04), 0 0 2px rgba(0, 0, 0, 0.06);
  --shadow-hover: 0 4px 8px rgba(0, 0, 0, 0.08), 0 0 2px rgba(0, 0, 0, 0.06);

  /* Radii - Fluent uses subtler rounding */
  --radius-lg: 8px;
  --radius-md: 6px;
  --radius-sm: 4px;

  /* Widget Color Tokens (Outlook) */
  --w-bg-deep: #f3f2f1;
  --w-bg-base: #faf9f8;
  --w-bg-card: #ffffff;
  --w-bg-elevated: #ffffff;
  --w-border: #edebe9;
  --w-border-subtle: rgba(0, 0, 0, 0.05);
  --w-text: #323130;
  --w-text-secondary: #605e5c;
  --w-text-muted: #a19f9d;
  --w-text-bright: #323130;
  --w-hover: rgba(0, 0, 0, 0.04);
  --w-overlay: rgba(0, 0, 0, 0.4);
  --w-input-bg: #f3f2f1;
  --w-input-border: #edebe9;
  --w-success: #107c10;
  --w-warning: #ffb900;
  --w-danger: #d13438;
  --w-info: #0078d4;
  --w-accent: #0078d4;
}


/* ===== OBSIDIAN SLATE — dark authority, whisper-thin contrast ===== */
[data-theme="obsidian"] {
  --primary: #C9A96E;
  --primary-light: #D4BA87;
  --primary-dark: #A8894E;
  --accent: #C9A96E;
  --accent-pink: #C9A96E;
  --accent-teal: #4CAF7D;
  --success: #4CAF7D;
  --warning: #D4BA87;
  --danger: #E05C5C;
  --error: #E05C5C;

  --bg-primary: #0C0D0F;
  --bg-secondary: #13151A;
  --bg-tertiary: #1A1D25;
  --bg-gradient: linear-gradient(135deg, #0C0D0F 0%, #13151A 50%, #1A1D25 100%);
  --bg-main: #0C0D0F;
  --bg-sidebar: rgba(19, 21, 26, 0.95);
  --bg-card: rgba(19, 21, 26, 0.9);
  --bg-card-hover: rgba(26, 29, 37, 0.95);

  --text-primary: #E8EAF0;
  --text-secondary: #7B8A9E;
  --text-muted: #636B7A;
  --text: #E8EAF0;
  --text-glass-white: #E8EAF0;
  --text-glass-light: rgba(232, 234, 240, 0.9);
  --text-glass-muted: rgba(99, 107, 122, 0.8);

  --accent-primary: #C9A96E;
  --accent-secondary: #D4BA87;
  --accent-tertiary: #4CAF7D;
  --accent-warm: #D4BA87;

  --glass-bg: rgba(19, 21, 26, 0.8);
  --glass-bg-solid: rgba(26, 29, 37, 0.95);
  --glass-border: #22262E;
  --glass-hover: rgba(26, 29, 37, 0.9);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);

  --border-light: #22262E;
  --shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 8px 32px rgba(201, 169, 110, 0.1);

  --radius-lg: 12px;
  --radius-md: 8px;
  --radius-sm: 6px;

  --w-bg-deep: #0A0B0E;
  --w-bg-base: #0C0D0F;
  --w-bg-card: #13151A;
  --w-bg-elevated: #1A1D25;
  --w-border: #22262E;
  --w-border-subtle: rgba(255, 255, 255, 0.04);
  --w-text: #E8EAF0;
  --w-text-secondary: #636B7A;
  --w-text-muted: #7B8A9E;
  --w-text-bright: #F0F2F5;
  --w-hover: rgba(201, 169, 110, 0.06);
  --w-overlay: rgba(0, 0, 0, 0.7);
  --w-input-bg: #0A0B0E;
  --w-input-border: #22262E;
  --w-success: #4CAF7D;
  --w-warning: #D4BA87;
  --w-danger: #E05C5C;
  --w-info: #C9A96E;
  --w-accent: #C9A96E;

  /* Obsidian typography */
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Mono', 'Courier New', monospace;
}


/* ===== ARCTIC LINEN — restrained luxury, paper and platinum ===== */
[data-theme="arctic"] {
  --primary: #1A1A2E;
  --primary-light: #2D2D4A;
  --primary-dark: #0F0F1F;
  --accent: #1A1A2E;
  --accent-pink: #1A1A2E;
  --accent-teal: #2D7A5A;
  --success: #2D7A5A;
  --warning: #B8860B;
  --danger: #C0392B;
  --error: #C0392B;

  --bg-primary: #F4F2EE;
  --bg-secondary: #FFFFFF;
  --bg-tertiary: #EDE9E4;
  --bg-gradient: linear-gradient(135deg, #F4F2EE 0%, #FAFAF8 50%, #EDE9E4 100%);
  --bg-main: #F4F2EE;
  --bg-sidebar: rgba(255, 255, 255, 0.85);
  --bg-card: rgba(255, 255, 255, 0.95);
  --bg-card-hover: #F9F7F4;

  --text-primary: #1A1A2E;
  --text-secondary: #6B6560;
  --text-muted: #7A7670;
  --text: #1A1A2E;
  --text-glass-white: #1A1A2E;
  --text-glass-light: rgba(26, 26, 46, 0.9);
  --text-glass-muted: rgba(122, 118, 112, 0.8);

  --accent-primary: #1A1A2E;
  --accent-secondary: #2D2D4A;
  --accent-tertiary: #2D7A5A;
  --accent-warm: #B8860B;

  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-bg-solid: rgba(255, 255, 255, 0.9);
  --glass-border: #E2DED8;
  --glass-hover: rgba(249, 247, 244, 0.9);
  --glass-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);

  --border-light: #E2DED8;
  --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.04);
  --shadow-hover: 0 8px 32px rgba(26, 26, 46, 0.08);

  --radius-lg: 12px;
  --radius-md: 8px;
  --radius-sm: 6px;

  --w-bg-deep: #EDE9E4;
  --w-bg-base: #F4F2EE;
  --w-bg-card: #FFFFFF;
  --w-bg-elevated: #FFFFFF;
  --w-border: #E2DED8;
  --w-border-subtle: rgba(0, 0, 0, 0.04);
  --w-text: #1A1A2E;
  --w-text-secondary: #6B6560;
  --w-text-muted: #7A7670;
  --w-text-bright: #1A1A2E;
  --w-hover: rgba(26, 26, 46, 0.04);
  --w-overlay: rgba(0, 0, 0, 0.4);
  --w-input-bg: #EDE9E4;
  --w-input-border: #E2DED8;
  --w-success: #2D7A5A;
  --w-warning: #B8860B;
  --w-danger: #C0392B;
  --w-info: #1A1A2E;
  --w-accent: #1A1A2E;

  /* Arctic typography */
  --font-heading: 'Playfair Display', 'Times New Roman', serif;
  --font-body: 'Jost', 'Helvetica Neue', sans-serif;
}


/* ===== ONYX + CRIMSON — decisive contrast, board-room gravity ===== */
[data-theme="onyx"] {
  --primary: #D4233A;
  --primary-light: #E04455;
  --primary-dark: #B01D30;
  --accent: #D4233A;
  --accent-pink: #D4233A;
  --accent-teal: #30C97E;
  --success: #30C97E;
  --warning: #F5A623;
  --danger: #D4233A;
  --error: #D4233A;

  --bg-primary: #0F0F0F;
  --bg-secondary: #161616;
  --bg-tertiary: #1D1D1D;
  --bg-gradient: linear-gradient(135deg, #0F0F0F 0%, #161616 50%, #1D1D1D 100%);
  --bg-main: #0F0F0F;
  --bg-sidebar: rgba(22, 22, 22, 0.95);
  --bg-card: rgba(22, 22, 22, 0.9);
  --bg-card-hover: rgba(29, 29, 29, 0.95);

  --text-primary: #F2F0ED;
  --text-secondary: #7A7A7A;
  --text-muted: #6B6B6B;
  --text: #F2F0ED;
  --text-glass-white: #F2F0ED;
  --text-glass-light: rgba(242, 240, 237, 0.9);
  --text-glass-muted: rgba(107, 107, 107, 0.8);

  --accent-primary: #D4233A;
  --accent-secondary: #E04455;
  --accent-tertiary: #30C97E;
  --accent-warm: #F5A623;

  --glass-bg: rgba(22, 22, 22, 0.8);
  --glass-bg-solid: rgba(29, 29, 29, 0.95);
  --glass-border: #282828;
  --glass-hover: rgba(29, 29, 29, 0.9);
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);

  --border-light: #282828;
  --shadow-soft: 0 4px 24px rgba(0, 0, 0, 0.4);
  --shadow-hover: 0 8px 32px rgba(212, 35, 58, 0.12);

  --radius-lg: 10px;
  --radius-md: 6px;
  --radius-sm: 4px;

  --w-bg-deep: #080808;
  --w-bg-base: #0F0F0F;
  --w-bg-card: #161616;
  --w-bg-elevated: #1D1D1D;
  --w-border: #282828;
  --w-border-subtle: rgba(255, 255, 255, 0.04);
  --w-text: #F2F0ED;
  --w-text-secondary: #6B6B6B;
  --w-text-muted: #7A7A7A;
  --w-text-bright: #FFFFFF;
  --w-hover: rgba(212, 35, 58, 0.06);
  --w-overlay: rgba(0, 0, 0, 0.7);
  --w-input-bg: #080808;
  --w-input-border: #282828;
  --w-success: #30C97E;
  --w-warning: #F5A623;
  --w-danger: #D4233A;
  --w-info: #D4233A;
  --w-accent: #D4233A;

  /* Onyx typography */
  --font-heading: 'Bebas Neue', Impact, sans-serif;
  --font-body: 'IBM Plex Sans', Arial, sans-serif;
}


/* =============================================================
   ENTERPRISE THEME ENGINE — Meridian & Sterling
   Token-driven institutional themes for banks / Fortune 500.
   Shared design language, theme-specific values. No gradients,
   glows, or neon — monochrome line icons inherit currentColor.
   ============================================================= */

/* ===== MERIDIAN — clean enterprise SaaS, quiet confidence ===== */
[data-theme="meridian"] {
  --primary: #1d4ed8;
  --primary-light: #3b63e0;
  --primary-dark: #1740a8;
  --accent: #1d4ed8;
  --accent-pink: #1d4ed8;
  --accent-teal: #15803d;
  --success: #15803d;
  --warning: #b45309;
  --danger: #b91c1c;
  --error: #b91c1c;

  --bg-primary: #d8dce4;
  --bg-secondary: #ffffff;
  --bg-tertiary: #fbfcfe;
  --bg-gradient: linear-gradient(135deg, #d8dce4 0%, #e4e8ee 50%, #eef2f6 100%);
  --bg-main: #d8dce4;
  --bg-sidebar: rgba(255, 255, 255, 0.92);
  --bg-card: #ffffff;
  --bg-card-hover: #fbfcfe;

  --text-primary: #0f172a;
  --text-secondary: #334155;
  --text-muted: #64748b;
  --text: #0f172a;
  --text-glass-white: #0f172a;
  --text-glass-light: rgba(15, 23, 42, 0.9);
  --text-glass-muted: rgba(100, 116, 139, 0.85);

  --accent-primary: #1d4ed8;
  --accent-secondary: #3b63e0;
  --accent-tertiary: #15803d;
  --accent-warm: #b45309;

  --glass-bg: rgba(255, 255, 255, 0.75);
  --glass-bg-solid: #ffffff;
  --glass-border: #e2e8f0;
  --glass-hover: #fbfcfe;
  --glass-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.06);

  --border-light: #e2e8f0;
  --shadow-soft: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.06);
  --shadow-hover: 0 1px 2px rgba(15, 23, 42, 0.05), 0 16px 40px rgba(15, 23, 42, 0.09);

  --radius-lg: 14px;
  --radius-md: 8px;
  --radius-sm: 6px;

  --w-bg-deep: #d8dce4;
  --w-bg-base: #eef2f6;
  --w-bg-card: #ffffff;
  --w-bg-elevated: #fbfcfe;
  --w-border: #e2e8f0;
  --w-border-subtle: rgba(15, 23, 42, 0.05);
  --w-text: #0f172a;
  --w-text-secondary: #64748b;
  --w-text-muted: #94a3b8;
  --w-text-bright: #0f172a;
  --w-hover: rgba(29, 78, 216, 0.05);
  --w-overlay: rgba(15, 23, 42, 0.45);
  --w-input-bg: #ffffff;
  --w-input-border: #cbd5e1;
  --w-success: #15803d;
  --w-warning: #b45309;
  --w-danger: #b91c1c;
  --w-info: #1d4ed8;
  --w-accent: #1d4ed8;

  /* ── Enterprise semantic tokens ── */
  --bg-app: #d8dce4;
  --bg-surface: #ffffff;
  --bg-surface-alt: #fbfcfe;
  --bg-track: #eef2f6;
  --border: #e2e8f0;
  --border-strong: #cbd5e1;
  --text-faint: #94a3b8;
  --accent-2: #1d4ed8;
  --accent-soft-bg: #eff4ff;
  --accent-soft-border: #cdddff;

  --status-excellent: #15803d;
  --status-good: #2563eb;
  --status-average: #b45309;
  --status-below: #c2410c;
  --status-low: #b91c1c;
  --status-positive: #15803d;

  --radius-card: 14px;
  --radius-control: 8px;
  --radius-pill: 20px;
  --shadow-card: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.06);

  /* Meridian typography — IBM Plex Sans throughout, Mono for figures */
  --font-sans: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-heading: 'IBM Plex Sans', system-ui, sans-serif;
  --font-numeric: 'IBM Plex Mono', ui-monospace, 'Cascadia Code', monospace;
  --font-body: 'IBM Plex Sans', system-ui, sans-serif;
}


/* ===== STERLING — institutional / editorial, ledger gravity ===== */
[data-theme="sterling"] {
  --primary: #14213d;
  --primary-light: #24345c;
  --primary-dark: #0d1729;
  --accent: #14213d;
  --accent-pink: #14213d;
  --accent-teal: #3f6b4a;
  --success: #3f6b4a;
  --warning: #b45309;
  --danger: #b91c1c;
  --error: #b91c1c;

  --bg-primary: #ede8dd;
  --bg-secondary: #fffdf9;
  --bg-tertiary: #faf7f0;
  --bg-gradient: linear-gradient(135deg, #ede8dd 0%, #f2eee4 50%, #efe9dd 100%);
  --bg-main: #ede8dd;
  --bg-sidebar: rgba(255, 253, 249, 0.94);
  --bg-card: #fffdf9;
  --bg-card-hover: #faf7f0;

  --text-primary: #14213d;
  --text-secondary: #4a4740;
  --text-muted: #6d6b62;
  --text: #14213d;
  --text-glass-white: #14213d;
  --text-glass-light: rgba(20, 33, 61, 0.9);
  --text-glass-muted: rgba(109, 107, 98, 0.85);

  --accent-primary: #14213d;
  --accent-secondary: #c8a56a;
  --accent-tertiary: #3f6b4a;
  --accent-warm: #c8a56a;

  --glass-bg: rgba(255, 253, 249, 0.8);
  --glass-bg-solid: #fffdf9;
  --glass-border: #e5e0d6;
  --glass-hover: #faf7f0;
  --glass-shadow: 0 1px 2px rgba(20, 33, 61, 0.04), 0 12px 32px rgba(20, 33, 61, 0.07);

  --border-light: #e5e0d6;
  --shadow-soft: 0 1px 2px rgba(20, 33, 61, 0.04), 0 12px 32px rgba(20, 33, 61, 0.07);
  --shadow-hover: 0 1px 2px rgba(20, 33, 61, 0.05), 0 16px 40px rgba(20, 33, 61, 0.10);

  --radius-lg: 6px;
  --radius-md: 3px;
  --radius-sm: 3px;

  --w-bg-deep: #ede8dd;
  --w-bg-base: #efe9dd;
  --w-bg-card: #fffdf9;
  --w-bg-elevated: #faf7f0;
  --w-border: #e5e0d6;
  --w-border-subtle: rgba(20, 33, 61, 0.06);
  --w-text: #14213d;
  --w-text-secondary: #6d6b62;
  --w-text-muted: #a8a293;
  --w-text-bright: #14213d;
  --w-hover: rgba(20, 33, 61, 0.05);
  --w-overlay: rgba(20, 33, 61, 0.45);
  --w-input-bg: #fffdf9;
  --w-input-border: #d8d2c4;
  --w-success: #3f6b4a;
  --w-warning: #b45309;
  --w-danger: #b91c1c;
  --w-info: #14213d;
  --w-accent: #14213d;

  /* ── Enterprise semantic tokens ── */
  --bg-app: #ede8dd;
  --bg-surface: #fffdf9;
  --bg-surface-alt: #faf7f0;
  --bg-track: #efe9dd;
  --border: #e5e0d6;
  --border-strong: #14213d;
  --text-faint: #a8a293;
  --accent-2: #c8a56a;
  --accent-soft-bg: #f1f5ef;
  --accent-soft-border: #cfe0cd;

  --status-excellent: #15803d;
  --status-good: #2563eb;
  --status-average: #b45309;
  --status-below: #c2410c;
  --status-low: #b91c1c;
  --status-positive: #3f6b4a;

  --radius-card: 6px;
  --radius-control: 3px;
  --radius-pill: 3px;
  --shadow-card: 0 1px 2px rgba(20, 33, 61, 0.04), 0 12px 32px rgba(20, 33, 61, 0.07);

  /* Sterling typography — Source Serif 4 headings, Public Sans body/figures */
  --font-sans: 'Public Sans', system-ui, -apple-system, sans-serif;
  --font-heading: 'Source Serif 4', Georgia, serif;
  --font-numeric: 'Public Sans', system-ui, sans-serif;
  --font-body: 'Public Sans', system-ui, sans-serif;
}


/* ===== AURUM — RealEstateIQ house theme: dark editorial luxury =====
   Near-black charcoal canvas, single gold accent family, Playfair Display
   display type + Instrument Sans body. Derived from the RealEstateIQ
   design system (Premium Real Estate Landing Redesign). Locked (not
   user-selectable) via appManifests/realestateiq.js. ===== */
[data-theme="aurum"] {
  --primary: #D9BE7E;
  --primary-light: #EBD6A0;
  --primary-dark: #C9A75E;
  --accent: #D9BE7E;
  --accent-pink: #D9BE7E;
  --accent-teal: #3f6b4a;
  --success: #3f6b4a;
  --warning: #b45309;
  --danger: #b91c1c;
  --error: #b91c1c;

  --bg-primary: #0A0A0C;
  --bg-secondary: #0F1014;
  --bg-tertiary: #0E0F13;
  --bg-gradient: linear-gradient(135deg, #0A0A0C 0%, #0D0E12 50%, #0F1014 100%);
  --bg-main: #0A0A0C;
  --bg-sidebar: rgba(15, 16, 20, 0.92);
  --bg-card: #0F1014;
  --bg-card-hover: #141310;

  --text-primary: #F2EEE4;
  --text-secondary: #B8B2A4;
  --text-muted: #A29C8E;
  --text: #F2EEE4;
  --text-glass-white: #F2EEE4;
  --text-glass-light: rgba(242, 238, 228, 0.9);
  --text-glass-muted: rgba(184, 178, 164, 0.85);

  --accent-primary: #D9BE7E;
  --accent-secondary: #EBD6A0;
  --accent-tertiary: #3f6b4a;
  --accent-warm: #C9A75E;

  --glass-bg: rgba(15, 16, 20, 0.75);
  --glass-bg-solid: #0F1014;
  --glass-border: rgba(201, 167, 94, 0.16);
  --glass-hover: #141310;
  --glass-shadow: 0 30px 70px rgba(0,0,0,0.40);

  --border-light: rgba(255,255,255,0.08);
  --shadow-soft: 0 30px 70px rgba(0,0,0,0.40);
  --shadow-hover: 0 40px 90px rgba(0,0,0,0.55);

  --radius-lg: 18px;
  --radius-md: 11px;
  --radius-sm: 9px;

  --w-bg-deep: #0A0A0C;
  --w-bg-base: #0D0E12;
  --w-bg-card: #0F1014;
  --w-bg-elevated: #17181D;
  --w-border: rgba(255,255,255,0.08);
  --w-border-subtle: rgba(255,255,255,0.06);
  --w-text: #F2EEE4;
  --w-text-secondary: #B8B2A4;
  --w-text-muted: #948E80;
  --w-text-bright: #F2EEE4;
  --w-hover: rgba(201,167,94,0.08);
  --w-overlay: rgba(10,10,12,0.65);
  --w-input-bg: #0D0E12;
  --w-input-border: rgba(255,255,255,0.10);
  --w-success: #3f6b4a;
  --w-warning: #b45309;
  --w-danger: #b91c1c;
  --w-info: #D9BE7E;
  --w-accent: #D9BE7E;

  /* ── Enterprise semantic tokens ── */
  --bg-app: #0A0A0C;
  --bg-surface: #0F1014;
  --bg-surface-alt: #0E0F13;
  --bg-track: #141519;
  --border: rgba(255,255,255,0.08);
  --border-strong: rgba(255,255,255,0.14);
  --text-faint: #948E80;
  --accent-2: #C9A75E;
  --accent-soft-bg: rgba(201,167,94,0.12);
  --accent-soft-border: rgba(201,167,94,0.28);

  --status-excellent: #3f6b4a;
  --status-good: #6b8a52;
  --status-average: #b45309;
  --status-below: #c2410c;
  --status-low: #b91c1c;
  --status-positive: #3f6b4a;

  --radius-card: 18px;
  --radius-control: 11px;
  --radius-pill: 100px;
  --shadow-card: 0 30px 70px rgba(0,0,0,0.40);

  /* Aurum typography — Playfair Display for headings/numerals, Instrument Sans for UI/body */
  --font-sans: 'Instrument Sans', system-ui, -apple-system, sans-serif;
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-numeric: 'Playfair Display', Georgia, serif;
  --font-body: 'Instrument Sans', system-ui, sans-serif;
}


/* ===== NAVY — house default, SmartHire / AgentHub app framework =====
   Mirrors the [data-theme="navy"] tokens in synapcores-design-system.css
   so the legacy bg / glass / text surface (app-shell chrome, classic
   dashboard .widget glass cards) matches the --sc-* surface widgets
   render with, instead of silently falling back to the dark :root
   defaults above. ===== */
[data-theme="navy"] {
  --primary: #1B2A57;
  --primary-light: #26386E;
  --primary-dark: #131F42;
  --accent: #1B2A57;
  --accent-pink: #1B2A57;
  --accent-teal: #1F9D5B;
  --success: #1F9D5B;
  --warning: #F59E0B;
  --danger: #C0563F;
  --error: #C0563F;

  --bg-primary: #F5F7FB;
  --bg-secondary: #FFFFFF;
  --bg-tertiary: #F0F2F7;
  --bg-gradient: linear-gradient(135deg, #F5F7FB 0%, #EEF1F7 50%, #E8EBF4 100%);
  --bg-main: #F5F7FB;
  --bg-sidebar: rgba(255, 255, 255, 0.92);
  --bg-card: #FFFFFF;
  --bg-card-hover: #F0F2F7;

  --text-primary: #131722;
  --text-secondary: #4F5563;
  --text-muted: #767C8B;
  --text: #131722;
  --text-glass-white: #131722;
  --text-glass-light: rgba(19, 23, 34, 0.9);
  --text-glass-muted: rgba(79, 85, 99, 0.85);

  --accent-primary: #1B2A57;
  --accent-secondary: #5F74C0;
  --accent-tertiary: #1F9D5B;
  --accent-warm: #F59E0B;

  --glass-bg: rgba(255, 255, 255, 0.75);
  --glass-bg-solid: #FFFFFF;
  --glass-border: rgba(18, 22, 40, 0.08);
  --glass-hover: #F0F2F7;
  --glass-shadow: 0 1px 2px rgba(19, 23, 34, 0.04), 0 12px 32px rgba(19, 23, 34, 0.06);

  --border-light: rgba(18, 22, 40, 0.08);
  --shadow-soft: 0 1px 2px rgba(19, 23, 34, 0.04), 0 12px 32px rgba(19, 23, 34, 0.06);
  --shadow-hover: 0 1px 2px rgba(19, 23, 34, 0.05), 0 16px 40px rgba(19, 23, 34, 0.09);

  --radius-lg: 14px;
  --radius-md: 10px;
  --radius-sm: 6px;

  --w-bg-deep: #E8EBF4;
  --w-bg-base: #F0F2F7;
  --w-bg-card: #FFFFFF;
  --w-bg-elevated: #FFFFFF;
  --w-border: rgba(18, 22, 40, 0.08);
  --w-border-subtle: rgba(19, 23, 34, 0.05);
  --w-text: #131722;
  --w-text-secondary: #4F5563;
  --w-text-muted: #767C8B;
  --w-text-bright: #131722;
  --w-hover: rgba(27, 42, 87, 0.06);
  --w-overlay: rgba(16, 21, 34, 0.5);
  --w-input-bg: #FFFFFF;
  --w-input-border: rgba(18, 22, 40, 0.13);
  --w-success: #1F9D5B;
  --w-warning: #F59E0B;
  --w-danger: #C0563F;
  --w-info: #1B2A57;
  --w-accent: #1B2A57;

  /* ── Enterprise semantic tokens ── */
  --bg-app: #F5F7FB;
  --bg-surface: #FFFFFF;
  --bg-surface-alt: #F0F2F7;
  --bg-track: #F0F2F7;
  --border: rgba(18, 22, 40, 0.08);
  --border-strong: rgba(18, 22, 40, 0.13);
  --text-faint: #767C8B;
  --accent-2: #1B2A57;
  --accent-soft-bg: rgba(27, 42, 87, 0.10);
  --accent-soft-border: rgba(27, 42, 87, 0.20);

  --status-excellent: #1F9D5B;
  --status-good: #1B2A57;
  --status-average: #F59E0B;
  --status-below: #C0563F;
  --status-low: #C0563F;
  --status-positive: #1F9D5B;

  --radius-card: 14px;
  --radius-control: 10px;
  --radius-pill: 20px;
  --shadow-card: 0 1px 2px rgba(19, 23, 34, 0.04), 0 12px 32px rgba(19, 23, 34, 0.06);

  /* Navy typography — Figtree UI, Bricolage Grotesque display, DM Mono figures */
  --font-sans: 'Figtree', system-ui, -apple-system, sans-serif;
  --font-heading: 'Bricolage Grotesque', system-ui, sans-serif;
  --font-numeric: 'DM Mono', ui-monospace, 'Cascadia Code', monospace;
  --font-body: 'Figtree', system-ui, sans-serif;
}


/* =============================================================
   COMPONENT-LEVEL OVERRIDES PER THEME
   These handle elements that need more than variable swaps.
   ============================================================= */

/* ----- Light / Gmail / Outlook / Arctic shared overrides ----- */
[data-theme="light"],
[data-theme="gmail"],
[data-theme="outlook"],
[data-theme="arctic"],
[data-theme="meridian"],
[data-theme="sterling"],
[data-theme="navy"] {
  color-scheme: light;
}

/* Enterprise themes render all figures with tabular (aligned) numerals. */
[data-theme="meridian"],
[data-theme="sterling"],
[data-theme="aurum"] {
  font-feature-settings: "tnum" 1, "lnum" 1;
  font-variant-numeric: tabular-nums lining-nums;
}

/* --- Body background --- */
[data-theme="light"] body,
[data-theme="gmail"] body,
[data-theme="outlook"] body {
  background: var(--bg-gradient);
}

/* --- Background orbs --- */
[data-theme="light"] .orb { opacity: 0.3; }
[data-theme="gmail"] .orb { opacity: 0.15; }
[data-theme="outlook"] .orb { opacity: 0.1; }

/* --- Headers --- */
[data-theme="light"] .header,
[data-theme="light"] .chat-header {
  background: rgba(255, 255, 255, 0.7);
  border-bottom-color: rgba(148, 163, 184, 0.2);
}

[data-theme="gmail"] .header,
[data-theme="gmail"] .chat-header {
  background: rgba(255, 255, 255, 0.95);
  border-bottom-color: #dadce0;
}

[data-theme="outlook"] .header,
[data-theme="outlook"] .chat-header {
  background: rgba(255, 255, 255, 0.95);
  border-bottom-color: #edebe9;
}

/* --- Navigation tabs --- */
[data-theme="light"] .nav-tab { color: var(--text-secondary); }
[data-theme="gmail"] .nav-tab { color: var(--text-secondary); }
[data-theme="outlook"] .nav-tab { color: var(--text-secondary); }

[data-theme="light"] .nav-tab.active {
  background: rgba(109, 40, 217, 0.1);
  color: var(--primary);
}
[data-theme="gmail"] .nav-tab.active {
  background: rgba(26, 115, 232, 0.08);
  color: var(--primary);
}
[data-theme="outlook"] .nav-tab.active {
  background: rgba(0, 120, 212, 0.08);
  color: var(--primary);
}

/* --- Dashboard tabs --- */
[data-theme="light"] .dashboard-tab,
[data-theme="gmail"] .dashboard-tab,
[data-theme="outlook"] .dashboard-tab {
  background: rgba(255, 255, 255, 0.5);
  border-color: var(--border-light);
  color: var(--text-secondary);
}

[data-theme="light"] .dashboard-tab.active {
  background: rgba(255, 255, 255, 0.8);
  border-color: var(--primary);
  color: var(--primary);
}
[data-theme="gmail"] .dashboard-tab.active {
  background: rgba(232, 240, 254, 0.8);
  border-color: var(--primary);
  color: var(--primary);
}
[data-theme="outlook"] .dashboard-tab.active {
  background: rgba(0, 120, 212, 0.06);
  border-color: var(--primary);
  color: var(--primary);
}

/* --- Greeting text --- */
[data-theme="light"] .greeting h1,
[data-theme="gmail"] .greeting h1,
[data-theme="outlook"] .greeting h1 {
  color: var(--text-primary);
}
[data-theme="light"] .greeting p,
[data-theme="gmail"] .greeting p,
[data-theme="outlook"] .greeting p {
  color: var(--text-secondary);
}

/* --- Widgets --- */
[data-theme="light"] .widget {
  background: rgba(255, 255, 255, 0.65);
  border-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 24px rgba(148, 163, 184, 0.1);
}
[data-theme="gmail"] .widget {
  background: rgba(255, 255, 255, 0.92);
  border-color: #dadce0;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px rgba(60, 64, 67, 0.15);
}
[data-theme="outlook"] .widget {
  background: rgba(255, 255, 255, 0.95);
  border-color: #edebe9;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .widget:hover {
  box-shadow: 0 8px 32px rgba(109, 40, 217, 0.12);
}
[data-theme="gmail"] .widget:hover {
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px rgba(60, 64, 67, 0.15);
}
[data-theme="outlook"] .widget:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .widget-header h3,
[data-theme="gmail"] .widget-header h3,
[data-theme="outlook"] .widget-header h3 {
  color: var(--text-primary);
}

/* --- Editor panels (copywriter) --- */
[data-theme="light"] .editor-panel,
[data-theme="gmail"] .editor-panel,
[data-theme="outlook"] .editor-panel {
  background: rgba(255, 255, 255, 0.65);
  border-color: var(--border-light);
}

/* --- Forms --- */
[data-theme="light"] .form-input,
[data-theme="light"] .form-select,
[data-theme="light"] .form-textarea,
[data-theme="light"] .ai-prompt-input,
[data-theme="light"] .editor-title-input,
[data-theme="light"] .toolbar-select {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(148, 163, 184, 0.3);
  color: var(--text-primary);
}

[data-theme="gmail"] .form-input,
[data-theme="gmail"] .form-select,
[data-theme="gmail"] .form-textarea,
[data-theme="gmail"] .ai-prompt-input,
[data-theme="gmail"] .editor-title-input,
[data-theme="gmail"] .toolbar-select {
  background: #ffffff;
  border-color: #dadce0;
  color: var(--text-primary);
}

[data-theme="outlook"] .form-input,
[data-theme="outlook"] .form-select,
[data-theme="outlook"] .form-textarea,
[data-theme="outlook"] .ai-prompt-input,
[data-theme="outlook"] .editor-title-input,
[data-theme="outlook"] .toolbar-select {
  background: #ffffff;
  border-color: #8a8886;
  color: var(--text-primary);
}

[data-theme="light"] .form-input::placeholder,
[data-theme="gmail"] .form-input::placeholder,
[data-theme="outlook"] .form-input::placeholder {
  color: var(--text-muted);
}

/* --- Modals --- */
[data-theme="light"] .modal {
  background: rgba(255, 255, 255, 0.9);
}
[data-theme="gmail"] .modal {
  background: #ffffff;
  border-color: #dadce0;
}
[data-theme="outlook"] .modal {
  background: #ffffff;
  border-color: #edebe9;
}

/* --- Buttons --- */
[data-theme="light"] .btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--accent));
}
[data-theme="gmail"] .btn-primary {
  background: #1a73e8;
  border-color: #1a73e8;
}
[data-theme="outlook"] .btn-primary {
  background: #0078d4;
  border-color: #0078d4;
}

[data-theme="light"] .btn-secondary {
  background: rgba(148, 163, 184, 0.15);
  color: var(--text-primary);
  border: 1px solid rgba(148, 163, 184, 0.3);
}
[data-theme="gmail"] .btn-secondary {
  background: #ffffff;
  color: var(--primary);
  border: 1px solid #dadce0;
}
[data-theme="outlook"] .btn-secondary {
  background: #ffffff;
  color: var(--text-primary);
  border: 1px solid #8a8886;
}

/* --- Cards (agents, connections) --- */
[data-theme="light"] .agent-card,
[data-theme="light"] .connection-card {
  background: rgba(255, 255, 255, 0.65);
  border-color: rgba(255, 255, 255, 0.8);
}
[data-theme="gmail"] .agent-card,
[data-theme="gmail"] .connection-card {
  background: rgba(255, 255, 255, 0.92);
  border-color: #dadce0;
}
[data-theme="outlook"] .agent-card,
[data-theme="outlook"] .connection-card {
  background: rgba(255, 255, 255, 0.95);
  border-color: #edebe9;
}

[data-theme="light"] .agent-card:hover,
[data-theme="light"] .connection-card:hover {
  box-shadow: 0 8px 32px rgba(109, 40, 217, 0.12);
  border-color: var(--primary);
}
[data-theme="gmail"] .agent-card:hover,
[data-theme="gmail"] .connection-card:hover {
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px rgba(60, 64, 67, 0.15);
  border-color: var(--primary);
}
[data-theme="outlook"] .agent-card:hover,
[data-theme="outlook"] .connection-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  border-color: var(--primary);
}

/* --- Settings sections --- */
[data-theme="light"] .settings-section,
[data-theme="light"] .settings-panel {
  background: rgba(255, 255, 255, 0.65);
}
[data-theme="gmail"] .settings-section,
[data-theme="gmail"] .settings-panel {
  background: #ffffff;
}
[data-theme="outlook"] .settings-section,
[data-theme="outlook"] .settings-panel {
  background: #ffffff;
}

/* --- Connection buttons / tags --- */
[data-theme="light"] .connection-btn.connect,
[data-theme="light"] .capability-tag,
[data-theme="light"] .connection-category-chip {
  background: rgba(109, 40, 217, 0.1);
  color: var(--primary);
}
[data-theme="gmail"] .connection-btn.connect,
[data-theme="gmail"] .capability-tag,
[data-theme="gmail"] .connection-category-chip {
  background: rgba(26, 115, 232, 0.08);
  color: var(--primary);
}
[data-theme="outlook"] .connection-btn.connect,
[data-theme="outlook"] .capability-tag,
[data-theme="outlook"] .connection-category-chip {
  background: rgba(0, 120, 212, 0.08);
  color: var(--primary);
}

/* --- Dashboard widget text --- */
[data-theme="light"] .tasks-table th,
[data-theme="gmail"] .tasks-table th,
[data-theme="outlook"] .tasks-table th {
  color: var(--text-muted);
}

[data-theme="light"] .tasks-table td,
[data-theme="gmail"] .tasks-table td,
[data-theme="outlook"] .tasks-table td {
  color: var(--text-primary);
}

[data-theme="light"] .task-group {
  color: var(--text-primary);
  background: rgba(15, 23, 42, 0.08);
}
[data-theme="gmail"] .task-group {
  color: var(--text-primary);
  background: rgba(32, 33, 36, 0.06);
}
[data-theme="outlook"] .task-group {
  color: var(--text-primary);
  background: rgba(50, 49, 48, 0.06);
}

[data-theme="light"] .task-due,
[data-theme="gmail"] .task-due,
[data-theme="outlook"] .task-due {
  color: var(--text-primary);
}

[data-theme="light"] .task-timeline,
[data-theme="gmail"] .task-timeline,
[data-theme="outlook"] .task-timeline {
  color: var(--text-secondary);
}

[data-theme="light"] .task-created,
[data-theme="gmail"] .task-created,
[data-theme="outlook"] .task-created {
  color: var(--text-muted);
}

/* --- Calendar event text --- */
[data-theme="light"] .calendar-event-title,
[data-theme="gmail"] .calendar-event-title,
[data-theme="outlook"] .calendar-event-title {
  color: var(--text-primary);
}
[data-theme="light"] .calendar-event-time,
[data-theme="gmail"] .calendar-event-time,
[data-theme="outlook"] .calendar-event-time {
  color: var(--text-secondary);
}

/* --- Email text --- */
[data-theme="light"] .email-from,
[data-theme="light"] .email-subject,
[data-theme="gmail"] .email-from,
[data-theme="gmail"] .email-subject,
[data-theme="outlook"] .email-from,
[data-theme="outlook"] .email-subject {
  color: var(--text-primary);
}
[data-theme="light"] .email-preview,
[data-theme="gmail"] .email-preview,
[data-theme="outlook"] .email-preview {
  color: var(--text-secondary);
}

/* --- Activity text --- */
[data-theme="light"] .activity-text,
[data-theme="gmail"] .activity-text,
[data-theme="outlook"] .activity-text {
  color: var(--text-primary);
}
[data-theme="light"] .activity-meta,
[data-theme="gmail"] .activity-meta,
[data-theme="outlook"] .activity-meta {
  color: var(--text-secondary);
}

/* --- Widget generic text --- */
[data-theme="light"] .widget-summary,
[data-theme="gmail"] .widget-summary,
[data-theme="outlook"] .widget-summary {
  color: var(--text-secondary);
}

[data-theme="light"] .widget-content,
[data-theme="gmail"] .widget-content,
[data-theme="outlook"] .widget-content {
  color: var(--text-primary);
}

[data-theme="light"] .stat-value,
[data-theme="gmail"] .stat-value,
[data-theme="outlook"] .stat-value {
  color: var(--text-primary);
}

[data-theme="light"] .stat-label,
[data-theme="gmail"] .stat-label,
[data-theme="outlook"] .stat-label {
  color: var(--text-secondary);
}

[data-theme="light"] .quick-action-btn,
[data-theme="gmail"] .quick-action-btn,
[data-theme="outlook"] .quick-action-btn {
  color: var(--text-primary);
}

[data-theme="light"] .quick-action-btn span,
[data-theme="gmail"] .quick-action-btn span,
[data-theme="outlook"] .quick-action-btn span {
  color: var(--text-secondary);
}

/* --- Error state --- */
[data-theme="light"] .error-state,
[data-theme="gmail"] .error-state,
[data-theme="outlook"] .error-state {
  color: var(--text-secondary);
}
[data-theme="light"] .error-state p,
[data-theme="gmail"] .error-state p,
[data-theme="outlook"] .error-state p {
  color: var(--text-primary);
}

/* --- Table headers --- */
[data-theme="light"] th,
[data-theme="gmail"] th,
[data-theme="outlook"] th {
  color: var(--text-muted);
}

/* --- List items --- */
[data-theme="light"] .widget-list-item,
[data-theme="gmail"] .widget-list-item,
[data-theme="outlook"] .widget-list-item {
  color: var(--text-primary);
}
[data-theme="light"] .widget-list-item-meta,
[data-theme="gmail"] .widget-list-item-meta,
[data-theme="outlook"] .widget-list-item-meta {
  color: var(--text-secondary);
}

/* --- Notification badges (keep white text) --- */
[data-theme="light"] .notification-count,
[data-theme="light"] .badge,
[data-theme="gmail"] .notification-count,
[data-theme="gmail"] .badge,
[data-theme="outlook"] .notification-count,
[data-theme="outlook"] .badge {
  color: #fff;
}

/* --- Widget generic text ensure readability --- */
[data-theme="light"] .widget p,
[data-theme="light"] .widget span:not(.task-status):not(.badge),
[data-theme="gmail"] .widget p,
[data-theme="gmail"] .widget span:not(.task-status):not(.badge),
[data-theme="outlook"] .widget p,
[data-theme="outlook"] .widget span:not(.task-status):not(.badge) {
  color: var(--text-primary);
}

[data-theme="light"] .widget small,
[data-theme="light"] .widget .meta,
[data-theme="light"] .widget .time,
[data-theme="gmail"] .widget small,
[data-theme="gmail"] .widget .meta,
[data-theme="gmail"] .widget .time,
[data-theme="outlook"] .widget small,
[data-theme="outlook"] .widget .meta,
[data-theme="outlook"] .widget .time {
  color: var(--text-secondary);
}

/* --- Theme toggle button active state per-theme --- */
[data-theme="light"] .theme-toggle-btn.active {
  background: rgba(109, 40, 217, 0.15);
}
[data-theme="gmail"] .theme-toggle-btn.active {
  border-color: #1a73e8;
  background: rgba(26, 115, 232, 0.12);
  color: #1a73e8;
}
[data-theme="outlook"] .theme-toggle-btn.active {
  border-color: #0078d4;
  background: rgba(0, 120, 212, 0.12);
  color: #0078d4;
}

/* =============================================================
   CHAT-SPECIFIC COMPONENT OVERRIDES
   ============================================================= */

/* --- Sidebar --- */
[data-theme="light"] .sidebar {
  background: rgba(255, 255, 255, 0.6);
  border-right-color: rgba(148, 163, 184, 0.2);
}
[data-theme="gmail"] .sidebar {
  background: rgba(255, 255, 255, 0.92);
  border-right-color: #dadce0;
}
[data-theme="outlook"] .sidebar {
  background: rgba(243, 242, 241, 0.95);
  border-right-color: #edebe9;
}

/* --- Chat messages --- */
[data-theme="light"] .message.assistant {
  background: rgba(255, 255, 255, 0.7);
}
[data-theme="gmail"] .message.assistant {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #dadce0;
}
[data-theme="outlook"] .message.assistant {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #edebe9;
}

[data-theme="light"] .message.user {
  background: linear-gradient(135deg, #3451D1, #4361EE);
}
[data-theme="gmail"] .message.user {
  background: #1a73e8;
}
[data-theme="outlook"] .message.user {
  background: #0078d4;
}

/* --- Chat input --- */
[data-theme="light"] .input-container {
  background: rgba(255, 255, 255, 0.6);
}
[data-theme="gmail"] .input-container {
  background: rgba(255, 255, 255, 0.92);
}
[data-theme="outlook"] .input-container {
  background: rgba(255, 255, 255, 0.95);
}

[data-theme="light"] .chat-input {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(148, 163, 184, 0.3);
  color: var(--text-primary);
}
[data-theme="gmail"] .chat-input {
  background: #ffffff;
  border-color: #dadce0;
  color: var(--text-primary);
}
[data-theme="outlook"] .chat-input {
  background: #ffffff;
  border-color: #8a8886;
  color: var(--text-primary);
}

[data-theme="light"] .chat-input::placeholder,
[data-theme="gmail"] .chat-input::placeholder,
[data-theme="outlook"] .chat-input::placeholder {
  color: var(--text-muted);
}

/* --- Conversation items --- */
[data-theme="light"] .conversation-item {
  background: rgba(255, 255, 255, 0.5);
}
[data-theme="gmail"] .conversation-item {
  background: rgba(255, 255, 255, 0.7);
}
[data-theme="outlook"] .conversation-item {
  background: rgba(255, 255, 255, 0.7);
}

[data-theme="light"] .conversation-item:hover {
  background: rgba(255, 255, 255, 0.7);
}
[data-theme="gmail"] .conversation-item:hover {
  background: rgba(232, 240, 254, 0.6);
}
[data-theme="outlook"] .conversation-item:hover {
  background: rgba(243, 242, 241, 0.8);
}

[data-theme="light"] .conversation-item.active {
  background: rgba(109, 40, 217, 0.1);
  border-color: var(--accent-primary);
}
[data-theme="gmail"] .conversation-item.active {
  background: rgba(26, 115, 232, 0.1);
  border-color: var(--accent-primary);
}
[data-theme="outlook"] .conversation-item.active {
  background: rgba(0, 120, 212, 0.08);
  border-color: var(--accent-primary);
}

/* --- Toast --- */
[data-theme="light"] .toast,
[data-theme="gmail"] .toast,
[data-theme="outlook"] .toast {
  background: rgba(255, 255, 255, 0.9);
}


/* =============================================================
   CHAT MODAL OVERRIDES PER THEME
   ============================================================= */

/* --- Light theme --- */
[data-theme="light"] .chat-modal {
  background: rgba(226, 232, 240, 0.7);
}

[data-theme="light"] .chat-modal-container {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 50px 100px -30px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

[data-theme="light"] .chat-modal-container::before {
  background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.2), transparent);
}

[data-theme="light"] .chat-sidebar {
  background: rgba(255, 255, 255, 0.75);
  border-right-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-sidebar::after {
  background: linear-gradient(180deg, rgba(109, 40, 217, 0.03) 0%, transparent 40%);
}

[data-theme="light"] .chat-sidebar-header {
  border-bottom-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-sidebar-close {
  border-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-sidebar-close:hover {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-search-box svg {
  color: var(--text-muted);
}

[data-theme="light"] .chat-search-box input {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(148, 163, 184, 0.3);
  color: var(--text-primary);
}

[data-theme="light"] .chat-search-box input::placeholder {
  color: var(--text-muted);
}

[data-theme="light"] .chat-search-box input:focus {
  border-color: rgba(109, 40, 217, 0.35);
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.08);
}

[data-theme="light"] .chat-category-header {
  color: var(--text-muted);
}

[data-theme="light"] .chat-persona-card:hover {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-persona-card.active {
  background: rgba(109, 40, 217, 0.08);
  border-color: rgba(109, 40, 217, 0.15);
}

[data-theme="light"] .chat-persona-desc {
  color: var(--text-muted);
}

[data-theme="light"] .chat-persona-tag {
  background: rgba(0, 0, 0, 0.06);
  color: var(--text-secondary);
}

[data-theme="light"] .chat-persona-avatar .online-dot {
  border-color: rgba(255, 255, 255, 0.9);
}

[data-theme="light"] .chat-main {
  background: rgba(248, 250, 252, 0.7);
}

[data-theme="light"] .chat-main::before {
  background: radial-gradient(circle, rgba(109, 40, 217, 0.04) 0%, transparent 70%);
}

[data-theme="light"] .chat-header {
  background: rgba(255, 255, 255, 0.8);
  border-bottom-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-sidebar-toggle:hover {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-tabs {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-tab {
  background: rgba(255, 255, 255, 0.5);
  border-color: rgba(148, 163, 184, 0.15);
  color: var(--text-secondary);
}

[data-theme="light"] .chat-tab.active {
  background: rgba(109, 40, 217, 0.1);
  border-color: rgba(109, 40, 217, 0.25);
  color: var(--primary);
}

[data-theme="light"] .chat-tab:hover:not(.active) {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(148, 163, 184, 0.25);
}

[data-theme="light"] .chat-new-tab-btn {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(148, 163, 184, 0.2);
  color: var(--text-muted);
}

[data-theme="light"] .chat-header-actions button:hover {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-messages::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1);
}

[data-theme="light"] .chat-messages .message.user {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  border-color: transparent;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.25);
}

[data-theme="light"] .chat-messages .message.user .message-content {
  color: white;
}

[data-theme="light"] .chat-messages .message.assistant,
[data-theme="light"] .chat-messages .message.agent {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(148, 163, 184, 0.25);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .chat-messages .message .message-content {
  color: var(--text-primary);
}

[data-theme="light"] .chat-messages .message .agent-badge {
  border-color: rgba(255, 255, 255, 0.9);
}

[data-theme="light"] .chat-messages .message .message-content pre {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(148, 163, 184, 0.15);
}

[data-theme="light"] .chat-messages .message .message-content code:not(pre code) {
  background: rgba(109, 40, 217, 0.1);
}

[data-theme="light"] .chat-messages .message .message-content a:hover {
  color: var(--primary);
}

[data-theme="light"] .chat-messages .message .task-table {
  background: rgba(0, 0, 0, 0.03);
}

[data-theme="light"] .chat-messages .message .task-table th {
  border-bottom-color: rgba(148, 163, 184, 0.15);
  background: rgba(0, 0, 0, 0.03);
}

[data-theme="light"] .chat-messages .message .task-table td {
  border-bottom-color: rgba(148, 163, 184, 0.08);
}

[data-theme="light"] .chat-messages .message .message-summary {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(148, 163, 184, 0.15);
}

[data-theme="light"] .chat-messages .message .message-action {
  border-color: rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.6);
}

[data-theme="light"] .chat-messages .message .message-action:hover {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-messages .message .copy-btn {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-messages .message .copy-btn:hover {
  background: rgba(109, 40, 217, 0.1);
}

[data-theme="light"] .chat-messages .message.system {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(148, 163, 184, 0.1);
}

[data-theme="light"] .chat-messages .message.error {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.2);
  color: #b91c1c;
}

[data-theme="light"] .chat-messages .message.error .message-content {
  color: #b91c1c;
}

[data-theme="light"] .chat-messages .typing-indicator {
  background: rgba(255, 255, 255, 0.6);
  border-color: rgba(148, 163, 184, 0.15);
}

[data-theme="light"] .chat-quick-picks button {
  background: rgba(255, 255, 255, 0.5);
  border-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-input-container {
  border-top-color: rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.7);
}

[data-theme="light"] .chat-input-wrapper {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(148, 163, 184, 0.3);
}

[data-theme="light"] .chat-input-wrapper:focus-within {
  border-color: rgba(109, 40, 217, 0.3);
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.06);
}

[data-theme="light"] .chat-input-wrapper textarea::placeholder {
  color: var(--text-muted);
}

[data-theme="light"] .chat-input-actions button:hover:not(:disabled) {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-slash-menu {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(148, 163, 184, 0.2);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

[data-theme="light"] .chat-slash-menu .slash-category-header {
  color: var(--text-muted);
}

[data-theme="light"] .chat-slash-menu .slash-item:hover,
[data-theme="light"] .chat-slash-menu .slash-item.selected {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-settings-panel,
[data-theme="light"] .chat-editor-panel {
  background: rgba(255, 255, 255, 0.9);
  border-left-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-settings-header {
  border-bottom-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .chat-settings-header button:hover {
  background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .chat-settings-section h4 {
  color: var(--text-muted);
}

[data-theme="light"] .chat-settings-row select {
  background: rgba(255, 255, 255, 0.8);
  border-color: rgba(148, 163, 184, 0.3);
}


/* --- Gmail (White) theme --- */
[data-theme="gmail"] .chat-modal {
  background: rgba(100, 100, 110, 0.35);
}

[data-theme="gmail"] .chat-modal-container {
  background: rgba(255, 255, 255, 0.95);
  border-color: #dadce0;
  box-shadow: 0 24px 80px -20px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

[data-theme="gmail"] .chat-modal-container::before {
  background: linear-gradient(90deg, transparent, rgba(218, 220, 224, 0.3), transparent);
}

[data-theme="gmail"] .chat-sidebar {
  background: rgba(255, 255, 255, 0.92);
  border-right-color: #dadce0;
}

[data-theme="gmail"] .chat-sidebar::after {
  background: none;
}

[data-theme="gmail"] .chat-sidebar-header {
  border-bottom-color: #dadce0;
}

[data-theme="gmail"] .chat-sidebar-close {
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-sidebar-close:hover {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-search-box svg {
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-search-box input {
  background: #f1f3f4;
  border-color: transparent;
  color: var(--text-primary);
}

[data-theme="gmail"] .chat-search-box input::placeholder {
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-search-box input:focus {
  background: #ffffff;
  border-color: #1a73e8;
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.12);
}

[data-theme="gmail"] .chat-category-header {
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-persona-card:hover {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-persona-card.active {
  background: rgba(26, 115, 232, 0.08);
  border-color: rgba(26, 115, 232, 0.15);
}

[data-theme="gmail"] .chat-persona-desc {
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-persona-tag {
  background: #f1f3f4;
  color: var(--text-secondary);
}

[data-theme="gmail"] .chat-persona-avatar .online-dot {
  border-color: #ffffff;
}

[data-theme="gmail"] .chat-main {
  background: rgba(246, 248, 252, 0.6);
}

[data-theme="gmail"] .chat-main::before {
  display: none;
}

[data-theme="gmail"] .chat-header {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: #dadce0;
}

[data-theme="gmail"] .chat-sidebar-toggle:hover {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-tabs {
  background: #f1f3f4;
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-tab {
  background: rgba(255, 255, 255, 0.7);
  border-color: #dadce0;
  color: var(--text-secondary);
}

[data-theme="gmail"] .chat-tab.active {
  background: rgba(26, 115, 232, 0.08);
  border-color: rgba(26, 115, 232, 0.3);
  color: var(--primary);
}

[data-theme="gmail"] .chat-tab:hover:not(.active) {
  background: rgba(232, 240, 254, 0.5);
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-new-tab-btn {
  background: transparent;
  border-color: #dadce0;
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-new-tab-btn:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: white;
}

[data-theme="gmail"] .chat-header-actions button:hover {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-messages::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1);
}

[data-theme="gmail"] .chat-messages .message.user {
  background: #1a73e8;
  border-color: #1a73e8;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px rgba(60, 64, 67, 0.15);
}

[data-theme="gmail"] .chat-messages .message.user .message-content {
  color: #ffffff;
}

[data-theme="gmail"] .chat-messages .message.assistant,
[data-theme="gmail"] .chat-messages .message.agent {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #dadce0;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px rgba(60, 64, 67, 0.15);
}

[data-theme="gmail"] .chat-messages .message .message-content {
  color: var(--text-primary);
}

[data-theme="gmail"] .chat-messages .message .agent-badge {
  border-color: #ffffff;
  background: linear-gradient(135deg, #1a73e8, #4285f4);
  box-shadow: 0 3px 12px rgba(26, 115, 232, 0.35);
}

[data-theme="gmail"] .chat-messages .message .message-content pre {
  background: #f8f9fa;
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-messages .message .message-content code:not(pre code) {
  background: rgba(26, 115, 232, 0.08);
}

[data-theme="gmail"] .chat-messages .message .message-content a {
  color: #1a73e8;
}

[data-theme="gmail"] .chat-messages .message .message-content a:hover {
  color: #1557b0;
}

[data-theme="gmail"] .chat-messages .message .task-table {
  background: #f8f9fa;
}

[data-theme="gmail"] .chat-messages .message .task-table th {
  border-bottom-color: #dadce0;
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-messages .message .task-table td {
  border-bottom-color: #e8eaed;
}

[data-theme="gmail"] .chat-messages .message .message-summary {
  background: #f8f9fa;
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-messages .message .message-action {
  border-color: #dadce0;
  background: #ffffff;
}

[data-theme="gmail"] .chat-messages .message .message-action:hover {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-messages .message .copy-btn {
  background: #ffffff;
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-messages .message .copy-btn:hover {
  background: rgba(26, 115, 232, 0.08);
}

[data-theme="gmail"] .chat-messages .message.system {
  background: #f1f3f4;
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-messages .message.error {
  background: rgba(217, 48, 37, 0.06);
  border-color: rgba(217, 48, 37, 0.2);
  color: #c5221f;
}

[data-theme="gmail"] .chat-messages .message.error .message-content {
  color: #c5221f;
}

[data-theme="gmail"] .chat-messages .typing-indicator {
  background: rgba(255, 255, 255, 0.92);
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-quick-picks button {
  background: #ffffff;
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-input-container {
  border-top-color: #dadce0;
  background: rgba(255, 255, 255, 0.7);
}

[data-theme="gmail"] .chat-input-wrapper {
  background: #ffffff;
  border-color: #dadce0;
}

[data-theme="gmail"] .chat-input-wrapper:focus-within {
  border-color: #1a73e8;
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.12);
}

[data-theme="gmail"] .chat-input-wrapper textarea::placeholder {
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-input-actions button:hover:not(:disabled) {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-input-actions button#chatSendBtn {
  background: #1a73e8;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3);
}

[data-theme="gmail"] .chat-slash-menu {
  background: #ffffff;
  border-color: #dadce0;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px rgba(60, 64, 67, 0.15);
}

[data-theme="gmail"] .chat-slash-menu .slash-category-header {
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-slash-menu .slash-item:hover,
[data-theme="gmail"] .chat-slash-menu .slash-item.selected {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-settings-panel {
  background: rgba(255, 255, 255, 0.95);
  border-left-color: #dadce0;
}

[data-theme="gmail"] .chat-settings-header {
  border-bottom-color: #dadce0;
}

[data-theme="gmail"] .chat-settings-header button:hover {
  background: #f1f3f4;
}

[data-theme="gmail"] .chat-settings-section h4 {
  color: var(--text-muted);
}

[data-theme="gmail"] .chat-settings-row select {
  background: #ffffff;
  border-color: #dadce0;
}


/* --- Outlook (Blues) theme --- */
[data-theme="outlook"] .chat-modal {
  background: rgba(100, 100, 110, 0.35);
}

[data-theme="outlook"] .chat-modal-container {
  background: rgba(255, 255, 255, 0.96);
  border-color: #edebe9;
  box-shadow: 0 24px 80px -20px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

[data-theme="outlook"] .chat-modal-container::before {
  background: linear-gradient(90deg, transparent, rgba(237, 235, 233, 0.3), transparent);
}

[data-theme="outlook"] .chat-sidebar {
  background: rgba(243, 242, 241, 0.95);
  border-right-color: #edebe9;
}

[data-theme="outlook"] .chat-sidebar::after {
  background: none;
}

[data-theme="outlook"] .chat-sidebar-header {
  border-bottom-color: #edebe9;
}

[data-theme="outlook"] .chat-sidebar-close {
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-sidebar-close:hover {
  background: #e1dfdd;
}

[data-theme="outlook"] .chat-search-box svg {
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-search-box input {
  background: #ffffff;
  border-color: #8a8886;
  color: var(--text-primary);
}

[data-theme="outlook"] .chat-search-box input::placeholder {
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-search-box input:focus {
  border-color: #0078d4;
  box-shadow: none;
}

[data-theme="outlook"] .chat-category-header {
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-persona-card:hover {
  background: #e1dfdd;
}

[data-theme="outlook"] .chat-persona-card.active {
  background: rgba(0, 120, 212, 0.08);
  border-color: rgba(0, 120, 212, 0.15);
}

[data-theme="outlook"] .chat-persona-desc {
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-persona-tag {
  background: #f3f2f1;
  color: var(--text-secondary);
}

[data-theme="outlook"] .chat-persona-avatar .online-dot {
  border-color: #ffffff;
}

[data-theme="outlook"] .chat-main {
  background: rgba(250, 249, 248, 0.6);
}

[data-theme="outlook"] .chat-main::before {
  display: none;
}

[data-theme="outlook"] .chat-header {
  background: rgba(255, 255, 255, 0.95);
  border-bottom-color: #edebe9;
}

[data-theme="outlook"] .chat-sidebar-toggle:hover {
  background: #e1dfdd;
}

[data-theme="outlook"] .chat-tabs {
  background: #f3f2f1;
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-tab {
  background: rgba(255, 255, 255, 0.7);
  border-color: #edebe9;
  color: var(--text-secondary);
}

[data-theme="outlook"] .chat-tab.active {
  background: rgba(0, 120, 212, 0.06);
  border-color: rgba(0, 120, 212, 0.3);
  color: var(--primary);
}

[data-theme="outlook"] .chat-tab:hover:not(.active) {
  background: #e1dfdd;
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-new-tab-btn {
  background: transparent;
  border-color: #edebe9;
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-new-tab-btn:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: white;
}

[data-theme="outlook"] .chat-header-actions button:hover {
  background: #e1dfdd;
}

[data-theme="outlook"] .chat-messages::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.08);
}

[data-theme="outlook"] .chat-messages .message.user {
  background: #0078d4;
  border-color: #0078d4;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

[data-theme="outlook"] .chat-messages .message.user .message-content {
  color: #ffffff;
}

[data-theme="outlook"] .chat-messages .message.assistant,
[data-theme="outlook"] .chat-messages .message.agent {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid #edebe9;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

[data-theme="outlook"] .chat-messages .message .message-content {
  color: var(--text-primary);
}

[data-theme="outlook"] .chat-messages .message .agent-badge {
  border-color: #ffffff;
  background: linear-gradient(135deg, #0078d4, #2b88d8);
  box-shadow: 0 3px 12px rgba(0, 120, 212, 0.3);
}

[data-theme="outlook"] .chat-messages .message .message-content pre {
  background: #faf9f8;
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-messages .message .message-content code:not(pre code) {
  background: rgba(0, 120, 212, 0.08);
}

[data-theme="outlook"] .chat-messages .message .message-content a {
  color: #0078d4;
}

[data-theme="outlook"] .chat-messages .message .message-content a:hover {
  color: #106ebe;
}

[data-theme="outlook"] .chat-messages .message .task-table {
  background: #faf9f8;
}

[data-theme="outlook"] .chat-messages .message .task-table th {
  border-bottom-color: #edebe9;
  background: #f3f2f1;
}

[data-theme="outlook"] .chat-messages .message .task-table td {
  border-bottom-color: #f3f2f1;
}

[data-theme="outlook"] .chat-messages .message .message-summary {
  background: #faf9f8;
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-messages .message .message-action {
  border-color: #edebe9;
  background: #ffffff;
}

[data-theme="outlook"] .chat-messages .message .message-action:hover {
  background: #f3f2f1;
}

[data-theme="outlook"] .chat-messages .message .copy-btn {
  background: #ffffff;
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-messages .message .copy-btn:hover {
  background: rgba(0, 120, 212, 0.08);
}

[data-theme="outlook"] .chat-messages .message.system {
  background: #f3f2f1;
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-messages .message.error {
  background: rgba(209, 52, 56, 0.06);
  border-color: rgba(209, 52, 56, 0.2);
  color: #a4262c;
}

[data-theme="outlook"] .chat-messages .message.error .message-content {
  color: #a4262c;
}

[data-theme="outlook"] .chat-messages .typing-indicator {
  background: rgba(255, 255, 255, 0.95);
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-quick-picks button {
  background: #ffffff;
  border-color: #edebe9;
}

[data-theme="outlook"] .chat-input-container {
  border-top-color: #edebe9;
  background: rgba(255, 255, 255, 0.75);
}

[data-theme="outlook"] .chat-input-wrapper {
  background: #ffffff;
  border-color: #8a8886;
}

[data-theme="outlook"] .chat-input-wrapper:focus-within {
  border-color: #0078d4;
  box-shadow: none;
}

[data-theme="outlook"] .chat-input-wrapper textarea::placeholder {
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-input-actions button:hover:not(:disabled) {
  background: #f3f2f1;
}

[data-theme="outlook"] .chat-input-actions button#chatSendBtn {
  background: #0078d4;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

[data-theme="outlook"] .chat-slash-menu {
  background: #ffffff;
  border-color: #edebe9;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 0 2px rgba(0, 0, 0, 0.06);
}

[data-theme="outlook"] .chat-slash-menu .slash-category-header {
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-slash-menu .slash-item:hover,
[data-theme="outlook"] .chat-slash-menu .slash-item.selected {
  background: #f3f2f1;
}

[data-theme="outlook"] .chat-settings-panel {
  background: rgba(255, 255, 255, 0.98);
  border-left-color: #edebe9;
}

[data-theme="outlook"] .chat-settings-header {
  border-bottom-color: #edebe9;
}

[data-theme="outlook"] .chat-settings-header button:hover {
  background: #e1dfdd;
}

[data-theme="outlook"] .chat-settings-section h4 {
  color: var(--text-muted);
}

[data-theme="outlook"] .chat-settings-row select {
  background: #ffffff;
  border-color: #8a8886;
}


/* =============================================================
   EMAIL INBOX WIDGET (gi-*) OVERRIDES PER THEME
   ============================================================= */

/* --- Light theme --- */
[data-theme="light"] .gi-root {
  --gi-glass-bg: rgba(255, 255, 255, 0.5);
  --gi-glass-bg-hover: rgba(255, 255, 255, 0.65);
  --gi-glass-bg-active: rgba(255, 255, 255, 0.8);
  --gi-glass-border: rgba(148, 163, 184, 0.2);
  --gi-glass-border-hover: rgba(148, 163, 184, 0.35);
  --gi-glass-border-active: rgba(148, 163, 184, 0.45);
  --gi-text-primary: #0f172a;
  --gi-text-secondary: rgba(15, 23, 42, 0.75);
  --gi-text-tertiary: rgba(15, 23, 42, 0.5);
  --gi-accent-primary: #4361EE;
  --gi-accent-primary-glow: rgba(67, 97, 238, 0.2);
  background: var(--bg-gradient);
}

[data-theme="light"] .gi-root .gi-orb { opacity: 0.15; }

[data-theme="light"] .gi-root .gi-account-dot {
  border-color: #e8f4fc;
}

[data-theme="light"] .gi-root .gi-pill-count {
  background: rgba(0, 0, 0, 0.08);
  color: var(--gi-text-secondary);
}

[data-theme="light"] .gi-root .gi-search-shortcut {
  background: rgba(0, 0, 0, 0.06);
  color: var(--gi-text-tertiary);
  border-color: rgba(148, 163, 184, 0.2);
}

[data-theme="light"] .gi-root .gi-compose-btn {
  background: linear-gradient(135deg, #3451D1, #4361EE);
}

[data-theme="light"] .gi-root .gi-label.important { background: rgba(239, 68, 68, 0.1); color: #dc2626; border-color: rgba(239, 68, 68, 0.15); }
[data-theme="light"] .gi-root .gi-label.work { background: rgba(67, 97, 238, 0.1); color: #4361EE; border-color: rgba(67, 97, 238, 0.15); }
[data-theme="light"] .gi-root .gi-label.finance { background: rgba(5, 150, 105, 0.1); color: #059669; border-color: rgba(5, 150, 105, 0.15); }
[data-theme="light"] .gi-root .gi-label.newsletter { background: rgba(217, 119, 6, 0.1); color: #d97706; border-color: rgba(217, 119, 6, 0.15); }
[data-theme="light"] .gi-root .gi-label.social { background: rgba(37, 99, 235, 0.1); color: #2563eb; border-color: rgba(37, 99, 235, 0.15); }

[data-theme="light"] .gi-root .gi-email-item.unread {
  background: rgba(59, 130, 246, 0.06);
  border-color: rgba(59, 130, 246, 0.12);
}

[data-theme="light"] .gi-root .gi-email-item.unread:hover {
  background: rgba(59, 130, 246, 0.1);
}

[data-theme="light"] .gi-root .gi-preview-body {
  background: #ffffff;
  color: #1a1a1a;
}


/* --- Gmail (White) theme --- */
[data-theme="gmail"] .gi-root {
  --gi-glass-bg: rgba(255, 255, 255, 0.75);
  --gi-glass-bg-hover: rgba(232, 240, 254, 0.6);
  --gi-glass-bg-active: rgba(232, 240, 254, 0.8);
  --gi-glass-border: #dadce0;
  --gi-glass-border-hover: #c4c7cc;
  --gi-glass-border-active: #1a73e8;
  --gi-text-primary: #202124;
  --gi-text-secondary: #5f6368;
  --gi-text-tertiary: #80868b;
  --gi-accent-primary: #1a73e8;
  --gi-accent-primary-glow: rgba(26, 115, 232, 0.2);
  background: var(--bg-gradient);
}

[data-theme="gmail"] .gi-root .gi-orb { opacity: 0.08; }

[data-theme="gmail"] .gi-root .gi-account-dot {
  border-color: #f6f8fc;
}

[data-theme="gmail"] .gi-root .gi-pill-count {
  background: #e8eaed;
  color: #5f6368;
}

[data-theme="gmail"] .gi-root .gi-search-shortcut {
  background: #e8eaed;
  color: #80868b;
  border-color: #dadce0;
}

[data-theme="gmail"] .gi-root .gi-search-bar:focus-within {
  border-color: #1a73e8;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3);
}

[data-theme="gmail"] .gi-root .gi-compose-btn {
  background: #1a73e8;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px rgba(60, 64, 67, 0.15);
}

[data-theme="gmail"] .gi-root .gi-compose-btn:hover {
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px rgba(60, 64, 67, 0.15);
}

[data-theme="gmail"] .gi-root .gi-account-pill.active {
  border-color: #1a73e8;
  background: rgba(26, 115, 232, 0.08);
  box-shadow: none;
}

[data-theme="gmail"] .gi-root .gi-nav-badge {
  background: #1a73e8;
  box-shadow: none;
}

[data-theme="gmail"] .gi-root .gi-nav-badge.unread {
  background: #1a73e8;
  box-shadow: none;
}

[data-theme="gmail"] .gi-root .gi-email-item.selected {
  background: rgba(26, 115, 232, 0.08);
  border-color: #1a73e8;
  box-shadow: none;
}

[data-theme="gmail"] .gi-root .gi-label.important { background: rgba(217, 48, 37, 0.08); color: #d93025; border-color: rgba(217, 48, 37, 0.12); }
[data-theme="gmail"] .gi-root .gi-label.work { background: rgba(26, 115, 232, 0.08); color: #1a73e8; border-color: rgba(26, 115, 232, 0.12); }
[data-theme="gmail"] .gi-root .gi-label.finance { background: rgba(24, 128, 56, 0.08); color: #188038; border-color: rgba(24, 128, 56, 0.12); }
[data-theme="gmail"] .gi-root .gi-label.newsletter { background: rgba(249, 171, 0, 0.1); color: #e37400; border-color: rgba(249, 171, 0, 0.15); }
[data-theme="gmail"] .gi-root .gi-label.social { background: rgba(26, 115, 232, 0.08); color: #1a73e8; border-color: rgba(26, 115, 232, 0.12); }

[data-theme="gmail"] .gi-root .gi-email-item.unread {
  background: rgba(26, 115, 232, 0.04);
  border-color: rgba(26, 115, 232, 0.08);
}

[data-theme="gmail"] .gi-root .gi-email-item.unread:hover {
  background: rgba(26, 115, 232, 0.07);
}

[data-theme="gmail"] .gi-root .gi-preview-body {
  background: #ffffff;
  color: #202124;
}

[data-theme="gmail"] .gi-root .gi-preview-action-btn.primary {
  background: #1a73e8;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3);
}

[data-theme="gmail"] .gi-root .gi-send-btn {
  background: #1a73e8;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3);
}

[data-theme="gmail"] .gi-root .gi-draft-icon {
  background: rgba(26, 115, 232, 0.08);
}

[data-theme="gmail"] .gi-root .gi-draft-icon svg {
  color: #1a73e8;
}


/* --- Outlook (Blues) theme --- */
[data-theme="outlook"] .gi-root {
  --gi-glass-bg: rgba(255, 255, 255, 0.8);
  --gi-glass-bg-hover: rgba(243, 242, 241, 0.8);
  --gi-glass-bg-active: rgba(243, 242, 241, 1);
  --gi-glass-border: #edebe9;
  --gi-glass-border-hover: #c8c6c4;
  --gi-glass-border-active: #0078d4;
  --gi-text-primary: #323130;
  --gi-text-secondary: #605e5c;
  --gi-text-tertiary: #a19f9d;
  --gi-accent-primary: #0078d4;
  --gi-accent-primary-glow: rgba(0, 120, 212, 0.15);
  background: var(--bg-gradient);
}

[data-theme="outlook"] .gi-root .gi-orb { opacity: 0.05; }

[data-theme="outlook"] .gi-root .gi-account-dot {
  border-color: #faf9f8;
}

[data-theme="outlook"] .gi-root .gi-pill-count {
  background: #f3f2f1;
  color: #605e5c;
}

[data-theme="outlook"] .gi-root .gi-search-shortcut {
  background: #f3f2f1;
  color: #a19f9d;
  border-color: #edebe9;
}

[data-theme="outlook"] .gi-root .gi-search-bar:focus-within {
  border-color: #0078d4;
  box-shadow: none;
}

[data-theme="outlook"] .gi-root .gi-compose-btn {
  background: #0078d4;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

[data-theme="outlook"] .gi-root .gi-compose-btn:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

[data-theme="outlook"] .gi-root .gi-account-pill.active {
  border-color: #0078d4;
  background: rgba(0, 120, 212, 0.08);
  box-shadow: none;
}

[data-theme="outlook"] .gi-root .gi-nav-badge {
  background: #0078d4;
  box-shadow: none;
}

[data-theme="outlook"] .gi-root .gi-nav-badge.unread {
  background: #0078d4;
  box-shadow: none;
}

[data-theme="outlook"] .gi-root .gi-email-item.selected {
  background: rgba(0, 120, 212, 0.06);
  border-color: #0078d4;
  box-shadow: none;
}

[data-theme="outlook"] .gi-root .gi-label.important { background: rgba(209, 52, 56, 0.08); color: #d13438; border-color: rgba(209, 52, 56, 0.12); }
[data-theme="outlook"] .gi-root .gi-label.work { background: rgba(0, 120, 212, 0.08); color: #0078d4; border-color: rgba(0, 120, 212, 0.12); }
[data-theme="outlook"] .gi-root .gi-label.finance { background: rgba(16, 124, 16, 0.08); color: #107c10; border-color: rgba(16, 124, 16, 0.12); }
[data-theme="outlook"] .gi-root .gi-label.newsletter { background: rgba(255, 185, 0, 0.1); color: #ca5010; border-color: rgba(255, 185, 0, 0.15); }
[data-theme="outlook"] .gi-root .gi-label.social { background: rgba(0, 120, 212, 0.08); color: #0078d4; border-color: rgba(0, 120, 212, 0.12); }

[data-theme="outlook"] .gi-root .gi-email-item.unread {
  background: rgba(0, 120, 212, 0.04);
  border-color: rgba(0, 120, 212, 0.08);
}

[data-theme="outlook"] .gi-root .gi-email-item.unread:hover {
  background: rgba(0, 120, 212, 0.07);
}

[data-theme="outlook"] .gi-root .gi-preview-body {
  background: #ffffff;
  color: #323130;
}

[data-theme="outlook"] .gi-root .gi-preview-action-btn.primary {
  background: #0078d4;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

[data-theme="outlook"] .gi-root .gi-send-btn {
  background: #0078d4;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

[data-theme="outlook"] .gi-root .gi-draft-icon {
  background: rgba(0, 120, 212, 0.08);
}

[data-theme="outlook"] .gi-root .gi-draft-icon svg {
  color: #0078d4;
}


/* =============================================================
   NEW EXECUTIVE THEMES — Obsidian / Arctic / Onyx overrides
   ============================================================= */

/* --- Arctic (light theme) body & orbs --- */
[data-theme="arctic"] body {
  background: var(--bg-gradient);
}
[data-theme="arctic"] .orb { opacity: 0.15; }

[data-theme="arctic"] .header,
[data-theme="arctic"] .chat-header {
  background: rgba(255, 255, 255, 0.75);
  border-bottom: 1px solid #E2DED8;
}

/* --- Obsidian & Onyx dark theme orbs --- */
[data-theme="obsidian"] .orb { opacity: 0.08; }
[data-theme="onyx"] .orb { opacity: 0.05; }

/* --- Typography overrides — heading fonts --- */
[data-theme="obsidian"] .greeting h1,
[data-theme="obsidian"] .widget-header h3,
[data-theme="obsidian"] .settings-header h2,
[data-theme="obsidian"] h1, [data-theme="obsidian"] h2, [data-theme="obsidian"] h3 {
  font-family: var(--font-heading);
}
[data-theme="obsidian"] body,
[data-theme="obsidian"] input,
[data-theme="obsidian"] select,
[data-theme="obsidian"] textarea,
[data-theme="obsidian"] button {
  font-family: var(--font-body);
}

[data-theme="arctic"] .greeting h1,
[data-theme="arctic"] .widget-header h3,
[data-theme="arctic"] .settings-header h2,
[data-theme="arctic"] h1, [data-theme="arctic"] h2, [data-theme="arctic"] h3 {
  font-family: var(--font-heading);
}
[data-theme="arctic"] body,
[data-theme="arctic"] input,
[data-theme="arctic"] select,
[data-theme="arctic"] textarea,
[data-theme="arctic"] button {
  font-family: var(--font-body);
}

[data-theme="onyx"] .greeting h1,
[data-theme="onyx"] .widget-header h3,
[data-theme="onyx"] .settings-header h2,
[data-theme="onyx"] h1, [data-theme="onyx"] h2, [data-theme="onyx"] h3 {
  font-family: var(--font-heading);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
[data-theme="onyx"] body,
[data-theme="onyx"] input,
[data-theme="onyx"] select,
[data-theme="onyx"] textarea,
[data-theme="onyx"] button {
  font-family: var(--font-body);
}

/* --- Badge styling per theme --- */
[data-theme="obsidian"] .badge,
[data-theme="obsidian"] .dashboard-tab,
[data-theme="obsidian"] .nav-tab {
  letter-spacing: 0.15em;
  font-size: 9px;
  text-transform: uppercase;
}

[data-theme="onyx"] .badge,
[data-theme="onyx"] .dashboard-tab,
[data-theme="onyx"] .nav-tab {
  letter-spacing: 0.2em;
  font-size: 9px;
  text-transform: uppercase;
  font-weight: 700;
}

/* --- Widget overrides for new dark themes --- */
[data-theme="obsidian"] .widget,
[data-theme="onyx"] .widget {
  background: var(--glass-bg);
  border: 1px solid var(--border-light);
  backdrop-filter: blur(12px);
}

[data-theme="obsidian"] .widget:hover {
  border-color: rgba(201, 169, 110, 0.2);
  box-shadow: 0 8px 32px rgba(201, 169, 110, 0.06);
}
[data-theme="onyx"] .widget:hover {
  border-color: rgba(212, 35, 58, 0.2);
  box-shadow: 0 8px 32px rgba(212, 35, 58, 0.06);
}

/* --- Arctic widget overrides --- */
[data-theme="arctic"] .widget {
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid #E2DED8;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
[data-theme="arctic"] .widget:hover {
  border-color: #C8C2BA;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
[data-theme="arctic"] .widget-header h3 {
  color: #1A1A2E;
}

/* --- Dashboard tabs --- */
[data-theme="obsidian"] .dashboard-tab.active {
  color: #C9A96E;
  border-bottom-color: #C9A96E;
}
[data-theme="arctic"] .dashboard-tab {
  color: #7A7670;
}
[data-theme="arctic"] .dashboard-tab.active {
  color: #1A1A2E;
  border-bottom-color: #1A1A2E;
}
[data-theme="onyx"] .dashboard-tab.active {
  color: #D4233A;
  border-bottom-color: #D4233A;
}

/* --- Nav tabs --- */
[data-theme="obsidian"] .nav-tab.active {
  color: #C9A96E;
  background: rgba(201, 169, 110, 0.08);
}
[data-theme="arctic"] .nav-tab { color: #7A7670; }
[data-theme="arctic"] .nav-tab.active {
  color: #1A1A2E;
  background: rgba(26, 26, 46, 0.06);
}
[data-theme="onyx"] .nav-tab.active {
  color: #D4233A;
  background: rgba(212, 35, 58, 0.08);
}

/* --- Header overrides --- */
[data-theme="obsidian"] .header {
  background: rgba(10, 11, 14, 0.9);
  border-bottom: 1px solid #22262E;
}
[data-theme="onyx"] .header {
  background: rgba(8, 8, 8, 0.95);
  border-bottom: 1px solid #222222;
}

/* --- Greeting overrides --- */
[data-theme="arctic"] .greeting h1 {
  color: #1A1A2E;
}
[data-theme="arctic"] .greeting p {
  color: #7A7670;
}

/* --- Editor/settings panels --- */
[data-theme="obsidian"] .editor-panel,
[data-theme="obsidian"] .settings-panel {
  background: rgba(19, 21, 26, 0.98);
  border-color: #22262E;
}
[data-theme="arctic"] .editor-panel,
[data-theme="arctic"] .settings-panel {
  background: rgba(255, 255, 255, 0.98);
  border-color: #E2DED8;
}
[data-theme="onyx"] .editor-panel,
[data-theme="onyx"] .settings-panel {
  background: rgba(22, 22, 22, 0.98);
  border-color: #282828;
}

/* --- Scrollbar styling for dark exec themes --- */
[data-theme="obsidian"] ::-webkit-scrollbar-track { background: #0C0D0F; }
[data-theme="obsidian"] ::-webkit-scrollbar-thumb { background: #22262E; }
[data-theme="obsidian"] ::-webkit-scrollbar-thumb:hover { background: #2E3440; }

[data-theme="onyx"] ::-webkit-scrollbar-track { background: #0F0F0F; }
[data-theme="onyx"] ::-webkit-scrollbar-thumb { background: #282828; }
[data-theme="onyx"] ::-webkit-scrollbar-thumb:hover { background: #383838; }

[data-theme="arctic"] ::-webkit-scrollbar-track { background: #F4F2EE; }
[data-theme="arctic"] ::-webkit-scrollbar-thumb { background: #C8C2BA; }
[data-theme="arctic"] ::-webkit-scrollbar-thumb:hover { background: #B8B4AE; }
