/* =============================================================================
   Theme: SalesToBooks Light
   =============================================================================
   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: #059669;          /* emerald-600 */
  --color-primary-light: #10B981;    /* emerald-500 */
  --color-primary-dark: #047857;     /* emerald-700 */
  --color-primary-muted: rgba(5, 150, 105, 0.10);
  --color-accent: #0D9488;           /* teal-600 */
  --color-link: #059669;             /* emerald-600 */

  /* --- 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: #F8FAFC;          /* slate-50 — page background */
  --color-bg-surface: #FFFFFF;       /* white — main content */
  --color-bg-elevated: #FFFFFF;      /* white — sidebar, topbar, cards */
  --color-bg-hover: #F1F5F9;         /* slate-100 — hover states */
  --color-bg-active: rgba(5, 150, 105, 0.08); /* emerald tinted active */
  --color-bg-card: #FFFFFF;          /* white cards */
  --color-bg-input: #FFFFFF;         /* white inputs */

  /* --- Borders -------------------------------------------------------------- */
  --color-border: #E2E8F0;           /* slate-200 */
  --color-border-subtle: #F1F5F9;    /* slate-100 */
  --color-border-strong: #CBD5E1;    /* slate-300 */
  --color-border-primary: rgba(5, 150, 105, 0.25);

  /* --- Text ----------------------------------------------------------------- */
  --color-text: #0F172A;             /* slate-900 — primary text */
  --color-text-secondary: #475569;   /* slate-600 — secondary text */
  --color-text-muted: #64748B;       /* slate-500 — muted/labels */
  --color-text-faint: #94A3B8;       /* slate-400 — disabled/hints */
  --color-text-primary: #059669;     /* emerald-600 — links/active */

  /* --- Shadows -------------------------------------------------------------- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-glow: 0 0 20px rgba(5, 150, 105, 0.10);

  /* --- 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;
}

/* =============================================================================
   Text Selection — emerald highlight
   ============================================================================= */

::selection {
  background: #059669;       /* emerald-600 */
  color: #ffffff;
}
