/* Wyglad posty.glosfirmy.pl - identyfikacja Glos Firmy:
   zielen butelkowa #14655A (akcent), papierowa biel #F7F6F2 (tlo),
   Nunito (naglowki), IBM Plex Sans (tekst). */
:root,
[data-bs-theme=light] {
  --gf-zielen: #14655A;
  --gf-zielen-hover: #0F4D44;
  --gf-papier: #F7F6F2;
  --gf-karta: #FFFFFF;
  --gf-tekst: #1A1A18;
  --gf-linia: #E4E1D8;
  --bs-body-bg: var(--gf-papier);
  --bs-body-color: var(--gf-tekst);
  --bs-body-font-family: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif;
  --bs-link-color: var(--gf-zielen);
  --bs-link-color-rgb: 20, 101, 90;
  --bs-link-hover-color: var(--gf-zielen-hover);
  --bs-border-color: var(--gf-linia);
}

[data-bs-theme=dark] {
  --gf-zielen: #3BA393;
  --gf-zielen-hover: #5BBFAF;
  --gf-papier: #141614;
  --gf-karta: #1E211F;
  --gf-tekst: #E8E6E0;
  --gf-linia: #2E322F;
  --bs-body-bg: var(--gf-papier);
  --bs-body-color: var(--gf-tekst);
  --bs-link-color: var(--gf-zielen);
  --bs-link-color-rgb: 59, 163, 147;
  --bs-link-hover-color: var(--gf-zielen-hover);
  --bs-border-color: var(--gf-linia);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .navbar-brand, .btn {
  font-family: 'Nunito', 'Segoe UI', system-ui, sans-serif;
}
h1, h2, h3, .h1, .h2, .h3, .h4, .h5 { font-weight: 800; }

.gf-nav { background: var(--gf-karta); }
.gf-marka { font-weight: 800; display: inline-flex; align-items: center; }
.gf-logo { height: 42px; width: auto; display: block; }
.gf-logo-ciemne { display: none; }
[data-bs-theme=dark] .gf-logo-jasne { display: none; }
[data-bs-theme=dark] .gf-logo-ciemne { display: block; }
.gf-akcent { color: var(--gf-zielen); }

.gf-karta {
  background: var(--gf-karta);
  border: 1px solid var(--gf-linia);
  border-radius: 14px;
}

/* Kontrolki w kolorze marki (Bootstrap domyslnie daje niebieski) i bez animacji. */
.form-check-input:checked { background-color: var(--gf-zielen); border-color: var(--gf-zielen); }
.form-check-input:focus, .form-control:focus, .form-select:focus {
  border-color: var(--gf-zielen);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gf-zielen) 22%, transparent);
}
.form-switch .form-check-input { transition: none; width: 2.5em; height: 1.35em; margin-top: 0; cursor: pointer; }
.form-switch .form-check-input:focus:not(:checked) { --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,.25%29'/%3e%3c/svg%3e"); }
.form-check-input, .form-check-label { cursor: pointer; }
.form-label { font-weight: 500; font-size: .9rem; margin-bottom: .3rem; }
::selection { background: color-mix(in srgb, var(--gf-zielen) 28%, transparent); }
.btn-outline-secondary { --bs-btn-color: var(--bs-body-color); --bs-btn-border-color: var(--gf-linia);
  --bs-btn-hover-bg: var(--bs-secondary-bg); --bs-btn-hover-color: var(--bs-body-color);
  --bs-btn-hover-border-color: var(--gf-linia); --bs-btn-active-bg: var(--bs-secondary-bg);
  --bs-btn-active-color: var(--bs-body-color); --bs-btn-active-border-color: var(--gf-linia); }
.btn-outline-secondary.active { background: var(--gf-zielen); border-color: var(--gf-zielen); color: #fff; }
.btn-sm { border-radius: 9px; }

/* Sekcja strony: tytul + liczba po lewej, akcje po prawej. */
.gf-sekcja { margin-bottom: 2rem; }
.gf-sekcja-gora { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; margin-bottom: .75rem; }
.gf-sekcja-gora h2, .gf-sekcja-gora h3 { font-size: 1.05rem; margin: 0; }
.gf-sekcja-gora .gf-prawa { margin-left: auto; display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.gf-licznik { color: var(--bs-secondary-color); font-weight: 500; font-variant-numeric: tabular-nums; }
.gf-pusto { color: var(--bs-secondary-color); padding: 1.5rem 1rem; text-align: center;
  border: 1px dashed var(--gf-linia); border-radius: 14px; }

/* Ikona "i" - objasnienie zamiast tekstu na stale. */
.gf-info { border: 0; background: none; padding: 0 .15rem; line-height: 1; color: var(--bs-secondary-color);
  font-size: .95rem; cursor: pointer; vertical-align: baseline; border-radius: 50%; }
.gf-info:hover, .gf-info:focus-visible { color: var(--gf-zielen); }
.gf-popover { --bs-popover-max-width: 300px; --bs-popover-font-size: .875rem; --bs-popover-border-color: var(--gf-linia);
  --bs-popover-bg: var(--gf-karta); --bs-popover-body-color: var(--bs-body-color); }

/* Wybor dni tygodnia: rowne przyciski, zaznaczone w kolorze marki. */
.gf-dni { display: inline-flex; gap: .3rem; flex-wrap: wrap; }
.gf-dni label { width: 2.6rem; height: 2.4rem; display: grid; place-items: center; border-radius: 9px;
  border: 1px solid var(--gf-linia); background: var(--gf-karta); color: var(--bs-secondary-color);
  font-family: 'Nunito', sans-serif; font-weight: 700; font-size: .875rem; cursor: pointer; user-select: none; }
.gf-dni label:hover { border-color: var(--gf-zielen); color: var(--bs-body-color); }
.gf-dni input:checked + label { background: var(--gf-zielen); border-color: var(--gf-zielen); color: #fff; }
.gf-dni input:focus-visible + label { outline: 2px solid var(--gf-zielen); outline-offset: 2px; }

/* Wiersze ustawien: etykieta i kontrolka w jednej linii, kreska miedzy wierszami. */
.gf-wiersz { display: flex; align-items: center; gap: .4rem; padding: .7rem 0; border-top: 1px solid var(--gf-linia); min-height: 3rem; flex-wrap: wrap; }
.gf-wiersz:first-child, input[type=hidden] + .gf-wiersz { border-top: 0; padding-top: 0; }
.gf-plik { flex: 1 1 14rem; min-width: 0; width: auto; }
.gf-wiersz:last-child { padding-bottom: 0; }
.gf-wiersz-etykieta { margin: 0; cursor: pointer; }
.gf-wiersz-tekst { margin: 0; }
.gf-wiersz-kontrolka { margin-left: auto; padding-left: 0; display: flex; align-items: center; gap: .5rem; }
.gf-wiersz-kontrolka .form-check-input { float: none; margin-left: 0; }
.gf-wiersz-kontrolka .form-control, .gf-wiersz-kontrolka .form-select { width: auto; }
.gf-pole-krotkie { max-width: 7.5rem; }
.gf-godziny { display: flex; gap: .4rem; flex-wrap: wrap; }
.gf-godziny input { width: 7rem; }
.gf-karta > h2, .gf-karta > h3 { font-size: 1rem; margin-bottom: .85rem; }

/* Okno z formularzem (dialog). */
.gf-okno { border: 1px solid var(--gf-linia); border-radius: 14px; padding: 1.25rem; width: min(26rem, calc(100vw - 2rem));
  background: var(--gf-karta); color: var(--bs-body-color); box-shadow: 0 12px 40px rgba(0, 0, 0, .25); }
.gf-okno::backdrop { background: rgba(0, 0, 0, .4); }

/* Konto w menu */
.gf-konto-mail { font-size: .85rem; color: var(--bs-secondary-color); padding: .25rem 1rem .5rem; word-break: break-all; }

.btn-gf {
  --bs-btn-color: #fff;
  --bs-btn-bg: #14655A;
  --bs-btn-border-color: #14655A;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0F4D44;
  --bs-btn-hover-border-color: #0F4D44;
  --bs-btn-active-bg: #0F4D44;
  --bs-btn-active-border-color: #0F4D44;
  --bs-btn-focus-shadow-rgb: 20, 101, 90;
  border-radius: 999px;
  font-weight: 700;
}

/* --- panel postow ------------------------------------------------------- */

/* Kalendarz: 7 kolumn od md (Bootstrap nie ma row-cols-md-7), na telefonie
   dzien pod dniem, a puste dni zwiniete do samego naglowka. */
@media (min-width: 768px) {
  .kal-7 > * { flex: 0 0 auto; width: 14.2857%; }
}
@media (max-width: 767.98px) {
  .gf-dzien-pusty .card-body { display: none; }
}
.gf-dzien { background: var(--gf-karta); }
.gf-dzis { border-color: var(--gf-zielen); box-shadow: 0 0 0 1px var(--gf-zielen); }
.gf-miniatura-kal { width: 100%; height: 84px; object-fit: cover; border-radius: 8px; display: block; }
.gf-dzien { border-radius: 12px; border-color: var(--gf-linia); }
.gf-dzien .card-header { background: none; border-bottom: 0; font-weight: 600; padding: .5rem .5rem 0; }
.gf-wpis-kal { display: block; color: inherit; text-decoration: none; margin-bottom: .6rem; font-size: .8rem; line-height: 1.3; }
.gf-wpis-kal:hover { color: var(--gf-zielen); }
.gf-wpis-kal-opis { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--bs-secondary-color); }
.gf-wiersz-listy { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; padding: .75rem 1rem; }
.gf-wiersz-listy + .gf-wiersz-listy { border-top: 1px solid var(--gf-linia); }
.gf-wiersz-listy-tresc { flex: 1 1 14rem; min-width: 0; }
.gf-wiersz-listy-akcje { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .4rem; }
.gf-statystyki { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
.gf-statystyki b { font-variant-numeric: tabular-nums; }
.gf-post-bok { position: sticky; top: 1rem; }
@media (max-width: 991.98px) { .gf-post-bok { position: static; } }
.gf-brak-miniatury { height: 50px; }
.gf-miniatura { height: 60px; width: auto; }
.gf-podglad { height: 260px; width: auto; max-width: 100%; object-fit: contain; }
.gf-nr { min-width: 2.5em; }
.gf-kod { font-family: 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .03em; }

.gf-zakladki { gap: .15rem; border-bottom: 1px solid var(--gf-linia); margin-bottom: 1.5rem; scrollbar-width: none; }
.gf-zakladki::-webkit-scrollbar { display: none; }
.gf-zakladki .nav-link { color: var(--bs-secondary-color); border-radius: 0; padding: .6rem .85rem; font-weight: 500;
  border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; white-space: nowrap; }
.gf-zakladki .nav-link:hover { color: var(--bs-body-color); }
.gf-zakladki .nav-link.active { color: var(--gf-zielen); border-bottom-color: var(--gf-zielen); font-weight: 600; background: none; }
.gf-lista-marek { max-height: 60vh; overflow-y: auto; }

.gf-status { font-weight: 600; background: var(--bs-secondary-bg); color: var(--bs-body-color);
             border: 1px solid var(--gf-linia); }
.gf-status-zaplanowany { background: rgba(20, 101, 90, .14); border-color: rgba(20, 101, 90, .35); }
.gf-status-opublikowany { background: rgba(25, 135, 84, .16); border-color: rgba(25, 135, 84, .4); }
.gf-status-wstrzymany { background: rgba(255, 193, 7, .2); border-color: rgba(255, 193, 7, .5); }
.gf-status-blad { background: rgba(220, 53, 69, .16); border-color: rgba(220, 53, 69, .45); }
.gf-status-bank { background: rgba(13, 110, 253, .12); border-color: rgba(13, 110, 253, .35); }

/* --- panel admina ---------------------------------------------------------- */

/* Pasek "podglad jako klient" - zawsze widoczny u gory strony. */
.gf-pasek-podgladu { background: #FFD24D; color: #1A1A18; border-bottom: 1px solid #E0B020; z-index: 1040; }
.gf-pasek-podgladu a { color: inherit; }

/* Wiersz klienta z problemem (bledy publikacji / odrzucone konta). */
.gf-tabela tr.gf-problem > * { background: rgba(220, 53, 69, .10); }
.gf-tabela tr.gf-problem > td:first-child { box-shadow: inset 4px 0 0 #DC3545; }

.gf-probka { display: inline-block; width: 1.5rem; height: 1.5rem; border-radius: 6px;
             border: 1px solid var(--gf-linia); }
.gf-probka-mala { width: .9rem; height: .9rem; border-radius: 4px; }

/* Maly podglad wygladu marki (kolory i czcionki szablonow grafik). */
.gf-podglad-marki { background: var(--pm-tlo); color: var(--pm-tekst); border-radius: 14px;
                    border: 1px solid var(--gf-linia); overflow: hidden; max-width: 360px; }
.gf-podglad-marki-pasek { height: 10px; background: var(--pm-glowny); }
.gf-podglad-marki-naglowek { font-family: var(--pm-naglowek), sans-serif; font-weight: 800;
                             font-size: 1.25rem; color: var(--pm-glowny); }
.gf-podglad-marki-tresc { font-family: var(--pm-tresc), sans-serif; }

.gf-logo-podglad { background: repeating-conic-gradient(#e9e7e1 0% 25%, #fff 0% 50%) 50% / 16px 16px;
                   border-radius: 12px; padding: 1rem; text-align: center; }
.gf-logo-podglad img { max-height: 120px; max-width: 100%; }

/* Podglad grafiki marki (render workera, 1080x1350). */
.gf-podglad-grafiki { display: block; width: 100%; max-width: 320px; height: auto;
                      aspect-ratio: 1080 / 1350; border-radius: 12px; border: 1px solid var(--gf-linia); }
.gf-podglad-pusty { display: flex; align-items: center; justify-content: center; text-align: center;
                    padding: 1rem; color: var(--bs-secondary-color); background: var(--bs-secondary-bg); }

/* Uwagi klienta do postow */
.gf-status-do_poprawy { background: rgba(253, 126, 20, .18); border-color: rgba(253, 126, 20, .45); }
.gf-status-odrzucony { background: rgba(108, 117, 125, .2); border-color: rgba(108, 117, 125, .45); text-decoration: line-through; }
.gf-uwaga > summary { list-style: none; }
.gf-uwaga > summary::-webkit-details-marker { display: none; }
.gf-uwaga[open] { flex-basis: 100%; max-width: 32rem; }
.gf-komentarz { white-space: pre-line; }

/* Powiekszanie grafik (js/powieksz.js) */
.gf-powieksz { cursor: zoom-in; }
.gf-powiekszona { max-height: 88vh; width: auto; }

/* --- Kreator podlaczenia kont (posty/wdrozenie.html) ---------------------
   Jedna sprawa na ekran: po lewej sciezka 5 krokow (zielona nic wypelnia
   sie z postepem), po prawej krok z jedna akcja. Schematy ekranow Mety
   rysowane w CSS; jedyny akcent to zielona obwodka "tu kliknij". */
:root, [data-bs-theme=light] {
  --gfw-mieta: #E3EFEC;
  --gfw-szary: #67645D;
  --gfw-czeka: #8A5A0B;
  --gfw-ekran: #FBFAF7;
}
[data-bs-theme=dark] {
  --gfw-mieta: #1F3632;
  --gfw-szary: #9A978F;
  --gfw-czeka: #E0B25A;
  --gfw-ekran: #232724;
}
.gfw { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: .5rem; }
@media (min-width: 768px) {
  .gfw { grid-template-columns: 220px minmax(0, 640px); gap: 3.5rem; }
}

/* sciezka krokow */
.gfw-sciezka ol { list-style: none; margin: 0; padding: 0; display: none; }
@media (min-width: 768px) { .gfw-sciezka ol { display: block; } }
.gfw-sciezka li { position: relative; padding: 0 0 1.6rem 0; }
.gfw-sciezka li::before {             /* nic miedzy kropkami */
  content: ""; position: absolute; left: 15px; top: 34px; bottom: 2px; width: 2px;
  background: var(--gf-linia);
}
.gfw-sciezka li:last-child::before { display: none; }
.gfw-sciezka li.gfw-zrobione::before { background: var(--gf-zielen); }
.gfw-sciezka li > a, .gfw-sciezka li > span { display: flex; align-items: center; gap: .75rem;
  color: var(--gfw-szary); text-decoration: none; font-size: .95rem; }
.gfw-sciezka i { flex: 0 0 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  font-style: normal; font-family: 'Nunito', sans-serif; font-weight: 800; font-size: .9rem;
  border: 2px solid var(--gf-linia); background: var(--gf-karta); color: var(--gfw-szary); }
.gfw-sciezka .gfw-zrobione i { background: var(--gf-zielen); border-color: var(--gf-zielen); color: #fff; }
.gfw-sciezka .gfw-teraz i { border-color: var(--gf-zielen); color: var(--gf-zielen); background: var(--gfw-mieta); }
.gfw-sciezka .gfw-teraz > span, .gfw-sciezka .gfw-zrobione > a, .gfw-sciezka .gfw-zrobione > span { color: var(--gf-tekst); }
.gfw-sciezka .gfw-teraz > span { font-weight: 600; }
.gfw-sciezka li > a:hover { color: var(--gf-zielen); }
.gfw-postep { height: 4px; border-radius: 4px; background: var(--gf-linia); overflow: hidden; }
.gfw-postep span { display: block; height: 100%; background: var(--gf-zielen); }
.gfw-ile-1 { width: 20%; } .gfw-ile-2 { width: 40%; } .gfw-ile-3 { width: 60%; }
.gfw-ile-4 { width: 80%; } .gfw-ile-5 { width: 100%; }

/* tresc kroku */
.gfw-krok { max-width: 640px; }
.gfw-licznik { color: var(--gfw-szary); font-size: .9rem; margin-bottom: .35rem; }
.gfw-krok h1 { font-size: clamp(1.6rem, 3.2vw, 2.15rem); line-height: 1.15; margin-bottom: .75rem; }
.gfw-lead { font-size: 1.08rem; line-height: 1.6; color: var(--gfw-szary); margin-bottom: 1.75rem; }
.gfw-drobne { color: var(--gfw-szary); font-size: .9rem; }
.gfw-akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 2rem; }
.gfw-akcje .btn-lg { padding: .8rem 1.6rem; border-radius: 12px; font-size: 1.02rem; }

.gfw-lista { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--gf-linia); }
.gfw-lista li { display: flex; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--gf-linia); }
.gfw-lista li > i { font-size: 1.35rem; color: var(--gf-zielen); line-height: 1.2; }
.gfw-lista b { display: block; font-weight: 600; }
.gfw-lista span { color: var(--gfw-szary); font-size: .95rem; }
.gfw-lista details { margin-top: .4rem; font-size: .95rem; }
.gfw-lista summary { color: var(--gf-zielen); cursor: pointer; width: fit-content; }
.gfw-lista details p { margin: .5rem 0 0; line-height: 1.55; }
.gfw-lista details b { display: inline; }

.gfw-id { display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: .9rem 1.1rem; border-radius: 14px; background: var(--gfw-mieta); margin-bottom: 1.5rem; }
.gfw-id-podpis { font-size: .85rem; color: var(--gfw-szary); }
.gfw-id code { font-size: 1.2rem; color: var(--gf-tekst); letter-spacing: .02em;
  font-family: 'IBM Plex Sans', sans-serif; font-weight: 600; }
.gfw-id .btn { border-radius: 10px; background: var(--gf-karta); white-space: nowrap; }
.gfw-id .btn.gfw-skopiowane { border-color: var(--gf-zielen); color: var(--gf-zielen); }

.gfw-kroczki { padding-left: 1.25rem; margin-bottom: 1.5rem; line-height: 1.6; }
.gfw-kroczki li { padding-left: .25rem; margin-bottom: .45rem; }
.gfw-kroczki li::marker { color: var(--gf-zielen); font-weight: 700; }

/* schematy ekranow Mety */
.gfw-schematy { display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: start; }
@media (min-width: 576px) { .gfw-schematy { grid-template-columns: 1.7fr 1fr; } }
.gfw-ekran, .gfw-okno { margin: 0; background: var(--gfw-ekran); border: 1px solid var(--gf-linia);
  border-radius: 12px; font-size: .72rem; color: var(--gfw-szary); overflow: hidden; }
.gfw-ekran-pasek { display: flex; align-items: center; gap: 4px; padding: 6px 10px;
  border-bottom: 1px solid var(--gf-linia); }
.gfw-ekran-pasek span { width: 7px; height: 7px; border-radius: 50%; background: var(--gf-linia); }
.gfw-ekran-pasek em { font-style: normal; margin-left: 8px; }
.gfw-ekran-cialo { display: grid; grid-template-columns: 38% 1fr; min-height: 132px; }
.gfw-ekran-menu { list-style: none; margin: 0; padding: 8px 6px; border-right: 1px solid var(--gf-linia); }
.gfw-ekran-menu li { padding: 3px 6px; border-radius: 6px; white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; }
.gfw-ekran-grupa { font-weight: 700; color: var(--gf-tekst); margin-top: 4px; }
.gfw-ekran-menu .gfw-wybrane { background: var(--gf-tekst); color: var(--gf-karta); font-weight: 600; }
.gfw-ekran-tresc { padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.gfw-ekran-zasob { display: flex; align-items: center; gap: 6px; color: var(--gf-tekst); }
.gfw-awatar { width: 18px; height: 18px; border-radius: 50%; background: var(--gf-linia); display: inline-block; }
.gfw-ekran-przyciski { display: flex; flex-wrap: wrap; gap: 4px; }
.gfw-ekran-przyciski span, .gfw-okno-przycisk { border: 1px solid var(--gf-linia); border-radius: 6px;
  padding: 2px 6px; background: var(--gf-karta); }
.gfw-linia { display: block; height: 6px; border-radius: 3px; background: var(--gf-linia); width: 85%; }
.gfw-ekran-tresc .gfw-krotka { width: 55%; }
.gfw-okno { padding: 12px; display: flex; flex-direction: column; gap: 6px; }
.gfw-okno b { color: var(--gf-tekst); font-size: .8rem; }
.gfw-okno-pole { border: 1px solid var(--gf-linia); border-radius: 6px; padding: 3px 6px;
  background: var(--gf-karta); color: var(--gf-tekst); }
.gfw-okno-zgoda { width: fit-content; padding: 2px 6px; border-radius: 6px; }
.gfw-okno-zgoda i { color: var(--gf-zielen); }
.gfw-okno .gfw-okno-przycisk { align-self: flex-end; background: var(--gf-tekst); color: var(--gf-karta);
  border-color: var(--gf-tekst); }
.gfw-ekran .gfw-tutaj, .gfw-okno .gfw-tutaj { outline: 2px solid var(--gf-zielen); outline-offset: 2px;
  color: var(--gf-zielen); font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
  .gfw-ekran .gfw-tutaj, .gfw-okno .gfw-tutaj { animation: gfw-puls 2.4s ease-in-out 3; }
}
@keyframes gfw-puls { 50% { outline-offset: 5px; } }

/* stany kont i pomoc */
.gfw-stany { list-style: none; padding: 0; margin: 0 0 1.25rem; border-top: 1px solid var(--gf-linia); }
.gfw-stany li { display: flex; align-items: center; gap: .6rem; padding: .9rem 0;
  border-bottom: 1px solid var(--gf-linia); font-weight: 600; }
.gfw-stany li > i { font-size: 1.2rem; color: var(--gf-zielen); }
.gfw-stany li > span { margin-left: auto; font-weight: 500; font-size: .92rem; }
.gfw-ok { color: var(--gf-zielen); }
.gfw-czeka { color: var(--gfw-czeka); }
.gfw-blad { color: var(--bs-danger); }
.gfw-pomoc { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--gf-linia);
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; color: var(--gfw-szary); font-size: .95rem; }
.gfw-pomoc .btn-link { font-size: .95rem; vertical-align: baseline; }

/* baner w kalendarzu, dopoki konta nie sa podlaczone */
.gfw-baner { display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1rem 1.25rem; margin-bottom: 1rem; border-radius: 14px; background: var(--gfw-mieta);
  color: var(--gf-tekst); text-decoration: none; border: 1px solid transparent; }
.gfw-baner:hover { border-color: var(--gf-zielen); color: var(--gf-tekst); }
.gfw-baner b { display: block; font-family: "Nunito", sans-serif; font-weight: 800; }
.gfw-baner-krok { color: var(--gf-zielen); font-weight: 600; white-space: nowrap; }

/* Story "Nowy post" - miniatura 9:16 */
.gf-story-kafel { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; display: block; border-radius: 10px; }
.gf-story-sredni { width: 72px; aspect-ratio: 9 / 16; object-fit: cover; flex-shrink: 0; align-self: flex-start; }
.gf-slajd-pola { flex-basis: 18rem; min-width: 0; }
.gf-podglad { height: 220px; }
.gf-uwagi .gf-uwaga[open] { flex-basis: 100%; }
details > summary { cursor: pointer; }
.gf-story-maly { width: 34px; aspect-ratio: 9 / 16; object-fit: cover; }
.gf-kafle { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 1rem .75rem; }
@media (max-width: 575.98px) { .gf-kafle { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem .5rem; } }
.gf-kafel-opis { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .25rem; margin-top: .4rem; min-height: 2rem; }
.gf-kafel-opis .small { font-variant-numeric: tabular-nums; line-height: 1.25; }
.gf-kafel-akcje { display: flex; gap: .2rem; flex-shrink: 0; }
.gf-kafel-akcje .btn { padding: .15rem .4rem; }
.gf-story-kal { width: 22px; aspect-ratio: 9 / 16; object-fit: cover; }
.gf-story-miniatura { width: 120px; aspect-ratio: 9 / 16; object-fit: cover; flex-shrink: 0; }
