/* ============================================================================
   Zgrzyt — design tokens
   Źródło: design-system/zgrzyt-admin/MASTER.md (ui-ux-pro-max)
   Styl: dark dashboard (Fira, density 8, subtle motion) + kolory marki
   Zgrzyt: czerwień #DC2626 na czerni/bieli (z logo). Zieleń = status OK.
   Wspólne dla EasyAdmin (/admin) i stron Twig (login, kalendarz, raport).
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Fira+Sans:wght@300;400;500;600;700&display=swap');

:root {
    /* Typography */
    --zg-font-sans: 'Fira Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --zg-font-mono: 'Fira Code', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

    /* Brand (stałe niezależne od trybu) */
    --zg-accent: #DC2626;          /* czerwień marki; biały tekst 4.8:1 */
    --zg-accent-hover: #B91C1C;
    --zg-on-accent: #FFFFFF;
    --zg-accent-rgb: 220, 38, 38;
    --zg-success: #16A34A;
    --zg-danger: #DC2626;          /* destrukcyjne akcje zawsze z ikoną + potwierdzeniem */
    --zg-warning: #F59E0B;
    --zg-info: #38BDF8;

    /* Light scheme (neutralne: zinc — czysta czerń/biel jak w logo) */
    --zg-bg: #F4F4F5;
    --zg-surface: #FFFFFF;
    --zg-surface-2: #FAFAFA;
    --zg-surface-3: #E4E4E7;
    --zg-border: #E4E4E7;
    --zg-border-strong: #D4D4D8;
    --zg-text: #18181B;
    --zg-text-muted: #52525B;      /* 7.7:1 na białym */
    --zg-text-subtle: #71717A;     /* 4.8:1 na białym */
    --zg-accent-text: #B91C1C;     /* czerwień do tekstu/linków, 6.5:1 na białym */
    --zg-accent-soft: rgba(220, 38, 38, .08);
    --zg-sidebar-bg: #09090B;      /* sidebar zawsze czarny — tożsamość marki */
    --zg-sidebar-text: #D4D4D8;
    --zg-sidebar-muted: #71717A;
    --zg-glass: rgba(255, 255, 255, .75);

    /* Shape & depth */
    --zg-radius-sm: 6px;
    --zg-radius: 10px;
    --zg-radius-lg: 14px;
    --zg-shadow-sm: 0 1px 2px rgba(9, 9, 11, .06);
    --zg-shadow: 0 1px 3px rgba(9, 9, 11, .08), 0 4px 12px -2px rgba(9, 9, 11, .06);
    --zg-shadow-lg: 0 12px 32px -8px rgba(9, 9, 11, .2);
    --zg-ring: 0 0 0 3px rgba(220, 38, 38, .3);

    /* Spacing (density 8/10 — dashboard) */
    --zg-space-1: 4px;
    --zg-space-2: 8px;
    --zg-space-3: 12px;
    --zg-space-4: 16px;
    --zg-space-5: 24px;
    --zg-space-6: 32px;

    /* Motion (subtle) */
    --zg-ease: cubic-bezier(.2, .7, .3, 1);
    --zg-dur-fast: 150ms;
    --zg-dur: 220ms;
}

/* Dark scheme — Bootstrap (front) i EasyAdmin (admin) */
[data-bs-theme="dark"],
body.ea-dark-scheme {
    --zg-bg: #09090B;
    --zg-surface: #131316;
    --zg-surface-2: #1A1A1E;
    --zg-surface-3: #27272A;
    --zg-border: rgba(255, 255, 255, .08);
    --zg-border-strong: rgba(255, 255, 255, .16);
    --zg-text: #FAFAFA;
    --zg-text-muted: #A1A1AA;
    --zg-text-subtle: #8B8B94;
    --zg-accent-text: #F87171;     /* 6.6:1 na #131316 */
    --zg-accent-soft: rgba(248, 113, 113, .12);
    --zg-sidebar-bg: #000000;
    --zg-glass: rgba(19, 19, 22, .72);
    --zg-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
    --zg-shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 16px -4px rgba(0, 0, 0, .35);
    --zg-shadow-lg: 0 16px 40px -8px rgba(0, 0, 0, .6);
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
