/* 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 { font-weight: 800; }

.gf-nav { background: var(--gf-karta); }
.gf-marka { font-weight: 800; }
.gf-akcent { color: var(--gf-zielen); }

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

.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 { max-height: 80px; }
.gf-brak-miniatury { height: 50px; }
.gf-miniatura { height: 60px; width: auto; }
.gf-podglad { height: 160px; 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 .nav-link { color: var(--bs-body-color); border-radius: 999px; }
.gf-zakladki .nav-link.active { background: var(--gf-zielen); color: #fff; }
.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); }
