/* PRZYCISK RODZINY — arkusz wspólny (decyzja właściciela 14.10.2026, standard w `_tory/README.md`; bajt w bajt w Works, Sites, Space
   i Legal, wzór i właściciel: Works, `_tory/narzedzia-powloka/README.md`). Jedna klasa `.btn` i jeden modyfikator koloru
   `.btn--danger`; innych klas przycisków w aplikacji nie ma. Dotyczy każdego przycisku z tekstem (akcje, zapisz / anuluj, menu
   rozwijane, filtry-pigułki, stronicowanie, okna i formularze); poza nim tylko przyciski ikonowe w wierszach tabel i przyciski
   paska górnego. Kształt, krój, rozmiar (`--btn-font-size` — tekst i ikona), wysokość i stany są tu na stałe — aplikacja dostarcza WYŁĄCZNIE kolory:
   --btn-bg, --btn-fg, --btn-border          stan zwykły (ciemny kolor główny aplikacji + jasny tekst)
   --btn-hover-bg, --btn-hover-fg            najechanie i stan aktywny (jasne tło marki + ciemny tekst)
   --btn-danger-bg, --btn-danger-fg, --btn-danger-border, --btn-danger-hover-bg, --btn-danger-hover-fg
   --btn-item-hover-bg, --btn-item-current-bg  pozycja menu: najechanie / fokus i pozycja bieżąca (sekcja „POZYCJA MENU” niżej)
   Ładowany zaraz po tokens.css. Pilnuje `_audyt/kontrola-przyciskow.php`. */

:root {
  /* Jedna wysokość kontrolki rodziny: przycisk oraz linia 3 paska i przyciski ikon w shell.css (kontrola-powloki p. 12) — tu, bo przyciski
     są też na ekranach bez powłoki (strony publiczne aplikacji). */
  --shell-control-height: 40px;
  /* Jeden rozmiar tekstu i ikony przycisku w rodzinie (doprecyzowanie właściciela 14.10.2026: ikona = tekst). */
  --btn-font-size: 15px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  height: var(--shell-control-height);
  min-height: 0;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--btn-border);
  border-radius: var(--radius-control);
  background: var(--btn-bg);
  box-shadow: none;
  color: var(--btn-fg);
  font-family: Manrope, "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  font-size: var(--btn-font-size);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  list-style: none;
  appearance: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.btn::-webkit-details-marker {
  display: none;
}
/* Ikona zawsze po lewej, w tym samym kroju i tym samym rozmiarze co tekst (1em) — kolejność niezależna od miejsca w znaczniku. */
.btn > .ico {
  order: -1;
  font-size: 1em;
  color: inherit;
}
.btn:hover,
.btn:focus-visible,
.btn.active,
.btn[aria-current="page"],
.btn[aria-expanded="true"],
details[open] > summary.btn {
  border-color: var(--btn-hover-bg);
  background: var(--btn-hover-bg);
  color: var(--btn-hover-fg);
}
.btn:focus-visible {
  outline: 2px solid var(--btn-border);
  outline-offset: 2px;
}
.btn--danger {
  border-color: var(--btn-danger-border);
  background: var(--btn-danger-bg);
  color: var(--btn-danger-fg);
}
.btn--danger:hover,
.btn--danger:focus-visible,
details[open] > summary.btn--danger {
  border-color: var(--btn-danger-hover-bg);
  background: var(--btn-danger-hover-bg);
  color: var(--btn-danger-hover-fg);
}
/* Wyłączony: ten sam kształt, przygaszony, nadal czytelny. */
.btn:disabled,
.btn[aria-disabled="true"],
.btn.disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

/* POZYCJA MENU — jedna definicja rodziny (decyzje właściciela i Managera 15.10.2026; menu aplikacji: Zarządzanie, Sekcje, menu wiersza,
   Akcje, wybór walut z „Wyczyść”, wybór języka na autoryzacji; menu powłoki: grupy Modułów, wyniki wyszukiwarki, Ustawienia, konto, powiadomienia).
   Wiersz listy, nie przycisk. Stany z tokenów aplikacji, tekst NIE zmienia koloru (kontrast ≥ 4,5:1):
   najechanie / fokus klawiatury / zaznaczenie strzałkami  `--btn-item-hover-bg`   (delikatne jasne tło marki, bez pierścienia fokusu)
   pozycja bieżąca (aria-current, .active, .is-current)    `--btn-item-current-bg` (wyraźniejsze — stan zaznaczony, czytelny obok najechania)
   pozycja usuwająca (.record-action-delete)               `--btn-danger-hover-bg` + `--btn-danger-hover-fg` po najechaniu
   Na ciemnej karcie autoryzacji tokeny z authorization.css (jasne półprzezroczyste tło). Pilnuje `kontrola-przyciskow` p. 6. */
.record-actions-menu-list > a,
.record-actions-menu-list > button,
.record-actions-menu-list form > button,
.screen-action-item,
.currency-picker-list label,
.currency-picker-clear,
.auth-language-options button,
.modules-group a,
.search-results a,
.topbar-settings-menu a,
.topbar-account-menu a,
.topbar-account-menu button,
.notification-mini {
  transition: background-color 0.15s ease, color 0.15s ease;
}
.record-actions-menu-list > a:hover,
.record-actions-menu-list > button:hover,
.record-actions-menu-list form > button:hover,
.screen-action-item:hover,
.currency-picker-list label:hover,
.currency-picker-clear:hover,
.auth-language-options button:hover,
.modules-group a:hover,
.search-results a:hover,
.topbar-settings-menu a:hover,
.topbar-account-menu a:hover,
.topbar-account-menu button:hover,
.notification-mini:hover,
.record-actions-menu-list > a:focus-visible,
.record-actions-menu-list > button:focus-visible,
.record-actions-menu-list form > button:focus-visible,
.screen-action-item:focus-visible,
.currency-picker-list label:focus-visible,
.currency-picker-clear:focus-visible,
.auth-language-options button:focus-visible,
.modules-group a:focus-visible,
.search-results a:focus-visible,
.topbar-settings-menu a:focus-visible,
.topbar-account-menu a:focus-visible,
.topbar-account-menu button:focus-visible,
.notification-mini:focus-visible,
.search-results a[aria-selected="true"] {
  outline: 0;
  box-shadow: none;
  background: var(--btn-item-hover-bg);
}
.record-actions-menu-list > a[aria-current="true"],
.record-actions-menu-list > a.active,
.screen-action-item.active,
.auth-language-options button.is-current,
.modules-group a.active,
.topbar-settings-menu a.active {
  background: var(--btn-item-current-bg);
}
.record-actions-menu-list .record-action-delete:hover,
.record-actions-menu-list .record-action-delete:focus-visible {
  background: var(--btn-danger-hover-bg);
  color: var(--btn-danger-hover-fg);
}
