/**
 * DeployForge — CENTRAL THEME
 * =============================================================================
 * Change look & feel HERE only. Component CSS (app/setup/deploy/login) should
 * use these variables — do not hardcode brand colors there.
 *
 * Modes: <html data-theme="light|dark">  (toggled via localStorage "df-theme")
 *
 * Quick rebrand knobs (light + dark sections below):
 *   --df-lime / --df-lime-deep  → primary / CTA accent
 *   --df-ai                     → links & secondary accent
 *   --df-deploy                 → deploy/setup teal accent
 *   --df-ink / --df-mist / --df-paper → text & surfaces
 *   --df-font-*                 → typography
 * =============================================================================
 */

:root {
  /* ——— Brand accents ——— */
  --df-lime: #c8f542;
  --df-lime-deep: #8fb814;
  --df-signal: #ff5c33;
  --df-ai: #3d7cff;
  --df-deploy: #0f766e;
  --df-deploy-bright: #14b8a6;

  /* ——— Surfaces & text ——— */
  --df-ink: #111827;
  --df-ink-soft: #334155;
  --df-mist: #ffffff;
  --df-paper: #ffffff;
  --df-paper-soft: #f8fafc;
  --df-mute: #64748b;
  --df-line: rgba(15, 23, 42, 0.06);
  --df-line-strong: rgba(15, 23, 42, 0.12);
  --df-on-accent: #ffffff;

  /* ——— Semantic status ——— */
  --df-ok: #059669;
  --df-ok-strong: #16a34a;
  --df-ok-deep: #15803d;
  --df-ok-text: #14532d;
  --df-ok-soft: #166534;

  --df-warn: #d97706;
  --df-warn-deep: #b45309;
  --df-warn-text: #78350f;
  --df-warn-soft: #9a3412;

  --df-danger: #e11d48;
  --df-danger-strong: #dc2626;
  --df-danger-deep: #b91c1c;
  --df-danger-text: #7f1d1d;
  --df-danger-soft: #991b1b;

  --df-info: #2563eb;
  --df-info-text: #1e3a5f;
  --df-info-soft: #93c5fd;
  --df-server: #7c3aed;
  --df-local: #0284c7;

  /* ——— Status pills (Users / History) ——— */
  /* Account / deploy status — clearer, higher-contrast pills */
  --df-status-active-fg: #047857;
  --df-status-active-bg: #d1fae5;
  --df-status-active-bd: #34d399;
  --df-status-pending-fg: #b45309;
  --df-status-pending-bg: #fef3c7;
  --df-status-pending-bd: #f59e0b;
  --df-status-inactive-fg: #334155;
  --df-status-inactive-bg: #e2e8f0;
  --df-status-inactive-bd: #94a3b8;
  --df-status-deleted-fg: #be123c;
  --df-status-deleted-bg: #ffe4e6;
  --df-status-deleted-bd: #fb7185;
  --df-status-rejected-fg: #be123c;
  --df-status-rejected-bg: #ffe4e6;
  --df-status-rejected-bd: #fb7185;

  /* ——— Glass / elevation ——— */
  --df-glass: #ffffff;
  --df-glass-solid: #ffffff;
  --df-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
  --df-radius: 12px;
  --df-radius-lg: 18px;
  --df-header-h: 48px;

  /* ——— Typography ——— */
  --df-font-display: "Bricolage Grotesque", system-ui, sans-serif;
  --df-font-body: "Outfit", system-ui, sans-serif;
  --df-font-mono: "IBM Plex Mono", ui-monospace, monospace;

  /* ——— Atmosphere washes (login / gate) ——— */
  --df-wash-a: transparent;
  --df-wash-b: transparent;
  --df-wash-c: transparent;
  --df-login-wash:
    radial-gradient(ellipse 80% 60% at 30% 40%, rgba(13, 148, 136, 0.18), transparent 60%),
    radial-gradient(ellipse 70% 50% at 75% 70%, rgba(2, 132, 199, 0.16), transparent 55%),
    linear-gradient(145deg, #e8f3fc 0%, #dceaf8 45%, #cfe3f4 100%);

  /* ——— Terminal / console ——— */
  --df-term-bg: #0b0f14;
  --df-term-line: rgba(255, 255, 255, 0.08);
  --df-term-dot-r: #ff5f57;
  --df-term-dot-y: #febc2e;
  --df-term-dot-g: #28c840;
  --df-live-dot: #3dd68c;

  /* ——— Legacy aliases (keep older class names working) ——— */
  --bg0: #ffffff;
  --bg1: #ffffff;
  --bg2: #ffffff;
  --glass: #ffffff;
  --glass-border: var(--df-line);
  --text: var(--df-ink);
  --muted: var(--df-mute);
  --accent: var(--df-lime-deep);
  --accent-2: var(--df-ai);
  --danger: var(--df-danger);
  --warn: var(--df-warn);
  --ok: var(--df-ok);
  --shadow: var(--df-shadow);
  --radius: var(--df-radius);
  --font-display: var(--df-font-display);
  --font-body: var(--df-font-body);
  --stage: #ffffff;
}

[data-theme="dark"] {
  /* ——— Brand accents (dark) ——— */
  --df-lime: #d4ff4a;
  --df-lime-deep: #b8e03a;
  --df-signal: #ff6b45;
  --df-ai: #5b9dff;
  --df-deploy: #2dd4bf;
  --df-deploy-bright: #5eead4;

  /* ——— Surfaces & text ——— */
  --df-ink: #f4f7fb;
  --df-ink-soft: #b6c2d1;
  --df-mist: #0a0e14;
  --df-paper: #151b24;
  --df-paper-soft: #1e2633;
  --df-mute: #b6c2d1;
  --df-line: rgba(244, 247, 251, 0.12);
  --df-line-strong: rgba(244, 247, 251, 0.22);
  --df-on-accent: #0a0e14;

  /* ——— Semantic status (dark) ——— */
  --df-ok: #3dd68c;
  --df-ok-strong: #22c55e;
  --df-ok-deep: #86efac;
  --df-ok-text: #86efac;
  --df-ok-soft: #86efac;

  --df-warn: #ffc53d;
  --df-warn-deep: #fcd34d;
  --df-warn-text: #fcd34d;
  --df-warn-soft: #fcd34d;

  --df-danger: #ff6b81;
  --df-danger-strong: #ff6b81;
  --df-danger-deep: #fca5a5;
  --df-danger-text: #fca5a5;
  --df-danger-soft: #fecaca;

  --df-info: #5b9dff;
  --df-info-text: #93c5fd;
  --df-info-soft: #93c5fd;
  --df-server: #a78bfa;
  --df-local: #38bdf8;

  /* ——— Status pills (dark) ——— */
  --df-status-active-fg: #6ee7b7;
  --df-status-active-bg: rgba(16, 185, 129, 0.22);
  --df-status-active-bd: rgba(52, 211, 153, 0.55);
  --df-status-pending-fg: #fbbf24;
  --df-status-pending-bg: rgba(245, 158, 11, 0.22);
  --df-status-pending-bd: rgba(251, 191, 36, 0.5);
  --df-status-inactive-fg: #cbd5e1;
  --df-status-inactive-bg: rgba(100, 116, 139, 0.28);
  --df-status-inactive-bd: rgba(148, 163, 184, 0.5);
  --df-status-deleted-fg: #fb7185;
  --df-status-deleted-bg: rgba(244, 63, 94, 0.22);
  --df-status-deleted-bd: rgba(251, 113, 133, 0.5);
  --df-status-rejected-fg: #fb7185;
  --df-status-rejected-bg: rgba(244, 63, 94, 0.22);
  --df-status-rejected-bd: rgba(251, 113, 133, 0.5);

  /* ——— Glass / elevation ——— */
  --df-glass: #151b24;
  --df-glass-solid: #151b24;
  --df-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);

  /* ——— Atmosphere ——— */
  --df-login-wash:
    radial-gradient(ellipse 80% 60% at 30% 40%, rgba(45, 212, 191, 0.18), transparent 60%),
    radial-gradient(ellipse 70% 50% at 75% 70%, rgba(56, 189, 248, 0.14), transparent 55%),
    linear-gradient(145deg, #0a1628, #0f2138 55%, #132a44);

  /* ——— Terminal ——— */
  --df-term-bg: #0b0f14;
  --df-term-line: rgba(255, 255, 255, 0.1);
  --df-live-dot: #3dd68c;

  /* ——— Legacy aliases ——— */
  --bg0: #0a0e14;
  --bg1: #0a0e14;
  --bg2: #151b24;
  --glass: var(--df-glass);
  --glass-border: var(--df-line);
  --text: var(--df-ink);
  --muted: var(--df-mute);
  --accent: var(--df-lime);
  --accent-2: var(--df-ai);
  --danger: var(--df-danger);
  --warn: var(--df-warn);
  --ok: var(--df-ok);
  --shadow: var(--df-shadow);
  --stage: #0a0e14;
}
