:root {
  --brand: #1b5e20;        /* kolor główny (marki) */
  --brand-dark: color-mix(in srgb, var(--brand) 82%, #000); /* hover/active — pochodny */
  --brand-accent: #6c757d; /* kolor pomocniczy (secondary) */
  --brand-accent-dark: color-mix(in srgb, var(--brand-accent) 82%, #000);
  --text-main: #212529;    /* kolor czcionki (tekst) */
  --text-heading: #212529; /* kolor nagłówków */
  --bs-primary: var(--brand);
  --bs-primary-rgb: 27, 94, 32; /* nadpisywane z JS wg koloru głównego */
  --bs-link-color: var(--brand);
  --bs-link-color-rgb: 27, 94, 32;
  --bs-link-hover-color: var(--brand-dark);
}

/* Kolory tekstu i nagłówków (konfigurowalne w motywie) */
body {
  color: var(--text-main);
}
h1, h2, h3, h4, h5, h6 {
  color: var(--text-heading);
}
.card-body,
.form-label,
.dropdown-item,
label {
  color: var(--text-main);
}

/* Tło paska nawigacji w kolorze głównym */
#navbar {
  background: var(--brand);
}
/* Pasek pełnoszerokościowy z odstępem jak na stronie głównej (spójne marginesy) */
#navbar > .container-fluid {
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}

/* Przyciski w kolorze marki (zielony, biały tekst) */
.btn-primary {
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-bg: var(--brand-dark);
  --bs-btn-active-border-color: var(--brand-dark);
  --bs-btn-disabled-bg: var(--brand);
  --bs-btn-disabled-border-color: var(--brand);
}
.btn-outline-primary {
  --bs-btn-color: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand);
  --bs-btn-hover-border-color: var(--brand);
  --bs-btn-active-bg: var(--brand);
  --bs-btn-active-border-color: var(--brand);
}

/* Przyciski pomocnicze (secondary) w kolorze pomocniczym */
.btn-secondary {
  --bs-btn-bg: var(--brand-accent);
  --bs-btn-border-color: var(--brand-accent);
  --bs-btn-hover-bg: var(--brand-accent-dark);
  --bs-btn-hover-border-color: var(--brand-accent-dark);
  --bs-btn-active-bg: var(--brand-accent-dark);
  --bs-btn-active-border-color: var(--brand-accent-dark);
  --bs-btn-disabled-bg: var(--brand-accent);
  --bs-btn-disabled-border-color: var(--brand-accent);
}
.btn-outline-secondary {
  --bs-btn-color: var(--brand-accent);
  --bs-btn-border-color: var(--brand-accent);
  --bs-btn-hover-bg: var(--brand-accent);
  --bs-btn-hover-border-color: var(--brand-accent);
  --bs-btn-active-bg: var(--brand-accent);
  --bs-btn-active-border-color: var(--brand-accent);
}

/* Zakładki / akcenty */
.nav-pills {
  --bs-nav-pills-link-active-bg: var(--brand);
}
.text-primary {
  color: var(--brand) !important;
}
.text-bg-primary {
  background-color: var(--brand) !important;
  color: #fff !important;
}

/* Avatary i strony-placeholdery */
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: #d7e8d8;
}
.avatar-lg {
  width: 96px;
  height: 96px;
}
.auth-card {
  max-width: 420px;
  margin: 4rem auto;
}
.placeholder-page {
  text-align: center;
  padding: 4rem 1rem;
  color: var(--text-main);
}
.placeholder-page i {
  font-size: 3rem;
  color: var(--brand);
}
.nav-link.active {
  font-weight: 600;
  text-decoration: underline;
}

/* Moduły paska (taby zakresu, nawigacja dat) rozciągnięte na całą szerokość,
   gdy zostają same w linii */
.toolbar-box-full { flex-grow: 1; }
.toolbar-box-full .btn-group { display: flex; width: 100%; }
.toolbar-box-full .btn-group > .btn { flex: 1 1 0; }
.toolbar-box-full .date-nav { width: 100%; }
.toolbar-box-full .date-nav > span { flex: 1 1 auto; }

/* Na telefonie (poniżej sm) pola filtrów (Miejsce/Klient/Status/Termin) na całą szerokość */
@media (max-width: 575.98px) {
  #res-toolbar .filter-box { flex: 1 1 100%; }
  #res-toolbar .filter-box .btn-group { display: flex; width: 100%; }
  #res-toolbar .filter-box .btn-group > .btn { flex: 1 1 0; }
}

/* Panel powiadomień: na wąskich ekranach przypięty do prawej, w obrębie ekranu */
@media (max-width: 575.98px) {
  #nav-notif .dropdown-menu {
    position: fixed;
    top: 3.25rem;
    right: .5rem;
    left: auto;
  }
}

/* Menu mobilne (poniżej lg): wyśrodkowane linki nawigacji */
@media (max-width: 991.98px) {
  #navItems .navbar-nav {
    width: 100%;
    align-items: center;
    text-align: center;
  }
}
