/**
 * Nordic Corporate Design System - Design Tokens
 * LDAP Address Book HR Portal
 */

:root {
  /* =============================================
     COLOR PALETTE
     ============================================= */

  /* Primary Colors - Deep Teal */
  --nordic-primary: #0D5C63;
  --nordic-primary-light: #1A7A83;
  --nordic-primary-dark: #094349;
  --nordic-primary-subtle: rgba(13, 92, 99, 0.08);
  --nordic-primary-hover: rgba(13, 92, 99, 0.12);

  /* Accent Colors - Warm Coral */
  --nordic-accent: #E07A5F;
  --nordic-accent-light: #E8947D;
  --nordic-accent-dark: #C96548;
  --nordic-accent-subtle: rgba(224, 122, 95, 0.08);

  /* Background Colors */
  --nordic-bg-base: #FAFAF8;
  --nordic-bg-warm: #F7F6F3;
  --nordic-bg-surface: #FFFFFF;
  --nordic-bg-elevated: #FFFFFF;
  --nordic-bg-overlay: rgba(45, 52, 54, 0.5);

  /* Text Colors */
  --nordic-text-primary: #2D3436;
  --nordic-text-secondary: #5A5A5A;
  --nordic-text-muted: #8A8A8A;
  --nordic-text-inverse: #FFFFFF;
  --nordic-text-link: #0D5C63;
  --nordic-text-link-hover: #094349;

  /* Semantic Colors */
  --nordic-success: #81B29A;
  --nordic-success-light: #A5C9B8;
  --nordic-success-dark: #5E9478;
  --nordic-success-bg: rgba(129, 178, 154, 0.1);

  --nordic-warning: #F2CC8F;
  --nordic-warning-light: #F5D9A8;
  --nordic-warning-dark: #D4A053;
  --nordic-warning-bg: rgba(242, 204, 143, 0.15);

  --nordic-error: #E63946;
  --nordic-error-light: #EB5E69;
  --nordic-error-dark: #C62D39;
  --nordic-error-bg: rgba(230, 57, 70, 0.1);

  --nordic-info: #4A90A4;
  --nordic-info-light: #6BAABB;
  --nordic-info-bg: rgba(74, 144, 164, 0.1);

  /* Border Colors */
  --nordic-border-light: rgba(131, 149, 167, 0.15);
  --nordic-border-medium: rgba(131, 149, 167, 0.25);
  --nordic-border-strong: rgba(131, 149, 167, 0.4);
  --nordic-border-focus: var(--nordic-primary);

  /* =============================================
     TYPOGRAPHY
     ============================================= */

  /* Font Families */
  --nordic-font-display: 'DM Serif Display', Georgia, 'Times New Roman', serif;
  --nordic-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --nordic-font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  /* Font Sizes */
  --nordic-text-xs: 0.75rem;      /* 12px */
  --nordic-text-sm: 0.875rem;     /* 14px */
  --nordic-text-base: 1rem;       /* 16px */
  --nordic-text-lg: 1.125rem;     /* 18px */
  --nordic-text-xl: 1.25rem;      /* 20px */
  --nordic-text-2xl: 1.5rem;      /* 24px */
  --nordic-text-3xl: 1.875rem;    /* 30px */
  --nordic-text-4xl: 2.25rem;     /* 36px */
  --nordic-text-5xl: 3rem;        /* 48px */

  /* Line Heights */
  --nordic-leading-none: 1;
  --nordic-leading-tight: 1.25;
  --nordic-leading-snug: 1.375;
  --nordic-leading-normal: 1.5;
  --nordic-leading-relaxed: 1.625;
  --nordic-leading-loose: 2;

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

  /* Letter Spacing */
  --nordic-tracking-tighter: -0.05em;
  --nordic-tracking-tight: -0.025em;
  --nordic-tracking-normal: 0;
  --nordic-tracking-wide: 0.025em;
  --nordic-tracking-wider: 0.05em;
  --nordic-tracking-widest: 0.1em;

  /* =============================================
     SPACING
     ============================================= */

  --nordic-space-0: 0;
  --nordic-space-1: 0.25rem;      /* 4px */
  --nordic-space-2: 0.5rem;       /* 8px */
  --nordic-space-3: 0.75rem;      /* 12px */
  --nordic-space-4: 1rem;         /* 16px */
  --nordic-space-5: 1.25rem;      /* 20px */
  --nordic-space-6: 1.5rem;       /* 24px */
  --nordic-space-8: 2rem;         /* 32px */
  --nordic-space-10: 2.5rem;      /* 40px */
  --nordic-space-12: 3rem;        /* 48px */
  --nordic-space-16: 4rem;        /* 64px */
  --nordic-space-20: 5rem;        /* 80px */
  --nordic-space-24: 6rem;        /* 96px */

  /* =============================================
     SHADOWS
     ============================================= */

  --nordic-shadow-xs: 0 1px 2px rgba(45, 52, 54, 0.04);
  --nordic-shadow-sm: 0 2px 4px rgba(45, 52, 54, 0.06), 0 1px 2px rgba(45, 52, 54, 0.04);
  --nordic-shadow-md: 0 4px 8px rgba(45, 52, 54, 0.08), 0 2px 4px rgba(45, 52, 54, 0.04);
  --nordic-shadow-lg: 0 8px 16px rgba(45, 52, 54, 0.1), 0 4px 8px rgba(45, 52, 54, 0.06);
  --nordic-shadow-xl: 0 16px 32px rgba(45, 52, 54, 0.12), 0 8px 16px rgba(45, 52, 54, 0.08);
  --nordic-shadow-2xl: 0 24px 48px rgba(45, 52, 54, 0.16), 0 12px 24px rgba(45, 52, 54, 0.1);
  --nordic-shadow-inner: inset 0 2px 4px rgba(45, 52, 54, 0.06);
  --nordic-shadow-focus: 0 0 0 3px rgba(13, 92, 99, 0.2);
  --nordic-shadow-focus-error: 0 0 0 3px rgba(230, 57, 70, 0.2);

  /* =============================================
     BORDER RADIUS
     ============================================= */

  --nordic-radius-none: 0;
  --nordic-radius-sm: 0.25rem;    /* 4px */
  --nordic-radius-md: 0.5rem;     /* 8px */
  --nordic-radius-lg: 0.75rem;    /* 12px */
  --nordic-radius-xl: 1rem;       /* 16px */
  --nordic-radius-2xl: 1.25rem;   /* 20px */
  --nordic-radius-3xl: 1.5rem;    /* 24px */
  --nordic-radius-full: 9999px;

  /* =============================================
     TRANSITIONS
     ============================================= */

  --nordic-duration-instant: 50ms;
  --nordic-duration-fast: 150ms;
  --nordic-duration-normal: 250ms;
  --nordic-duration-slow: 350ms;
  --nordic-duration-slower: 500ms;

  --nordic-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --nordic-ease-in: cubic-bezier(0.4, 0, 1, 1);
  --nordic-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --nordic-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --nordic-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --nordic-ease-elastic: cubic-bezier(0.68, -0.55, 0.265, 1.55);

  /* =============================================
     Z-INDEX SCALE
     ============================================= */

  --nordic-z-dropdown: 100;
  --nordic-z-sticky: 200;
  --nordic-z-fixed: 300;
  --nordic-z-modal-backdrop: 400;
  --nordic-z-modal: 500;
  --nordic-z-popover: 600;
  --nordic-z-tooltip: 700;
  --nordic-z-toast: 800;

  /* =============================================
     LAYOUT
     ============================================= */

  /* Container widths */
  --nordic-container-sm: 640px;
  --nordic-container-md: 768px;
  --nordic-container-lg: 1024px;
  --nordic-container-xl: 1280px;
  --nordic-container-2xl: 1440px;

  /* Sidebar */
  --nordic-sidebar-width: 260px;
  --nordic-sidebar-collapsed: 72px;

  /* Header */
  --nordic-header-height: 64px;
  --nordic-header-height-mobile: 56px;

  /* =============================================
     GLASSMORPHISM
     ============================================= */

  --nordic-glass-bg: rgba(255, 255, 255, 0.72);
  --nordic-glass-bg-light: rgba(255, 255, 255, 0.85);
  --nordic-glass-bg-dark: rgba(45, 52, 54, 0.72);
  --nordic-glass-blur: blur(12px);
  --nordic-glass-blur-heavy: blur(20px);
  --nordic-glass-border: 1px solid rgba(255, 255, 255, 0.18);
  --nordic-glass-shadow: 0 8px 32px rgba(45, 52, 54, 0.08);

  /* =============================================
     BREAKPOINTS (for reference in JS)
     ============================================= */

  --nordic-bp-sm: 640px;
  --nordic-bp-md: 768px;
  --nordic-bp-lg: 1024px;
  --nordic-bp-xl: 1280px;
  --nordic-bp-2xl: 1536px;
}

/* =============================================
   DARK MODE (Optional)
   ============================================= */

@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"],
  :root.nordic-dark {
    --nordic-bg-base: #1A1D21;
    --nordic-bg-warm: #1E2125;
    --nordic-bg-surface: #252A2E;
    --nordic-bg-elevated: #2D3236;

    --nordic-text-primary: #F5F6F7;
    --nordic-text-secondary: #9AA5B1;
    --nordic-text-muted: #6B7580;

    --nordic-border-light: rgba(255, 255, 255, 0.08);
    --nordic-border-medium: rgba(255, 255, 255, 0.15);
    --nordic-border-strong: rgba(255, 255, 255, 0.25);

    --nordic-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.2);
    --nordic-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.25);
    --nordic-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.3);
    --nordic-shadow-xl: 0 16px 32px rgba(0, 0, 0, 0.35);

    --nordic-glass-bg: rgba(30, 33, 37, 0.8);
    --nordic-glass-bg-light: rgba(37, 42, 46, 0.85);
  }
}

/* Explicit dark mode class */
:root[data-theme="dark"] {
  --nordic-bg-base: #1A1D21;
  --nordic-bg-warm: #1E2125;
  --nordic-bg-surface: #252A2E;
  --nordic-bg-elevated: #2D3236;

  --nordic-text-primary: #F5F6F7;
  --nordic-text-secondary: #9AA5B1;
  --nordic-text-muted: #6B7580;

  --nordic-border-light: rgba(255, 255, 255, 0.08);
  --nordic-border-medium: rgba(255, 255, 255, 0.15);
  --nordic-border-strong: rgba(255, 255, 255, 0.25);

  --nordic-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.2);
  --nordic-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.25);
  --nordic-shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.3);
  --nordic-shadow-xl: 0 16px 32px rgba(0, 0, 0, 0.35);

  --nordic-glass-bg: rgba(30, 33, 37, 0.8);
  --nordic-glass-bg-light: rgba(37, 42, 46, 0.85);
}
