/* =============================================================================
   Theme: SalesToBooks Dark
   =============================================================================
   Single source of truth for all UI colors. Every layout and component CSS
   file references these variables instead of hardcoding hex values.

   To adjust the look-and-feel, change values here — everything else follows.
   ============================================================================= */

:root {
  /* --- Brand palette -------------------------------------------------------- */
  --color-primary: #6366F1;          /* indigo-500 */
  --color-primary-light: #818CF8;    /* indigo-400 */
  --color-primary-dark: #4F46E5;     /* indigo-600 */
  --color-primary-muted: rgba(99, 102, 241, 0.15);
  --color-accent: #8B5CF6;           /* violet-500 */
  --color-link: #818CF8;             /* indigo-400 */

  /* --- Semantic ------------------------------------------------------------- */
  --color-success: #10B981;          /* emerald-500 */
  --color-warning: #F59E0B;          /* amber-500 */
  --color-danger: #EF4444;           /* red-500 */
  --color-info: #0EA5E9;             /* sky-500 */

  /* --- Surfaces ------------------------------------------------------------- */
  --color-bg-base: #030712;          /* gray-950 — deepest background */
  --color-bg-surface: #0a0f1a;       /* between 950 and 900 — main content */
  --color-bg-elevated: #111827;      /* gray-900 — sidebar, topbar, cards */
  --color-bg-hover: #1F2937;         /* gray-800 — hover states */
  --color-bg-active: rgba(99, 102, 241, 0.12); /* primary tinted active */
  --color-bg-card: rgba(255, 255, 255, 0.03);  /* glassmorphism card */
  --color-bg-input: rgba(255, 255, 255, 0.05); /* form inputs */

  /* --- Borders -------------------------------------------------------------- */
  --color-border: rgba(255, 255, 255, 0.08);
  --color-border-subtle: rgba(255, 255, 255, 0.05);
  --color-border-strong: rgba(255, 255, 255, 0.12);
  --color-border-primary: rgba(99, 102, 241, 0.25);

  /* --- Text ----------------------------------------------------------------- */
  --color-text: #F9FAFB;             /* gray-50 — primary text */
  --color-text-secondary: #D1D5DB;   /* gray-300 — secondary text */
  --color-text-muted: #9CA3AF;       /* gray-400 — muted/labels */
  --color-text-faint: #6B7280;       /* gray-500 — disabled/hints */
  --color-text-primary: #A5B4FC;     /* indigo-300 — links/active */

  /* --- Shadows -------------------------------------------------------------- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 20px rgba(99, 102, 241, 0.15);

  /* --- Integration brand colors --------------------------------------------- */
  --color-clover: #4CAF50;
  --color-quickbooks: #2CA01C;
  --color-xero: #13B5EA;
  --color-freshbooks: #00B300;
  --color-square: #006AFF;

  /* --- Layout dimensions ---------------------------------------------------- */
  --sidebar-width: 240px;
  --topbar-height: 48px;
  --sidebar-z-index: 40;
  --topbar-z-index: 30;
  --overlay-z-index: 35;
  --sidebar-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);

  /* --- Radii ---------------------------------------------------------------- */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-pill: 9999px;
}
