/* ============================================================
   StAiLya private — system wizualny panelu galerii
   ------------------------------------------------------------
   Tryb Operate: gęstość, skanowalność, spójność ekran-do-ekranu.
   Język przeniesiony z Knowledge Base (frontend/knowledge-base-v1.css):
   atrament-zieleń, terakota jako jedyny akcent, hairline'y, etykiety
   monospace wersalikami. Bez champagne/Playfair/glassu z aplikacji B2C.
   Scena użycia: zarządca galerii, biuro, światło dzienne, rzutnik na
   spotkaniu leasingowym → kanwa jasna, bez trybu ciemnego.
   ============================================================ */

:root {
  color-scheme: light;

  /* — Atrament i powierzchnie — */
  --ink:          #182018;
  --ink-soft:     #2b352c;
  --paper:        #fffefb;   /* karty, wiersze */
  --canvas:       #f3f4ef;   /* tło aplikacji */
  --panel:        #ecefe7;   /* druga warstwa: sidebar, toolbary */
  --panel-quiet:  #f7f8f3;

  --line:         #d9ddd4;
  --line-strong:  #bcc3ba;

  --text:         #232a23;
  --muted:        #626c62;   /* tekst drugorzędny — kontrast ≥4.5:1 na --paper/--canvas */
  --faint:        #8a938a;   /* tylko meta, ≥3:1 */

  /* — Akcent (jedyny) — */
  --accent:       #a4653f;
  --accent-ink:   #7c4a2c;   /* akcent jako tekst na jasnym */
  --accent-soft:  #f6ebe3;
  --accent-line:  #e3c9b6;

  /* — Semantyka stanu (zamknięta — nie do dekoracji) — */
  --ok:           #2f6a4a;
  --ok-bg:        #e7f0e9;
  --warn:         #93611f;
  --warn-bg:      #f6ecd9;
  --danger:       #97362c;
  --danger-bg:    #f6e7e4;
  --info:         #35566f;
  --info-bg:      #e6eef2;

  /* — Tryb demo: hue nie kolidujące z akcentem/semantyką — */
  --demo:         #574f86;
  --demo-bg:      #ecebf4;
  --demo-line:    #cdc9e4;

  /* — Warstwa prawdy (trzy poziomy z Knowledge Base) — */
  --truth-fact:   var(--ink);        /* fakt katalogowy */
  --truth-interp: var(--accent-ink); /* interpretacja produktu */
  --truth-hypo:   var(--warn);       /* hipoteza pilotażu */

  /* — Typografia — jedna rodzina, skala stała (nie fluid) — */
  --sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Consolas, monospace;

  --fs-label:  0.6875rem;  /* 11px — etykiety mono wersalikami */
  --fs-xs:     0.75rem;    /* 12px — meta, drop-badge */
  --fs-sm:     0.8125rem;  /* 13px — ciało tabel, kontrolki */
  --fs-base:   0.875rem;   /* 14px — ciało tekstu */
  --fs-md:     1rem;       /* 16px — podtytuły */
  --fs-lg:     1.3125rem;  /* 21px — nagłówek sekcji */
  --fs-xl:     1.75rem;    /* 28px — tytuł widoku, wartość kafla */
  --fs-2xl:    2.375rem;   /* 38px — wartość hero */

  --lh-tight:  1.2;
  --lh-snug:   1.4;
  --lh-body:   1.6;

  /* — Rytm (baza 4px) — */
  --sp-1: 4px;  --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px;  --sp-7: 48px;  --sp-8: 64px;

  /* — Geometria — */
  --r-xs:     5px;
  --r-sm:     7px;
  --r-md:     10px;
  --r-lg:     14px;
  --r-pill:   999px;
  --r-circle: 50%;

  /* — Głębia: offset + miękki blur (nigdy zerowe halo) — */
  --shadow-sm:    0 1px 2px rgba(24, 32, 24, .05), 0 2px 8px rgba(24, 32, 24, .045);
  --shadow-md:    0 6px 16px rgba(24, 32, 24, .07), 0 2px 5px rgba(24, 32, 24, .05);
  --shadow-float: 0 18px 44px rgba(24, 32, 24, .16), 0 4px 12px rgba(24, 32, 24, .08);

  /* — Ruch: krótki, komunikuje stan — */
  --ease:  cubic-bezier(.2, .8, .2, 1);
  --dur-1: 130ms;
  --dur-2: 190ms;

  --sidebar-w: 236px;
  --header-h:  56px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-width: 320px;
  background: var(--canvas);
  color: var(--text);
  font-family: var(--sans);
  font-size: var(--fs-base);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "cv05" 1, "ss01" 1;
}

button, input, select, textarea { font: inherit; color: inherit; }

/* — Powierzchnie przeglądarki: zaznaczenie, karetka, scrollbar, focus — */
::selection { background: #e8d3c4; color: var(--ink); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 3px;
}

* { scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb {
  background: var(--line-strong);
  border: 3px solid var(--canvas);
  border-radius: var(--r-pill);
}
*::-webkit-scrollbar-thumb:hover { background: var(--faint); }

/* Liczby w danych: tabelaryczne — kolumny się nie rozjeżdżają */
.tnum, .metric__value, .data-table td, .data-table th,
.metric__foot, .stat-inline b { font-variant-numeric: tabular-nums; }

[x-cloak] { display: none !important; }

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