/* ══════════════════════════════════════════════════════════
   GerenciaX — Design Tokens (extraídos do global.scss)

   ⚠️ ARQUIVO VENDORIZADO (cópia)
   Fonte da verdade: projeto gx-design-system (css/tokens.css).
   Este projeto (gx-landing) é autossuficiente — NÃO importa nada
   do gx-design-system em runtime. Ao mudar a identidade da marca,
   atualize os tokens no gx-design-system e sincronize aqui.
   Ver docs/design-system.md.
   ══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700&display=swap');

:root {
  /* ── Font ───────────────────────────────────────────── */
  --font-family: 'Titillium Web', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* ── Font Sizes ─────────────────────────────────────── */
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;
  --font-size-4xl: 36px;

  /* ── Font Weights ───────────────────────────────────── */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* ── Line Heights ───────────────────────────────────── */
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* ── Spacing ────────────────────────────────────────── */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 32px;
  --spacing-2xl: 48px;
  --spacing-3xl: 64px;

  /* ── Border Radius ──────────────────────────────────── */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-2xl: 24px;
  --radius-full: 9999px;
  --btn-radius: 12px;
  --card-radius: 14px;
  --input-radius: 10px;

  /* ── Shadows ────────────────────────────────────────── */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-hover: 0 8px 16px -4px rgba(1, 102, 255, 0.2);

  /* ── Transitions ────────────────────────────────────── */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;

  /* ── Z-Index ────────────────────────────────────────── */
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;
  --z-notification: 1080;

  /* ── Semantic Colors (Ionic) ────────────────────────── */
  --ion-color-primary: #0166FF;
  --ion-color-primary-shade: #005AE0;
  --ion-color-primary-tint: #337FFF;
  --ion-color-secondary: #6C63FF;
  --ion-color-tertiary: #5260FF;
  --ion-color-success: #10B981;
  --ion-color-warning: #F0B100;
  --ion-color-danger: #EF4444;

  /* ── Backgrounds (Light) ────────────────────────────── */
  --ion-background-color: #F4F6F8;
  --card-bg: #FFFFFF;
  --bg-secondary: #E5E7EB;
  --input-bg: #F5F6F8;
  --modal-bg: #FFFFFF;

  /* ── Text Colors (Light) ────────────────────────────── */
  --text-primary: #111827;
  --text-secondary: #6B7280;
  --text-tertiary: #9CA3AF;
  --text-disabled: #D1D5DB;
  --text-on-dark: #FFFFFF;
  --text-on-primary: #FFFFFF;
  --text-link: #0166FF;

  /* ── Borders (Light) ────────────────────────────────── */
  --border-light: #E5E7EB;
  --border-medium: #D1D5DB;
  --border-dark: #9CA3AF;
  --border-primary: #0166FF;

  /* ── Inputs ─────────────────────────────────────────── */
  --input-border-focus: #0166FF;
  --input-border-error: #EF4444;

  /* ── Buttons ────────────────────────────────────────── */
  --btn-primary-bg: #0166FF;
  --btn-primary-bg-hover: #0056E0;
  --btn-primary-bg-active: #0046C7;
  --btn-primary-bg-disabled: #D1D5DB;
  --btn-primary-text: #FFFFFF;
  --btn-primary-text-disabled: #9CA3AF;

  --btn-secondary-bg: #F3F4F6;
  --btn-secondary-bg-hover: #E5E7EB;
  --btn-secondary-bg-active: #D1D5DB;
  --btn-secondary-text: #374151;

  --btn-ghost-bg: transparent;
  --btn-ghost-bg-hover: rgba(1, 102, 255, 0.08);
  --btn-ghost-bg-active: rgba(1, 102, 255, 0.16);
  --btn-ghost-border: #0166FF;
  --btn-ghost-text: #0166FF;

  --btn-danger-bg: #EF4444;
  --btn-danger-bg-hover: #DC2626;
  --btn-danger-bg-active: #B91C1C;
  --btn-danger-text: #FFFFFF;

  --btn-success-bg: #10B981;
  --btn-success-bg-hover: #059669;
  --btn-success-bg-active: #047857;
  --btn-success-text: #FFFFFF;

  /* ── Header ─────────────────────────────────────────── */
  --header-bg: #0166FF;
  --header-text: #FFFFFF;

  /* ── Icons ──────────────────────────────────────────── */
  --icon-size-xs: 16px;
  --icon-size-sm: 20px;
  --icon-size-md: 24px;
  --icon-size-lg: 32px;
  --icon-size-xl: 48px;
  --icon-color: #374151;
  --icon-color-secondary: #9CA3AF;
  --icon-color-active: #0166FF;

  /* ── Avatars ────────────────────────────────────────── */
  --avatar-size-xs: 24px;
  --avatar-size-sm: 32px;
  --avatar-size-md: 40px;
  --avatar-size-lg: 56px;
  --avatar-size-xl: 80px;

  /* ── Accessibility ──────────────────────────────────── */
  --focus-ring-color: rgba(1, 102, 255, 0.5);
  --focus-ring-width: 3px;
  --focus-ring-offset: 2px;
  --opacity-disabled: 0.5;

  /* ── Scrollbar ──────────────────────────────────────── */
  --scrollbar-width: 6px;
  --scrollbar-thumb: #D1D5DB;
  --scrollbar-thumb-hover: #9CA3AF;

  /* ── Notification Colors ────────────────────────────── */
  --notif-sale: #00C950;
  --notif-appointment: #2B7FFF;
  --notif-stock: #F0B100;
  --notif-payment: #00C950;
  --notif-team: #2B7FFF;
  --notif-system: #6B7280;

  /* ── Toast/Notification Feedback Colors ─────────────── */
  --noti-success-bg: #D1FAE5;
  --noti-success-text: #065F46;
  --noti-error-bg: #FEE2E2;
  --noti-error-text: #991B1B;
  --noti-warning-bg: #FEF3C7;
  --noti-warning-text: #92400E;

  /* ── Skeleton ───────────────────────────────────────── */
  --skeleton-base: #E5E7EB;
  --skeleton-highlight: #F3F4F6;
  --skeleton-duration: 1.4s;
}

/* ── Dark Mode ────────────────────────────────────────── */
.dark {
  --ion-background-color: #121212;
  --card-bg: #1E1E1E;
  --bg-secondary: #1A1A1A;
  --input-bg: #171717;
  --modal-bg: #1E1E1E;

  --text-primary: #F9FAFB;
  --text-secondary: #9CA3AF;
  --text-tertiary: #6B7280;
  --text-disabled: #4B5563;

  --border-light: #374151;
  --border-medium: #4B5563;
  --border-dark: #6B7280;

  --btn-secondary-bg: #374151;
  --btn-secondary-bg-hover: #4B5563;
  --btn-secondary-bg-active: #6B7280;
  --btn-secondary-text: #F9FAFB;

  --btn-ghost-bg-hover: rgba(1, 102, 255, 0.15);
  --btn-ghost-bg-active: rgba(1, 102, 255, 0.25);

  --icon-color: #D1D5DB;
  --icon-color-secondary: #6B7280;

  --scrollbar-thumb: #4B5563;
  --scrollbar-thumb-hover: #6B7280;

  /* Toast/Notification Feedback Colors */
  --noti-success-bg: rgba(16, 185, 129, 0.2);
  --noti-success-text: #34D399;
  --noti-error-bg: rgba(239, 68, 68, 0.2);
  --noti-error-text: #F87171;
  --noti-warning-bg: rgba(240, 177, 0, 0.2);
  --noti-warning-text: #FBBF24;

  /* ── Skeleton (dark) ────────────────────────────────── */
  --skeleton-base: #2A2A2A;
  --skeleton-highlight: #3A3A3A;
}
