/*
 * PEI Platform — Design Tokens
 * Sygnatury: WN-25 (WCAG 2.1 AA), WN-26 (responsywność), WN-28 (UX)
 *
 * Uzasadnienie palety:
 *   --color-primary #0F5EA8   — kontrast 6.4:1 na białym (WCAG AA ≥ 4.5:1 dla tekstu normalnego) ✓
 *   --color-primary-dark #083E70 — kontrast 11.1:1 na białym ✓
 *   --color-text #1A1A1A      — kontrast 16.1:1 na białym ✓
 *   --color-text-secondary #4A4A4A — kontrast 9.5:1 na #F7F9FC ✓
 *   --color-accent #D97706    — kontrast 4.6:1 na białym (≥ 4.5:1) ✓
 *   --color-error #C1272D     — kontrast 5.9:1 na białym ✓
 *   --color-success #0B7A3B   — kontrast 5.4:1 na białym ✓
 *   --color-border #767676    — kontrast 4.5:1 na białym ✓ (W-01 FIX: było #D1D5DB → 1.6:1 WCAG 1.4.11 FAIL)
 *
 * Czcionki: Inter (SIL Open Font License 1.1) hostowany lokalnie w
 *   assets/fonts/inter/ — bez zapytań do zewnętrznych CDN-ów przy renderze
 *   (WN-22 licencje, WN-09 brak wycieku ruchu, WN-20/21 przenaszalność).
 *   Font zmienny: jeden plik na podzbiór pokrywa wagi 100–900.
 *   Stos systemowy zostaje jako fallback, gdy plik jest niedostępny.
 *   Zakaz fontów Apple (SF Pro, New York) — DESIGN-GUIDELINES.md.
 */

/* === Inter — font zmienny, hostowany lokalnie (OFL-1.1) ===================
 * Dwa podzbiory: `latin` i `latin-ext`. Polskie znaki diakrytyczne (ą, ć, ę,
 * ł, ń, ś, ź, ż) leżą w `latin-ext` — bez tego pliku tekst po polsku wracałby
 * do fallbacku w połowie wyrazu. `ó` jest w `latin`.
 * font-display: swap — tekst jest czytelny, zanim font się wczyta.
 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;            /* zakres osi wagi fontu zmiennego */
  font-display: swap;
  src: url("../assets/fonts/inter/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../assets/fonts/inter/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* === Kolory === */
  --color-primary:        #0F5EA8;
  --color-primary-dark:   #083E70;
  --color-primary-light:  #E8F0FA;
  --color-primary-focus:  #0A4880;

  --color-accent:         #D97706;
  --color-accent-dark:    #B45309;

  --color-success:        #0B7A3B;
  --color-success-light:  #D1FAE5;
  --color-warning:        #D97706;
  --color-warning-light:  #FEF3C7;
  --color-error:          #C1272D;
  --color-error-light:    #FEE2E2;

  --color-text:           #1A1A1A;
  --color-text-secondary: #4A4A4A;
  --color-text-disabled:  #767676;
  --color-text-inverse:   #FFFFFF;

  --color-bg:             #F7F9FC;
  --color-surface:        #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-border:         #767676;  /* W-01 FIX: was #D1D5DB (1.6:1 FAIL) → #767676 (4.5:1 PASS WCAG 1.4.11) */
  --color-border-focus:   #0F5EA8;
  --color-divider:        #E5E7EB;

  /* === Typografia === */
  --font-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, "Noto Sans", sans-serif,
               "Apple Color Emoji", "Segoe UI Emoji";
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

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

  --leading-tight:  1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;

  --font-normal:   400;
  --font-medium:   500;
  --font-semibold: 600;
  --font-bold:     700;

  /* === Spacing (8-point grid) === */
  --space-1:  0.25rem;   /* 4px */
  --space-2:  0.5rem;    /* 8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */

  /* === Zaokrąglenia === */
  --radius-sm:  0.25rem;
  --radius-md:  0.5rem;
  --radius-lg:  0.75rem;
  --radius-xl:  1rem;
  --radius-full: 9999px;

  /* === Cienie === */
  --shadow-sm:  0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md:  0 4px 6px -1px rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.10);
  --shadow-lg:  0 10px 15px -3px rgb(0 0 0 / 0.10), 0 4px 6px -4px rgb(0 0 0 / 0.10);
  --shadow-focus: 0 0 0 3px rgb(15 94 168 / 0.35);

  /* === Breakpointy (mobile-first) === */
  /* --bp-sm:  480px */
  /* --bp-md:  768px */
  /* --bp-lg:  1024px */
  /* --bp-xl:  1280px */
  /* --bp-2xl: 1440px */

  /* === Layout === */
  --sidebar-width:     16rem;    /* 256px */
  --header-height:     4rem;     /* 64px */
  --content-max-width: 75rem;    /* 1200px */
  --panel-width:       20rem;    /* 320px */

  /* === Przejścia === */
  --transition-fast:   150ms ease;
  --transition-normal: 250ms ease;
}

/* === Tryb ciemny (zarezerwowane na E2-11) === */
/* @media (prefers-color-scheme: dark) { ... } */
