/* css/organizer.css: organizer app (/organizer/*), owned by the mp-organizer session.
   Overrides the .og-/.bd-/.zd-/.st- rules in styl.css from a higher specificity (.organizer-app prefix)
   instead of editing them. Everything here is screen only: print keeps the styl.css print blocks untouched.
   Grammar: hairlines (var(--wlos)) instead of boxes, serif figures, small caps for labels and states,
   bordo only for over-budget, overdue, selected, focus. No shadows, no pills, no green lights. */

@media screen {

/* ---- widths ------------------------------------------------------------- */
.organizer-app { max-width: 680px; }
.organizer-app.organizer-budzet { max-width: 820px; }
.organizer-app.organizer-stoly { max-width: 1040px; }

/* ---- shared frame: numbered tab strip + title block ---------------------- */
.organizer-app .og-zakladki-numerowane {
  display: flex; flex-wrap: wrap; gap: 0.25rem 1.75rem; margin: 0.5rem 0 2.25rem;
  border-bottom: 1px solid var(--wlos); font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase;
}
.organizer-app .og-zakladka {
  position: relative; display: inline-flex; align-items: baseline; gap: 0.5em; padding: 0.55rem 0 0.7rem;
  color: var(--tekst-2); font-weight: 500; text-decoration: none; transition: color 0.2s var(--ruch);
}
.organizer-app .og-zakladka:hover { color: var(--tekst); }
.organizer-app .og-zakladka-nr {
  font-family: var(--font-naglowek); font-size: 1.05rem; font-weight: 400; letter-spacing: 0; line-height: 1;
  font-variant-numeric: tabular-nums; color: var(--tekst-2); opacity: 0.7;
}
.organizer-app .og-zakladka-aktywna { color: var(--tekst); font-weight: 500; text-decoration: none; }
.organizer-app .og-zakladka-aktywna .og-zakladka-nr { color: var(--akcent); opacity: 1; }
.organizer-app .og-zakladka-aktywna::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--akcent);
}

.organizer-app .og-glowa { margin: 0 0 2.5rem; }
.organizer-app .og-kicker { margin: 0 0 0.6rem; }
.organizer-app .og-tytul {
  font-family: var(--font-naglowek); font-weight: 300; font-size: clamp(2.3rem, 5.5vw, 3.6rem); line-height: 1.02;
  letter-spacing: -0.02em; color: var(--tekst); max-width: 16ch; margin: 0 0 0.9rem;
}
.organizer-app .og-lead {
  font-family: var(--font-naglowek); font-style: italic; font-weight: 400; font-size: 1.25rem; line-height: 1.4;
  color: var(--tekst-2); max-width: 44ch; margin: 0;
}
.organizer-app .bd-opis { font-size: 0.92rem; max-width: 60ch; margin: -1rem 0 1.75rem; }

/* ---- shared controls: hairline inputs, text buttons, small-caps labels ---- */
.organizer-app .og-dodaj-wiersz {
  border-bottom: 1px solid var(--wlos); padding: 0.7rem 0; gap: 0.75rem; transition: border-color 0.25s var(--ruch);
}
.organizer-app .og-dodaj-wiersz:focus-within { border-bottom-color: var(--akcent); }
.organizer-app .og-dodaj-wiersz input[type="text"],
.organizer-app .st-szukaj input[type="search"] { font-family: var(--font-naglowek); font-size: 1.2rem; }
.organizer-app .og-dodaj-plus {
  width: 36px; height: 36px; border: none; border-radius: 0; background: none; color: var(--akcent);
  font-family: var(--font-naglowek); font-weight: 300; font-size: 1.9rem; line-height: 1; transition: color 0.2s var(--ruch);
}
.organizer-app .og-dodaj-plus:hover { color: var(--tekst); border-color: transparent; }
.organizer-app .og-dodaj-opcje { gap: 0.75rem 1.5rem; padding: 0.75rem 0 1.25rem; }
.organizer-app .og-dodaj-opcje > label {
  font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-2);
}
.organizer-app .og-dodaj-opcje input[type="text"],
.organizer-app .og-dodaj-opcje select,
.organizer-app .og-dodaj-opcje .st-liczba {
  border: none; border-bottom: 1px solid var(--wlos); border-radius: 0; background: none; padding: 0.3rem 0.1rem;
  font-size: 0.95rem; color: var(--tekst);
}
.organizer-app .og-dodaj-opcje input[type="text"]:focus,
.organizer-app .og-dodaj-opcje select:focus,
.organizer-app .og-dodaj-opcje .st-liczba:focus { outline: none; border-bottom-color: var(--akcent); }

.organizer-app .og-strona-wybor { border: none; border-radius: 0; padding: 0; gap: 1.1rem; }
.organizer-app .og-strona-wybor label {
  position: relative; padding: 0.25rem 0; border-radius: 0; font-size: 0.7rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--tekst-2); box-shadow: 0 1px 0 transparent; transition: color 0.2s var(--ruch), box-shadow 0.2s var(--ruch);
}
.organizer-app .og-strona-wybor label:hover { color: var(--tekst); }
.organizer-app .og-strona-wybor label input[type="radio"] {
  position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none;
}
.organizer-app .og-strona-wybor label:has(input[type="radio"]:checked) {
  background: none; color: var(--tekst); font-weight: 500; box-shadow: 0 1px 0 var(--akcent);
}
.organizer-app .og-strona-wybor label:has(input[type="radio"]:focus-visible) { outline: 1px solid var(--akcent); outline-offset: 4px; }

.organizer-app .og-dzieci-opcja {
  border: none; border-bottom: 1px solid transparent; border-radius: 0; background: none; padding: 0.25rem 0.1rem;
  font-size: 0.78rem; letter-spacing: 0.06em; color: var(--tekst-2); font-variant-numeric: tabular-nums;
}
.organizer-app .og-dzieci-opcja:hover { color: var(--tekst); }
.organizer-app .og-dzieci-opcja.og-dzieci-aktywny { background: none; color: var(--akcent); font-weight: 500; border-bottom-color: var(--akcent); }

.organizer-app .og-filtry { gap: 1.5rem; margin: 0 0 1.5rem; padding-bottom: 0.65rem; border-bottom: 1px solid var(--wlos); }
.organizer-app .og-filtr {
  font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-2);
  padding: 0.25rem 0; transition: color 0.2s var(--ruch);
}
.organizer-app .og-filtr:hover { color: var(--tekst); }
.organizer-app .og-filtr-aktywny {
  color: var(--tekst); font-weight: 500; text-decoration: underline; text-decoration-color: var(--akcent);
  text-decoration-thickness: 1px; text-underline-offset: 0.6em;
}

.organizer-app .og-link-tekst { font-size: 0.8rem; letter-spacing: 0.02em; text-decoration-color: var(--wlos); transition: color 0.2s var(--ruch); }
.organizer-app .og-link-tekst:hover { text-decoration-color: var(--akcent); }
.organizer-app .og-dolne { border-top: 1px solid var(--wlos); padding-top: 1.4rem; margin-top: 2.5rem; }
.organizer-app .og-info { font-size: 0.78rem; line-height: 1.55; max-width: 64ch; }
.organizer-app .og-pusta, .organizer-app .og-pusta-filtr, .organizer-app .st-pusty, .organizer-app .st-bez-info {
  font-family: var(--font-naglowek); font-style: italic; font-size: 1.15rem; color: var(--tekst-2); padding: 1.25rem 0;
}
.organizer-app .og-usun { color: var(--tekst-2); opacity: 0.6; transition: opacity 0.2s var(--ruch), color 0.2s var(--ruch); }
.organizer-app .og-usun:hover { color: var(--akcent); opacity: 1; }

/* ---- guest list: editorial ledger ---------------------------------------- */
.organizer-app .og-liczniki {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem 2.75rem; margin: 0 0 2rem; padding: 0 0 1.25rem;
  border-bottom: 1px solid var(--wlos); color: var(--tekst-2); font-size: 0.95rem;
}
.organizer-app .og-licznik { display: flex; flex-direction: column; gap: 0.3rem; }
.organizer-app .og-licznik-liczba {
  font-family: var(--font-naglowek); font-weight: 300; font-size: 2.8rem; line-height: 0.95; letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums; color: var(--tekst);
}
.organizer-app .og-licznik-opis { font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tekst-2); }
.organizer-app .og-licznik-strony {
  flex-basis: 100%; margin: 0; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tekst-2);
  font-variant-numeric: tabular-nums;
}

.organizer-app .og-grupa-blok + .og-grupa-blok { margin-top: 1.75rem; }
.organizer-app .og-grupa-naglowek {
  font-family: var(--font-tekst); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tekst-2);
  margin: 0 0 0.35rem; padding-top: 0.25rem;
}
.organizer-app .og-wiersz { gap: 1rem; padding: 0.55rem 0; border-bottom: 1px solid var(--wlos); }
.organizer-app .og-nr {
  flex: none; width: 2ch; font-family: var(--font-naglowek); font-size: 0.95rem; line-height: 1;
  font-variant-numeric: tabular-nums; color: var(--tekst-2); opacity: 0.75;
}
.organizer-app .og-nazwa { font-family: var(--font-naglowek); font-size: 1.25rem; font-weight: 400; line-height: 1.3; padding: 0.25rem 0; }
.organizer-app .og-nazwa:hover { text-decoration-color: var(--akcent); }
.organizer-app .og-nazwa-input {
  font-family: var(--font-naglowek); font-size: 1.25rem; background: none; border: none; border-bottom: 1px solid var(--akcent);
  border-radius: 0; padding: 0.25rem 0;
}
.organizer-app .og-nazwa-input:focus { outline: none; }
.organizer-app .og-chipy { gap: 0.9rem; }
.organizer-app .og-chip {
  font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-2);
  background: none; border: none; border-radius: 0; padding: 0.2rem 0; transition: color 0.2s var(--ruch);
}
.organizer-app .og-chip-dziecko, .organizer-app .og-chip-dzieci { color: var(--tekst-2); }
.organizer-app button.og-chip:hover { color: var(--akcent); border-color: transparent; }
.organizer-app .og-chip-pusty { opacity: 0.35; border: none; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 0.3em; }
.organizer-app .og-grupy-chipy .og-chip { text-decoration: underline; text-decoration-color: var(--wlos); text-underline-offset: 0.3em; }

/* ---- budget: figures, hairline progress, bordo only when over ------------ */
.organizer-app .bd-sumy {
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 2rem; padding: 1.4rem 0 1.25rem; margin: 0 0 1.75rem;
  border-top: 1px solid var(--wlos); border-bottom: 1px solid var(--wlos);
}
.organizer-app .bd-sumy .bd-suma { flex-direction: column; align-items: flex-start; gap: 0.35rem; }
.organizer-app .bd-sumy .bd-suma-etykieta { font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; }
.organizer-app .bd-sumy .bd-suma-wartosc {
  font-weight: 300; font-size: 2.4rem; line-height: 1; letter-spacing: -0.035em; font-variant-numeric: tabular-nums;
}
.organizer-app .bd-sumy .bd-suma-opis { font-family: var(--font-naglowek); font-style: italic; font-size: 0.95rem; }
.organizer-app .bd-suma-wartosc.bd-ponad { color: var(--akcent); }
.organizer-app .bd-suma-wartosc.bd-ponizej { color: var(--tekst); }
.organizer-app .bd-na-gosca { padding-top: 0.5rem; }

.organizer-app .bd-cel { margin: 0 0 2rem; }
.organizer-app .bd-cel-wiersz > span:first-child { font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; }
.organizer-app .bd-cel-wiersz input { border-bottom: 1px solid var(--wlos); font-variant-numeric: tabular-nums; }
.organizer-app .bd-cel-wiersz input:focus { border-bottom-color: var(--akcent); }
.organizer-app .bd-pasek { height: 2px; border-radius: 0; background: var(--wlos); }
.organizer-app .bd-pasek-wypelnienie { border-radius: 0; background: var(--tekst); transition: width 0.45s var(--ruch); }
.organizer-app .bd-pasek-przekroczony .bd-pasek-wypelnienie { background: var(--akcent); }
.organizer-app .bd-cel-opis { font-family: var(--font-naglowek); font-style: italic; font-size: 0.98rem; }

.organizer-app .bd-platnosci h2, .organizer-app .st-bez h2, .organizer-app .st-stoly-sekcja h2 {
  font-family: var(--font-naglowek); font-weight: 400; font-size: 1.4rem; letter-spacing: -0.01em;
}
.organizer-app .bd-platnosci-sumy .bd-suma-wartosc { font-weight: 400; font-variant-numeric: tabular-nums; }
.organizer-app .bd-platnosc { border-bottom: 1px solid var(--wlos); }
.organizer-app .bd-platnosc-po-terminie { box-shadow: inset 1px 0 0 var(--akcent); }
.organizer-app .bd-platnosc-po-terminie .bd-platnosc-opis { font-weight: 500; }
.organizer-app .bd-platnosc-kwota { font-variant-numeric: tabular-nums; font-size: 1.1rem; }

.organizer-app .bd-naglowek {
  font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; border-bottom: 1px solid var(--wlos); padding: 0.35rem 0;
}
.organizer-app .bd-kategoria { border-bottom: 1px solid var(--wlos); }
.organizer-app .bd-kategoria .bd-wiersz { border-bottom: none; padding: 0.6rem 0 0.45rem; }
.organizer-app .bd-kategoria .og-nazwa { font-size: 1.2rem; }
.organizer-app .bd-kategoria-ponad .og-nazwa { color: var(--akcent); }
.organizer-app .bd-postep { position: relative; height: 2px; background: transparent; margin: 0 0 0.3rem; }
.organizer-app .bd-postep-wyp {
  display: block; height: 100%; width: 0; background: var(--tekst-2); transition: width 0.45s var(--ruch);
}
.organizer-app .bd-postep-ponad .bd-postep-wyp { background: var(--akcent); }
.organizer-app .bd-kwota input {
  border-bottom: 1px solid var(--wlos); font-variant-numeric: tabular-nums; transition: border-color 0.2s var(--ruch);
}
.organizer-app .bd-kwota input:focus { outline: none; border-bottom-color: var(--akcent); }
.organizer-app .bd-roznica-wiersza { font-variant-numeric: tabular-nums; }
.organizer-app .bd-roznica-wiersza.bd-ponad { color: var(--akcent); font-weight: 500; }
.organizer-app .bd-roznica-wiersza.bd-ponizej { color: var(--tekst-2); }
.organizer-app .bd-zal-meta { font-size: 0.78rem; }
.organizer-app .bd-zaliczki { border-left: 1px solid var(--wlos); border-bottom: none; margin: 0 0 0.5rem 0.25rem; }
.organizer-app .bd-zal-pozycja { border-top: 1px solid var(--wlos); }
.organizer-app .bd-zal-pole input { border-bottom: 1px solid var(--wlos); font-variant-numeric: tabular-nums; }
.organizer-app .bd-zal-pole input:focus { outline: none; border-bottom-color: var(--akcent); }
.organizer-app .bd-zal-dodaj {
  min-height: 36px; padding: 0 0.1rem; background: none; border: none; border-bottom: 1px solid var(--wlos); border-radius: 0;
  color: var(--akcent); font-size: 0.85rem; transition: border-color 0.2s var(--ruch);
}
.organizer-app .bd-zal-dodaj:hover { border-bottom-color: var(--akcent); }
.organizer-app .bd-zal-ostrzezenie { font-weight: 500; border-left: 1px solid var(--akcent); padding-left: 0.65rem; }

@media (max-width: 640px) {
  .organizer-app .bd-sumy { grid-template-columns: 1fr; gap: 0.9rem; }
  .organizer-app .bd-sumy .bd-suma { flex-direction: row; align-items: baseline; justify-content: space-between; }
  .organizer-app .bd-sumy .bd-suma-wartosc { font-size: 1.7rem; }
}

/* ---- tasks: timeline by months before the wedding ------------------------ */
.organizer-app .zd-gora { margin: 0 0 0.75rem; }
.organizer-app .zd-data > span { font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; }
.organizer-app .zd-data input { border-bottom: 1px solid var(--wlos); font-variant-numeric: tabular-nums; }
.organizer-app .zd-data input:focus { border-bottom-color: var(--akcent); }
.organizer-app .zd-licznik strong {
  font-weight: 300; font-size: 2.2rem; line-height: 1; letter-spacing: -0.035em; font-variant-numeric: tabular-nums;
}
.organizer-app .zd-status { font-family: var(--font-naglowek); font-style: italic; font-size: 1.02rem; margin: 0.75rem 0 1.5rem; }
.organizer-app .zd-dodaj { margin: 0 0 2.25rem; }

.organizer-app .zd-lista { margin: 0 0 1rem; }
.organizer-app .zd-grupa { position: relative; margin: 0; padding: 0 0 1.75rem 1.5rem; border-left: 1px solid var(--wlos); }
.organizer-app .zd-grupa:last-child { padding-bottom: 0.5rem; }
.organizer-app .zd-grupa::before {
  content: ""; position: absolute; left: -5px; top: 0.45rem; width: 9px; height: 9px; border-radius: 50%;
  border: 1px solid var(--tekst-2); background: var(--tlo); box-sizing: border-box;
}
.organizer-app .zd-grupa-minela::before { background: var(--tekst-2); }
.organizer-app .zd-grupa-teraz { border-left-color: var(--wlos); }
.organizer-app .zd-grupa-teraz::before { border-color: var(--akcent); background: var(--akcent); }
.organizer-app .zd-grupa-naglowek { gap: 0.2rem 0.9rem; }
.organizer-app .zd-grupa-nr {
  flex-basis: 100%; font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tekst-2);
  font-variant-numeric: tabular-nums; line-height: 1;
}
.organizer-app .zd-grupa-teraz .zd-grupa-nr { color: var(--akcent); }
.organizer-app .zd-grupa-naglowek h2 { font-weight: 400; font-size: 1.45rem; letter-spacing: -0.01em; }
.organizer-app .zd-znacznik {
  font-size: 0.66rem; font-weight: 500; letter-spacing: 0.14em; padding: 0; border: none; border-radius: 0; color: var(--akcent); background: none;
}
.organizer-app .zd-znacznik-teraz { background: none; color: var(--akcent); }
.organizer-app .zd-grupa-okno { font-family: var(--font-naglowek); font-style: italic; font-size: 0.98rem; margin: 0.15rem 0 0.5rem; }
.organizer-app .zd-zadanie { gap: 0.75rem; padding: 0.3rem 0; border-bottom: 1px solid var(--wlos); }
.organizer-app .zd-chk { gap: 0.9rem; }
.organizer-app .zd-chk input {
  -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--tekst-2);
  background: none; cursor: pointer; transition: background-color 0.25s var(--ruch), border-color 0.25s var(--ruch), transform 0.25s var(--ruch);
}
.organizer-app .zd-chk:hover input { border-color: var(--akcent); }
.organizer-app .zd-chk input:checked { background: var(--akcent); border-color: var(--akcent); }
.organizer-app .zd-chk input:focus-visible { outline: 1px solid var(--akcent); outline-offset: 3px; }
.organizer-app .zd-nazwa { font-family: var(--font-naglowek); font-size: 1.15rem; line-height: 1.35; transition: color 0.25s var(--ruch); }
.organizer-app .zd-zrobione .zd-nazwa { color: var(--tekst-2); opacity: 0.55; text-decoration: none; }
.organizer-app .zd-zrobione .zd-chk input { opacity: 0.55; }
.organizer-app .zd-zrobione .og-usun { opacity: 0.4; }
.organizer-app .zd-etykieta-zalegle { font-size: 0.64rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; }

/* ---- seating: thin outlines, serif numbers, small-caps groups ------------ */
.organizer-app .st-podsumowanie { font-family: var(--font-naglowek); font-style: italic; font-size: 1.1rem; margin: 0 0 1.5rem; }
.organizer-app .st-wybor-info {
  background: none; border: none; border-left: 1px solid var(--akcent); border-radius: 0; padding: 0.35rem 0 0.35rem 0.9rem;
}
.organizer-app .st-uklad { margin: 0 0 2rem; }
.organizer-app .st-liczba-bez { font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; margin-left: 0.4rem; }
.organizer-app .st-bez { border-radius: 0; }
.organizer-app .st-bez.st-nad { background: none; box-shadow: inset 0 0 0 1px var(--akcent); }
.organizer-app .st-szukaj .og-dodaj-wiersz { padding: 0.45rem 0; }
.organizer-app .st-szukaj input[type="search"] { font-size: 1.05rem; }

.organizer-app .st-osoba { gap: 0.25rem 0.75rem; padding: 0.35rem 0; border-bottom: 1px solid var(--wlos); transition: padding 0.2s var(--ruch); }
.organizer-app .st-osoba-wybrana { background: none; box-shadow: none; outline: 1px solid var(--akcent); outline-offset: -1px; padding-left: 0.65rem; padding-right: 0.4rem; }
.organizer-app .st-imie { font-family: var(--font-naglowek); font-size: 1.1rem; line-height: 1.25; }
.organizer-app .st-grupa { font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; }
.organizer-app .st-wybor { background: none; border: none; border-bottom: 1px solid var(--wlos); border-radius: 0; padding: 0.25rem 0; color: var(--tekst-2); }
.organizer-app .st-wybor:focus { outline: none; border-bottom-color: var(--akcent); color: var(--tekst); }

.organizer-app .st-stoly { gap: 1.25rem; }
.organizer-app .st-stol {
  background: none; border: 1px solid var(--wlos); border-radius: 0; padding: 0.9rem 1rem 0.6rem; box-shadow: none;
  transition: border-color 0.25s var(--ruch);
}
.organizer-app .st-stol:hover { border-color: var(--tekst-2); }
.organizer-app .st-stol.st-nad { border-color: var(--akcent); box-shadow: inset 0 0 0 1px var(--akcent); }
.organizer-app .st-stol-ponad { border-color: var(--akcent); box-shadow: none; }
.organizer-app .st-stol-gora { gap: 0.6rem; margin: 0 0 0.35rem; }
.organizer-app .st-stol-nr {
  flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--wlos);
  font-family: var(--font-naglowek); font-size: 1.05rem; line-height: 1; font-variant-numeric: tabular-nums; color: var(--tekst);
}
.organizer-app .st-stol-ponad .st-stol-nr { border-color: var(--akcent); color: var(--akcent); }
.organizer-app .st-nazwa-pole { font-weight: 400; font-size: 1.3rem; border-bottom: 1px solid transparent; }
.organizer-app .st-nazwa-pole:hover { border-bottom-color: var(--wlos); }
.organizer-app .st-nazwa-pole:focus { border-bottom-color: var(--akcent); }
.organizer-app .st-stol-meta { font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 0.6rem; }
.organizer-app .st-stol-meta .st-liczba { width: 3rem; letter-spacing: 0; text-transform: none; border-bottom: 1px solid var(--wlos); font-variant-numeric: tabular-nums; }
.organizer-app .st-stol-meta .st-liczba:focus { border-bottom-color: var(--akcent); }
.organizer-app .st-ostrzezenie { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.organizer-app .st-posadz {
  width: 100%; min-height: 36px; padding: 0 0.1rem; margin: 0 0 0.5rem; text-align: left; background: none; border: none;
  border-bottom: 1px solid var(--wlos); border-radius: 0; color: var(--akcent); font-size: 0.85rem; transition: border-color 0.2s var(--ruch), color 0.2s var(--ruch);
}
.organizer-app .st-posadz:hover { background: none; color: var(--tekst); border-bottom-color: var(--akcent); }
.organizer-app .st-stol .st-osoba:last-child { border-bottom: none; }
.organizer-app .st-opis { margin: 0 0 1rem; }

/* ---- focus: always visible, hairline bordo -------------------------------- */
.organizer-app :is(a, button, summary, [draggable="true"]):focus-visible { outline: 1px solid var(--akcent); outline-offset: 3px; }
.organizer-app .og-zakladka:focus-visible { outline-offset: -2px; }
.organizer-app textarea:focus-visible { outline: 1px solid var(--akcent); outline-offset: 2px; }

/* ---- motion: reveal on first paint, 30ms per row, opacity and transform only */
@keyframes og-wejscie {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
.organizer-app .og-wejscie {
  animation: og-wejscie 0.55s var(--ruch) backwards; animation-delay: calc(var(--i, 0) * 30ms);
}
.organizer-app .og-zakladki-numerowane,
.organizer-app .og-glowa > * { animation: og-wejscie 0.6s var(--ruch) backwards; }
.organizer-app .og-glowa > :nth-child(2) { animation-delay: 60ms; }
.organizer-app .og-glowa > :nth-child(3) { animation-delay: 120ms; }

@media (prefers-reduced-motion: reduce) {
  .organizer-app .og-wejscie,
  .organizer-app .og-zakladki-numerowane,
  .organizer-app .og-glowa > * { animation: none; }
  .organizer-app * { transition-duration: 0s !important; }
}

} /* @media screen */
