/*
  Design tokens aplikacji.
  Zmieniaj wartości tutaj, jeśli chcesz globalnie dopasować kolory,
  typografię, odstępy, zaokrąglenia, cienie i ikony UI.
*/

:root {
  /* Kolory bazowe */
  --color-bg-app: #f6f9fb;              /* Główne tło aplikacji */
  --color-bg-surface: #ffffff;          /* Panele, karty, menu i stopka */
  --color-bg-subtle: #eef6f9;           /* Delikatne tła pól, badge'y, disabled */
  --color-bg-page-end: #eef5f8;         /* Dolna część gradientu tła strony */

  /* Kolory tekstu i ramek */
  --color-text-main: #13213a;           /* Główny tekst i nagłówki */
  --color-text-muted: #5f7189;          /* Opisy, metadane i tekst pomocniczy */
  --color-border: #d9e5ec;              /* Standardowe obramowania */
  --color-border-strong: #9fc8d6;       /* Mocniejsze obramowanie dropzone */

  /* Kolory akcji i statusów */
  --color-accent: #0d8fb0;              /* Główna akcja, aktywny stan, upload */
  --color-accent-strong: #076b86;       /* Ciemniejszy akcent, tekst badge'y */
  --color-accent-light: #18a6c7;        /* Jaśniejszy akcent w gradientach CTA */
  --color-logo-light: #39b8d0;          /* Jaśniejszy koniec gradientu logo */
  --color-accent-rgb: 13, 143, 176;     /* RGB akcentu do rgba() */
  --color-success: #0e8f70;             /* Gotowe, lokalnie, pozytywny status */
  --color-danger: #ef4444;              /* Błędy i czerwony kolor maski */
  --color-warning: #ffc64a;             /* Niska pewność, ostrzeżenia */

  /* Typografia */
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace;
  --font-size-ui: 14px;                 /* Bazowy rozmiar UI */
  --font-size-ui-mobile: 13px;          /* Bazowy rozmiar UI na telefonach */

  /* Odstępy layoutu */
  --space-header-y: 20px;               /* Pionowy padding nagłówka desktop */
  --space-header-x: 32px;               /* Poziomy padding nagłówka desktop */
  --space-section-y: 16px;              /* Pionowy padding sekcji w lewym panelu */
  --space-section-x: 24px;              /* Poziomy padding sekcji w lewym panelu */
  --space-toolbar-y: 14px;              /* Pionowy padding paska kolejki */
  --space-toolbar-x: 24px;              /* Poziomy padding paska kolejki */
  --space-files-y: 20px;                /* Pionowy padding obszaru plików */
  --space-files-x: 24px;                /* Poziomy padding obszaru plików */
  --space-footer-y: 10px;               /* Pionowy padding stopki */
  --space-footer-x: 32px;               /* Poziomy padding stopki */
  --space-control-gap: 8px;             /* Odstęp między kontrolkami */
  --space-panel-gap: 12px;              /* Odstęp między większymi elementami */

  /* Rozmiary paneli i elementów */
  --layout-app-max-width: 1920px;       /* Maksymalna szerokość aplikacji */
  --layout-app-wide-max-width: 2160px;  /* Maksymalna szerokość na bardzo szerokich ekranach */
  --layout-sidebar-min: 300px;          /* Minimalna szerokość lewego panelu */
  --layout-sidebar-ideal: 18vw;         /* Preferowana szerokość lewego panelu */
  --layout-sidebar-max: 380px;          /* Maksymalna szerokość lewego panelu */
  --empty-card-width: 455px;            /* Szerokość pustej karty kolejki */
  --upload-icon-size: 46px;             /* Rozmiar ikony uploadu */
  --upload-icon-size-mobile: 38px;      /* Rozmiar ikony uploadu na telefonach */

  /* Zaokrąglenia */
  --radius-sm: 6px;                     /* Małe pola i drobne przyciski */
  --radius-md: 8px;                     /* Standardowe kontrolki */
  --radius-lg: 10px;                    /* Neutralne panele */
  --radius-xl: 14px;                    /* Dropzone, drawer, większe panele */
  --radius-card: 16px;                  /* Karty informacyjne */
  --radius-pill: 999px;                 /* Badge i chipy */

  /* Cienie */
  --shadow-soft: 0 18px 45px rgba(35, 72, 91, .08);  /* Większe karty i menu */
  --shadow-tight: 0 8px 24px rgba(35, 72, 91, .08);  /* Nagłówek i puste stany */
  --shadow-logo: 0 10px 22px rgba(var(--color-accent-rgb), .24);
  --shadow-cta: 0 12px 28px rgba(var(--color-accent-rgb), .22);

  /* Alias kompatybilności dla istniejącego style.css */
  --bg: var(--color-bg-app);
  --bg2: var(--color-bg-surface);
  --bg3: var(--color-bg-subtle);
  --border: var(--color-border);
  --text: var(--color-text-main);
  --muted: var(--color-text-muted);
  --accent: var(--color-accent);
  --accent2: var(--color-accent-strong);
  --green: var(--color-success);
  --danger: var(--color-danger);
  --soft-shadow: var(--shadow-soft);
  --tight-shadow: var(--shadow-tight);
  --mono: var(--font-mono);
  --sans: var(--font-sans);

  /* Lokalne ikony Lucide używane przez aplikację */
  --lucide-folder-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%230d8fb0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 10v6'/%3E%3Cpath d='m9 13 3-3 3 3'/%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E");
  --lucide-file-text: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' fill='none' stroke='%235f7189' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
  --lucide-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  --lucide-search-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 11 2 2 4-4'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
  --lucide-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f7189' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
  --lucide-refresh-cw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f7189' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 0 0-9-9 9.8 9.8 0 0 0-6.7 2.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3Cpath d='M3 12a9 9 0 0 0 9 9 9.8 9.8 0 0 0 6.7-2.7L21 16'/%3E%3Cpath d='M16 16h5v5'/%3E%3C/svg%3E");
  --lucide-trash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235f7189' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E");
}
