/* Wspólne style nowych widoków działkowca (Bieżąca płatność 2, Historia naliczeń 2) */
.bp2 { max-width: 196mm; color: #2f3a45; font-size: 1rem; }
.bp2 h2 { margin: 0 0 4px; font-weight: 400; }
.bp2 .pogr, .bp2 b { font-weight: 700; }
.bp2-kto { color: #5b6773; margin: 0 0 16px; }
.bp2-karta { background: #fff; border: 1px solid #dfe5e1; border-radius: 10px; padding: 16px 18px; margin: 0 0 14px; }
.bp2-suma { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; justify-content: space-between; }
.bp2-etykieta { font-size: 0.875rem; color: #5b6773; }
.bp2-kwota { font-size: 2.4rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.5px; }
.bp2-czerw, .bp2 .bp2-czerw { color: #b42318; }
.bp2-ziel, .bp2 .bp2-ziel { color: #005b06; }
.bp2-szary { color: #5b6773; }
.bp2-sklad { font-size: 0.875rem; color: #5b6773; margin-top: 6px; line-height: 1.5; }
.bp2-przyciski { display: flex; flex-wrap: wrap; gap: 8px; }
.bp2 .bp2-btn { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 16px;
    border-radius: 6px; border: 1px solid #005b06; background: #005b06; color: #fff; text-decoration: none;
    font-size: 0.875rem; font-weight: 400; text-transform: none; white-space: nowrap; cursor: pointer; }
.bp2 .bp2-btn.drugi { background: #fff; color: #005b06; }
.bp2 .bp2-btn:focus-visible { outline: 3px solid #8fc79a; outline-offset: 2px; }
.bp2-info { background: #fff8e1; border-left: 4px solid #f9a825; padding: 8px 12px; border-radius: 4px; font-size: 0.9375rem; margin: 0 0 14px; }
.bp2-blad { background: #fdecea; border-left: 4px solid #b42318; padding: 8px 12px; border-radius: 4px; margin: 0 0 14px; }
.bp2 h3 { font-size: 1.125rem; font-weight: 700; margin: 22px 0 10px; }
.bp2-dok { border: 1px solid #dfe5e1; border-radius: 10px; margin: 0 0 10px; background: #fff; overflow: hidden; }
.bp2-dok.po { border-color: #f1b8b3; }
.bp2-dok-gora { display: flex; flex-wrap: wrap; gap: 4px 16px; justify-content: space-between; align-items: baseline; padding: 12px 16px; }
.bp2-dok-nr { font-weight: 700; }
.bp2-dok-kw { font-size: 1.25rem; font-weight: 700; white-space: nowrap; }
.bp2-znacznik { display: inline-block; font-size: 0.8125rem; padding: 1px 8px; border-radius: 10px; margin-left: 6px; white-space: nowrap; }
.bp2-znacznik.po { background: #fdecea; color: #b42318; }
.bp2-znacznik.blisko { background: #fff4d6; color: #8a5a00; }
.bp2-znacznik.ok { background: #e8f5e9; color: #005b06; }
.bp2-dok-meta { font-size: 0.875rem; color: #5b6773; padding: 0 16px 10px; }
.bp2-poz { list-style: none; margin: 0; padding: 0 16px 6px; border-top: 1px solid #eef1ef; }
.bp2-poz li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid #f3f5f4; }
.bp2-poz li:last-child { border-bottom: none; }
.bp2-poz-op { font-size: 0.8125rem; color: #5b6773; }
.bp2-poz-kw { text-align: right; white-space: nowrap; }
.bp2 details { margin-top: 2px; }
.bp2 summary { cursor: pointer; color: #005b06; font-size: 0.875rem; }
.bp2-wplata { font-size: 0.8125rem; color: #5b6773; }
.bp2-konto { font-size: 1.125rem; font-weight: 700; letter-spacing: 0.5px; word-break: break-word; }
.bp2-wiersz { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 6px 0; }
.bp2-kopiuj { background: none !important; border: 1px solid #b9c7bd !important; color: #005b06 !important; border-radius: 6px !important;
    padding: 2px 10px !important; font-size: 0.8125rem !important; text-transform: none !important; cursor: pointer; }
.bp2-przelew { display: flex; flex-wrap: wrap; gap: 18px; align-items: flex-start; }
.bp2-qr { text-align: center; font-size: 0.8125rem; color: #5b6773; }
.bp2-qr > div { width: 150px; height: 150px; margin: 0 auto 4px; }
.bp2-tabelka { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.bp2-tabelka td { padding: 6px 0; border-bottom: 1px solid #f3f5f4; }
.bp2-tabelka td:last-child { text-align: right; white-space: nowrap; }
.bp2-dane li { list-style: none; }
.bp2-dane { padding: 0; margin: 6px 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.bp2-maly { font-size: 0.875rem; color: #5b6773; }
@media (max-width: 600px) {
    .bp2-karta { padding: 14px; }
    .bp2-kwota { font-size: 2rem; }
    .bp2-przyciski { width: 100%; }
    .bp2 .bp2-btn { flex: 1 1 auto; }
}
/* Historia naliczeń 2 */
.bp2-filtr { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.bp2 .bp2-filtr button { background: #fff; color: #005b06; border: 1px solid #b9c7bd; border-radius: 16px; padding: 4px 14px;
    font-size: 0.875rem; text-transform: none; height: auto; cursor: pointer; }
.bp2 .bp2-filtr button.wyb { background: #005b06; color: #fff; border-color: #005b06; }
.bp2-rok { margin: 0 0 18px; }
.bp2-rok-gora { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; margin: 0 0 8px; }
.bp2-rok-gora h3 { margin: 0; }
.bp2-hist { border: 1px solid #dfe5e1; border-radius: 10px; background: #fff; margin: 0 0 8px; overflow: hidden; }
.bp2-hist.po { border-color: #f1b8b3; }
.bp2 .bp2-hist > summary { list-style: none; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px;
    align-items: baseline; padding: 12px 16px; color: inherit; font-size: 1rem; }
.bp2 .bp2-hist > summary::-webkit-details-marker { display: none; }
.bp2-hist > summary .bp2-maly { display: block; margin-top: 2px; }
.bp2-hist[open] > summary { border-bottom: 1px solid #eef1ef; }
.bp2-hist-prawo { text-align: right; white-space: nowrap; margin-left: auto; }
.bp2-hist-wplaty { padding: 8px 16px 12px; border-top: 1px solid #eef1ef; }
.bp2-strzalka::before { content: "▸ "; color: #005b06; }
.bp2-hist[open] .bp2-strzalka::before { content: "▾ "; }
/* Prace społeczne 2 */
.bp2-pasek { height: 10px; background: #eef1ef; border-radius: 5px; overflow: hidden; margin: 14px 0 6px; }
.bp2-pasek > div { height: 100%; background: #2e7d32; }
/* Odczyty licznika 2 */
.bp2-info.ok { background: #e8f5e9; border-left-color: #2e7d32; }
.bp2-pola { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.bp2 .bp2-pola label { display: flex; flex-direction: column; gap: 4px; font-weight: 400; font-size: 0.875rem; color: #5b6773; flex: 1 1 180px; margin: 0; }
.bp2 .bp2-pola input { font-size: 1.125rem; padding: 8px 10px; border: 1px solid #b9c7bd; border-radius: 6px; width: 100%; box-sizing: border-box; background: #fff; color: #2f3a45; }
.bp2 .bp2-pola input:focus { outline: 3px solid #8fc79a; border: 1px solid #005b06; }
.bp2-podpowiedz { min-height: 1.2em; margin-top: 8px; }
.bp2-ostrz, .bp2 .bp2-ostrz { color: #8a5a00; }
.bp2 .bp2-btn[disabled] { opacity: 0.45; cursor: not-allowed; }
.bp2 .bp2-link { background: none; border: none; padding: 6px 0; color: #005b06; font-size: 0.875rem; text-transform: none; cursor: pointer; text-decoration: underline; height: auto; }
.bp2-form { border-top: 1px solid #eef1ef; padding: 12px 0 14px; margin-bottom: 10px; }
.bp2 [hidden] { display: none !important; }
/* Moje dane 2 */
.bp2-dane-tab td:first-child { width: 42%; padding-right: 10px; }
.bp2 .bp2-dane-tab td:last-child { white-space: normal; text-align: right; overflow-wrap: anywhere; }
/* Komunikaty 2 */
.bp2-kom-tytul { font-weight: 400; }
.bp2-kom.nowy .bp2-kom-tytul { font-weight: 700; }
.bp2-kom.nowy { border-left: 4px solid #2e7d32; }
.bp2-kom-tresc { padding: 12px 16px 16px; line-height: 1.55; overflow-wrap: anywhere; }
.bp2-kom-tresc a { color: #005b06; }
/* Rozwinięta pozycja (Historia 2, Komunikaty 2): zielona ramka, poświata i jasnozielony nagłówek */
.bp2-hist { transition: box-shadow .2s, border-color .2s; }
.bp2-hist[open], .bp2-hist.po[open] { border-color: #2e7d32; box-shadow: 0 0 0 3px rgba(46,125,50,.18), 0 6px 18px rgba(0,0,0,.08); }
.bp2 .bp2-hist[open] > summary { background: #eaf5eb; border-bottom-color: #cfe5d1; }
.bp2 .bp2-hist > summary:hover { background: #f4faf4; }
.bp2 .bp2-hist[open] > summary:hover { background: #e2f1e3; }
/* Zmiana hasła 2 */
.bp2-pola-kol { flex-direction: column; max-width: 420px; }
.bp2 .bp2-pola-kol label { flex: 0 0 auto; }
.bp2-haslo-pole { display: flex; gap: 6px; align-items: stretch; }
.bp2-haslo-pole input { flex: 1; min-width: 0; }
.bp2 .bp2-oko { background: #fff; color: #005b06; border: 1px solid #b9c7bd; border-radius: 6px; padding: 0 10px; font-size: 0.8125rem; text-transform: none; height: auto; cursor: pointer; }
.bp2-sila { height: 6px; background: #eef1ef; border-radius: 3px; overflow: hidden; margin-top: -4px; }
.bp2-sila > div { height: 100%; width: 0; transition: width .2s; }
.bp2-sila > .slabe { background: #b42318; } .bp2-sila > .srednie { background: #f9a825; } .bp2-sila > .dobre { background: #2e7d32; }
.bp2-warunki { list-style: none; padding: 0; margin: 14px 0; }
.bp2-warunki li::before { content: "○ "; color: #9aa5ae; }
.bp2-warunki li.ok { color: #005b06; }
.bp2-warunki li.ok::before { content: "✓ "; color: #005b06; }
/* Walne zebranie 2 */
.bp2-plik { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px 14px; margin-bottom: 8px; }
.bp2-plik-ikona { flex: 0 0 auto; width: 40px; height: 48px; border-radius: 6px; background: #fdecea; color: #b42318; font-size: 0.75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.bp2-plik-opis { flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; }
.bp2-plik-opis a { color: #2f3a45; text-decoration: none; }
.bp2-plik-opis a:hover { text-decoration: underline; }
/* Logowanie 2 */
.bp2-logowanie { max-width: 460px;}
.bp2 .bp2-check { flex-direction: row !important; align-items: center; gap: 8px !important; color: #2f3a45 !important; font-size: 0.9375rem !important; }
.bp2 .bp2-check input { width: auto !important; }
.bp2 .bp2-pola select, .bp2 .bp2-pola textarea { font-size: 1rem; padding: 8px 10px; border: 1px solid #b9c7bd; border-radius: 6px; width: 100%; box-sizing: border-box; background: #fff; color: #2f3a45; font-family: inherit; }
.bp2 .select2-container .select2-selection--single { height: 42px; border: 1px solid #b9c7bd; border-radius: 6px; }
.bp2 .select2-container .select2-selection--single .select2-selection__rendered { line-height: 40px; font-size: 1rem; color: #2f3a45; padding-left: 10px; }
.bp2 .select2-container .select2-selection--single .select2-selection__arrow { height: 40px; }
.bp2-pomoc { margin-top: 14px; border-top: 1px solid #eef1ef; padding-top: 10px; }
.bp2 .bp2-pomoc > summary { cursor: pointer; color: #005b06; font-size: 0.9375rem; }
.bp2-pomoc-kar { margin-bottom: 8px; }
/* Menu działkowca (menu_dzi.php) */
.menu-dzi { display: flex; flex-direction: column; gap: 2px; padding: 10px 6px 16px; font-size: 0.9375rem; }
.menu-dzi .md-poz { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px;
    border-radius: 8px; border-left: 3px solid transparent; color: #2f3a45; text-decoration: none; line-height: 1.3; }
.menu-dzi .md-poz:hover { background: #f1f6f2; color: #005b06; }
.menu-dzi .md-poz:focus-visible { outline: 3px solid #8fc79a; outline-offset: 1px; }
.menu-dzi .md-poz.aktywna { background: #e3f1e5; color: #005b06; font-weight: 700; border-left-color: #005b06; }
.menu-dzi .md-licznik { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #b42318; color: #fff;
    font-size: 0.75rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.menu-dzi .md-znacznik { font-size: 0.75rem; padding: 1px 8px; border-radius: 10px; background: #fff4d6; color: #8a5a00; white-space: nowrap; font-weight: 400; }
.menu-dzi .md-oddziel { height: 1px; background: #e3e8e4; margin: 8px 12px; }
/* Telefon: przycisk "Menu" nad treścią, menu rozwija się pod nim (zamiast pionowego paska z boku) */
@media (max-width: 768px) {
    .menu-button.menu-dzi-przycisk { display: block; position: static; writing-mode: horizontal-tb; text-orientation: mixed;
        letter-spacing: normal; width: calc(100% - 20px); margin: 10px 10px 6px; padding: 10px 14px; border-radius: 8px;
        text-align: left; font-size: 1rem; text-transform: none; height: auto; }
    .menu-dzi-panel.menu-container { flex-basis: auto; }
    .menu-dzi-panel.menu-container.active { position: static; width: auto; height: auto; box-shadow: none; padding: 0 10px;
        background: transparent; z-index: auto; overflow: visible; }
    .menu-dzi-panel .menu-dzi { border: 1px solid #dfe5e1; border-radius: 10px; background: #fff; }
}
/* Strona główna 2 (index2.php) */
.bp2-start { max-width: none; padding: 24px 0 40px; }
.bp2-start-wstep { text-align: center; color: #5b6773; font-size: 1.0625rem; margin: 0 auto 20px; max-width: 560px; }
.bp2-start-karta { padding: 22px; }
.bp2-start-wybor { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 400; }
.bp2-start-ogrod { font-size: 1.25rem; font-weight: 700; color: #005b06; margin: 2px 0 2px; }
.bp2-start .select2-container .select2-selection--single { height: 48px; border: 1px solid #b9c7bd; border-radius: 8px; }
.bp2-start .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; font-size: 1.0625rem; padding-left: 12px; color: #2f3a45; }
.bp2-start .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.select2-results__group { color: #5b6773; font-size: 0.8125rem; }
.bp2-start-przyciski { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.bp2 .bp2-start-btn { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 14px 16px; height: auto;
    border-radius: 10px; border: 1px solid #005b06; background: #005b06; color: #fff; text-transform: none; font-size: 1.0625rem;
    text-align: left; cursor: pointer; white-space: normal; }
.bp2 .bp2-start-btn span:last-child { font-size: 0.8125rem; opacity: .85; font-weight: 400; }
.bp2 .bp2-start-btn.drugi { background: #fff; color: #005b06; }
.bp2 .bp2-start-btn:hover { filter: brightness(1.08); }
.bp2 .bp2-start-btn:focus-visible { outline: 3px solid #8fc79a; outline-offset: 2px; }
.bp2-start-karty { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.bp2-start-karty .bp2-karta { margin: 0; }
.bp2-start-karty a { color: #005b06; }
@media (max-width: 700px) {
    .bp2-start-przyciski, .bp2-start-karty { grid-template-columns: 1fr; }
}
.bp2-start .select2-results__option--highlighted, .select2-container--default .select2-results__option--highlighted[aria-selected] { background: #005b06; color: #fff; }
@media (max-width: 749px) { .bp2-start { padding-bottom: 90px; } }
