/*
 * KSzkola — układy B2 (05 §2.1–2.7): logowanie (strony uwierzytelniania i minimalny układ bez sesji), portal ucznia/rodzica
 * (dolny pasek na telefonie — P-102 a), panel szkoły E-SYS-01 (menu boczne 248 / 72 px, offcanvas < 992 px). Bez stylów inline.
 */

/* ======================================================================
   1. Wspólne elementy nagłówków
   ====================================================================== */
.ksz-przycisk-ikona {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: var(--bs-border-radius);
  color: var(--ksz-tekst);
  font-size: 1.25rem;
  flex: none;
}
.ksz-przycisk-ikona:hover, .ksz-przycisk-ikona:focus-visible { background: var(--ksz-powierzchnia-2); color: var(--ksz-tekst); }
.ksz-menu-konta { min-width: 15rem; }
.ksz-menu-konta-kto { padding: .375rem 1rem .5rem; }
.ksz-menu-konta .dropdown-item { display: flex; gap: .5rem; align-items: center; min-height: 40px; }
.ksz-menu-konta .dropdown-item[aria-pressed="true"] { background: var(--ksz-akcent-subtelny); color: var(--ksz-tekst); font-weight: 600; }
.ksz-menu-konta form { margin: 0; }
.ksz-dane { display: grid; grid-template-columns: minmax(8rem, max-content) 1fr; gap: .375rem 1rem; margin: 0 0 1rem; }
.ksz-dane dt { font-weight: 400; color: var(--ksz-tekst-2); }
.ksz-dane dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
  .ksz-dane { grid-template-columns: 1fr; gap: 0; }
  .ksz-dane dd { margin-bottom: .5rem; }
}

/* ======================================================================
   2. Logowanie i strony bez sesji (E-KON-01…06, E-KON-10/11, minimalny układ E-SYS-03/04)
   ====================================================================== */
.ksz-uklad-logowania { min-height: 100vh; display: flex; flex-direction: column; }
.ksz-logowanie { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 2rem 1rem 1.5rem; }
.ksz-logowanie-marka { display: flex; flex-direction: column; align-items: center; gap: .5rem; margin-bottom: 1.5rem; text-align: center; }
.ksz-logowanie-marka .ksz-logo { height: 64px; max-width: min(16rem, 80vw); }
.ksz-logowanie-marka .ksz-znak-zastepczy { width: 56px; height: 56px; font-size: 1.25rem; }
.ksz-logowanie-nazwa { font-weight: 600; font-size: 1.125rem; }
.ksz-logowanie-kolumna { width: 100%; max-width: 400px; }
.ksz-logowanie-kolumna--szeroka { max-width: 560px; }
.ksz-logowanie-tytul { font-size: 1.5rem; text-align: center; margin-bottom: 1rem; }
.ksz-logowanie-kolumna > .ksz-tekst-ciagly { margin-left: auto; margin-right: auto; }
.ksz-logowanie-karta .card-body { padding: 1.25rem; }
.ksz-logowanie-stopka { margin-top: auto; padding-top: 2rem; max-width: 400px; text-align: center; font-size: .875rem; color: var(--ksz-tekst-2); }
.ksz-ciasteczka summary { display: inline-block; min-height: 24px; cursor: pointer; text-decoration: underline; color: var(--ksz-akcent-tekst); }
.ksz-ciasteczka p { margin-top: .5rem; text-align: left; }
.ksz-strona-systemowa { padding: 3rem 1rem; }
.ksz-strona-systemowa h1 { font-size: 1.5rem; }

/* Pola hasła i kodu (05 §1.9) */
.ksz-pokaz-haslo { display: inline-flex; gap: .375rem; align-items: center; border-color: var(--ksz-ramka-pola); }
.ksz-haslo .ksz-haslo-widoczne, .ksz-pokaz-haslo[aria-pressed="true"] .ksz-haslo-ukryte { display: none; }
.ksz-pokaz-haslo[aria-pressed="true"] .ksz-haslo-widoczne { display: inline-block; }
.ksz-haslo .form-control.is-invalid { z-index: 1; }
.ksz-licznik-hasla { color: var(--ksz-tekst-2); }
.ksz-licznik-hasla.ksz-spelnia { color: var(--ksz-sukces); }
.ksz-pole-kodu .form-control { max-width: 12rem; font-size: 1.25rem; letter-spacing: .2em; font-variant-numeric: tabular-nums; }
.ksz-formularz-kodu { max-width: 22rem; }
.ksz-formularz-waski { max-width: 36rem; }

/* TOTP: kod QR, klucz, kroki, kody odzyskiwania (E-KON-11) */
.ksz-konfiguracja-totp { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: flex-start; }
.ksz-kod-qr { display: block; width: 200px; height: 200px; border-radius: var(--bs-border-radius); border: 1px solid var(--ksz-ramka); }
.ksz-klucz { font-size: 1.125rem; letter-spacing: .06em; word-spacing: .3em; color: var(--ksz-tekst); }
.ksz-kroki { padding-left: 1.25rem; }
.ksz-kroki > li { margin-bottom: 1.5rem; }
.ksz-kroki > li::marker { font-weight: 600; }
.ksz-kody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .375rem 2rem; padding-left: 2rem; margin: 1rem 0; font-size: 1.0625rem; }
.ksz-kody code { color: var(--ksz-tekst); font-size: 1rem; letter-spacing: .04em; }

/* ======================================================================
   3. Portal ucznia/rodzica (05 §2.4): nagłówek 56 px, zakładki ≥ 768 px, dolny pasek 64 px + safe-area
   ====================================================================== */
.ksz-naglowek-portalu { position: sticky; top: 0; z-index: 1020; background: var(--ksz-powierzchnia); border-bottom: 1px solid var(--ksz-ramka); }
.ksz-naglowek-portalu .ksz-pasek-akcentu { height: 3px; }
.ksz-naglowek-portalu-wnetrze { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 56px; max-width: 960px; margin: 0 auto; padding: 0 .75rem 0 1rem; }
.ksz-naglowek-portalu .ksz-marka, .ksz-naglowek-panelu .ksz-marka { flex: 1 1 auto; min-width: 0; font-size: 1rem; }
.ksz-naglowek-portalu .ksz-logo, .ksz-naglowek-panelu .ksz-logo { height: 32px; max-width: 8rem; }
.ksz-naglowek-portalu .ksz-znak-zastepczy, .ksz-naglowek-panelu .ksz-znak-zastepczy { width: 32px; height: 32px; font-size: .8125rem; }
.ksz-naglowek-akcje { display: flex; align-items: center; gap: .25rem; flex: none; }
/* Na telefonie z logo (zwykle zawierającym nazwę) — bez obciętej nazwy obok; nazwa dostępna w atrybucie alt logo. */
@media (max-width: 575.98px) {
  .ksz-naglowek-portalu .ksz-marka--z-logo .ksz-marka-nazwa { display: none; }
}
.ksz-chip-ucznia {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  min-height: 44px;
  max-width: 11rem;
  padding: .25rem .75rem;
  border: 1px solid var(--ksz-akcent-ramka-subtelna);
  border-radius: 50rem;
  background: var(--ksz-akcent-subtelny);
  color: var(--ksz-tekst);
  font-weight: 600;
}
.ksz-chip-ucznia:hover { border-color: var(--ksz-akcent-tekst); }
.ksz-chip-ucznia-imie { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ksz-zakladki-portalu { display: none; border-top: 1px solid var(--ksz-ramka); }
.ksz-zakladki-portalu ul { list-style: none; display: flex; gap: .25rem; max-width: 960px; margin: 0 auto; padding: 0 .75rem; overflow-x: auto; }
.ksz-zakladki-portalu a {
  display: inline-flex;
  gap: .375rem;
  align-items: center;
  min-height: 44px;
  padding: .5rem .75rem;
  border-bottom: 3px solid transparent;
  color: var(--ksz-tekst);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.ksz-zakladki-portalu a:hover { color: var(--ksz-akcent-tekst); }
.ksz-zakladki-portalu a[aria-current="page"] { color: var(--ksz-akcent-tekst); border-bottom-color: var(--ksz-akcent-tekst); }
.ksz-tresc-portalu { max-width: 720px; margin: 0 auto; padding: 1rem; }
.ksz-tresc-portalu:focus { outline: none; }
.ksz-stopka-portalu { padding: 1.5rem 1rem; text-align: center; font-size: .875rem; color: var(--ksz-tekst-2); }
.ksz-uklad-portalu { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
.ksz-dolny-pasek {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  padding-bottom: env(safe-area-inset-bottom);
  background: var(--ksz-powierzchnia);
  border-top: 1px solid var(--ksz-ramka);
  box-shadow: 0 -.25rem 1rem rgba(17, 20, 24, .08);
}
.ksz-dolny-pasek ul { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; }
.ksz-dolny-pasek a, .ksz-dolny-pasek button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .125rem;
  width: 100%;
  height: 64px;
  padding: 0 .125rem;
  border: 0;
  background: none;
  color: var(--ksz-tekst-2);
  font-size: .8125rem;
  font-weight: 600;
  text-decoration: none;
}
.ksz-dolny-pasek a[aria-current="page"], .ksz-dolny-pasek button.ksz-aktywny { color: var(--ksz-akcent-tekst); }
.ksz-dolny-pasek a[aria-current="page"] .ksz-dolny-pasek-ikona, .ksz-dolny-pasek button.ksz-aktywny .ksz-dolny-pasek-ikona {
  background: var(--ksz-akcent-subtelny);
}
.ksz-dolny-pasek a:focus-visible, .ksz-dolny-pasek button:focus-visible { outline-offset: -4px; }
.ksz-dolny-pasek-ikona { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 1.875rem; border-radius: 50rem; font-size: 1.25rem; }
.ksz-dolny-pasek .ksz-znacznik { position: absolute; top: -.25rem; right: .125rem; }
.ksz-arkusz-wiecej { height: auto; max-height: 85vh; border-top-left-radius: var(--bs-border-radius-lg); border-top-right-radius: var(--bs-border-radius-lg); }
.ksz-arkusz-wiecej .offcanvas-body { padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }
.ksz-lista-wiecej { list-style: none; margin: 0; padding: 0; }
.ksz-lista-wiecej a {
  display: flex;
  gap: .75rem;
  align-items: center;
  min-height: 48px;
  padding: .5rem .25rem;
  border-bottom: 1px solid var(--ksz-ramka);
  color: var(--ksz-tekst);
  font-weight: 600;
  text-decoration: none;
}
.ksz-lista-wiecej a[aria-current="page"] { color: var(--ksz-akcent-tekst); }
.ksz-lista-wiecej .ksz-ikona { font-size: 1.25rem; }
@media (max-width: 767.98px) {
  .ksz-uklad-portalu .ksz-toasty { bottom: calc(64px + env(safe-area-inset-bottom) + 1rem); }
}
@media (min-width: 768px) {
  .ksz-zakladki-portalu { display: block; }
  .ksz-dolny-pasek { display: none; }
  .ksz-uklad-portalu { padding-bottom: 0; }
  .ksz-tresc-portalu { padding: 1.5rem 1rem; }
}
@media (min-width: 992px) {
  .ksz-tresc-portalu { max-width: 960px; }
}

/* Wybór ucznia (E-KON-06) i przełącznik w nagłówku */
.ksz-lista-uczniow { list-style: none; display: grid; gap: .75rem; margin: 0; padding: 0; }
.ksz-uczen-przycisk {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  min-height: 64px;
  padding: .75rem 1rem;
  border: 1px solid var(--ksz-ramka-pola);
  border-radius: var(--bs-border-radius-lg);
  background: var(--ksz-powierzchnia);
  color: var(--ksz-tekst);
  font-size: 1.0625rem;
  font-weight: 600;
  text-align: left;
}
.ksz-uczen-przycisk:hover { background: var(--ksz-powierzchnia-2); }
.ksz-uczen-przycisk[aria-current] { border-color: var(--ksz-akcent-tekst); background: var(--ksz-akcent-subtelny); }
.ksz-inicjaly {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ksz-akcent-tlo);
  color: var(--ksz-na-akcencie);
  font-weight: 600;
  font-size: .9375rem;
}
.ksz-uczen-przycisk-imie { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ksz-uczen-przycisk-wybrany { color: var(--ksz-akcent-tekst); font-size: 1.25rem; }

/* ======================================================================
   4. Panel szkoły E-SYS-01 (05 §2.5)
   ====================================================================== */
.ksz-naglowek-panelu {
  position: sticky;
  top: 0;
  z-index: 1030;
  display: flex;
  align-items: center;
  gap: .5rem;
  height: 56px;
  padding: 0 .5rem;
  background: var(--ksz-powierzchnia);
  border-bottom: 1px solid var(--ksz-ramka);
  box-shadow: inset 0 -3px 0 var(--ksz-akcent);
}
.ksz-naglowek-panelu .ksz-marka { flex: 0 1 auto; max-width: 18rem; }
.ksz-przycisk-menu-zwin, .ksz-przycisk-szukaj { display: none; }
.ksz-szukaj { position: relative; flex: 1 1 auto; max-width: 30rem; margin: 0 auto; }
.ksz-szukaj-pole { position: relative; }
.ksz-szukaj-ikona { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); color: var(--ksz-tekst-2); pointer-events: none; }
.ksz-szukaj .form-control { padding-left: 2.25rem; }
.ksz-szukaj-wyniki {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1040;
  max-height: 70vh;
  margin-top: .25rem;
  padding: .25rem 0;
  overflow-y: auto;
  background: var(--ksz-powierzchnia);
  border: 1px solid var(--ksz-ramka);
  border-radius: var(--bs-border-radius-lg);
  box-shadow: var(--ksz-cien-warstwy);
}
.ksz-szukaj-wyniki:empty, .ksz-szukaj-wyniki[hidden] { display: none; }
.ksz-szukaj-wyniki ul { list-style: none; margin: 0; padding: 0; }
.ksz-szukaj-grupa { margin: 0; padding: .5rem .75rem .25rem; font-size: .8125rem; font-weight: 600; letter-spacing: .02em; color: var(--ksz-tekst-2); }
.ksz-szukaj-wynik { display: flex; gap: .625rem; align-items: flex-start; padding: .5rem .75rem; color: var(--ksz-tekst); text-decoration: none; }
.ksz-szukaj-wynik > .ksz-ikona { margin-top: .2em; color: var(--ksz-tekst-2); }
.ksz-szukaj-wynik:hover, .ksz-szukaj-wynik:focus-visible { background: var(--ksz-akcent-subtelny); color: var(--ksz-tekst); outline-offset: -2px; }
.ksz-szukaj-wynik-tekst { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.ksz-szukaj-znacznik { flex: none; align-self: center; }
.ksz-szukaj-wszystkie { display: block; padding: .5rem .75rem; border-top: 1px solid var(--ksz-ramka); font-weight: 600; }
.ksz-szukaj-wszystkie:focus-visible { outline-offset: -2px; }
.ksz-szukaj-pusto { margin: 0; padding: .5rem .75rem; color: var(--ksz-tekst-2); }
.ksz-okres-naglowek { display: none; }
.ksz-okres-przycisk { display: inline-flex; align-items: center; gap: .25rem; max-width: 15rem; min-height: 40px; white-space: nowrap; }
.ksz-okres-przycisk > span:last-of-type { overflow: hidden; text-overflow: ellipsis; }
.ksz-okres-etykieta { display: none; color: var(--ksz-tekst-2); font-weight: 400; }
.ksz-okres-znak { display: inline-flex; width: 1rem; flex: none; }
.ksz-okres-brak { display: inline-flex; gap: .375rem; align-items: center; font-size: .875rem; font-weight: 600; color: var(--ksz-ostrzezenie); }
.ksz-okres .dropdown-menu { max-height: 70vh; overflow-y: auto; }
.ksz-okres-menu { margin-bottom: .75rem; padding: 0 .25rem; }
.ksz-okres-menu .ksz-okres-przycisk { width: 100%; max-width: none; justify-content: space-between; }
.ksz-okres-menu .ksz-okres-etykieta { display: inline; }
.ksz-wiadomosci .ksz-znacznik { position: absolute; top: 3px; right: 1px; }
.ksz-uzytkownik { display: inline-flex; align-items: center; gap: .375rem; min-height: 44px; padding: .25rem .375rem; color: var(--ksz-tekst); border: 0; }
.ksz-uzytkownik:hover, .ksz-uzytkownik:focus-visible { background: var(--ksz-powierzchnia-2); color: var(--ksz-tekst); }
.ksz-awatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ksz-akcent-tlo);
  color: var(--ksz-na-akcencie);
  font-size: .8125rem;
  font-weight: 600;
}
.ksz-uzytkownik-nazwa { display: none; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ksz-naglowek-panelu .ksz-marka-nazwa { display: none; }

.ksz-panel { display: flex; align-items: stretch; min-height: calc(100vh - 56px); }
.ksz-panel-glowna { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.ksz-tresc-panelu { flex: 1; width: 100%; max-width: 1600px; padding: 1rem .75rem; }
.ksz-tresc-panelu:focus { outline: none; }
.ksz-stopka-panelu { padding: 1rem 1.5rem; border-top: 1px solid var(--ksz-ramka); color: var(--ksz-tekst-2); font-size: .875rem; }
.ksz-menu-boczne { --bs-offcanvas-width: min(300px, 85vw); }
.ksz-menu-boczne .offcanvas-body { display: flex; flex-direction: column; padding: .75rem .5rem; }
.ksz-menu-nawigacja { flex: 1 0 auto; }
.ksz-menu-sekcja { margin: 0; padding: .875rem .75rem .25rem; font-size: .8125rem; font-weight: 600; letter-spacing: .02em; color: var(--ksz-tekst-2); }
.ksz-menu-lista { list-style: none; margin: 0; padding: 0; }
.ksz-menu-pozycja {
  position: relative;
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 40px;
  padding: .375rem .75rem .375rem .625rem;
  border-left: 3px solid transparent;
  border-radius: var(--bs-border-radius);
  color: var(--ksz-tekst);
  font-size: .9375rem;
  line-height: 1.3;
  text-decoration: none;
}
.ksz-menu-pozycja:hover { background: var(--ksz-powierzchnia-2); color: var(--ksz-tekst); }
.ksz-menu-pozycja[aria-current="page"] { background: var(--ksz-akcent-subtelny); border-left-color: var(--ksz-akcent-tekst); font-weight: 600; }
.ksz-menu-pozycja > .ksz-ikona { flex: none; font-size: 1.125rem; }
.ksz-menu-etykieta { flex: 1; min-width: 0; }
.ksz-menu-zwin {
  display: none;
  align-items: center;
  gap: .75rem;
  width: 100%;
  min-height: 40px;
  margin-top: 1rem;
  padding: .375rem .75rem .375rem .8125rem;
  border: 0;
  border-radius: var(--bs-border-radius);
  background: none;
  color: var(--ksz-tekst-2);
  text-align: left;
}
.ksz-menu-zwin:hover { background: var(--ksz-powierzchnia-2); }

@media (max-width: 767.98px) {
  .ksz-przycisk-szukaj { display: inline-flex; }
  .ksz-naglowek-panelu .ksz-marka { flex: 1 1 auto; }
  .ksz-szukaj {
    position: absolute;
    top: 56px;
    left: 0;
    right: 0;
    max-width: none;
    margin: 0;
    padding: .5rem .75rem;
    background: var(--ksz-powierzchnia);
    border-bottom: 1px solid var(--ksz-ramka);
    box-shadow: var(--ksz-cien-warstwy);
  }
  .ksz-szukaj .ksz-szukaj-wyniki { left: .75rem; right: .75rem; }
}
@media (min-width: 576px) {
  .ksz-naglowek-panelu .ksz-marka-nazwa { display: inline; }
}
@media (min-width: 768px) {
  .ksz-szukaj.collapse { display: block; }
  .ksz-okres-naglowek { display: block; }
  .ksz-okres-menu { display: none; }
  .ksz-tresc-panelu { padding: 1.5rem; }
  .ksz-naglowek-panelu .ksz-marka-nazwa { display: none; }
}
@media (min-width: 992px) {
  .ksz-przycisk-menu-mobilny { display: none; }
  .ksz-przycisk-menu-zwin { display: inline-flex; }
  .ksz-naglowek-panelu { padding: 0 .75rem 0 .75rem; }
  .ksz-naglowek-panelu .ksz-marka { min-width: 13rem; }
  .ksz-naglowek-panelu .ksz-marka-nazwa { display: inline; }
  .ksz-uklad-panelu .ksz-menu-boczne {
    position: sticky;
    top: 56px;
    flex: 0 0 248px;
    width: 248px;
    height: calc(100vh - 56px);
    overflow-y: auto;
    background-color: var(--ksz-powierzchnia) !important;
    border-right: 1px solid var(--ksz-ramka);
  }
  .ksz-uklad-panelu .ksz-menu-boczne .offcanvas-body { width: 100%; padding: .75rem .5rem; overflow-y: visible; }
  .ksz-menu-zwin { display: flex; }

  /* Menu zwinięte do 72 px — same ikony z nazwą dostępną (etykieta ukryta wizualnie) i podpowiedzią (title). */
  html[data-ksz-menu="zwiniete"] .ksz-uklad-panelu .ksz-menu-boczne { flex-basis: 72px; width: 72px; }
  html[data-ksz-menu="zwiniete"] .ksz-menu-etykieta,
  html[data-ksz-menu="zwiniete"] .ksz-menu-sekcja {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  html[data-ksz-menu="zwiniete"] .ksz-menu-lista + .ksz-menu-sekcja + .ksz-menu-lista,
  html[data-ksz-menu="zwiniete"] .ksz-menu-lista + .ksz-menu-lista { margin-top: .375rem; padding-top: .375rem; border-top: 1px solid var(--ksz-ramka); }
  html[data-ksz-menu="zwiniete"] .ksz-menu-pozycja { justify-content: center; padding: .5rem 0; }
  html[data-ksz-menu="zwiniete"] .ksz-menu-pozycja .ksz-znacznik { position: absolute; top: 2px; right: 4px; }
  html[data-ksz-menu="zwiniete"] .ksz-menu-zwin { justify-content: center; padding: .5rem 0; }
  html[data-ksz-menu="zwiniete"] .ksz-menu-zwin > .ksz-ikona { transform: rotate(180deg); }
}
@media (min-width: 1200px) {
  .ksz-okres-etykieta { display: inline; }
  .ksz-uzytkownik-nazwa { display: inline; }
}

/* Strona zastępcza (kontrakt B2 → B3–B7) */
.ksz-zastepcza-naglowek { display: flex; gap: .75rem; align-items: center; }
.ksz-zastepcza-naglowek > .ksz-ikona { flex: none; font-size: 1.75rem; color: var(--ksz-ostrzezenie); }
.ksz-sesje .list-group-item { padding-left: 0; padding-right: 0; background: transparent; }
.ksz-naglowek-strony-tytul { min-width: 0; }
