<?php
/**
 * (c) ININOUT & PYXIS. All Rights Reserved.
 * Wszelkie modyfikacje tego pliku wymagaja zgloszenia oraz zgody autorow.
 * Any modifications to this file require notification and consent of the authors.
 */
/**
 * i-BOK 5 - Tłumaczenia polskie
 */
return [
    'common' => [
        'app_name'       => 'i-BOK',
        'app_full_name'  => 'Internetowe Biuro Obsługi Klienta',
        'login'          => 'Zaloguj się',
        'logout'         => 'Wyloguj',
        'save'           => 'Zapisz',
        'cancel'         => 'Anuluj',
        'close'          => 'Zamknij',
        'toggle_navigation' => 'Przełącz nawigację',
        'dark_mode'      => 'Tryb ciemny',
        'delete'         => 'Usuń',
        'edit'           => 'Edycja',
        'back'           => 'Powrót',
        'yes'            => 'Tak',
        'no'             => 'Nie',
        'loading'        => 'Ładowanie...',
        'error'          => 'Błąd',
        'success'        => 'Sukces',
        'warning'        => 'Uwaga',
        'no_data'        => 'Brak danych',
        'actions'        => 'Akcje',
        'search'         => 'Szukaj',
        'download'       => 'Pobierz',
        'upload'         => 'Wyślij',
        'print'          => 'Drukuj',
        'status'         => 'Status',
        'date'           => 'Data',
        'amount'         => 'Kwota',
        'description'    => 'Opis',
        'language'       => 'Język',
        'all'            => 'Wszystko',
        'session_expired'=> 'Sesja wygasła. Zaloguj się ponownie.',
    ],

    'login' => [
        'title'              => 'Logowanie',
        'client_title'       => 'Panel klienta',
        'admin_title'        => 'Panel administratora',
        'username'           => 'Login',
        'password'           => 'Hasło',
        'btn_login'          => 'Zaloguj',
        'error_credentials'  => 'Nieprawidłowy login lub hasło.',
        'error_rate_limit'   => 'Zbyt wiele prób logowania. Spróbuj ponownie za 15 minut.',
        'error_csrf'         => 'Błąd weryfikacji formularza. Spróbuj ponownie.',
        'error_config'       => 'Błąd konfiguracji systemu.',
        'logged_out'         => 'Zostałeś wylogowany.',
        'admin_username'     => 'Login Admina / Serwisu',
        'admin_link'         => 'Panel administratora',
        'client_link'        => 'Panel klienta',
    ],

    'menu' => [
        'dashboard'   => 'Start',
        'invoices'    => 'Dokumenty',
        'corrections' => 'Korekty',
        'payments'    => 'Płatności',
        'service'     => 'Zlecenia',
        'info'        => 'Informacje',
        'contact'     => 'Kontakt',
        'transfer'    => 'Druk przelewu',
        'clients'     => 'Klienci',
        'infra'       => 'Sieć',
        'devices'     => 'Urządzenia',
        'logs'        => 'Logi',
        'edit_texts'  => 'Edycja',
        'edit_files'  => 'Edycja plików',
        'import'      => 'Import danych',
        'payment_gateways' => 'Płatności',
        'settings'    => 'Ustawienia',
        'change_password' => 'Zmiana hasła',
    ],

    'dashboard' => [
        'title'            => 'Start',
        'welcome'          => 'Witaj, :name',
        'client_id'        => 'Nr klienta',
        'data_updated'     => 'Dane aktualne na dzień',
        'account_number'   => 'Nr rachunku bankowego',
        'your_tariff'      => 'Twoja taryfa',
        'download'         => 'Pobieranie',
        'upload'           => 'Wysyłanie',
        'day'              => 'dzień',
        'night'            => 'noc',
        'contract'         => 'Umowa',
        'contract_from'    => 'od',
        'contract_to'      => 'do',
        'contract_indefinite' => 'na czas nieokreślony',
        'balance'          => 'Saldo',
        'overpayment'      => 'Nadpłata',
        'debt'             => 'Zaległość',
        'no_debt'          => 'Brak zaległości',
        'news'              => 'Aktualności',
        'payment_info'      => 'Informacje o płatnościach',
        'company_info'      => 'Dane dostawcy usług',
        'balance_details'   => 'Szczegóły salda',
        'total_obligations' => 'Zobowiązania',
        'overdue_balance'   => 'Zaległe',
        'contact_info'      => 'Dane kontaktowe',
        'unsettled_invoices' => 'Nierozliczone faktury',
        'account_status'      => 'Status konta',
        'active'              => 'Aktywne',
        'inactive'            => 'Nieaktywne',
        'expenses_chart'      => 'Wydatki - ostatnie 12 miesięcy',
        'amount_pln'          => 'Kwota (PLN)',
        'contract_remaining'  => 'Pozostało :days dni (:percent%)',
        'contract_expired'    => 'Umowa wygasła',
        'contract_progress'   => 'Postęp umowy',
        'next_payment'        => 'Najbliższy termin płatności',
        'days_left'           => 'za :days dni',
        'days_overdue'        => ':days dni po terminie',
        'due_today'           => 'Termin dzisiaj!',
        'alert_payment_soon'  => 'Termin płatności faktury :invoice upływa :date (za :days dni).',
        'alert_contract_expiring' => 'Twoja umowa wygasa :date (za :days dni).',
        'alert_new_invoice'   => 'Nowa faktura: :invoice z dnia :date.',
        'last_payment_date'   => 'Data ostatniej wpłaty',
        'payment_countdown'   => 'Pozostało: :days dni :hours godz :mins min',
        'payment_overdue_by'  => 'Termin minął :days dni temu',
        'payment_due_today'   => 'Termin płatności upływa dzisiaj!',
    ],

    'invoices' => [
        'title'            => 'Faktury',
        'documents_title'  => 'Dokumenty',
        'invoice_number'   => 'Nr faktury',
        'doc_type'         => 'Typ',
        'pdf'              => 'PDF',
        'amount'           => 'Kwota brutto',
        'remaining_amount' => 'Do rozliczenia',
        'status'           => 'Status',
        'issue_date'       => 'Data wystawienia',
        'due_date'         => 'Termin płatności',
        'transfer'         => 'Przelew',
        'settled'          => 'ROZLICZONA',
        'unsettled'        => 'NIEROZLICZONA',
        'no_invoices'      => 'Brak faktur do wyświetlenia.',
        'no_documents'     => 'Brak dokumentów do wyświetlenia.',
        'download_pdf'     => 'Pobierz PDF',
        'print_transfer'   => 'Druk przelewu',
        'filter_all'       => 'Wszystkie dokumenty',
        'filter_fv'        => 'Faktury (FV)',
        'filter_fvk'       => 'Korekty (FVK)',
        'filter_pz'        => 'Polecenia zapłaty (PZ)',
        'pdf_not_available' => 'PDF niedostępny',
    ],

    'corrections' => [
        'title'           => 'Korekty faktur',
        'correction_number' => 'Nr korekty',
        'no_corrections'  => 'Brak korekt do wyświetlenia.',
    ],

    'payments' => [
        'title'          => 'Historia płatności',
        'payment_number' => 'Nr wpłaty',
        'booking_date'   => 'Data księgowania',
        'payment_method' => 'Forma płatności',
        'amount'         => 'Kwota',
        'no_payments'    => 'Brak płatności do wyświetlenia.',
        'transfer'       => 'przelew',
    ],

    'service' => [
        'title'         => 'Zlecenia serwisowe',
        'order_number'  => 'Nr zlecenia',
        'client'        => 'Klient',
        'location'      => 'Miejscowość',
        'contact_data'  => 'Dane kontaktowe',
        'date'          => 'Data',
        'content'       => 'Treść',
        'description'   => 'Opis',
        'notes'         => 'Uwagi',
        'days'          => 'Dni',
        'no_orders'     => 'Brak zleceń serwisowych.',
        'open_orders'   => 'Otwarte',
        'closed_orders' => 'Zamknięte',
        'closed_date'   => 'Data zakończenia',
        'open'          => 'Otwarte',
        'closed'        => 'Zamknięte',
        'status'        => 'Status',
        'status_open'   => 'W trakcie',
        'status_closed' => 'Zakończone',
        'duration'      => 'Czas trwania',
    ],

    'info' => [
        'title'           => 'Informacje',
        'tariff'          => 'Taryfa',
        'download_day'    => 'Pobieranie (dzień)',
        'upload_day'      => 'Wysyłanie (dzień)',
        'download_night'  => 'Pobieranie (noc)',
        'upload_night'    => 'Wysyłanie (noc)',
        'notes'           => 'Notatki',
        'devices'         => 'Urządzenia',
        'device_ip'       => 'IP',
        'device_mac'      => 'MAC',
        'device_name'     => 'Nazwa',
        'device_type'     => 'Typ',
        'device_model'    => 'Model',
        'device_date'     => 'Data podłączenia',
        'no_devices'      => 'Brak urządzeń.',
        'speed_hidden'    => 'Informacja o prędkości jest niedostępna.',
        'faq'             => 'Pomoc / FAQ',
        'your_data'       => 'Twoje dane',
        'data_check_note' => 'Sprawdź, czy Twoje dane kontaktowe są aktualne. W razie zmian skontaktuj się z obsługą.',
        'report_outdated' => 'Zgłoś nieaktualne dane',
        'report_outdated_message' => 'Klient :name (ID: :client_id) zgłasza, że jego dane kontaktowe wymagają aktualizacji.' . "\n\n" . 'Proszę o zmianę następujących danych:' . "\n" . '- Telefon: ' . "\n" . '- Email: ' . "\n" . '- Adres: ' . "\n",
        'login_history'   => 'Ostatnie logowania',
        'browser'         => 'Przeglądarka',
    ],

    'contact' => [
        'title'            => 'Kontakt',
        'your_name'        => 'Twoje imię i nazwisko',
        'your_email'       => 'Twój e-mail',
        'subject'          => 'Temat',
        'message'          => 'Wiadomość',
        'btn_send'         => 'Wyślij wiadomość',
        'success'          => 'Wiadomość została wysłana.',
        'error_send'       => 'Nie udało się wysłać wiadomości.',
        'error_fields'     => 'Wypełnij wszystkie pola formularza.',
        'company_data'     => 'Dane kontaktowe firmy',
        'phone'            => 'Telefon',
        'email'            => 'E-mail',
        'address'          => 'Adres',
        'installation_address'    => 'Adres instalacji',
        'correspondence_address'  => 'Adres korespondencyjny',
        'show_on_map'             => 'Pokaż na mapie',
        'www'              => 'Strona WWW',
        'subject_select'   => 'Wybierz temat',
        'subject_failure'  => 'Zgłoszenie awarii',
        'subject_tariff'   => 'Zmiana taryfy',
        'subject_invoice'  => 'Pytanie o fakturę',
        'subject_contract' => 'Sprawy umowy',
        'subject_data'     => 'Zmiana danych',
        'subject_other'    => 'Inny temat...',
    ],

    'transfer' => [
        'title'         => 'Druk przelewu',
        'print'         => 'Drukuj',
        'recipient'     => 'Odbiorca',
        'account'       => 'Nr rachunku',
        'amount'        => 'Kwota',
        'amount_words'  => 'Słownie',
        'payer'         => 'Zleceniodawca',
        'payment_title' => 'Tytuł',
    ],

    'admin' => [
        'title'             => 'Panel administratora',
        'dashboard'         => 'Start',
        'upload_zip'        => 'Import danych (ZIP)',
        'upload_logo'       => 'Zmiana logo',
        'select_file'       => 'Wybierz plik',
        'btn_import'        => 'Importuj',
        'import_success'    => 'Import zakończony pomyślnie. Zaimportowano :count plików.',
        'import_error'      => 'Błąd importu.',
        'import_in_progress'=> 'Import w toku. Poczekaj na zakończenie.',
        'session_logs'      => 'Logi sesji',
        'stats'             => 'Statystyki',
        'total_clients'     => 'Łączna liczba klientów',
        'active_clients'    => 'Aktywni klienci',
        'with_debt'         => 'Z zaległościami',
        'data_date'          => 'Data aktualizacji danych',
        'client_view'        => 'Podgląd klienta',
        'tariff_chart'       => 'Rozkład taryf',
        'client_status_chart'=> 'Status klientów',
        'top_debtors'        => 'Najwięksi dłużnicy',
        'top_debtors_empty'  => 'Brak klientów z zaległościami.',
        'debt_amount'        => 'Kwota zaległości',
        'total_debt'         => 'Suma zaległości',
        'logo_too_large'     => 'Plik za duży (max 2MB).',
        'logo_invalid_format'=> 'Nieprawidłowy format obrazu.',
        'logo_upload_error'  => 'Nie udało się zapisać logo.',
        'clients_no_debt'    => 'Bez zaległości',
        'clients_with_debt'  => 'Z zaległościami',
        'clients_inactive'   => 'Nieaktywni',
        'revenue_chart'      => 'Przychód miesięczny',
        'revenue_pln'        => 'Przychód (PLN)',
        'expiring_contracts' => 'Wygasające umowy',
        'contract_end'       => 'Koniec umowy',
        'days_remaining'     => 'Pozostało',
        'days_unit'          => 'dni',
        'backup_cfg_title'   => 'Backup konfiguracji',
        'backup_export'      => 'Eksport konfiguracji',
        'backup_export_desc' => 'Pobierz zaszyfrowany plik zawierający wszystkie ustawienia panelu (pliki cfg/ i admin/). Plik jest chroniony hasłem (AES-256).',
        'backup_import'      => 'Import konfiguracji',
        'backup_import_desc' => 'Przywróć ustawienia z wcześniej wyeksportowanego pliku. Obsługuje zarówno nowy format zaszyfrowany (.enc) jak i stary nieszyfrowany (.json).',
        'backup_success'     => 'Konfiguracja wyeksportowana pomyślnie.',
        'backup_restore_success' => 'Przywrócono :count plików konfiguracji.',
        'backup_invalid'     => 'Nieprawidłowy plik konfiguracji.',
        'backup_no_file'     => 'Nie wybrano pliku.',
        'backup_password'    => 'Hasło szyfrowania',
        'backup_password_placeholder' => 'Podaj hasło (min. 6 znaków)',
        'backup_password_hint' => 'Plik zostanie zaszyfrowany AES-256-CBC. Zapamiętaj to hasło — będzie potrzebne do przywrócenia.',
        'backup_password_min' => 'Hasło musi mieć minimum 6 znaków.',
        'backup_password_required' => 'Plik jest zaszyfrowany. Podaj hasło do odszyfrowania.',
        'backup_password_import_placeholder' => 'Hasło użyte przy eksporcie',
        'backup_password_import_hint' => 'Wymagane dla plików .enc. Dla starych plików .json zostaw puste.',
        'backup_encrypt_error' => 'Błąd szyfrowania danych.',
        'backup_decrypt_error' => 'Błąd odszyfrowywania. Sprawdź hasło.',
        'logo_help'          => 'Zalecany rozmiar: 300×80 px, format PNG (przezroczyste tło) lub JPG. Maks. 2 MB. Logo wyświetla się na stronie logowania.',
        'logo_delete'        => 'Usuń logo',
        'logo_deleted'       => 'Logo usunięte',
        'logo_confirm_delete'=> 'Czy na pewno usunąć logo?',
        'service_timeline'   => 'Zlecenia serwisowe w czasie',
        'service_open'       => 'Otwarte',
        'service_closed'     => 'Zamknięte',
        'clients_by_city'    => 'Klienci wg miejscowości',
        'other_cities'       => 'Pozostałe',
    ],

    'admin_clients' => [
        'title'          => 'Lista klientów',
        'id'             => 'ID',
        'name'           => 'Nazwisko / Firma',
        'login'          => 'Login',
        'updated'        => 'Aktualizacja',
        'balance'        => 'Saldo',
        'tariff'         => 'Taryfa',
        'status'         => 'Status',
        'active'         => 'Aktywny',
        'inactive'       => 'Nieaktywny',
        'view'           => 'Podgląd',
        'show_all'       => 'Wszyscy',
        'debt'           => 'Zaległy',
        'notifications'  => 'Powiadamianie',
        'notify_active'  => 'Aktywne',
        'notify_inactive'=> 'Nieaktywne',
        'blocking'       => 'Blokowanie',
        'block_active'   => 'Aktywne',
        'block_inactive' => 'Nieaktywne',
        'last_payment'   => 'Ostatnia wpłata',
        'password'       => 'Hasło',
        'show_password'  => 'Pokaż/ukryj hasło',
    ],

    'admin_infra' => [
        'title'     => 'Infrastruktura sieciowa',
        'id'        => 'Nr',
        'ip'        => 'IP',
        'mac'       => 'MAC',
        'name'      => 'Nazwa',
        'model'     => 'Model',
        'function'  => 'Funkcja',
        'location'  => 'Lokalizacja',
        'group'     => 'Grupa',
        'no_data'   => 'Brak danych infrastruktury.',
    ],

    'admin_devices' => [
        'title'      => 'Urządzenia klienckie',
        'id'           => 'Nr',
        'client_name'  => 'Klient',
        'ip'           => 'IP',
        'mac'        => 'MAC',
        'type'       => 'Rodzaj',
        'model'      => 'Model',
        'connected'  => 'Podłączone do',
        'ip_pub'     => 'IP publiczny',
        'no_data'    => 'Brak danych urządzeń.',
    ],

    'admin_logs' => [
        'title'      => 'Logi systemowe',
        'filename'   => 'Plik',
        'size'       => 'Rozmiar',
        'modified'   => 'Zmodyfikowany',
        'view'       => 'Podgląd',
        'delete'     => 'Usuń',
        'no_logs'    => 'Brak plików logów.',
        'confirm_delete' => 'Czy na pewno chcesz usunąć ten plik logów?',
        'deleted'    => 'Plik logów został usunięty.',
    ],

    'admin_edit' => [
        'title'         => 'Edycja tekstów',
        'header'        => 'Nagłówek strony',
        'header_form'   => 'Nagłówek formularza',
        'footer'        => 'Stopka strony',
        'footer_form'   => 'Stopka formularza',
        'news'          => 'Aktualności',
        'faq'           => 'Pomoc / FAQ',
        'payment_terms' => 'Terminy płatności',
        'saved'         => 'Plik został zapisany.',
        'error_save'    => 'Nie udało się zapisać pliku.',
        'min_length'    => 'Pliki z treścią krótszą niż 15 znaków nie są wyświetlane na stronie.',
        'not_visible'   => 'niewidoczny',
    ],

    'admin_service' => [
        'title'     => 'Zlecenia serwisowe',
    ],

    'payment' => [
        'pay'                => 'Zapłać',
        'pay_online'         => 'Zapłać online',
        'terms_title'        => 'Regulamin płatności',
        'terms_intro'        => 'Płatność online realizowana jest przez zewnętrzną bramkę płatniczą. Przed kontynuowaniem zapoznaj się z jej regulaminem.',
        'terms_link'         => 'Regulamin bramki',
        'terms_checkbox'     => 'Zapoznałem(-am) się z regulaminem bramki płatności i akceptuję jego warunki.',
        'terms_proceed'      => 'Przejdź do płatności',
        'choose_gateway'     => 'Wybierz metodę płatności',
        'copy_account'       => 'Kopiuj numer konta',
        'copied'             => 'Skopiowano!',
        'copy_failed'        => 'Nie udało się skopiować',
        'processing'         => 'Przetwarzanie płatności...',
        'success_title'      => 'Płatność przyjęta',
        'success_msg'        => 'Twoja płatność została zarejestrowana. Potwierdzenie może zająć kilka minut.',
        'pending_title'      => 'Oczekiwanie na potwierdzenie',
        'pending_msg'        => 'Płatność jest w trakcie przetwarzania. Status zostanie zaktualizowany automatycznie.',
        'error_title'        => 'Błąd płatności',
        'error_msg'          => 'Wystąpił problem z przetworzeniem płatności. Spróbuj ponownie lub skontaktuj się z obsługą.',
        'error_gateway'      => 'Nieprawidłowa bramka płatności.',
        'error_disabled'     => 'Bramka płatności jest wyłączona.',
        'error_amount'       => 'Nieprawidłowa kwota.',
        'error_invoice'      => 'Nieprawidłowy numer faktury.',
        'error_session'      => 'Sesja wygasła. Zaloguj się ponownie.',
        'error_init'         => 'Błąd inicjalizacji płatności.',
        'error_config'       => 'Bramka płatności nie jest skonfigurowana.',
        'back_to_invoices'   => 'Wróć do faktur',
        'back_to_login'      => 'Przejdź do logowania',
        'invoice_desc'       => 'Faktura :nr - klient :id',
        'tpay'               => 'Tpay',
        'przelewy24'         => 'Przelewy24',
        'payu'               => 'PayU',
    ],

    'payment_admin' => [
        'title'              => 'Bramki płatnicze',
        'subtitle'           => 'Konfiguracja bramek płatności online',
        'enabled'            => 'Włączona',
        'disabled'           => 'Wyłączona',
        'test_mode'          => 'Tryb testowy (sandbox)',
        'test_mode_on'       => 'Tryb testowy włączony',
        'test_mode_off'      => 'Tryb produkcyjny',
        'merchant_id'        => 'ID konta (Merchant ID)',
        'security_code'      => 'Kod bezpieczeństwa',
        'pos_id'             => 'ID punktu sprzedaży (POS ID)',
        'crc_key'            => 'Klucz CRC',
        'api_key'            => 'Klucz API',
        'md5_key'            => 'Klucz MD5 (drugi klucz)',
        'client_id'          => 'Client ID (OAuth)',
        'client_secret'      => 'Client Secret (OAuth)',
        'notification_url'   => 'URL powiadomień (IPN)',
        'return_url'         => 'URL powrotu',
        'description_template' => 'Szablon opisu płatności',
        'description_help'   => 'Dostępne zmienne: {NR_FAKTURY}, {CLIENT_ID}',
        'terms_url'          => 'Link do regulaminu bramki',
        'terms_url_help'     => 'Adres regulaminu pokazywany klientowi do akceptacji przed płatnością. Puste = domyślny oficjalny adres bramki.',
        'btn_save'           => 'Zapisz ustawienia',
        'saved'              => 'Ustawienia zostały zapisane.',
        'error_save'         => 'Nie udało się zapisać ustawień.',
        'tab_tpay'           => 'Tpay',
        'tab_p24'            => 'Przelewy24',
        'tab_payu'           => 'PayU',
        'tab_history'        => 'Historia',
        'history_title'      => 'Historia płatności online',
        'history_date'       => 'Data',
        'history_gateway'    => 'Bramka',
        'history_client'     => 'Klient',
        'history_invoice'    => 'Faktura',
        'history_amount'     => 'Kwota',
        'history_status'     => 'Status',
        'history_empty'      => 'Brak zarejestrowanych płatności.',
        'no_logs'            => 'Brak plików logów.',
        'status_completed'   => 'Zakończona',
        'status_pending'     => 'Oczekuje',
        'status_failed'      => 'Nieudana',
        'urls_info'          => 'Podaj pełne adresy URL twojego serwera (np. https://twoja-domena.pl/ibok5/)',
    ],

    'zmiana_hasla' => [
        'title'            => 'Zmiana hasła',
        'current_password' => 'Obecne hasło',
        'new_password'     => 'Nowe hasło',
        'confirm_password' => 'Potwierdź nowe hasło',
        'btn_change'       => 'Zmień hasło',
        'success'          => 'Hasło zostało zmienione pomyślnie.',
        'error_current'    => 'Nieprawidłowe obecne hasło.',
        'error_mismatch'   => 'Nowe hasła nie są zgodne.',
        'error_min_length' => 'Nowe hasło musi mieć co najmniej :min znaków.',
        'error_same'       => 'Nowe hasło musi być inne niż obecne.',
        'error_save'       => 'Błąd podczas zapisywania hasła.',
        'error_readonly'   => 'Zmiana hasła nie jest dostępna w tym trybie.',
        'help_content'     => 'Wprowadź obecne hasło w celu weryfikacji, a następnie podaj nowe hasło i potwierdź je. Minimalna długość hasła to 6 znaków.',
    ],

    '2fa' => [
        'title'              => 'Weryfikacja dwuetapowa (2FA)',
        'status'             => 'Status 2FA',
        'enabled'            => 'Włączona',
        'disabled'           => 'Wyłączona',
        'enable'             => 'Włącz 2FA',
        'disable'            => 'Wyłącz 2FA',
        'setup_title'        => 'Konfiguracja 2FA',
        'setup_step1'        => '1. Zainstaluj aplikację uwierzytelniającą',
        'setup_step1_desc'   => 'Pobierz aplikację Google Authenticator, Authy lub inną zgodną z TOTP na swój telefon.',
        'setup_step2'        => '2. Zeskanuj kod QR',
        'setup_step2_desc'   => 'Otwórz aplikację i zeskanuj poniższy kod QR lub wpisz klucz ręcznie.',
        'manual_key'         => 'Klucz do ręcznego wpisu',
        'setup_step3'        => '3. Wpisz kod weryfikacyjny',
        'setup_step3_desc'   => 'Wpisz 6-cyfrowy kod z aplikacji, aby potwierdzić konfigurację.',
        'enter_code'         => 'Kod z aplikacji (6 cyfr)',
        'verify_and_enable'  => 'Zweryfikuj i włącz',
        'verify'             => 'Zweryfikuj',
        'invalid_code'       => 'Nieprawidłowy kod. Spróbuj ponownie.',
        'enabled_success'    => '2FA została włączona pomyślnie.',
        'disabled_success'   => '2FA została wyłączona.',
        'backup_codes_title' => 'Kody zapasowe',
        'backup_codes_desc'  => 'Zapisz te kody w bezpiecznym miejscu. Każdy kod może być użyty tylko raz, gdy nie masz dostępu do aplikacji.',
        'backup_codes_warn'  => 'Te kody nie zostaną ponownie wyświetlone!',
        'copy_codes'         => 'Kopiuj kody',
        'codes_remaining'    => 'Pozostało kodów zapasowych: :count',
        'regenerate_codes'   => 'Wygeneruj nowe kody zapasowe',
        'codes_regenerated'  => 'Nowe kody zapasowe zostały wygenerowane.',
        'confirm_disable'    => 'Aby wyłączyć 2FA, wpisz kod z aplikacji lub kod zapasowy.',
        'or_backup_code'     => 'lub kod zapasowy',
        'login_title'        => 'Weryfikacja dwuetapowa',
        'login_desc'         => 'Wpisz 6-cyfrowy kod z aplikacji uwierzytelniającej lub użyj kodu zapasowego.',
        'btn_verify'         => 'Weryfikuj',
        'error_required'     => 'Wpisz kod weryfikacyjny.',
        'error_invalid'      => 'Nieprawidłowy kod. Spróbuj ponownie.',
        'error_timeout'      => 'Czas na weryfikację 2FA upłynął. Zaloguj się ponownie.',
        'security_note'      => '2FA dodaje dodatkową warstwę ochrony do Twojego konta.',
        'created_at'         => 'Aktywna od',
    ],

    'database' => [
        'menu_label'         => 'Baza danych',
        'title'              => 'Konfiguracja bazy danych',
        'subtitle'           => 'Backend MySQL/MariaDB',
        'mode'               => 'Tryb danych',
        'mode_vbk'           => 'Pliki VBK (domyślny)',
        'mode_mysql'         => 'MySQL / MariaDB',
        'mode_desc_vbk'      => 'Dane odczytywane z plików VBK (format PYXIS). Tryb domyślny.',
        'mode_desc_mysql'    => 'Dane odczytywane z bazy MySQL/MariaDB. Wymaga konfiguracji i importu.',
        'host'               => 'Host serwera',
        'host_placeholder'   => 'np. localhost lub 127.0.0.1',
        'port'               => 'Port',
        'db_name'            => 'Nazwa bazy danych',
        'db_name_placeholder'=> 'np. ibok5',
        'username'           => 'Użytkownik',
        'username_placeholder'=> 'np. ibok_user',
        'password'           => 'Hasło',
        'btn_save'           => 'Zapisz konfigurację',
        'btn_test'           => 'Test połączenia',
        'test_success'       => 'Połączenie udane! Serwer: :version',
        'test_error'         => 'Błąd połączenia: :error',
        'saved'              => 'Konfiguracja bazy danych została zapisana.',
        'error_save'         => 'Nie udało się zapisać konfiguracji.',
        'status'             => 'Status połączenia',
        'status_ok'          => 'Połączono',
        'status_error'       => 'Brak połączenia',
        'server_version'     => 'Wersja serwera',
        'table_stats'        => 'Statystyki tabel',
        'table_name'         => 'Tabela',
        'table_rows'         => 'Wierszy',
        'no_tables'          => 'Brak tabel ibok_*. Uruchom import.',
        'import_link'            => 'Tabele PYXIS',
        'import_title'           => 'Baza danych PYXIS',
        'import_subtitle_pyxis'  => 'Statystyki tabel PYXIS używanych przez iBOK',
        'import_no_connection'   => 'Brak połączenia z bazą MySQL. Najpierw skonfiguruj połączenie.',
    ],

    'global_search' => [
        'placeholder'   => 'Szukaj klienta, fakturę, IP...',
        'no_results'    => 'Brak wyników',
        'clients'       => 'Klienci',
        'invoices'      => 'Dokumenty',
        'service'       => 'Zlecenia',
        'infra'         => 'Infrastruktura',
        'devices'       => 'Urządzenia',
        'show_all'      => 'Pokaż wszystkie wyniki',
        'min_chars'     => 'Wpisz min. 2 znaki',
        'error'         => 'Błąd wyszukiwania',
    ],

    'theme' => [
        'title'       => 'Motyw panelu klienta',
        'description' => 'Wybierz schemat kolorów widoczny dla klientów',
        'default'     => 'Niebieski (domyślny)',
        'emerald'     => 'Szmaragdowy',
        'violet'      => 'Fioletowy',
        'rose'        => 'Różowy',
        'amber'       => 'Bursztynowy',
        'slate'       => 'Grafitowy',
        'ocean'       => 'Oceaniczny',
        'crimson'     => 'Karmazynowy',
        'forest'      => 'Leśny',
        'royal'       => 'Królewski',
        'saved'       => 'Motyw zapisany',
    ],

    'smtp' => [
        'title'              => 'Konfiguracja SMTP',
        'subtitle'           => 'Ustawienia serwera poczty wychodzącej',
        'enabled'            => 'SMTP włączony',
        'enabled_desc'       => 'Gdy wyłączone, system używa natywnej funkcji mail() PHP',
        'host'               => 'Serwer SMTP',
        'host_placeholder'   => 'np. smtp.gmail.com',
        'port'               => 'Port',
        'encryption'         => 'Szyfrowanie',
        'encryption_none'    => 'Brak',
        'encryption_tls'     => 'STARTTLS (port 587)',
        'encryption_ssl'     => 'SSL/TLS (port 465)',
        'auth'               => 'Uwierzytelnianie',
        'auth_desc'          => 'Wymagaj loginu i hasła',
        'username'           => 'Login SMTP',
        'username_placeholder' => 'np. twoj@email.pl',
        'password'           => 'Hasło SMTP',
        'from_email'         => 'Adres nadawcy (From)',
        'from_email_placeholder' => 'np. ibok@twoja-firma.pl',
        'from_email_desc'    => 'Adres, z którego będą wysyłane wiadomości',
        'from_name'          => 'Nazwa nadawcy',
        'from_name_placeholder' => 'np. i-BOK Panel Klienta',
        'btn_save'           => 'Zapisz ustawienia',
        'btn_test'           => 'Wyślij testowy email',
        'btn_test_connection'=> 'Testuj połączenie',
        'test_email'         => 'Adres testowy',
        'test_email_placeholder' => 'Wpisz adres e-mail do testu',
        'saved'              => 'Ustawienia SMTP zostały zapisane.',
        'error_save'         => 'Nie udało się zapisać ustawień.',
        'test_success'       => 'Email testowy został wysłany pomyślnie!',
        'test_error'         => 'Błąd wysyłki: :error',
        'test_conn_success'  => 'Połączenie z serwerem SMTP udane!',
        'test_conn_error'    => 'Błąd połączenia: :error',
        'test_email_required'=> 'Wpisz adres e-mail do testu.',
        'status'             => 'Status',
        'status_active'      => 'SMTP aktywny',
        'status_inactive'    => 'Używa mail() PHP',
        'info_box'           => 'Konfiguracja SMTP pozwala na profesjonalną wysyłkę wiadomości e-mail z panelu (formularz kontaktowy, powiadomienia). Bez SMTP wiadomości mogą trafiać do spamu.',
        'menu_label'         => 'SMTP',
    ],

    'tariff_change' => [
        'menu_label'              => 'Zmiana taryfy',
        'menu_label_short'        => 'Taryfy',
        'title'                   => 'Zmiana taryfy',
        'current_tariff'          => 'Obecna taryfa',
        'available_offers'        => 'Dostępne oferty',
        'btn_select'              => 'Wybierz',
        'success'                 => 'Wniosek o zmianę taryfy został wysłany. Skontaktujemy się z Tobą w celu potwierdzenia.',
        'not_available'           => 'Zmiana taryfy jest obecnie niedostępna.',
        'error_invalid_offer'     => 'Nieprawidłowa oferta.',
        'error_send'              => 'Nie udało się wysłać wniosku. Spróbuj ponownie lub skontaktuj się z nami.',
        'prefill_message'         => "Dzień dobry,\n\nProszę o zmianę taryfy internetowej.\n\nKlient: :name (ID: :client_id)\nObecna taryfa: :current\nWnioskowana taryfa: :requested\n\nZ poważaniem,\n:name",
        'offer_name'              => 'Nazwa taryfy',
        'offer_dl'                => 'Pobieranie',
        'offer_ul'                => 'Wysyłanie',
        'offer_price'             => 'Cena',
        'offer_description'       => 'Opis',
        'admin_menu_label'        => 'Oferta taryf',
        'admin_title'             => 'Oferta taryf dla klientów',
        'admin_settings'          => 'Ustawienia',
        'admin_enabled'           => 'Włącz możliwość wnioskowania o zmianę taryfy',
        'admin_enabled_desc'      => 'Klienci zobaczą opcję "Zmiana taryfy" w menu panelu.',
        'admin_excluded'          => 'Wykluczeni klienci',
        'admin_excluded_placeholder' => 'np. 123',
        'admin_excluded_desc'     => 'ID klientów, po jednym w linii. Ci klienci nie zobaczą opcji zmiany taryfy.',
        'admin_offers'            => 'Oferty taryf',
        'admin_add_offer'         => 'Dodaj ofertę',
        'admin_no_offers'         => 'Brak zdefiniowanych ofert. Kliknij "Dodaj ofertę" powyżej.',
        'admin_saved'             => 'Ustawienia oferty taryf zostały zapisane.',
    ],

    'contracts' => [
        'title'                  => 'Umowy',
        'admin_title'            => 'Umowy',
        'menu_label'             => 'Umowy',
        'admin_menu_label'       => 'Umowy',
        'show_in_menu'           => 'Pokaż w menu panelu klienta',
        'btn_sign'               => 'Podpisz umowę',
        'btn_download_pdf'       => 'Pobierz dokument (PDF)',
        'btn_details'            => 'Szczegóły',
        'create_client_id'       => 'ID klienta',
        'create_client_name'     => 'Nazwisko klienta',
        'contract_number'        => 'Numer umowy',
        'contract_type'          => 'Typ',
        'contract_date_from'     => 'Data od',
        'contract_date_to'       => 'Data do',
        'type_umowa'             => 'Umowa',
        'type_aneks'             => 'Aneks',
        'type_pzo'               => 'PZO',
        'type_info'              => 'Informacja',
        'consent_1'              => 'Oświadczam, że zapoznałem/am się z treścią dokumentu',
        'consent_2'              => 'Akceptuję warunki umowy i regulamin świadczenia usług',
        'status_pending'         => 'Oczekuje',
        'status_signed'          => 'Podpisana',
        'signed_at_label'        => 'Podpisano',
        'signed_ip_label'        => 'IP',
        'signed_admin_title'     => 'Umowy podpisane przez i-BOK',
        'sign_info_download'     => 'Pobierając dokument potwierdzasz zapoznanie się z jego treścią.',
        'sign_locked_msg'        => 'Najpierw pobierz i zapoznaj się z treścią dokumentu.',
        'sign_success'           => 'Umowa została podpisana pomyślnie.',
        'pdf_downloaded'         => 'Pobrano',
        'signed_title'           => 'Podpisane umowy',
        'alert_pending'          => 'Masz :count umów oczekujących na podpis.',
        'view_title'             => 'Szczegóły umowy',
        'no_contracts'           => 'Brak umów.',
        'no_pending'             => 'Brak umów oczekujących na podpis.',
        'error_not_found'        => 'Umowa nie została znaleziona.',
        'error_already_signed'   => 'Ta umowa została już podpisana.',
        'error_invalid_client'   => 'Nieprawidłowy ID klienta.',
        'error_consents_required'=> 'Musisz zaakceptować wszystkie wymagane zgody.',
        'total_contracts'        => 'Łącznie',
        'pending_contracts'      => 'Oczekujące',
        'status_inactive'        => 'Nieaktywna',
    ],

    'license' => [
        'no_license'      => 'Aktualnie brak możliwości zalogowania. Skontaktuj się z dostawcą usługi.',
        'client_blocked'  => 'Aktualnie brak możliwości zalogowania. Skontaktuj się z dostawcą usługi.',
        'modal_title'     => 'Brak licencji i-BOK',
        'modal_body'      => 'Nie wykryto ważnej licencji i-BOK w systemie. Panel klienta jest wyłączony. Skontaktuj się z dostawcą oprogramowania w celu aktywacji licencji.',
        'btn_understood'  => 'Rozumiem',
    ],

    'license_info' => [
        'title'           => 'Licencja i-BOK',
        'key'             => 'Klucz licencji',
        'name'            => 'Nazwa',
        'date'            => 'Data wydania',
        'valid_until'     => 'Ważna do',
        'company'         => 'Firma',
        'info'            => 'Informacje',
        'status_valid'    => 'Aktywna',
        'status_invalid'  => 'Nieaktywna',
        'no_data'         => 'Nie znaleziono danych licencji w bazie (tabela Licencja, L_ID=J).',
        'invalid_warning' => 'Klucz licencji jest nieprawidłowy lub brak licencji. Panel klienta jest zablokowany. Skontaktuj się z dostawcą oprogramowania.',
    ],

    'admin_dashboard' => [
        'failed_logins'         => 'Nieudane logowania',
        'failed_last_24h'       => 'w ostatnich 24h',
        'col_time'              => 'Data/czas',
        'col_type'              => 'Typ',
        'col_login'             => 'Login',
        'col_ip'                => 'Adres IP',
        'col_reason'            => 'Powód',
        'reason_bad_password'   => 'Złe hasło',
        'reason_not_found'      => 'Nie znaleziono',
        'reason_rate_limit'     => 'Zbyt wiele prób',
        'type_client'           => 'Klient',
        'type_admin'            => 'Admin',
        'view_all_logs'         => 'Zobacz wszystkie logi',
        'no_failed_logins'      => 'Brak nieudanych prób logowania',
        'active_sessions'       => 'Aktywne sesje',
        'col_user'              => 'Użytkownik',
        'col_last_active'       => 'Ostatnia aktywność',
        'col_browser'           => 'Przeglądarka',
        'btn_force_logout'      => 'Wyloguj',
        'no_active_sessions'    => 'Brak aktywnych sesji',
        'session_terminated'    => 'Sesja została zakończona',
        'session_terminate_error' => 'Nie udało się zakończyć sesji',
    ],

    'login_notify' => [
        'subject'           => 'i-BOK: Nieudane logowanie',
        'body_type'         => 'Typ: :type',
        'body_login'        => 'Login: :login',
        'body_ip'           => 'IP: :ip',
        'body_time'         => 'Czas: :time',
        'body_reason'       => 'Powód: :reason',
        'settings_title'    => 'Powiadomienia o logowaniu',
        'enabled'           => 'Włączone',
        'email_address'     => 'Adres email',
        'notify_client'     => 'Nieudane logowania klientów',
        'notify_admin'      => 'Nieudane logowania adminów',
        'min_interval'      => 'Min. odstęp między mailami (sek.)',
        'saved'             => 'Ustawienia zapisane',
    ],

    'access_control' => [
        'title'               => 'Kontrola dostępu IP',
        'menu_label'          => 'Kontrola dostępu',
        'client_panel'        => 'Panel klienta',
        'admin_panel'         => 'Panel administratora',
        'restrictions_enabled'=> 'Restrykcje włączone',
        'allowed_ips'         => 'Dozwolone IP / podsieci',
        'placeholder'         => 'np. 192.168.1.0/24 lub 10.0.0.5',
        'one_per_line'        => 'Jeden adres IP lub CIDR na linię',
        'current_ip'          => 'Twój aktualny adres IP',
        'save_success'        => 'Ustawienia kontroli dostępu zapisane.',
        'ip_denied'           => 'Dostęp z tego adresu IP jest zabroniony.',
        'emergency_active'    => 'Dostęp awaryjny aktywny! Restrykcje admina wyłączone. Usuń plik cfg/.emergency_access aby wyłączyć.',
        'emergency_title'     => 'Dostęp awaryjny',
        'emergency_desc'      => 'Jeśli zablokujesz sobie dostęp, utwórz poniższy plik na serwerze — restrykcje admina zostaną wyłączone:',
        'emergency_remove'    => 'Aby wyłączyć dostęp awaryjny, usuń plik:',
    ],

    // =========================================================================
    // Tooltips i sekcje pomocy — panel klienta
    // =========================================================================
    'help' => [
        'show_help'                  => 'Pokaż pomoc',

        // dashboard.php
        'dashboard_section_title'    => 'Jak czytać dashboard',
        'dashboard_section_content'  => '<ul>'
            . '<li><strong>Saldo</strong> — różnica między wpłatami a naliczeniami. Kwota dodatnia = zaległość, kwota ujemna = nadpłata.</li>'
            . '<li><strong>Nierozliczone faktury</strong> — dokumenty bez pełnej wpłaty.</li>'
            . '<li><strong>Kolory:</strong> zielony = OK, żółty = uwaga, czerwony = zaległość lub po terminie.</li>'
            . '<li><strong>Pasek postępu</strong> przy płatności — wizualizacja czasu do terminu (30 dni = 100%).</li>'
            . '</ul>',
        'tooltip_next_payment'       => 'Liczba dni do najbliższego terminu płatności',
        'tooltip_balance'            => 'Różnica między wpłatami a naliczeniami',
        'tooltip_progress_bar'       => 'Wizualizacja czasu do terminu (30 dni = 100%)',
        'tooltip_countdown'          => 'Odliczanie w czasie rzeczywistym do terminu płatności',
        'tooltip_unsettled'          => 'Faktury bez pełnej wpłaty',
        'tooltip_account_number'     => 'Numer rachunku bankowego do przelewów',

        // faktury.php
        'faktury_section_title'      => 'Informacje o dokumentach',
        'faktury_section_content'    => '<ul>'
            . '<li><strong>FV</strong> — faktura VAT</li>'
            . '<li><strong>FVK</strong> — korekta faktury</li>'
            . '<li><strong>PZ</strong> — polecenie zapłaty</li>'
            . '<li>Aby pobrać fakturę, kliknij przycisk <strong>PDF</strong> w wierszu dokumentu.</li>'
            . '<li>Jeśli PDF jest wyszarzony — plik nie jest jeszcze dostępny.</li>'
            . '</ul>',
        'tooltip_status'             => 'ROZLICZONA = zapłacona, NIEROZLICZONA = niezapłacona, CZĘŚCIOWO = niepełna wpłata',
        'tooltip_due_date'           => 'Data, do której należy uregulować płatność',
        'tooltip_amount_gross'       => 'Kwota do zapłaty z podatkiem VAT',
        'tooltip_download_pdf'       => 'Pobierz dokument w formacie PDF',

        // platnosci.php
        'platnosci_section_title'    => 'Informacje o płatnościach',
        'platnosci_section_content'  => '<ul>'
            . '<li>Wpłaty są importowane z systemu rozliczeniowego.</li>'
            . '<li>Jeśli brakuje wpłaty — skontaktuj się z BOK przez formularz kontaktowy.</li>'
            . '</ul>',
        'tooltip_payment_type'       => 'Forma płatności: przelew, gotówka, kompensata itp.',
        'tooltip_payment_amount'     => 'Kwota wpłaty',
        'tooltip_payment_doc'        => 'Numer dokumentu wpłaty',

        // umowy.php
        'umowy_section_title'        => 'Informacje o umowach',
        'umowy_section_content'      => '<ul>'
            . '<li><strong>Oczekujące</strong> — umowy wymagające Twojego podpisu. Pobierz PDF, zapoznaj się, a następnie zaznacz zgody i podpisz.</li>'
            . '<li><strong>Podpisane</strong> — archiwum podpisanych umów z możliwością ponownego pobrania PDF.</li>'
            . '<li>Zmiana warunków umowy wymaga aneksu.</li>'
            . '</ul>',
        'tooltip_contract_status'    => 'Oczekująca = do podpisu, Podpisana = obowiązująca',
        'tooltip_contract_dates'     => 'Okres obowiązywania umowy',
        'tooltip_contract_pdf'       => 'Pobierz umowę w formacie PDF',

        // zmiana_taryfy.php
        'zmiana_section_title'       => 'Informacje o zmianie taryfy',
        'zmiana_section_content'     => '<ul>'
            . '<li>Zmiana taryfy to <strong>wniosek</strong> — nie działa natychmiastowo.</li>'
            . '<li>Po wybraniu taryfy zostaniesz przekierowany do formularza kontaktowego.</li>'
            . '<li>Administrator rozpatrzy wniosek i zmieni taryfę w ustalonym terminie.</li>'
            . '</ul>',
        'tooltip_current_tariff'     => 'Twój bieżący pakiet internetowy',
        'tooltip_new_tariff'         => 'Wybierz pakiet, na który chcesz zmienić',
        'tooltip_tariff_submit'      => 'Złóż wniosek — zmiana wymaga akceptacji administratora',

        // kontakt.php
        'kontakt_section_title'      => 'Formularz kontaktowy',
        'kontakt_section_content'    => '<ul>'
            . '<li>Wiadomość zostanie wysłana do Biura Obsługi Klienta.</li>'
            . '<li>Czas oczekiwania na odpowiedź zależy od tematu zgłoszenia.</li>'
            . '</ul>',
        'tooltip_subject'            => 'Krótki opis sprawy',
        'tooltip_message'            => 'Szczegółowy opis problemu lub pytania',

        // 2fa.php
        '2fa_section_title'          => 'Uwierzytelnianie dwuskładnikowe (2FA)',
        '2fa_section_content'        => '<ul>'
            . '<li><strong>2FA</strong> to dodatkowe zabezpieczenie logowania kodem z aplikacji mobilnej.</li>'
            . '<li>Zainstaluj aplikację: Google Authenticator, Authy lub Microsoft Authenticator.</li>'
            . '<li>Zeskanuj kod QR w aplikacji i wpisz wygenerowany kod, aby aktywować 2FA.</li>'
            . '<li>Zapisz <strong>kody zapasowe</strong> — przydadzą się, gdy zgubisz telefon.</li>'
            . '</ul>',
        'tooltip_2fa_toggle'         => 'Włącz dodatkowe zabezpieczenie logowania kodem z aplikacji',
        'tooltip_2fa_qr'             => 'Zeskanuj tym kodem w aplikacji Google Authenticator lub Authy',
        'tooltip_2fa_backup'         => 'Jednorazowe kody na wypadek utraty telefonu',

        // info.php
        'info_section_title'         => 'Informacje o koncie',
        'info_section_content'       => '<ul>'
            . '<li>Dane wyświetlane na tej stronie pochodzą z Twojej umowy.</li>'
            . '<li>Aby zaktualizować dane kontaktowe, kliknij przycisk „Zgłoś nieaktualne dane".</li>'
            . '</ul>',
        'tooltip_client_data'        => 'Twoje dane z umowy',
        'tooltip_tariff_info'        => 'Aktualna prędkość internetu',

        // serwis.php
        'serwis_section_title'       => 'Zlecenia serwisowe',
        'serwis_section_content'     => '<ul>'
            . '<li><strong>Otwarte</strong> — zgłoszenia w trakcie realizacji.</li>'
            . '<li><strong>Zamknięte</strong> — zrealizowane zgłoszenia.</li>'
            . '<li>Aby zgłosić nowy problem techniczny, skorzystaj z formularza kontaktowego.</li>'
            . '</ul>',
        'tooltip_order_status'       => 'Otwarte = w realizacji, Zamknięte = zrealizowane',
        'tooltip_new_order'          => 'Zgłoś problem techniczny przez formularz kontaktowy',

        // korekty.php
        'korekty_section_title'      => 'Informacje o korektach',
        'korekty_section_content'    => '<ul>'
            . '<li><strong>Korekta</strong> to dokument zmieniający kwotę na fakturze.</li>'
            . '<li>Kwota ujemna = zmniejszenie, kwota dodatnia = zwiększenie.</li>'
            . '<li>Korekta jest wystawiana np. po zmianie taryfy lub reklamacji.</li>'
            . '</ul>',
        'tooltip_correction_doc'     => 'Faktura, do której wystawiono korektę',
        'tooltip_correction_amount'  => 'Kwota zmniejszenia (ujemna) lub zwiększenia',
    ],

    // =========================================================================
    // Tooltips i sekcje pomocy — panel admina
    // =========================================================================
    'help_admin' => [
        // dashboard.php
        'dashboard_section_title'    => 'Dashboard administratora',
        'dashboard_section_content'  => '<ul>'
            . '<li><strong>Aktywne sesje</strong> — zalogowani użytkownicy w tej chwili.</li>'
            . '<li><strong>Nieudane logowania</strong> — próby z ostatnich 24 godzin (brute-force detection).</li>'
            . '<li>Możesz wymusić wylogowanie dowolnej sesji przyciskiem „Wyloguj".</li>'
            . '</ul>',
        'tooltip_active_sessions'    => 'Zalogowani użytkownicy w tej chwili',
        'tooltip_failed_logins'      => 'Próby logowania z ostatnich 24 godzin',
        'tooltip_force_logout'       => 'Wymuś zakończenie sesji tego użytkownika',
        'tooltip_browser'            => 'Rozpoznana na podstawie User-Agent',

        // klienci.php
        'klienci_section_title'      => 'Lista klientów',
        'klienci_section_content'    => '<ul>'
            . '<li>Lista klientów jest synchronizowana z systemem rozliczeniowym.</li>'
            . '<li>Kliknij nazwisko klienta, aby zobaczyć szczegóły.</li>'
            . '<li>Kolory: zielony = aktywny, czerwony = zablokowany lub z zaległością.</li>'
            . '</ul>',
        'tooltip_client_id'          => 'Numer klienta z systemu rozliczeniowego',
        'tooltip_client_balance'     => 'Saldo klienta (+ nadpłata, - zaległość)',
        'tooltip_client_filter'      => 'Filtruj klientów wg statusu: aktywny, zablokowany',

        // klient_info.php
        'klient_section_title'       => 'Karta klienta',
        'klient_section_content'     => '<ul>'
            . '<li>Karta zawiera dane finansowe, kontaktowe i techniczne klienta.</li>'
            . '<li>Dane pochodzą z systemu rozliczeniowego i są synchronizowane automatycznie.</li>'
            . '</ul>',
        'tooltip_client_nr'          => 'Numer z systemu FK',
        'tooltip_client_nip'         => 'Numer Identyfikacji Podatkowej',
        'tooltip_client_saldo'       => 'Bilans wpłat i naliczeń',
        'tooltip_client_activation'  => 'Data uruchomienia usługi',

        // smtp.php
        'smtp_section_title'         => 'Konfiguracja poczty SMTP',
        'smtp_section_content'       => '<ul>'
            . '<li><strong>Gmail:</strong> użyj „Haseł do aplikacji" (Konto Google → Zabezpieczenia → Hasła do aplikacji).</li>'
            . '<li><strong>Własny serwer:</strong> port 587 + TLS (zalecane) lub 465 + SSL.</li>'
            . '<li>Przycisk „Test" wyśle próbną wiadomość na podany adres.</li>'
            . '</ul>',
        'tooltip_smtp_host'          => 'Adres serwera pocztowego (np. smtp.gmail.com)',
        'tooltip_smtp_port'          => '465 = SSL, 587 = TLS, 25 = bez szyfrowania',
        'tooltip_smtp_encryption'    => 'TLS (zalecane) lub SSL',
        'tooltip_login_notify_interval' => 'Ochrona przed zalewem emaili przy ataku brute-force',

        // sms.php (admin)
        'sms_section_title'          => 'Bramki SMS',
        'wyslij_sms_section_content' => '<ul>'
            . '<li>Zaznacz klientów na liście i wpisz treść wiadomości, aby wysłać SMS.</li>'
            . '<li><strong>Filtr „Tylko z telefonem"</strong> — pokazuje wyłącznie klientów z uzupełnionym numerem telefonu.</li>'
            . '<li><strong>Filtr „Zadłużeni"</strong> — pokazuje klientów z niezapłaconymi rachunkami.</li>'
            . '<li><strong>Dodatkowy numer</strong> — pozwala wysłać SMS na ręcznie wpisany numer, niezależnie od listy.</li>'
            . '<li>Przycisk „Zaznacz z telefonem" zaznacza wszystkich klientów posiadających numer (na wszystkich stronach).</li>'
            . '<li>Zakładka <strong>Historia</strong> zawiera log ostatnich 500 wysyłek.</li>'
            . '<li>Bramkę SMS konfiguruje się w <strong>Ustawienia → Bramki SMS</strong>.</li>'
            . '</ul>',
        'sms_section_content'        => '<ul>'
            . '<li>Wybierz aktywną bramkę SMS w ustawieniach ogólnych.</li>'
            . '<li><strong>SMSAPI.pl</strong> — token API z panelu klienta (OAuth Bearer).</li>'
            . '<li><strong>SerwerSMS.pl</strong> — login i hasło z panelu klienta.</li>'
            . '<li><strong>SMSPlanet.pl</strong> — token API z panelu klienta (Bearer).</li>'
            . '<li><strong>Nadawca</strong> — nazwa/numer widoczny jako nadawca (wymaga aktywacji u operatora bramki).</li>'
            . '<li><strong>Tryb testowy</strong> — SMS-y są logowane, ale nie wysyłane.</li>'
            . '<li>Przycisk „Sprawdź saldo" sprawdzi stan konta w bramce.</li>'
            . '<li>Użyj panelu testowego po prawej, aby wysłać próbnego SMS-a.</li>'
            . '</ul>',

        // platnosci.php
        'platnosci_section_title'    => 'Bramki płatności',
        'platnosci_section_content'  => '<ul>'
            . '<li>Skonfiguruj bramkę (Tpay, Przelewy24 lub PayU) danymi z panelu bramki.</li>'
            . '<li><strong>Sandbox</strong> = tryb testowy, płatności nie są realizowane.</li>'
            . '<li>Po konfiguracji przejdź na tryb produkcyjny i przetestuj płatność.</li>'
            . '<li>Klient po opłaceniu faktury jest automatycznie odblokowywany.</li>'
            . '</ul>',
        'tooltip_api_key'            => 'Klucz z panelu bramki płatności',
        'tooltip_merchant_id'        => 'Identyfikator konta w bramce',
        'tooltip_sandbox'            => 'Tryb testowy — płatności nie są realizowane',
        'tooltip_callback_url'       => 'Adres, na który bramka wysyła potwierdzenia (ustaw w panelu bramki)',

        // access_control.php
        'access_section_title'       => 'Kontrola dostępu',
        'access_section_content'     => '<ul>'
            . '<li>Ogranicz dostęp do panelu po adresie IP.</li>'
            . '<li>Podaj dozwolone adresy IP — jeden na linię, obsługiwane formaty: IP, CIDR.</li>'
            . '<li>Dostęp awaryjny pozwala odblokować się po przypadkowym zablokowaniu.</li>'
            . '</ul>',
        'tooltip_admin_login'        => 'Nazwa użytkownika do logowania',
        'tooltip_admin_role'         => 'Uprawnienia: admin = pełne, operator = ograniczone',

        // database.php
        'database_section_title'     => 'Baza danych',
        'database_section_content'   => '<ul>'
            . '<li>Połączenie z bazą MySQL/MariaDB systemu rozliczeniowego.</li>'
            . '<li>Synchronizacja pobiera dane klientów, faktur i wpłat.</li>'
            . '<li>Przycisk „Test" sprawdza połączenie bez zapisywania zmian.</li>'
            . '</ul>',
        'tooltip_db_sync'            => 'Pobierz aktualną bazę klientów z systemu FK',
        'tooltip_db_last_sync'       => 'Data ostatniego pobrania danych',

        // tariff_offers.php
        'tariff_section_title'       => 'Oferty taryf',
        'tariff_section_content'     => '<ul>'
            . '<li>Taryfy wyświetlane klientom na stronie „Zmiana taryfy".</li>'
            . '<li>Klient może wybrać taryfę i złożyć wniosek (nie zmienia się automatycznie).</li>'
            . '<li>Dodaj prędkości i cenę — te informacje widzi klient.</li>'
            . '</ul>',
        'tooltip_tariff_name'        => 'Nazwa widoczna dla klientów',
        'tooltip_tariff_speed'       => 'Download/Upload w Mbps',
        'tooltip_tariff_price'       => 'Miesięczna opłata brutto',
        'tooltip_tariff_active'      => 'Czy taryfa jest dostępna do wyboru dla klientów',

        // backup_cfg.php
        'backup_section_title'       => 'Kopia zapasowa konfiguracji',
        'backup_section_content'     => '<ul>'
            . '<li><strong>Eksport</strong> — pobiera archiwum z konfiguracją panelu (cfg, lang, admin).</li>'
            . '<li><strong>Import</strong> — przywraca konfigurację z wcześniej pobranego archiwum.</li>'
            . '<li>Kopia nie obejmuje danych klientów ani bazy — tylko ustawienia panelu.</li>'
            . '</ul>',
        'tooltip_backup_dirs'        => 'Które katalogi będą uwzględnione w kopii',
        'tooltip_backup_exclusions'  => 'Pliki/katalogi pominięte przy tworzeniu kopii',
        'tooltip_backup_schedule'    => 'Częstotliwość automatycznego tworzenia kopii',

        // contracts.php
        'contracts_section_title'    => 'Umowy',
        'contracts_section_content'  => '<ul>'
            . '<li>Umowy są importowane z systemu FK (tylko do odczytu).</li>'
            . '<li>Status: Podpisana / Oczekująca / Nieaktywna.</li>'
            . '</ul>',
        'tooltip_contract_status_admin' => 'Aktywna / Zawieszona / Zakończona',
        'tooltip_contract_signed'    => 'Data zaakceptowania umowy przez klienta',

        // edycja.php
        'edycja_section_title'       => 'Edycja plików',
        'edycja_section_content'     => '<ul>'
            . '<li>Pliki tekstowe wyświetlane klientom (aktualności, stopka, FAQ itp.).</li>'
            . '<li>Plik jest widoczny na stronie klienta, gdy jego treść ma min. 15 znaków.</li>'
            . '<li><strong>Uwaga:</strong> błędna edycja może zepsuć wyświetlanie strony.</li>'
            . '</ul>',
        'tooltip_edit_filename'      => 'Plik konfiguracyjny lub szablonu',
        'tooltip_edit_save'          => 'Nadpisze plik na serwerze',

        // logi.php
        'logi_section_title'         => 'Logi systemu',
        'logi_section_content'       => '<ul>'
            . '<li>Logi rejestrują operacje w panelu: logowania, zmiany, błędy.</li>'
            . '<li>Kliknij „Podgląd" aby zobaczyć zawartość pliku.</li>'
            . '</ul>',
        'tooltip_log_level'          => 'info = normalne, warning = uwaga, error = błąd',
        'tooltip_log_filter'         => 'Szukaj po treści, IP lub dacie',

        // serwis.php
        'serwis_section_title'       => 'Zlecenia serwisowe',
        'serwis_section_content'     => '<ul>'
            . '<li>Zlecenia serwisowe od klientów z systemu FK.</li>'
            . '<li>Zakładki: otwarte (w realizacji), zamknięte (zrealizowane), wszystkie.</li>'
            . '</ul>',
        'tooltip_order_status_admin' => 'Otwarte = w realizacji, Zamknięte = zrealizowane',
        'tooltip_order_priority'     => 'Wpływa na kolejność realizacji',

        // infra.php
        'infra_section_title'        => 'Infrastruktura sieciowa',
        'infra_section_content'      => '<ul>'
            . '<li>Lista urządzeń sieciowych z systemu FK (routery, switche, serwery).</li>'
            . '<li>Dane są synchronizowane automatycznie.</li>'
            . '</ul>',
        'tooltip_device_status'      => 'Online (zielony) / Offline (czerwony)',
        'tooltip_device_uptime'      => 'Czas od ostatniego restartu',

        // urzadzenia.php
        'urzadzenia_section_title'   => 'Urządzenia klientów',
        'urzadzenia_section_content' => '<ul>'
            . '<li>Lista urządzeń (routerów, ONT) przypisanych do klientów.</li>'
            . '<li>Dane: IP, MAC, typ, model, punkt podłączenia.</li>'
            . '</ul>',
        'tooltip_device_type'        => 'Router / Switch / AP / ONT',
        'tooltip_device_method'      => 'Metoda monitorowania: Ping / SNMP / HTTP',

        // 2fa.php
        '2fa_section_title'          => 'Zarządzanie 2FA',
        '2fa_section_content'        => '<ul>'
            . '<li>Zarządzaj uwierzytelnianiem dwuskładnikowym dla konta administratora.</li>'
            . '<li>W razie utraty telefonu — użyj kodów zapasowych lub poproś innego admina o reset.</li>'
            . '</ul>',
        'tooltip_2fa_status'         => 'Włączone/wyłączone dla tego konta',
        'tooltip_2fa_reset'          => 'Wyłącz 2FA dla wybranego użytkownika (np. gdy zgubił telefon)',

        // db_import.php
        'import_section_title'       => 'Import bazy danych',
        'import_section_content'     => '<ul>'
            . '<li>Przegląd tabel i widoków w bazie PYXIS systemu rozliczeniowego.</li>'
            . '<li>Dane klientów są importowane automatycznie przy synchronizacji.</li>'
            . '</ul>',
        'tooltip_import_file'        => 'Plik CSV lub JSON z danymi klientów',
        'tooltip_import_mode'        => 'Nadpisz / Dopisz do istniejących',

        // search.php
        'tooltip_search'             => 'Szukaj klienta po nazwie, NIP, adresie, numerze',
    ],

    'session' => [
        'expire_title'   => 'Sesja wygasa',
        'expire_message' => 'Twoja sesja wkrótce wygaśnie. Czy chcesz ją przedłużyć?',
        'btn_extend'     => 'Przedłuż sesję',
    ],

    // =========================================================================
    // ANALYTICS - Analityka superadmina (ukryta strona)
    // =========================================================================
    'analytics' => [
        'menu_label'         => 'Analityka',
        'title'              => 'Analityka',
        'loading'            => 'Ładowanie danych analitycznych...',
        'access_denied'      => 'Odmowa dostępu',
        'access_denied_msg'  => 'Nieprawidłowy lub brakujący token dostępu.',
        'token_generated'    => 'Token dostępu został wygenerowany. Zapamiętaj go — nie będzie pokazany ponownie:',
        'token_bookmark'     => 'Dodaj ten link do zakładek, aby mieć szybki dostęp:',
        'token_deleted'      => 'Token został usunięty',
        'token_deleted_msg'  => 'Przy następnym wejściu na stronę analityki zostanie wygenerowany nowy token.',
        'token_delete_btn'   => 'Usuń token',
        'token_delete_confirm' => 'Usunąć token dostępu? Przy następnym wejściu zostanie wygenerowany nowy.',

        // KPI cards
        'kpi_mrr'            => 'MRR (przychód mies.)',
        'kpi_total_debt'     => 'Suma zaległości',
        'kpi_collection'     => 'Windykacja %',
        'kpi_active_clients' => 'Aktywni klienci',
        'kpi_avg_pay_time'   => 'Śr. czas opłaty',
        'kpi_open_tickets'   => 'Otwarte zlecenia',
        'kpi_days'           => 'dni',
        'kpi_ltv'            => 'Śr. LTV klienta',
        'kpi_churn'          => 'Churn (mies.)',
        'kpi_at_risk'        => 'Zagrożeni',
        'kpi_overpayments'   => 'Nadpłaty',

        // Tab headers
        'tab_overview'       => 'Przegląd',
        'tab_finance'        => 'Finanse',
        'tab_clients'        => 'Klienci',
        'tab_operations'     => 'Operacyjne',
        'tab_risk'           => 'Ryzyko',

        // Section headers (kept for backward compat)
        'section_finance'    => 'Finanse',
        'section_clients'    => 'Klienci',
        'section_operations' => 'Operacyjne',
        'section_risk'       => 'Analiza ryzyka',

        // Finance charts
        'chart_revenue_vs_payments' => 'Przychód vs wpłaty',
        'chart_debt_trend'          => 'Trend zadłużenia',
        'chart_collection_rate'     => 'Efektywność windykacji',
        'chart_invoice_status'      => 'Status faktur',
        'chart_payment_methods'     => 'Metody płatności',
        'chart_top_debtors'         => 'Top 10 dłużników',
        'chart_debt_aging'          => 'Aging zaległości',
        'chart_corrections'         => 'Korekty faktur',
        'chart_revenue_forecast'    => 'Prognoza przychodu',
        'chart_payment_seasonality' => 'Sezonowość wpłat',

        // Client charts
        'chart_client_growth'       => 'Wzrost bazy klientów',
        'chart_tariff_dist'         => 'Rozkład taryf',
        'chart_geo_dist'            => 'Rozkład geograficzny',
        'chart_expiring_contracts'  => 'Kończące się umowy',
        'chart_active_inactive'     => 'Aktywni vs nieaktywni',
        'chart_retention'           => 'Retencja klientów',
        'chart_client_type'         => 'Typ podmiotu',
        'chart_churn_rate'          => 'Wskaźnik churnu',
        'chart_overpayments'        => 'Rozkład nadpłat',
        'chart_contract_duration'   => 'Długość umów',
        'chart_ltv'                 => 'Lifetime Value',

        // Operational charts
        'chart_service_orders'      => 'Zlecenia serwisowe',
        'chart_login_activity'      => 'Aktywność logowań',
        'chart_failed_logins'       => 'Nieudane logowania',
        'chart_service_avg_time'    => 'Śr. czas realizacji zlecenia',
        'chart_service_categories'  => 'Zlecenia wg kategorii',
        'chart_login_hours'         => 'Aktywność wg godzin',

        // Risk charts
        'chart_at_risk'             => 'Klienci zagrożeni odejściem',
        'chart_client_scoring'      => 'Scoring klientów',

        // Labels / legends
        'label_invoiced'     => 'Fakturowane',
        'label_paid'         => 'Wpłacone',
        'label_debt'         => 'Zaległość',
        'label_rate'         => 'Skuteczność (%)',
        'label_paid_full'    => 'Opłacona',
        'label_paid_partial' => 'Częściowo',
        'label_unpaid'       => 'Nieopłacona',
        'label_new_clients'  => 'Nowi klienci',
        'label_active'       => 'Aktywni',
        'label_inactive'     => 'Nieaktywni',
        'label_open'         => 'Otwarte',
        'label_closed'       => 'Zamknięte',
        'label_logins'       => 'Logowania',
        'label_failed'       => 'Nieudane',
        'label_contracts'    => 'Umowy',
        'label_other'        => 'Inne',
        'label_no_data'      => 'Brak danych',
        'label_amount'       => 'Kwota (zł)',
        'label_count'        => 'Liczba',
        'label_percent'      => 'Procent (%)',
        'label_forecast'     => 'Prognoza',
        'label_actual'       => 'Rzeczywiste',
        'label_corrections'  => 'Korekty',
        'label_payments_count' => 'Liczba wpłat',
        'label_day_of_month' => 'Dzień miesiąca',
        'label_years'        => 'Lata',
        'label_retention_pct' => 'Retencja (%)',
        'label_individuals'  => 'Osoby fizyczne',
        'label_companies'    => 'Firmy',
        'label_churn_pct'    => 'Churn (%)',
        'label_overpayment'  => 'Nadpłata',
        'label_clients_count' => 'Liczba klientów',
        'label_months'       => 'Miesiące',
        'label_avg_days'     => 'Śr. dni',
        'label_hour'         => 'Godzina',
        'label_debt_and_expiring' => 'Zalegają + kończy się umowa',
        'label_client_age_years'  => 'Staż klienta (lata)',
        'label_debt_amount'       => 'Kwota zaległości (zł)',
        'label_0_30'         => '0-30 dni',
        'label_31_60'        => '31-60 dni',
        'label_61_90'        => '61-90 dni',
        'label_90_plus'      => '90+ dni',
        'label_indefinite'   => 'Bezterminowa',
        'label_up_to_12m'    => 'Do 12 mies.',
        'label_12_24m'       => '12-24 mies.',
        'label_24_plus'      => '24+ mies.',
        'risk_desc'          => 'Klienci z zaległościami i kończącą się umową w ciągu 90 dni',
        'scoring_desc'       => 'Oś X = staż klienta, oś Y = zaległość, rozmiar = kwota',

        // New tab
        'tab_security'              => 'Bezpieczeństwo',

        // New chart titles (batch 2)
        'chart_revenue_by_tariff'   => 'Przychód wg taryf',
        'chart_avg_invoice'         => 'Średnia wartość faktury',
        'chart_payment_time'        => 'Czas opłaty wg miesiąca',
        'chart_arpu'                => 'ARPU (przychód na klienta)',
        'chart_cashflow'            => 'Kumulatywny cash flow',
        'chart_tenure_dist'         => 'Staż klientów',
        'chart_contract_status'     => 'Status umów klientów',
        'chart_registration_heatmap' => 'Sezonowość rejestracji',
        'chart_top_revenue'         => 'Top 10 wg przychodu',
        'chart_cumulative_clients'  => 'Trend bazy klientów',
        'chart_tickets_priority'    => 'Zlecenia wg czasu realizacji',
        'chart_tickets_weekday'     => 'Zlecenia wg dnia tygodnia',
        'chart_admin_sessions'      => 'Sesje administratorów',
        'chart_blacklist_summary'   => 'Podsumowanie blacklisty',
        'chart_geoblock_countries'  => 'Blokady geograficzne',
        'chart_monit_status'        => 'Status monitoringu',

        // New KPIs
        'kpi_no_contract'           => 'Bez aktywnej umowy',
        'kpi_blocked_ips'           => 'Zablokowane IP',
        'kpi_blocked_countries'     => 'Zablokowane kraje',
        'kpi_monitored_devices'     => 'Monitorowane urządzenia',

        // New labels
        'label_avg_value'           => 'Śr. wartość (zł)',
        'label_arpu_value'          => 'ARPU (zł)',
        'label_cashflow_value'      => 'Cash flow (zł)',
        'label_fast_resolve'        => 'Szybkie (<3 dni)',
        'label_normal_resolve'      => 'Normalne (3-14 dni)',
        'label_slow_resolve'        => 'Długie (>14 dni)',
        'label_tenure_lt1'          => '< 1 rok',
        'label_tenure_1_3'          => '1-3 lata',
        'label_tenure_3_5'          => '3-5 lat',
        'label_tenure_5_10'         => '5-10 lat',
        'label_tenure_10plus'       => '10+ lat',
        'label_contract_active'     => 'Aktywna',
        'label_contract_expiring'   => 'Wygasa (<90 dni)',
        'label_contract_expired'    => 'Wygasła',
        'label_contract_indefinite' => 'Bezterminowa',
        'label_manual_entries'      => 'Wpisy ręczne',
        'label_devices_online'      => 'Online',
        'label_devices_offline'     => 'Offline',
        'label_devices_unknown'     => 'Nieznany',
        'label_unique_admins'       => 'Unikalni admini',
        'label_total_clients'       => 'Łącznie klientów',
        'label_blocked_cidrs'       => 'Zablokowane CIDR',
        'label_revenue'             => 'Przychód (zł)',
        'label_payment_days'        => 'Dni do opłaty',
        'label_weekdays_short'      => 'Pon,Wt,Śr,Czw,Pt,Sob,Nd',
        'label_months_short'        => 'Sty,Lut,Mar,Kwi,Maj,Cze,Lip,Sie,Wrz,Paź,Lis,Gru',
        'label_feeds_active'        => 'Aktywne feedy',
        'security_no_data'          => 'Brak danych z głównego panelu administracyjnego.',

        // Help / legend
        'help_btn'           => 'Legenda wykresów',
        'help_title'         => 'Opis wykresów i wskaźników',
        'help_section_kpi'   => 'Wskaźniki KPI',
        'help_section_finance' => 'Finanse',
        'help_section_clients' => 'Klienci',
        'help_section_operations' => 'Operacyjne',
        'help_section_risk'  => 'Ryzyko',

        'help_kpi_mrr'           => 'Miesięczny przychód powtarzalny — suma faktur z ostatniego pełnego miesiąca.',
        'help_kpi_total_debt'    => 'Łączna kwota zaległych płatności wszystkich klientów.',
        'help_kpi_collection'    => 'Procent skuteczności windykacji — stosunek kwot wpłaconych do fakturowanych w ostatnim miesiącu.',
        'help_kpi_active_clients' => 'Liczba aktywnych klientów w stosunku do wszystkich zarejestrowanych.',
        'help_kpi_avg_pay_time'  => 'Średnia liczba dni od wystawienia faktury do otrzymania wpłaty (ostatnie 6 mies.).',
        'help_kpi_open_tickets'  => 'Liczba otwartych (niezakończonych) zleceń serwisowych.',
        'help_kpi_ltv'           => 'Średnia wartość klienta w całym okresie współpracy (Lifetime Value).',
        'help_kpi_churn'         => 'Miesięczny wskaźnik utraty klientów — procent klientów, których umowy wygasły w ostatnim miesiącu.',
        'help_kpi_at_risk'       => 'Liczba klientów z zaległościami, którym kończy się umowa w ciągu 90 dni.',
        'help_kpi_overpayments'  => 'Łączna kwota nadpłat klientów (salda dodatnie).',

        'help_chart_revenue_vs_payments' => 'Porównanie kwot fakturowanych z kwotami wpłaconymi w ujęciu miesięcznym (12 mies.). Rozbieżność wskazuje na opóźnienia w płatnościach.',
        'help_chart_revenue_forecast'    => 'Prognoza przychodu na 3 miesiące wprzód na podstawie trendu liniowego z ostatnich 12 miesięcy. Linia przerywana = prognoza.',
        'help_chart_debt_trend'          => 'Trend sumy zaległości w ujęciu miesięcznym. Rosnący trend oznacza pogarszającą się ściągalność.',
        'help_chart_collection_rate'     => 'Procent kwot rozliczonych w stosunku do fakturowanych. Wartość 100% oznacza pełną ściągalność.',
        'help_chart_invoice_status'      => 'Rozkład statusów faktur z ostatnich 12 mies.: opłacona w całości, częściowo opłacona, nieopłacona.',
        'help_chart_debt_aging'          => 'Struktura wiekowa zaległości: 0-30 dni (świeże), 31-60, 61-90, powyżej 90 dni (trudne do odzyskania).',
        'help_chart_payment_methods'     => 'Udział poszczególnych form płatności w ogólnej liczbie wpłat (przelew, gotówka, karta itp.).',
        'help_chart_payment_seasonality' => 'Rozkład wpłat wg dnia miesiąca. Pomaga ustalić, kiedy klienci najczęściej płacą.',
        'help_chart_top_debtors'         => 'Ranking 10 klientów z największymi zaległościami (kwoty na osi X).',
        'help_chart_corrections'         => 'Liczba wystawionych korekt faktur w ujęciu miesięcznym.',

        'help_chart_client_growth'       => 'Liczba nowych klientów dodanych w każdym miesiącu (wg daty rozpoczęcia umowy).',
        'help_chart_retention'           => 'Procent klientów, którzy pozostali aktywni w porównaniu do poprzedniego roku. 100% = brak utraty klientów.',
        'help_chart_tariff_dist'         => 'Rozkład klientów wg taryf/pakietów prędkości.',
        'help_chart_client_type'         => 'Proporcja klientów indywidualnych (osoby fizyczne) do firmowych (NIP).',
        'help_chart_geo_dist'            => 'Top 15 miejscowości wg liczby klientów.',
        'help_chart_churn_rate'          => 'Miesięczny procent klientów traconych (kończące się umowy bez przedłużenia).',
        'help_chart_expiring_contracts'  => 'Liczba umów kończących się w najbliższych 6 miesiącach — pozwala zaplanować kampanię retencji.',
        'help_chart_contract_duration'   => 'Rozkład długości umów: bezterminowe, do 12 mies., 12-24 mies., powyżej 24 mies.',
        'help_chart_active_inactive'     => 'Proporcja aktywnych do nieaktywnych klientów.',
        'help_chart_overpayments'        => 'Rozkład klientów wg wielkości nadpłat (sald dodatnich).',

        'help_chart_service_orders'      => 'Zlecenia serwisowe otwarte vs zamknięte w ujęciu miesięcznym (wykres skumulowany).',
        'help_chart_service_avg_time'    => 'Średni czas realizacji zlecenia serwisowego (w dniach) w ujęciu miesięcznym.',
        'help_chart_service_categories'  => 'Rozkład zleceń serwisowych wg kategorii/typu problemu.',
        'help_chart_login_activity'      => 'Dzienna liczba logowań do panelu administracyjnego (ostatnie 30 dni).',
        'help_chart_failed_logins'       => 'Trend nieudanych prób logowania — wzrost może oznaczać próby nieautoryzowanego dostępu.',
        'help_chart_login_hours'         => 'Rozkład logowań wg godziny — pokazuje, kiedy administratorzy są najbardziej aktywni.',

        'help_chart_at_risk'             => 'Lista klientów z zaległościami, którym kończy się umowa w ciągu 90 dni — wymagają natychmiastowej uwagi.',
        'help_chart_client_scoring'      => 'Wykres bąbelkowy: oś X = staż klienta (lata), oś Y = kwota zaległości, rozmiar bąbelka = kwota. Klienci w prawym górnym rogu to wieloletni klienci z dużymi zaległościami.',

        // Help for new charts (batch 2)
        'help_section_security'          => 'Bezpieczeństwo',
        'help_chart_revenue_by_tariff'   => 'Przychód wygenerowany przez klientów z poszczególnych taryf/pakietów prędkości (ostatnie 12 mies.).',
        'help_chart_avg_invoice'         => 'Średnia kwota pojedynczej faktury w ujęciu miesięcznym. Trend wzrostowy oznacza rosnące przychody per faktura.',
        'help_chart_payment_time'        => 'Średnia liczba dni od wystawienia faktury do wpłaty w każdym miesiącu. Niższe wartości = szybsze płatności.',
        'help_chart_arpu'                => 'Average Revenue Per User — średni przychód na aktywnego klienta miesięcznie.',
        'help_chart_cashflow'            => 'Narastający przepływ gotówki: suma wpłat minus korekty. Pokazuje kumulatywny bilans finansowy.',
        'help_chart_tenure_dist'         => 'Rozkład klientów wg długości współpracy: poniżej roku, 1-3 lata, 3-5 lat, 5-10 lat, powyżej 10 lat.',
        'help_chart_contract_status'     => 'Status umów aktywnych klientów: aktywna, wygasa w ciągu 90 dni, wygasła, bezterminowa.',
        'help_chart_registration_heatmap' => 'W których miesiącach roku rejestruje się najwięcej klientów — pomaga planować kampanie marketingowe.',
        'help_chart_top_revenue'         => 'Ranking 10 klientów generujących największy łączny przychód (suma wszystkich faktur).',
        'help_chart_cumulative_clients'  => 'Łączna liczba klientów w bazie narastająco w ujęciu 24-miesięcznym.',
        'help_chart_tickets_priority'    => 'Podział zleceń wg czasu realizacji: szybkie (<3 dni), normalne (3-14 dni), długie (>14 dni), otwarte.',
        'help_chart_tickets_weekday'     => 'Rozkład zgłoszeń serwisowych wg dnia tygodnia — identyfikuje dni o największym obciążeniu.',
        'help_chart_admin_sessions'      => 'Liczba unikalnych adresów IP administratorów logujących się dziennie (30 dni).',
        'help_chart_blacklist_summary'   => 'Podsumowanie listy blokad IP: wpisy ręczne + aktywne feedy threat intelligence z głównego panelu.',
        'help_chart_geoblock_countries'  => 'Zablokowane kraje z geo-blokady — liczba zablokowanych sieci CIDR per kraj.',
        'help_chart_monit_status'        => 'Status monitorowanych urządzeń sieciowych z głównego panelu: online, offline, nieznany.',
        'help_kpi_no_contract'           => 'Liczba aktywnych klientów z wygasłą umową — wymagają odnowienia.',
    ],

    // =============================================
    // Wysyłka SMS do klientów (admin)
    // =============================================
    'wyslij_sms' => [
        'menu_label'          => 'SMS',
        'title'               => 'Wysyłka SMS do klientów',
        'tab_send'            => 'Wyślij SMS',
        'tab_history'         => 'Historia',
        'select_clients'      => 'Wybierz odbiorców',
        'col_select'          => '',
        'col_client_id'       => 'Nr klienta',
        'col_name'            => 'Nazwisko i imię',
        'col_login'           => 'Login',
        'col_tel1'            => 'Telefon 1',
        'col_tel2'            => 'Telefon 2',
        'phone'               => 'Telefon',
        'message'             => 'Treść wiadomości',
        'btn_send'            => 'Wyślij SMS',
        'btn_select_with_phone' => 'Zaznacz z telefonem',
        'btn_deselect_all'    => 'Odznacz wszystkie',
        'filter_with_phone'   => 'Tylko z numerem telefonu',
        'filter_debt'         => 'Zadłużeni',
        'col_debt'            => 'Zadłużenie',
        'manual_number'       => 'Dodatkowy numer (ręcznie)',
        'manual_number_help'  => 'Wpisz numer telefonu (np. 500600700), aby wysłać SMS niezależnie od listy klientów',
        'char_count'          => ':chars zn. / :sms SMS',
        'confirm_send'        => 'Czy na pewno wysłać :count SMS?',
        'sending'             => 'Wysyłanie SMS...',
        'sent_ok'             => 'Wysłano pomyślnie',
        'sent_error'          => 'Błąd wysyłki',
        'send_progress'       => 'Wysłano :sent z :total',
        'send_complete'       => 'Wysyłka zakończona: :sent wysłano, :failed błędów',
        'no_recipients'       => 'Nie wybrano żadnych odbiorców.',
        'no_message'          => 'Wpisz treść wiadomości.',
        'no_gateway_configured' => 'Bramka SMS nie jest skonfigurowana. Przejdź do Ustawienia → Bramki SMS.',
        'history_title'       => 'Historia wysyłek',
        'history_empty'       => 'Brak wpisów w historii.',
        'btn_clear_history'   => 'Wyczyść historię',
        'confirm_clear'       => 'Czy na pewno wyczyścić całą historię wysyłek SMS?',
        'history_cleared'     => 'Historia wyczyszczona.',
        'col_date'            => 'Data',
        'col_recipient'       => 'Odbiorca',
        'col_message'         => 'Treść',
        'col_status'          => 'Status',
        'col_gateway'         => 'Bramka',
        'selected_count'      => 'Zaznaczono: :count',
        'error_csrf'          => 'Błąd tokenu CSRF. Odśwież stronę.',
    ],

    // =============================================
    // Bramki SMS (admin)
    // =============================================
    'sms_admin' => [
        'menu_label'        => 'Bramki SMS',
        'title'             => 'Bramki SMS',
        'subtitle'          => 'Konfiguracja bramek SMS',
        'info_box'          => 'Skonfiguruj bramkę SMS do wysyłania powiadomień do klientów. Obsługiwane bramki: SMSAPI.pl, SerwerSMS.pl, SMSPlanet.pl.',

        // Ustawienia ogólne
        'general_title'     => 'Ustawienia ogólne',
        'active_gateway'    => 'Aktywna bramka',
        'active_gateway_none' => '— brak —',
        'test_mode'         => 'Tryb testowy',
        'test_mode_desc'    => 'SMS-y nie będą wysyłane, tylko logowane',
        'default_prefix'    => 'Domyślny prefix kraju',
        'btn_save_general'  => 'Zapisz ustawienia ogólne',

        // Zakładki bramek
        'tab_smsapi'        => 'SMSAPI.pl',
        'tab_serwersms'     => 'SerwerSMS.pl',
        'tab_smsplanet'     => 'SMSPlanet.pl',

        // Pola formularza
        'token'             => 'Token API',
        'username'          => 'Login',
        'password'          => 'Hasło',
        'sender'            => 'Nazwa nadawcy',
        'sender_help'       => 'Nazwa lub numer widoczny jako nadawca SMS (wymaga aktywacji u operatora)',
        'token_set'         => '(token zapisany)',
        'password_set'      => '(hasło zapisane)',
        'token_help'        => 'Pozostaw puste, aby zachować zapisany token',
        'password_help'     => 'Pozostaw puste, aby zachować zapisane hasło',

        // Przyciski
        'btn_save'          => 'Zapisz',
        'btn_balance'       => 'Sprawdź saldo',
        'btn_test'          => 'Wyślij testowy SMS',

        // Komunikaty
        'saved'             => 'Konfiguracja SMS została zapisana.',
        'saved_general'     => 'Ustawienia ogólne zapisane.',
        'error_save'        => 'Nie udało się zapisać konfiguracji.',
        'error_csrf'        => 'Błąd tokenu CSRF. Odśwież stronę.',

        // Test SMS
        'test_title'        => 'Testowy SMS',
        'test_phone'        => 'Numer telefonu',
        'test_phone_placeholder' => 'np. 48500600700',
        'test_message'      => 'Treść wiadomości',
        'test_message_default' => 'Wiadomość testowa z panelu i-BOK.',
        'test_send'         => 'Wyślij testowy SMS',
        'test_success'      => 'Testowy SMS wysłany pomyślnie!',
        'test_error'        => 'Błąd wysyłki: :error',
        'test_no_phone'     => 'Podaj numer telefonu.',
        'test_logged'       => 'Tryb testowy — SMS nie wysłany, tylko zalogowany.',

        // Saldo
        'balance_label'     => 'Saldo',
        'balance_error'     => 'Nie udało się sprawdzić salda: :error',
        'balance_unit_smsapi'    => 'pkt',
        'balance_unit_serwersms' => 'SMS',
        'balance_unit_smsplanet' => 'PLN',

        // Błędy
        'no_gateway'        => 'Nie wybrano aktywnej bramki SMS.',
        'no_credentials'    => 'Brak danych uwierzytelniających dla bramki :gateway.',
        'gateway_error'     => 'Błąd bramki :gateway: :error',

        // Status
        'status_active'     => 'Bramka SMS aktywna: :gateway',
        'status_inactive'   => 'Bramka SMS nie jest skonfigurowana.',
    ],

    'demo' => [
        'banner_title'    => 'Tryb demonstracyjny',
        'banner_text'     => 'Panel działa w trybie demo. Zdarzenia nie są logowane. Zapis ustawień i zmiana konfiguracji jest zablokowana. Dane w bazie zostały wygenerowane losowo i są niespójne. Jakiekolwiek podobieństwo do rzeczywistych jest przypadkowe.',
        'save_blocked'    => 'Zapis zablokowany w trybie demo',
        'feature_blocked' => 'Funkcja niedostępna w trybie demo',
    ],

    // === Ustawienia funkcji ===
    'features' => [
        'menu_label'               => 'Funkcje panelu',
        'title'                    => 'Ustawienia funkcji',
        'section_client_panel'     => 'Panel klienta',
        'section_modules'          => 'Moduły',
        'hide_speed'               => 'Ukryj prędkości',
        'hide_speed_desc'          => 'Nie pokazuj prędkości łącza (download/upload) w panelu klienta.',
        'hide_device_ip'           => 'Ukryj IP urządzeń',
        'hide_device_ip_desc'      => 'Nie pokazuj adresów IP urządzeń klienckich w panelu klienta.',
        'speed_from_devices'       => 'Prędkości z urządzeń',
        'speed_from_devices_desc'  => 'Gdy klient nie ma prędkości w karcie usera, pobierz je z tabeli urządzeń (vMac). Pokazywana jest najwyższa prędkość.',
        'password_min_length'      => 'Minimalna długość hasła klienta',
        'sms_module'               => 'Moduł SMS',
        'sms_module_desc'          => 'Włącz wysyłanie SMS do klientów (wymaga konfiguracji bramki SMS).',
        'saved'                    => 'Ustawienia zapisane.',
        'error_dir_not_writable'   => 'Brak uprawnień zapisu do katalogu :dir. Uruchom: chmod 775 :dir && chown apache:apache :dir',
        'error_file_not_writable'  => 'Brak uprawnień zapisu do pliku :file. Uruchom: chmod 664 cfg/:file && chown apache:apache cfg/:file',
        'error_write_failed'       => 'Nie udało się zapisać pliku konfiguracji. Sprawdź uprawnienia: :hint',
    ],
];
