/* styl.css - Nowoczesny CSS z polskimi nazwami zmiennych */
:root {
    --kolor-glowny: #2ecc71;
    --kolor-glowny-ciemny: #27ae60;
    --kolor-tla: #f8f9fa;
    --kolor-tekstu: #2c3e50;
    --kolor-tekstu-jasny: #7f8c8d;
    --kolor-bialy: #ffffff;
    --kolor-szary: #ecf0f1;
    --cien: 0 10px 30px rgba(0, 0, 0, 0.1);
    --cien-hover: 0 15px 40px rgba(46, 204, 113, 0.2);
    --zaokraglenie: 15px;
    --przejscie: all 0.3s ease;
}

/* Reset i podstawowe style */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--kolor-tla);
    color: var(--kolor-tekstu);
    line-height: 1.6;
}

body.body-modal-open {
    overflow: hidden;
}

/* Nagłówek i menu */
.naglowek {
    background: var(--kolor-bialy);
    box-shadow: var(--cien);
    position: sticky;
    top: 0;
    z-index: 1000;
    animation: slideZGlowy 0.5s ease;
    width: 100%;
}

.menu {
    width: 100% !important;
    max-width: none !important;
    margin: 0;
    padding: 0.75rem 0.9rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.55rem;
    box-sizing: border-box;
}

.naglowek > .menu {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kolor-glowny);
}

.logo i {
    font-size: 1.6rem;
    animation: pulsuj 2s infinite;
}

.menu-linki {
    display: flex;
    list-style: none;
    gap: 0.35rem;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-start;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    flex-wrap: nowrap !important;
    scrollbar-width: thin;
}

.menu-linki > li,
.menu-linki > a {
    flex: 0 0 auto !important;
    white-space: nowrap;
}

.menu-linki a {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.35rem 0.45rem;
    text-decoration: none;
    color: var(--kolor-tekstu);
    font-weight: 500;
    font-size: 0.92rem;
    transition: var(--przejscie);
    position: relative;
    white-space: nowrap;
    flex-shrink: 0;
}

.logo,
.menu-uzytkownik {
    flex: 0 0 auto;
}

.menu-uzytkownik {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    white-space: nowrap;
}

.menu-uzytkownik a,
.menu-uzytkownik button {
    white-space: nowrap;
}

.menu-linki a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--kolor-glowny);
    transition: var(--przejscie);
}

.menu-linki a:hover::after,
.menu-linki a.aktywny::after {
    width: 100%;
}

.menu-linki a:hover,
.menu-linki a.aktywny {
    color: var(--kolor-glowny);
}

/* Przyciski menu */
.przycisk-login,
.przycisk-rejestracja {
    padding: 0.5rem 1.5rem;
    border: none;
    border-radius: 25px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--przejscie);
}

.przycisk-login {
    background: transparent;
    color: var(--kolor-tekstu);
    border: 2px solid var(--kolor-glowny);
}

.przycisk-login:hover {
    background: var(--kolor-glowny);
    color: var(--kolor-bialy);
    transform: translateY(-2px);
}

.przycisk-rejestracja {
    background: var(--kolor-glowny);
    color: var(--kolor-bialy);
    margin-left: 1rem;
}

.przycisk-rejestracja:hover {
    background: var(--kolor-glowny-ciemny);
    transform: translateY(-2px);
    box-shadow: var(--cien-hover);
}

/* Profil użytkownika w menu */
.profil-uzytkownika {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    padding: 0.35rem 0.55rem;
    border-radius: 25px;
    transition: var(--przejscie);
    font-size: 0.9rem;
}

.profil-uzytkownika > span {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profil-uzytkownika:hover {
    background: var(--kolor-szary);
}

/* Timer trybu demo obok przycisku wylogowania */
.demo-timer-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem 0.52rem;
    border-radius: 999px;
    background: #e74c3c;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.16);
}

.demo-timer-inline.koncowka {
    background: #ff6b6b;
}

.demo-timer-inline--pulse {
    animation: pulse 1s infinite;
}

.demo-timer-container--active {
    display: inline-flex;
    opacity: 1;
}

.menu-rozwijane {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.5rem;
    background: var(--kolor-bialy);
    border-radius: var(--zaokraglenie);
    box-shadow: var(--cien);
    min-width: 200px;
    display: none;
    z-index: 1000;
    padding: 0.5rem 0;
}

.profil-uzytkownika:hover .menu-rozwijane {
    display: block;
    animation: fadeIn 0.3s ease;
}

.menu-rozwijane a:first-child {
    border-radius: var(--zaokraglenie) var(--zaokraglenie) 0 0;
}

.menu-rozwijane a:last-child {
    border-radius: 0 0 var(--zaokraglenie) var(--zaokraglenie);
}

.menu-rozwijane a {
    display: block;
    padding: 0.8rem 1.5rem;
    text-decoration: none;
    color: var(--kolor-tekstu);
    transition: var(--przejscie);
}

.menu-rozwijane a:hover {
    background: var(--kolor-szary);
    padding-left: 2rem;
}

/* Hero sekcja */
.hero-sekcja {
    max-width: 1200px;
    margin: 4rem auto;
    padding: 0 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.hero-tresc h1 {
    font-size: 3rem;
    line-height: 1.2;
    margin-bottom: 1rem;
    animation: slideLewo 0.8s ease;
}

.glow-tytul {
    background: linear-gradient(45deg, var(--kolor-glowny), var(--kolor-glowny-ciemny));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.podtytul {
    font-size: 1.2rem;
    color: var(--kolor-tekstu-jasny);
    margin-bottom: 2rem;
    animation: slideLewo 0.8s ease 0.2s both;
}

.hero-przyciski {
    display: flex;
    gap: 1rem;
    animation: slideLewo 0.8s ease 0.4s both;
}

.przycisk-glowny,
.przycisk-drugi {
    padding: 1rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    transition: var(--przejscie);
}

.przycisk-glowny {
    background: var(--kolor-glowny);
    color: var(--kolor-bialy);
}

.przycisk-glowny:hover {
    background: var(--kolor-glowny-ciemny);
    transform: translateY(-3px);
    box-shadow: var(--cien-hover);
}

.przycisk-drugi {
    border: 2px solid var(--kolor-glowny);
    color: var(--kolor-tekstu);
}

.przycisk-drugi:hover {
    background: var(--kolor-glowny);
    color: var(--kolor-bialy);
    transform: translateY(-3px);
}

.hero-zdjecie {
    animation: slidePrawo 0.8s ease;
}

.hero-zdjecie img {
    width: 100%;
    height: auto;
    filter: drop-shadow(var(--cien));
}

/* Sekcja funkcji */
.funkcje-sekcja {
    background: var(--kolor-bialy);
    padding: 6rem 2rem;
}

.sekcja-tytul {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    position: relative;
}

.sekcja-tytul::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: var(--kolor-glowny);
}

.funkcje-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.funkcja-karta {
    text-align: center;
    padding: 2rem;
    background: var(--kolor-bialy);
    border-radius: var(--zaokraglenie);
    box-shadow: var(--cien);
    transition: var(--przejscie);
}

.funkcja-karta:hover {
    transform: translateY(-10px);
    box-shadow: var(--cien-hover);
}

.ikona {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: var(--kolor-szary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ikona i {
    font-size: 2rem;
    color: var(--kolor-glowny);
}

.funkcja-karta h3 {
    margin-bottom: 1rem;
    color: var(--kolor-tekstu);
}

/* Statystyki */
.statystyki-sekcja {
    background: linear-gradient(135deg, var(--kolor-glowny), var(--kolor-glowny-ciemny));
    padding: 4rem 2rem;
}

.statystyki-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    text-align: center;
}

.statystyka {
    color: var(--kolor-bialy);
}

.liczba {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.opis {
    font-size: 1.1rem;
    opacity: 0.9;
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2000;
    justify-content: center;
    align-items: center;
}

.modal.aktywny {
    display: flex;
    animation: fadeIn 0.3s ease;
}

.modal-tresc {
    background: var(--kolor-bialy);
    border-radius: var(--zaokraglenie);
    padding: 2rem;
    max-width: 400px;
    width: 90%;
    position: relative;
    animation: slideUp 0.5s ease;
}

.zamknij {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    font-size: 2rem;
    cursor: pointer;
    transition: var(--przejscie);
}

.zamknij:hover {
    color: var(--kolor-glowny);
}

.modal-formularz h2 {
    text-align: center;
    margin-bottom: 2rem;
}

.pole-formularza {
    position: relative;
    margin-bottom: 1.5rem;
}

.pole-formularza i {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--kolor-tekstu-jasny);
}

.pole-formularza input {
    width: 100%;
    padding: 1rem 1rem 1rem 3rem;
    border: 2px solid var(--kolor-szary);
    border-radius: 25px;
    font-size: 1rem;
    transition: var(--przejscie);
}

.pole-formularza input:focus {
    outline: none;
    border-color: var(--kolor-glowny);
}

.przycisk-submit {
    width: 100%;
    padding: 1rem;
    background: var(--kolor-glowny);
    color: var(--kolor-bialy);
    border: none;
    border-radius: 25px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--przejscie);
}

.przycisk-submit:hover {
    background: var(--kolor-glowny-ciemny);
    transform: translateY(-2px);
}

.blad {
    background: #f8d7da;
    color: #721c24;
    padding: 0.75rem;
    border-radius: 5px;
    margin-bottom: 1rem;
    text-align: center;
}

/* Panel użytkownika */
.panel-sekcja {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 2rem;
}

.panel-karty {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin: 3rem 0;
}

.panel-karta {
    background: var(--kolor-bialy);
    padding: 2rem;
    border-radius: var(--zaokraglenie);
    box-shadow: var(--cien);
    text-align: center;
    cursor: pointer;
    transition: var(--przejscie);
}

.panel-karta:hover {
    transform: translateY(-5px);
    box-shadow: var(--cien-hover);
}

.panel-karta i {
    font-size: 3rem;
    color: var(--kolor-glowny);
    margin-bottom: 1rem;
}

.panel-karta h3 {
    margin-bottom: 0.5rem;
}

/* Lista wizyt */
.wizyty-lista {
    display: grid;
    gap: 1rem;
}

.wizyta-karta {
    background: var(--kolor-bialy);
    border-radius: var(--zaokraglenie);
    padding: 1.5rem;
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 1.5rem;
    align-items: center;
    box-shadow: var(--cien);
    transition: var(--przejscie);
    position: relative;
}

.wizyta-karta:hover {
    transform: translateX(5px);
    box-shadow: var(--cien-hover);
}

.wizyta-data {
    text-align: center;
    background: var(--kolor-szary);
    padding: 0.5rem;
    border-radius: 10px;
    min-width: 60px;
}

.dzien {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--kolor-glowny);
}

.miesiac {
    font-size: 0.9rem;
    color: var(--kolor-tekstu-jasny);
}

.wizyta-szczegoly h3 {
    margin-bottom: 0.25rem;
}

.specjalizacja {
    color: var(--kolor-tekstu-jasny);
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.godzina i {
    margin-right: 0.5rem;
    color: var(--kolor-glowny);
}

.status {
    padding: 0.25rem 1rem;
    border-radius: 15px;
    font-size: 0.9rem;
    font-weight: 600;
}

.status.zaplanowana {
    background: #d4edda;
    color: #155724;
}

.status.aktywna,
.status.aktywne,
.status.aktywny {
    background: #d4edda;
    color: #155724;
}

.status.zakonczona {
    background: #cce5ff;
    color: #004085;
}

.status.anulowana {
    background: #f8d7da;
    color: #721c24;
}

.status.oczekuje_platnosci {
    background: #fff3cd;
    color: #856404;
    animation: pulse 2s infinite;
}

.przycisk-oplacenie {
    background: linear-gradient(135deg, #f39c12, #e67e22);
    color: white;
    border: none;
    padding: 0.6rem 1.2rem;
    border-radius: 25px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--przejscie);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
}

.przycisk-oplacenie:hover {
    background: linear-gradient(135deg, #e67e22, #d35400);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(243, 156, 18, 0.3);
}

.przycisk-oplacenie i {
    font-size: 1rem;
}

.przycisk-anuluj {
    background: transparent;
    border: none;
    color: #dc3545;
    font-size: 1.2rem;
    cursor: pointer;
    transition: var(--przejscie);
}

.przycisk-anuluj:hover {
    transform: scale(1.2);
}

.przycisk-czat {
    background: transparent;
    border: none;
    color: #3498db;
    font-size: 1.2rem;
    cursor: pointer;
    transition: var(--przejscie);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.przycisk-czat:hover {
    transform: scale(1.2);
    color: #2980b9;
}

.brak-wizyt {
    text-align: center;
    padding: 3rem;
    background: var(--kolor-bialy);
    border-radius: var(--zaokraglenie);
}

.brak-wizyt i {
    font-size: 4rem;
    color: var(--kolor-tekstu-jasny);
    margin-bottom: 1rem;
}

/* Stopka */
.stopka {
    background: var(--kolor-tekstu);
    color: var(--kolor-bialy);
    margin-top: 4rem;
}

.stopka-tresc {
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.kolumna h4 {
    margin-bottom: 1rem;
    position: relative;
}

.kolumna h4::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 50px;
    height: 2px;
    background: var(--kolor-glowny);
}

.stopka-copyright {
    text-align: center;
    padding: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.stopka a:hover {
    opacity: 1 !important;
    padding-left: 0.5rem;
}

/* Animacje */
@keyframes slideZGlowy {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes slideLewo {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slidePrawo {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes pulsuj {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

/* Klasy animacji */
.animacja-slide {
    animation: slideLewo 0.8s ease;
}

.animacja-skala {
    transition: var(--przejscie);
}

.animacja-skala:hover {
    transform: scale(1.05);
}

.animacja-fade {
    animation: fadeIn 1s ease;
}

/* ===============================
   Formularz dodawania opinii
================================= */

.formularz-opinia {
    background: var(--kolor-bialy);
    padding: 2rem;
    border-radius: var(--zaokraglenie);
    box-shadow: var(--cien);
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    animation: slideUp 0.5s ease;
}

.formularz-opinia label {
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: block;
    color: var(--kolor-tekstu);
}

/* Select oceny */
.formularz-opinia select {
    width: 100%;
    padding: 0.8rem 1rem;
    border-radius: 25px;
    border: 2px solid var(--kolor-szary);
    font-size: 1rem;
    transition: var(--przejscie);
    background: var(--kolor-bialy);
    cursor: pointer;
}

.formularz-opinia select:focus {
    outline: none;
    border-color: var(--kolor-glowny);
}

/* Pole komentarza */
.formularz-opinia textarea {
    width: 100%;
    padding: 1rem;
    border-radius: 20px;
    border: 2px solid var(--kolor-szary);
    font-size: 1rem;
    resize: vertical;
    min-height: 120px;
    transition: var(--przejscie);
    font-family: inherit;
}

.formularz-opinia textarea:focus {
    outline: none;
    border-color: var(--kolor-glowny);
}

/* Informacyjna karta wizyty */
.panel-sekcja .wizyta-karta {
    margin-top: 1.5rem;
    grid-template-columns: 1fr;
    text-align: center;
    cursor: default;
}

.panel-sekcja .wizyta-karta:hover {
    transform: none;
    box-shadow: var(--cien);
}

/* Przycisk dodaj opinię (jeśli używasz w panelu) */
.przycisk-opinia {
    background: linear-gradient(135deg, var(--kolor-glowny), var(--kolor-glowny-ciemny));
    color: var(--kolor-bialy);
    border: none;
    padding: 0.6rem 1.2rem;
    border-radius: 25px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--przejscie);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
}

.przycisk-opinia:hover {
    transform: translateY(-2px);
    box-shadow: var(--cien-hover);
}

/* Status dodanej opinii */
.opinia-dodana {
    color: var(--kolor-glowny-ciemny);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
.opinia-dodana i {
    color: var(--kolor-glowny);
}

.menu-link-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.menu-link-admin {
    color: #e74c3c;
}

.menu-link-ksiegowosc {
    color: #16a085;
}

.menu-rola-etykieta {
    margin-left: 0.5rem;
    font-weight: 700;
}

.menu-rola-etykieta--pacjent {
    color: #2ecc71;
}

.menu-rola-etykieta--lekarz {
    color: #3498db;
}

.menu-rola-etykieta--ksiegowosc {
    color: #16a085;
}

.menu-rola-etykieta--admin {
    color: #e74c3c;
}

.powiadomienia-wrapper {
    position: relative;
    margin-right: 0.9rem;
}

.powiadomienia-przycisk {
    position: relative;
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: #f8f9fa;
    color: #2c3e50;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(44,62,80,0.12);
}

.powiadomienia-badge {
    position: absolute;
    top: -4px;
    right: -2px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e74c3c;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 20px;
}

.powiadomienia-badge--hidden {
    display: none;
}

.powiadomienia-panel {
    display: none;
    position: absolute;
    top: 56px;
    right: 0;
    width: min(760px, 96vw);
    max-height: 78vh;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e8ecef;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(44,62,80,0.18);
    z-index: 9999;
}

.powiadomienia-panel--open {
    display: block;
}

.powiadomienia-panel-naglowek {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1rem 0.8rem 1rem;
    border-bottom: 1px solid #eef2f5;
}

.powiadomienia-panel-tytul {
    font-weight: 700;
    color: #2c3e50;
}

.powiadomienia-panel-opis {
    font-size: 0.76rem;
    color: #7f8c8d;
}

.powiadomienia-panel-akcje {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.powiadomienia-panel-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    text-decoration: none;
    color: #2c3e50;
    border: 1px solid #dfe6e9;
    background: #fff;
    border-radius: 8px;
    padding: 0.35rem 0.6rem;
    font-size: 0.8rem;
    font-weight: 700;
}

.powiadomienia-panel-przycisk {
    border: none;
    background: none;
    color: #16a085;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    font-size: 0.82rem;
}

.powiadomienia-panel-lista {
    max-height: calc(78vh - 86px);
    overflow-y: auto;
    padding: 0.6rem 0.7rem;
}

.powiadomienia-panel-ladowanie {
    padding: 1rem;
    color: #7f8c8d;
    text-align: center;
}

.powiadomienia-panel-paginacja {
    display: none;
    padding: 0.55rem 0.8rem 0.8rem 0.8rem;
    border-top: 1px solid #eef2f5;
    background: #fbfcfd;
}

.powiadomienia-panel-paginacja--visible {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.powiadomienia-panel-paginacja-meta {
    font-size: 0.76rem;
    color: #7f8c8d;
}

.powiadomienia-panel-paginacja-actions {
    display: flex;
    gap: 0.45rem;
    align-items: center;
}

.powiadomienia-panel-paginacja-btn {
    padding: 0.38rem 0.62rem;
    border: 1px solid #dfe6e9;
    background: #fff;
    color: #2c3e50;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
}

.powiadomienia-panel-paginacja-btn--disabled,
.powiadomienia-panel-paginacja-btn:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.powiadomienia-panel-empty {
    padding: 1.2rem;
    color: #7f8c8d;
    text-align: center;
}

.powiadomienie-item {
    display: block;
    text-decoration: none;
    color: inherit;
    margin: 0.28rem 0;
    padding: 0.72rem 0.8rem;
    border-radius: 12px;
}

.powiadomienie-item--read {
    border: 1px solid #edf1f4;
    background: #fff;
}

.powiadomienie-item--unread {
    border: 1px solid #d8ecff;
    background: #f8fcff;
}

.powiadomienie-item__layout {
    display: flex;
    gap: 0.62rem;
    align-items: flex-start;
}

.powiadomienie-item__dot {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    margin-top: 0.38rem;
    border-radius: 50%;
    background: #95a5a6;
}

.powiadomienie-item__dot--success {
    background: #2ecc71;
}

.powiadomienie-item__dot--warning {
    background: #f39c12;
}

.powiadomienie-item__dot--message {
    background: #3498db;
}

.powiadomienie-item__dot--error {
    background: #e74c3c;
}

.powiadomienie-item__dot--default {
    background: #95a5a6;
}

.powiadomienie-item__content {
    min-width: 0;
    flex: 1;
}

.powiadomienie-item__header {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
    flex-wrap: wrap;
}

.powiadomienie-item__title-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1 1 260px;
    min-width: 0;
}

.powiadomienie-item__title {
    color: #2c3e50;
    font-size: 0.86rem;
    min-width: 0;
    line-height: 1.3;
}

.powiadomienie-item__action-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.16rem 0.42rem;
    border-radius: 999px;
    background: #fff4e6;
    color: #d35400;
    border: 1px solid #f8c471;
    font-size: 0.66rem;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1.2;
}

.powiadomienie-item__date {
    font-size: 0.7rem;
    color: #95a5a6;
    white-space: nowrap;
    flex: 0 0 auto;
    margin-left: auto;
}

.powiadomienie-item__message {
    margin-top: 0.22rem;
    color: #5d6d7e;
    font-size: 0.78rem;
    line-height: 1.38;
    white-space: normal;
    word-break: break-word;
}

.demo-alert-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    padding: 1rem;
}

.demo-alert-modal--open {
    display: flex;
}

.demo-alert-modal__window {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.demo-alert-modal__header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.95rem 1rem;
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: #fff;
    font-weight: 700;
}

.demo-alert-modal__body {
    padding: 1rem;
    color: #2c3e50;
    line-height: 1.5;
}

.demo-alert-modal__footer {
    display: flex;
    justify-content: flex-end;
    padding: 0 1rem 1rem 1rem;
}

.demo-alert-modal__button {
    border: none;
    border-radius: 10px;
    padding: 0.55rem 1rem;
    background: #2ecc71;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.input-dostepnosc--ok {
    border-color: var(--kolor-glowny) !important;
}

.input-dostepnosc--blad {
    border-color: #dc3545 !important;
}

.modal-formularz-ukryty {
    display: none;
}

.zgody-rejestracji {
    margin: 0.8rem 0 1rem 0;
    padding: 0.9rem 1rem;
    background: #f8f9fa;
    border-radius: 12px;
    border: 1px solid #e9ecef;
}

.zgoda-rejestracji {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    cursor: pointer;
    color: #2c3e50;
    line-height: 1.45;
}

.zgoda-rejestracji + .zgoda-rejestracji {
    margin-top: 0.75rem;
}

.zgoda-rejestracji input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 0.15rem;
}

.zgoda-rejestracji a {
    color: #3498db;
    font-weight: 600;
}

.stopka-linki {
    margin-top: 1rem;
}

.stopka-link {
    color: white;
    text-decoration: none;
    display: block;
    margin: 0.5rem 0;
    opacity: 0.9;
    transition: opacity 0.3s;
}

.stopka-link:hover,
.stopka-link:focus {
    opacity: 1;
}

.stopka-link-inline {
    color: white;
    text-decoration: none;
    opacity: 0.9;
    transition: opacity 0.3s;
}

.stopka-link-inline:hover,
.stopka-link-inline:focus {
    opacity: 1;
}

.stopka-link-podkreslony {
    color: white;
    text-decoration: underline;
    opacity: 0.95;
    transition: opacity 0.3s;
}

.stopka-link-podkreslony:hover,
.stopka-link-podkreslony:focus {
    opacity: 1;
}

.stopka-odstep-duzy {
    margin-top: 1rem;
}

.stopka-odstep-sredni {
    margin-top: 0.75rem;
}

.stopka-odstep-maly {
    margin-top: 0.55rem;
}

.stopka-przelacznik-widoku {
    padding-top: 0.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.stopka-link-prawny {
    color: white;
    text-decoration: underline;
}

.komunikat-brak-dostepu {
    text-align: center;
    padding: 4rem;
    background: white;
    margin: 2rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.komunikat-brak-dostepu-ikona {
    font-size: 4rem;
    color: #e74c3c;
    margin-bottom: 1rem;
}

.komunikat-brak-dostepu-tytul {
    color: #e74c3c;
    margin-bottom: 1rem;
}

.komunikat-brak-dostepu-opis {
    color: #7f8c8d;
    font-size: 1.2rem;
    margin-bottom: 2rem;
}

.komunikat-brak-dostepu-link {
    display: inline-block;
    padding: 1rem 2rem;
    background: #2ecc71;
    color: white;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 600;
}

.lekarz-toast-komunikat {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    background: #2ecc71;
    color: white;
    padding: 0.9rem 1.1rem;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);
    min-width: 260px;
    max-width: 420px;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 1;
    transform: translateY(0);
}

.lekarz-toast-komunikat--closing {
    opacity: 0;
    transform: translateY(-8px);
}

.lekarz-hero {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    padding: 2rem;
    border-radius: 15px;
    margin-bottom: 2rem;
}

.lekarz-hero-opis {
    opacity: 0.95;
    margin: 0;
}

.lekarz-sekcja-odstep {
    margin-bottom: 2rem;
}

.lekarz-karta {
    background: #ffffff;
    border: 1px solid #dfe6e9;
    border-radius: 15px;
}

.lekarz-karta-padding {
    padding: 1.2rem 1.3rem;
}

.lekarz-flex-between {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.lekarz-tytul-ikona {
    font-size: 1.05rem;
    font-weight: 700;
    color: #2c3e50;
}

.lekarz-opis-pomocniczy {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.lekarz-pill-licznik {
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: #f8f9fa;
    color: #2c3e50;
    font-weight: 700;
    white-space: nowrap;
}

.lekarz-alert-sukces {
    margin-top: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 12px;
    background: #eefaf3;
    color: #1e8449;
    border: 1px solid #d5f5e3;
}

.lekarz-grid-operacyjne {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 0.85rem;
    margin-top: 1rem;
}

.lekarz-kafelek-operacyjny {
    display: block;
    text-decoration: none;
    color: #2c3e50;
    border: 1px solid #ecf0f1;
    border-left: 5px solid var(--accent-color, #3498db);
    background: #fdfefe;
    border-radius: 12px;
    padding: 1rem;
    box-shadow: 0 6px 18px rgba(44,62,80,0.06);
}

.lekarz-kafelek-operacyjny--green { --accent-color: #2ecc71; }
.lekarz-kafelek-operacyjny--blue { --accent-color: #3498db; }
.lekarz-kafelek-operacyjny--orange { --accent-color: #f39c12; }
.lekarz-kafelek-operacyjny--violet { --accent-color: #8e44ad; }
.lekarz-kafelek-operacyjny--red { --accent-color: #e74c3c; }

.lekarz-kafelek-operacyjny-uklad {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

.lekarz-kafelek-operacyjny-etykieta {
    font-size: 0.88rem;
    color: #7f8c8d;
    font-weight: 600;
}

.lekarz-kafelek-operacyjny-ikona {
    color: var(--accent-color, #3498db);
}

.lekarz-kafelek-operacyjny-liczba {
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--accent-color, #3498db);
    margin-top: 0.35rem;
}

.lekarz-kafelek-operacyjny-strzalka {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--accent-color, #3498db);
    color: white;
    font-weight: 700;
}

.lekarz-kafelek-operacyjny-opis {
    margin-top: 0.55rem;
    color: #5d6d7e;
    font-size: 0.9rem;
    line-height: 1.45;
}

.lekarz-staty-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.lekarz-karta-gradient {
    background: linear-gradient(135deg, var(--gradient-from, #3498db), var(--gradient-to, #2980b9));
    color: #fff;
    border-radius: 10px;
    padding: 0.75rem 0.85rem;
}

.lekarz-karta-gradient--green { --gradient-from: #2ecc71; --gradient-to: #27ae60; }
.lekarz-karta-gradient--red { --gradient-from: #e74c3c; --gradient-to: #c0392b; }
.lekarz-karta-gradient--orange { --gradient-from: #f39c12; --gradient-to: #e67e22; }
.lekarz-karta-gradient--teal { --gradient-from: #1abc9c; --gradient-to: #16a085; }

.lekarz-karta-gradient-opis {
    opacity: 0.95;
    font-size: 0.85rem;
}

.lekarz-karta-gradient-wartosc {
    font-size: 1.3rem;
    font-weight: 700;
}

.lekarz-karta-panel {
    background: white;
    border-radius: 15px;
    overflow: hidden;
}

.lekarz-karta-panel-naglowek {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #ecf0f1;
}

.lekarz-karta-panel-etykieta {
    cursor: pointer;
    font-size: 1.02rem;
    font-weight: 700;
    color: #2c3e50;
}

.lekarz-przycisk-zwijania {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 10px;
    background: #2c3e50;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    font-weight: 700;
}

.lekarz-panel-zakladek {
    display: flex;
    border-bottom: 2px solid #ecf0f1;
    flex-wrap: wrap;
}

.lekarz-tab-padding {
    padding: 2rem;
}

.lekarz-komunikat-info {
    margin-top: 0.8rem;
    padding: 0.85rem 1rem;
    background: #eef6ff;
    border-left: 4px solid #3498db;
    border-radius: 10px;
    color: #2c3e50;
}

.lekarz-filtr-form {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
}

.lekarz-filtr-select {
    min-width: 260px;
    flex: 1;
    max-width: 420px;
    padding: 0.6rem 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
}

.lekarz-przycisk-filtr {
    padding: 0.6rem 1rem;
    border: none;
    border-radius: 9px;
    background: #3498db;
    color: white;
    font-weight: 600;
    cursor: pointer;
}

.lekarz-przycisk-czysc {
    padding: 0.6rem 1rem;
    border-radius: 9px;
    text-decoration: none;
    background: #ecf0f1;
    color: #2c3e50;
    font-weight: 600;
}

.lekarz-pusty-stan {
    text-align: center;
    color: #7f8c8d;
    padding: 3rem;
}

.lekarz-grupa-wizyt {
    margin-top: 1.25rem;
}

.lekarz-grupa-wizyt-tytul {
    margin: 0 0 0.75rem 0;
    color: #2c3e50;
    font-size: 1.1rem;
}

.lekarz-grupa-wizyt-licznik {
    color: #7f8c8d;
    font-weight: 500;
}

.lekarz-grupa-wizyt-pusty {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.8rem 1rem;
    color: #95a5a6;
    font-size: 0.92rem;
}

.lekarz-grid-wizyt {
    display: grid;
    gap: 0.85rem;
}

.lekarz-wizyta-karta {
    background: #f8f9fa;
    padding: 1rem 1.15rem;
    border-radius: 12px;
    border-left: 4px solid var(--status-accent, #3498db);
}

.lekarz-wizyta-karta--planned { --status-accent: #2ecc71; }
.lekarz-wizyta-karta--done { --status-accent: #3498db; }
.lekarz-wizyta-karta--cancelled { --status-accent: #e74c3c; }

.lekarz-wizyta-karta-uklad {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.lekarz-wizyta-osoba {
    font-weight: 700;
    color: #2c3e50;
}

.lekarz-badge-pill {
    margin-left: 0.4rem;
    display: inline-block;
    padding: 0.14rem 0.48rem;
    border-radius: 999px;
    border: 1px solid var(--badge-border, #d7dde4);
    background: var(--badge-bg, #eef1f5);
    color: var(--badge-color, #6c757d);
    font-weight: 700;
    font-size: 0.78rem;
}

.lekarz-badge-pill--medium {
    padding: 0.12rem 0.45rem;
    font-weight: 600;
    font-size: 0.84rem;
}

.lekarz-badge-status {
    display: inline-block;
    padding: 0.3rem 0.65rem;
    border-radius: 10px;
    background: var(--badge-bg, #eef1f5);
    color: var(--badge-color, #6c757d);
    font-weight: 600;
}

.lekarz-meta-linia {
    margin-top: 0.2rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.lekarz-meta-linia .fa-clock + span,
.lekarz-meta-linia .lekarz-meta-koniec {
    margin-left: 0.35rem;
}

.lekarz-odstep-ikony {
    margin-left: 0.45rem;
}

.lekarz-status-tryb {
    margin-top: 0.2rem;
    color: #3498db;
    font-size: 0.9rem;
}

.lekarz-status-tryb-detal {
    margin-left: 0.45rem;
    color: #7f8c8d;
}

.lekarz-notka {
    margin-top: 0.2rem;
    font-size: 0.88rem;
    color: #2c3e50;
}

.lekarz-notka-status {
    margin-top: 0.2rem;
    font-size: 0.88rem;
}

.lekarz-akcje {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
}

.lekarz-status-glowny {
    display: inline-block;
    padding: 0.45rem 0.75rem;
    border-radius: 10px;
    background: var(--status-bg, #ecf0f1);
    border: 2px solid #ecf0f1;
    color: var(--status-color, #2c3e50);
    font-weight: 600;
}

.lekarz-przycisk-akcji {
    display: inline-block;
    padding: 0.45rem 0.8rem;
    border-radius: 10px;
    color: white;
    text-decoration: none;
    font-weight: 600;
    border: none;
    cursor: pointer;
    background: var(--button-bg, #3498db);
}

.lekarz-przycisk-akcji--online {
    border: 2px solid #27ae60;
    background: #2ecc71;
}

.lekarz-przycisk-akcji--odbyta {
    background: #16a085;
}

.lekarz-przycisk-akcji--ics {
    background: #16a085;
}

.lekarz-przycisk-akcji--google {
    background: #db4437;
}

.lekarz-przycisk-akcji--disabled {
    background: #ecf0f1;
    color: #7f8c8d;
}

.lekarz-form-inline {
    margin: 0;
}

.lekarz-powod-anulacji {
    margin-top: 0.45rem;
    color: #7f8c8d;
    font-size: 0.85rem;
}

.lekarz-paginacja {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.lekarz-paginacja-link,
.lekarz-paginacja-span {
    display: inline-block;
    padding: 0.4rem 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    text-decoration: none;
    color: #2c3e50;
    background: #fff;
    font-weight: 600;
}

.lekarz-paginacja-span {
    border-color: #ecf0f1;
    color: #b2bec3;
    background: #f8f9fa;
}

.lekarz-paginacja-link--active {
    border-color: #3498db;
    color: #fff;
    background: #3498db;
    font-weight: 700;
}

.panel-komunikat-info {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    background: #eef6ff;
    border-left: 4px solid #3498db;
    border-radius: 10px;
    color: #2c3e50;
}

.panel-komunikat-info-link {
    color: #3498db;
    text-decoration: underline;
}

.panel-kolejka-oferty {
    margin-bottom: 1rem;
    padding: 1rem;
    background: linear-gradient(135deg, #fff8e8 0%, #fff2cc 100%);
    border: 1px solid #f6d58f;
    border-radius: 14px;
}

.panel-kolejka-oferty-naglowek {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.panel-kolejka-oferty-tytul {
    font-size: 1rem;
    font-weight: 700;
    color: #8a5b00;
}

.panel-kolejka-oferty-opis {
    margin-top: 0.25rem;
    color: #7a6224;
    font-size: 0.92rem;
}

.panel-kolejka-oferty-licznik {
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: #fff;
    color: #8a5b00;
    font-weight: 700;
    font-size: 0.86rem;
    border: 1px solid #f0c96f;
}

.panel-kolejka-oferty-grid {
    display: grid;
    gap: 0.8rem;
}

.panel-kolejka-oferta {
    background: #fff;
    border: 1px solid #f3d28f;
    border-radius: 12px;
    padding: 0.95rem 1rem;
}

.panel-kolejka-oferta-uklad {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.panel-kolejka-oferta-lekarz {
    font-weight: 700;
    color: #2c3e50;
}

.panel-kolejka-oferta-meta {
    margin-top: 0.2rem;
    color: #6b7280;
    font-size: 0.92rem;
}

.panel-kolejka-oferta-szczegoly {
    margin-top: 0.25rem;
    color: #8a5b00;
    font-size: 0.92rem;
}

.panel-kolejka-oferta-waznosc {
    padding: 0.45rem 0.65rem;
    border-radius: 10px;
    background: #fff7db;
    color: #8a5b00;
    border: 1px solid #f0cf82;
    font-size: 0.86rem;
    font-weight: 700;
}

.panel-kolejka-oferta-akcje {
    margin-top: 0.75rem;
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

.panel-kolejka-oferta-form {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    align-items: flex-end;
}

.panel-kolejka-oferta-etykieta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    color: #4b5563;
    font-size: 0.88rem;
}

.panel-kolejka-oferta-select {
    min-width: 240px;
    padding: 0.55rem 0.65rem;
    border: 1px solid #d9dee7;
    border-radius: 9px;
}

.panel-przycisk-akceptuj {
    background: #27ae60;
}

.panel-przycisk-odrzuc {
    padding: 0.62rem 0.95rem;
    background: #fff;
    color: #c0392b;
    border: 1px solid #efb1aa;
    border-radius: 9px;
    cursor: pointer;
    font-weight: 700;
}

.panel-filtr-form {
    margin-bottom: 1rem;
    display: flex;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
}

.panel-filtr-select {
    min-width: 260px;
    flex: 1;
    max-width: 460px;
    padding: 0.6rem 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
}

.panel-przycisk-filtr {
    padding: 0.6rem 0.95rem;
    border: none;
    border-radius: 9px;
    background: #3498db;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.panel-przycisk-czysc {
    padding: 0.6rem 0.95rem;
    border-radius: 9px;
    background: #f1f2f6;
    color: #2c3e50;
    text-decoration: none;
    font-weight: 600;
}

.lekarz-cennik-grid {
    display: grid;
    gap: 2rem;
    margin-top: 1.5rem;
}

.lekarz-cennik-karta {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 15px;
}

.lekarz-cennik-tytul {
    margin-bottom: 1rem;
}

.lekarz-form-grid {
    display: grid;
    gap: 1rem;
    align-items: end;
}

.lekarz-form-grid--cena-lista {
    grid-template-columns: 1fr auto;
    margin-bottom: 1.25rem;
}

.lekarz-form-grid--pozycja {
    grid-template-columns: 1.2fr 0.9fr 0.8fr 0.9fr auto;
}

.lekarz-form-grid--usluga {
    grid-template-columns: 1.5fr 1fr auto;
}

.lekarz-form-grid--pozycja-edycja {
    grid-template-columns: 1.2fr 0.9fr 0.8fr 0.9fr auto auto;
    gap: 0.65rem;
}

.lekarz-form-grid--usluga-edycja {
    grid-template-columns: 1.2fr 0.9fr 0.8fr auto auto;
    gap: 0.65rem;
}

.lekarz-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.lekarz-input,
.lekarz-select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 1rem;
}

.lekarz-input-sm,
.lekarz-select-sm {
    width: 100%;
    padding: 0.6rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.lekarz-przycisk-zielony {
    padding: 0.75rem 1.5rem;
    background: #2ecc71;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

.lekarz-przycisk-niebieski {
    padding: 0.75rem 1.5rem;
    background: #3498db;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

.lekarz-przycisk-fioletowy {
    padding: 0.75rem 1.5rem;
    background: #8e44ad;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

.lekarz-przycisk-niebieski-sm,
.lekarz-przycisk-zielony-sm,
.lekarz-przycisk-czerwony-sm {
    padding: 0.6rem 0.85rem;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.lekarz-przycisk-niebieski-sm {
    background: #3498db;
    font-weight: 600;
}

.lekarz-przycisk-zielony-sm {
    background: #2ecc71;
    font-weight: 600;
}

.lekarz-przycisk-czerwony-sm {
    background: #e74c3c;
}

.lekarz-masowa-zmiana {
    margin-top: 1.25rem;
    padding: 0.85rem 1rem;
    border: 1px solid #d6eaf8;
    background: #eef6ff;
    border-radius: 10px;
    display: grid;
    grid-template-columns: auto auto auto 1fr auto;
    gap: 0.65rem;
    align-items: center;
}

.lekarz-checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
    color: #2c3e50;
}

.lekarz-licznik-pomocniczy {
    font-size: 0.9rem;
    color: #5d6d7e;
}

.lekarz-lista-kart {
    margin-top: 1.25rem;
    display: grid;
    gap: 0.75rem;
}

.lekarz-lista-karta {
    background: white;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.85rem 1rem;
}

.lekarz-lista-karta-meta {
    margin-bottom: 0.55rem;
    color: #7f8c8d;
    font-size: 0.85rem;
}

.lekarz-checkbox-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-right: 0.45rem;
    color: #2c3e50;
    font-weight: 600;
}

.lekarz-badge-domyslna {
    margin-left: 0.45rem;
    color: #3498db;
    font-weight: 600;
}

.lekarz-model-box {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    border: 1px solid #d6eaf8;
    background: #eef6ff;
    color: #2c3e50;
}

.lekarz-model-box-tytul {
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.lekarz-model-box-opis {
    font-size: 0.9rem;
    color: #5d6d7e;
}

.lekarz-model-box-form {
    margin-top: 0.75rem;
}

.lekarz-akapit-pomocniczy {
    color: #7f8c8d;
    margin-bottom: 1rem;
}

.lekarz-akapit-pomocniczy-lg {
    color: #7f8c8d;
    margin-bottom: 1.25rem;
}

.lekarz-pusty-box {
    margin-top: 1rem;
    padding: 0.8rem 1rem;
    border-radius: 10px;
    background: white;
    border: 1px solid #ecf0f1;
    color: #7f8c8d;
}

.panel-grupa-wizyt {
    margin-bottom: 1.2rem;
}

.panel-grupa-wizyt-tytul {
    margin: 0 0 0.7rem 0;
    color: #2c3e50;
    font-size: 1.15rem;
}

.panel-grupa-wizyt-licznik {
    color: #7f8c8d;
    font-weight: 500;
}

.panel-grupa-wizyt-pusty {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    color: #95a5a6;
    font-size: 0.92rem;
}

.panel-grid-wizyt {
    display: grid;
    gap: 0.75rem;
}

.panel-wizyta-karta {
    background: white;
    border: 1px solid #ecf0f1;
    border-left: 4px solid #3498db;
    border-radius: 10px;
    padding: 0.85rem 1rem;
}

.panel-wizyta-karta-uklad {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.panel-wizyta-lekarz {
    font-weight: 700;
    color: #2c3e50;
}

.panel-wizyta-specjalizacja {
    font-weight: 500;
    color: #7f8c8d;
}

.panel-wizyta-meta {
    margin-top: 0.2rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.panel-wizyta-tryb {
    margin-top: 0.2rem;
    color: #3498db;
    font-size: 0.9rem;
}

.panel-wizyta-tryb-detal {
    margin-left: 0.45rem;
    color: #7f8c8d;
}

.panel-wizyta-notka {
    margin-top: 0.2rem;
    color: #2c3e50;
    font-size: 0.88rem;
}

.panel-wizyta-subskrypcja {
    margin-top: 0.25rem;
    color: #16a085;
    font-size: 0.88rem;
    font-weight: 600;
}

.panel-wizyta-akcje {
    margin-top: 0.65rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.panel-przycisk-platnosc {
    background: #f39c12;
}

.panel-przycisk-pdf {
    background: #34495e;
}

.panel-przycisk-faktura {
    background: #1f618d;
}

.panel-przycisk-ics {
    background: #16a085;
}

.panel-przycisk-google {
    background: #db4437;
}

.lekarz-statystyki-grid {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.lekarz-stat-card {
    background: linear-gradient(135deg, var(--gradient-from, #3498db), var(--gradient-to, #2980b9));
    padding: 1.4rem;
    border-radius: 15px;
    text-align: center;
    color: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.lekarz-stat-card--green { --gradient-from: #2ecc71; --gradient-to: #27ae60; }
.lekarz-stat-card--blue { --gradient-from: #3498db; --gradient-to: #2980b9; }
.lekarz-stat-card--violet { --gradient-from: #9b59b6; --gradient-to: #8e44ad; }

.lekarz-stat-icon {
    font-size: 2rem;
    margin-bottom: 0.8rem;
}

.lekarz-stat-value {
    font-size: 1.9rem;
    margin-bottom: 0.45rem;
}

.lekarz-stat-label {
    opacity: 0.9;
    margin: 0;
}

.lekarz-ustawienia-grid {
    display: grid;
    gap: 2rem;
    margin-top: 2rem;
}

.lekarz-ustawienia-karta-biala {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    border: 2px solid #ecf0f1;
}

.lekarz-ustawienia-karta-szara {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 15px;
}

.lekarz-ustawienia-tytul {
    margin-bottom: 1.5rem;
}

.lekarz-profil-lista {
    display: grid;
    gap: 1rem;
}

.lekarz-profil-wiersz {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem;
    background: #f8f9fa;
    border-radius: 10px;
}

.lekarz-profil-etykieta {
    color: #7f8c8d;
}

.lekarz-akapit-opis {
    color: #7f8c8d;
    margin-bottom: 1.5rem;
}

.lekarz-form-grid--dwa-pola {
    grid-template-columns: 1fr 1fr auto;
}

.lekarz-avatar-box {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.lekarz-avatar-podglad {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #ecf0f1;
    background: #fff;
}

.lekarz-avatar-opis {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.lekarz-form-grid--plik {
    grid-template-columns: 1fr auto;
}

.lekarz-file-input {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 1rem;
    background: #fff;
}

.lekarz-licznik-konta {
    display: block;
    margin-top: 0.45rem;
    color: #7f8c8d;
    font-size: 0.85rem;
}

.lekarz-tekstarea {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 1rem;
    resize: vertical;
    margin-bottom: 1rem;
}

.lekarz-link-followup {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 1.15rem;
    background: #3498db;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 600;
}

.lekarz-status-profil {
    color: #7f8c8d;
    margin-bottom: 1.5rem;
}

.lekarz-status-profil-ok {
    color: #2ecc71;
}

.lekarz-status-profil-off {
    color: #e74c3c;
}

.lekarz-form-inline-flex {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.lekarz-przycisk-czerwony {
    padding: 0.75rem 1.5rem;
    background: #e74c3c;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

.panel-sekcja-tytul {
    margin: 0 0 1rem 0;
    color: #2c3e50;
}

.panel-alert-sukces {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    background: #eefaf3;
    border: 1px solid #cfe9da;
    border-radius: 10px;
    color: #1e6b45;
}

.panel-konto-zwrotu {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    color: #2c3e50;
}

.panel-konto-zwrotu-ikona {
    color: #3498db;
}

.panel-konto-zwrotu-opis {
    color: #7f8c8d;
}

.panel-zwrot-powod {
    margin: 0.5rem 0 0 0;
    color: #2c3e50;
    font-size: 0.92rem;
}

.panel-zwrot-alert-skarbonka {
    margin-top: 0.75rem;
    padding: 0.75rem 0.85rem;
    background: #eefaf3;
    border: 1px solid #cfe9da;
    border-radius: 10px;
    color: #1e6b45;
}

.panel-zwrot-alert-wyslany {
    margin-top: 0.75rem;
    padding: 0.75rem 0.85rem;
    background: #eef6ff;
    border: 1px solid #cfe2f3;
    border-radius: 10px;
    color: #1f618d;
}

.panel-badge-status {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: var(--status-bg, #ecf0f1);
    color: var(--status-color, #2c3e50);
    font-weight: 700;
}

.panel-badge-status--ok { --status-bg: #d4edda; --status-color: #155724; }
.panel-badge-status--pending { --status-bg: #fff3cd; --status-color: #856404; }
.panel-badge-status--danger { --status-bg: #f8d7da; --status-color: #721c24; }
.panel-badge-status--muted { --status-bg: #ecf0f1; --status-color: #2c3e50; }

.panel-form-zwrot {
    display: grid;
    gap: 0.45rem;
    justify-items: end;
}

.panel-input-zwrot {
    padding: 0.45rem 0.55rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    min-width: 220px;
}

.panel-przycisk-potwierdz {
    padding: 0.55rem 0.85rem;
    background: #1f618d;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.panel-akcje-prawo {
    margin-top: 0.55rem;
    text-align: right;
}

.panel-przycisk-pdf-sm {
    display: inline-block;
    padding: 0.55rem 0.85rem;
    background: #34495e;
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
}

.panel-form-list {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.panel-komunikat-finanse {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    background: #eef6ff;
    border: 1px solid #d6eaf8;
    border-radius: 10px;
    color: #2c3e50;
}

.panel-karta-biala {
    margin-bottom: 1rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1rem;
}

.panel-karta-biala-naglowek {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-bottom: 0.9rem;
}

.panel-karta-biala-tytul {
    margin: 0;
    color: #2c3e50;
}

.panel-karta-biala-opis {
    margin-top: 0.25rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.panel-domyslna-metoda {
    padding: 0.55rem 0.75rem;
    background: #eefaf3;
    border: 1px solid #cfe9da;
    border-radius: 10px;
    color: #1e6b45;
    font-size: 0.88rem;
}

.panel-brak-metod {
    margin-bottom: 0.9rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.lekarz-followup-opis {
    color: #7f8c8d;
    margin-top: 0.5rem;
}

.lekarz-followup-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: var(--badge-bg, #eef6ff);
    color: var(--badge-color, #1d4f91);
    font-weight: 700;
    font-size: 0.82rem;
}

.lekarz-followup-badge--custom { --badge-bg: #eafaf1; --badge-color: #1e8449; }
.lekarz-followup-badge--default { --badge-bg: #eef6ff; --badge-color: #1d4f91; }

.lekarz-followup-badges {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-top: 0.6rem;
}

.lekarz-followup-badge-small {
    display: inline-block;
    padding: 0.24rem 0.65rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    background: var(--badge-bg, #eef6ff);
    color: var(--badge-color, #1d4f91);
}

.lekarz-followup-karta {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 15px;
    margin-top: 1rem;
}

.lekarz-followup-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.lekarz-followup-label {
    font-weight: 600;
    color: #2c3e50;
}

.lekarz-followup-select {
    padding: 0.6rem 0.75rem;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
    min-width: 220px;
}

.lekarz-followup-form {
    display: grid;
    gap: 0.85rem;
}

.lekarz-followup-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    color: #2c3e50;
    font-size: 0.92rem;
}

.lekarz-followup-input {
    width: 100%;
    padding: 0.7rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 0.95rem;
}

.lekarz-followup-akcje {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.lekarz-przycisk-neutralny {
    padding: 0.7rem 1.15rem;
    background: #ecf0f1;
    color: #2c3e50;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

.panel-metody-grid {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.panel-metoda-karta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: center;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    padding: 0.75rem 0.85rem;
}

.panel-metoda-etykiety {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.panel-metoda-nazwa {
    color: #2c3e50;
}

.panel-metoda-badge {
    display: inline-block;
    padding: 0.14rem 0.5rem;
    border-radius: 999px;
    background: var(--badge-bg, #eef6ff);
    color: var(--badge-color, #1f618d);
    font-size: 0.75rem;
    font-weight: 700;
}

.panel-metoda-badge--info { --badge-bg: #eef6ff; --badge-color: #1f618d; }
.panel-metoda-badge--ok { --badge-bg: #eafaf1; --badge-color: #1e8449; }

.panel-metoda-opis {
    margin-top: 0.2rem;
    color: #7f8c8d;
    font-size: 0.88rem;
}

.panel-metoda-akcje {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.panel-przycisk-niebieski-xs,
.panel-przycisk-czerwony-xs {
    padding: 0.48rem 0.75rem;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.panel-przycisk-niebieski-xs {
    background: #3498db;
}

.panel-przycisk-czerwony-xs {
    background: #e74c3c;
}

.panel-demo-box {
    padding: 0.75rem;
    border-radius: 9px;
    background: #f4f6f7;
    color: #7f8c8d;
    font-weight: 600;
}

.panel-form-grid {
    display: grid;
    gap: 0.8rem;
}

.panel-form-grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.panel-field {
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    font-size: 0.88rem;
    color: #2c3e50;
}

.panel-input,
.panel-select {
    padding: 0.6rem 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
}

.panel-checkbox-line {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: #2c3e50;
    font-size: 0.9rem;
}

.panel-form-opis {
    font-size: 0.82rem;
    color: #7f8c8d;
}

.panel-przycisk-zielony {
    padding: 0.62rem 0.95rem;
    border: none;
    border-radius: 9px;
    background: #2ecc71;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.panel-skarbonka-grid {
    margin-bottom: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.9rem;
}

.panel-skarbonka-karta-zielona {
    background: #ecfdf3;
    border: 1px solid #b7e4c7;
    border-radius: 12px;
    padding: 1rem;
}

.panel-skarbonka-karta-biala {
    background: #ffffff;
    border: 1px solid #dfe6e9;
    border-radius: 12px;
    padding: 1rem;
}

.panel-skarbonka-etykieta-zielona {
    font-size: 0.84rem;
    color: #2f6b53;
}

.panel-skarbonka-saldo {
    margin-top: 0.35rem;
    font-size: 2rem;
    font-weight: 800;
    color: #15803d;
}

.panel-skarbonka-meta {
    margin-top: 0.35rem;
    color: #2f6b53;
    font-size: 0.84rem;
}

.panel-skarbonka-etykieta {
    font-size: 0.84rem;
    color: #52606d;
}

.panel-skarbonka-form-inline {
    margin-top: 0.55rem;
    display: flex;
    gap: 0.6rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.panel-skarbonka-label {
    display: block;
    margin-bottom: 0.3rem;
    color: #7f8c8d;
    font-size: 0.82rem;
    font-weight: 600;
}

.panel-skarbonka-input {
    padding: 0.55rem 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    min-width: 140px;
}

.panel-przycisk-teal,
.panel-przycisk-pomaranczowy,
.panel-przycisk-ciemny {
    padding: 0.58rem 0.9rem;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.panel-przycisk-teal {
    background: #16a085;
}

.panel-przycisk-ciemny {
    background: #34495e;
}

.panel-przycisk-pomaranczowy {
    background: var(--button-bg, #d35400);
    cursor: var(--button-cursor, pointer);
}

.panel-przycisk-pomaranczowy--enabled { --button-bg: #d35400; --button-cursor: pointer; }
.panel-przycisk-pomaranczowy--disabled { --button-bg: #95a5a6; --button-cursor: not-allowed; }

.panel-skarbonka-opis {
    margin-top: 0.55rem;
    color: #7f8c8d;
    font-size: 0.85rem;
}

.panel-skarbonka-alert {
    margin-top: 0.55rem;
    color: #c0392b;
    font-size: 0.82rem;
}

.lekarz-tabela-wrapper {
    overflow-x: auto;
}

.lekarz-tabela {
    width: 100%;
    border-collapse: collapse;
}

.lekarz-tabela-head-row {
    background: #f8f9fa;
}

.lekarz-th-left,
.lekarz-td {
    padding: 0.85rem;
    text-align: left;
}

.lekarz-tr-border {
    border-bottom: 1px solid #ecf0f1;
}

.lekarz-td-meta {
    color: #7f8c8d;
}

.lekarz-td-stawka {
    font-weight: 600;
}

.lekarz-td-kwota {
    color: #2980b9;
    font-weight: 600;
}

.lekarz-paginacja-mt {
    margin-top: 0.9rem;
}

.panel-karta-subtelna {
    margin-bottom: 1rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0.95rem;
}

.panel-sekcja-subtytul {
    margin: 0 0 0.7rem 0;
    color: #2c3e50;
}

.panel-tekst-pusty {
    color: #7f8c8d;
    font-size: 0.92rem;
}

.panel-lista-grid {
    display: grid;
    gap: 0.6rem;
}

.panel-operacja-karta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
    align-items: center;
    border: 1px solid #edf2f7;
    border-radius: 9px;
    padding: 0.65rem 0.75rem;
}

.panel-operacja-opis {
    font-size: 0.9rem;
    color: #2c3e50;
}

.panel-operacja-typ {
    font-weight: 700;
    color: var(--accent-color, #34495e);
}

.panel-operacja-typ--green { --accent-color: #16a085; }
.panel-operacja-typ--orange { --accent-color: #d35400; }
.panel-operacja-typ--violet { --accent-color: #8e44ad; }
.panel-operacja-typ--dark { --accent-color: #34495e; }

.panel-operacja-meta {
    color: #7f8c8d;
    font-size: 0.83rem;
}

.panel-operacja-prawo {
    text-align: right;
}

.panel-operacja-kwota {
    font-weight: 800;
    color: var(--amount-color, #16a085);
}

.panel-operacja-kwota--positive { --amount-color: #16a085; }
.panel-operacja-kwota--negative { --amount-color: #e67e22; }

.panel-badge-status-sm {
    display: inline-block;
    margin-top: 0.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: var(--status-bg, #ecf0f1);
    color: var(--status-color, #2c3e50);
    font-size: 0.75rem;
    font-weight: 700;
}

.panel-badge-status-sm--ok { --status-bg: #d4edda; --status-color: #155724; }
.panel-badge-status-sm--pending { --status-bg: #fff3cd; --status-color: #856404; }
.panel-badge-status-sm--danger { --status-bg: #f8d7da; --status-color: #721c24; }
.panel-badge-status-sm--muted { --status-bg: #ecf0f1; --status-color: #2c3e50; }

.panel-akcje-pdf-sm {
    margin-top: 0.45rem;
}

.panel-przycisk-pdf-xs,
.panel-przycisk-faktura-xs {
    display: inline-block;
    padding: 0.3rem 0.6rem;
    color: white;
    border-radius: 7px;
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 700;
}

.panel-przycisk-pdf-xs {
    background: #34495e;
}

.panel-przycisk-faktura-xs {
    background: #1f618d;
    margin-left: 0.35rem;
}

.panel-przycisk-faktura-xs-lg {
    padding: 0.55rem 0.85rem;
    border-radius: 8px;
    font-size: inherit;
}

.panel-filtr-inline {
    margin-bottom: 1rem;
    display: flex;
    gap: 0.6rem;
    align-items: end;
    flex-wrap: wrap;
}

.panel-filtr-field {
    display: block;
    margin-bottom: 0.35rem;
    color: #7f8c8d;
    font-size: 0.88rem;
    font-weight: 600;
}

.panel-finanse-karta {
    grid-template-columns: 1fr auto auto;
}

.panel-finanse-tytul {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.panel-finanse-badge {
    display: inline-block;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    background: var(--badge-bg, #eef6ff);
    color: var(--badge-color, #1f618d);
    font-size: 0.82rem;
    font-weight: 700;
}

.panel-finanse-badge--visit { --badge-bg: #eafaf1; --badge-color: #1e8449; }
.panel-finanse-badge--refund { --badge-bg: #fff4e6; --badge-color: #af601a; }
.panel-finanse-badge--package { --badge-bg: #f4ecf7; --badge-color: #7d3c98; }
.panel-finanse-badge--subscription { --badge-bg: #ebf5fb; --badge-color: #21618c; }
.panel-finanse-badge--wallet { --badge-bg: #ecfdf3; --badge-color: #15803d; }
.panel-finanse-badge--default { --badge-bg: #eef6ff; --badge-color: #1f618d; }

.panel-finanse-opis {
    margin: 0;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.panel-finanse-kwota {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--amount-color, #2c3e50);
    text-align: right;
}

.panel-finanse-kwota--default { --amount-color: #2c3e50; }
.panel-finanse-kwota--refund { --amount-color: #e67e22; }

.panel-select-status {
    min-width: 200px;
}

.panel-finanse-status {
    margin-top: 0.35rem;
}

.admin-toast-ok,
.admin-toast-blad {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    color: white;
    padding: 0.9rem 1.1rem;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);
    min-width: 260px;
    max-width: 460px;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 1;
    transform: translateY(0);
}

.admin-toast-ok {
    background: #2ecc71;
}

.admin-toast-blad {
    z-index: 10000;
    background: #e74c3c;
}

.admin-toast--closing {
    opacity: 0;
    transform: translateY(-8px);
}

.admin-hero {
    background: linear-gradient(135deg, var(--gradient-from, #e74c3c), var(--gradient-to, #c0392b));
    color: white;
    padding: 2rem;
    border-radius: 15px;
    margin-bottom: 2rem;
}

.admin-hero--admin {
    --gradient-from: #e74c3c;
    --gradient-to: #c0392b;
}

.admin-hero--finance {
    --gradient-from: #27ae60;
    --gradient-to: #1e8449;
}

.admin-hero-opis {
    opacity: 0.95;
    margin: 0;
}

.admin-sekcja-odstep {
    margin-bottom: 2rem;
}

.admin-karta {
    background: #ffffff;
    border: 1px solid #dfe6e9;
    border-radius: 15px;
    padding: 1.2rem 1.3rem;
}

.admin-karta-plain {
    background: white;
    border-radius: 15px;
    overflow: hidden;
}

.admin-flex-between {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-tytul {
    font-size: 1.05rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-opis {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.admin-pill {
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: #f8f9fa;
    color: #2c3e50;
    font-weight: 700;
    white-space: nowrap;
}

.admin-alert-ok {
    margin-top: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 12px;
    background: #eefaf3;
    color: #1e8449;
    border: 1px solid #d5f5e3;
}

.admin-grid-operacyjne,
.admin-grid-zdrowie {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
}

.admin-grid-operacyjne {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.admin-grid-zdrowie {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.admin-kafelek {
    display: block;
    text-decoration: none;
    color: #2c3e50;
    border: 1px solid #ecf0f1;
    border-left: 5px solid var(--accent-color, #3498db);
    background: #fdfefe;
    border-radius: 12px;
    padding: 1rem;
    box-shadow: 0 6px 18px rgba(44,62,80,0.06);
}

.admin-accent--red {
    --accent-color: #e74c3c;
}

.admin-accent--purple {
    --accent-color: #8e44ad;
}

.admin-accent--blue {
    --accent-color: #3498db;
}

.admin-accent--green {
    --accent-color: #2ecc71;
}

.admin-accent--orange {
    --accent-color: #e67e22;
}

.admin-accent--teal {
    --accent-color: #16a085;
}

.admin-accent--amber {
    --accent-color: #f39c12;
}

.admin-kafelek-uklad {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.8rem;
}

.admin-kafelek-minw0 {
    min-width: 0;
}

.admin-kafelek-etykieta {
    font-size: 0.88rem;
    color: #7f8c8d;
    font-weight: 600;
}

.admin-kafelek-ikona {
    color: var(--accent-color, #3498db);
}

.admin-kafelek-liczba {
    font-size: 1.65rem;
    font-weight: 800;
    color: var(--accent-color, #3498db);
    margin-top: 0.35rem;
}

.admin-kafelek-liczba-sm {
    font-size: 1.45rem;
    line-height: 1.2;
    word-break: break-word;
}

.admin-kafelek-strzalka {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    background: var(--accent-color, #3498db);
    color: white;
    font-weight: 700;
}

.admin-kafelek-opis {
    margin-top: 0.55rem;
    color: #5d6d7e;
    font-size: 0.9rem;
    line-height: 1.45;
}

.admin-toggle-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
}

.admin-toggle-label {
    cursor: default;
}

.admin-toggle-label-click {
    cursor: pointer;
    font-size: 1.02rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-toggle-button {
    width: 38px;
    height: 38px;
    border: none;
    border-radius: 10px;
    background: #2c3e50;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    font-weight: 700;
}

.admin-toggle-button-hidden {
    display: none;
}

.admin-toggle-label-static {
    cursor: default;
}

.admin-toggle-content {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #dfe6e9;
}

.admin-toggle-content-open {
    display: block;
}

.admin-staty-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5rem;
}

.admin-stat-card {
    background: linear-gradient(135deg, var(--gradient-from, #3498db), var(--gradient-to, #2980b9));
    padding: 2rem;
    border-radius: 15px;
    text-align: center;
    color: white;
}

.admin-stat-card--blue {
    --gradient-from: #3498db;
    --gradient-to: #2980b9;
}

.admin-stat-card--green {
    --gradient-from: #2ecc71;
    --gradient-to: #27ae60;
}

.admin-stat-card--purple {
    --gradient-from: #9b59b6;
    --gradient-to: #8e44ad;
}

.admin-stat-card--amber {
    --gradient-from: #f39c12;
    --gradient-to: #e67e22;
}

.admin-stat-card--red {
    --gradient-from: #e74c3c;
    --gradient-to: #c0392b;
}

.admin-stat-card--teal {
    --gradient-from: #1abc9c;
    --gradient-to: #16a085;
}

.admin-stat-card--violet {
    --gradient-from: #8e44ad;
    --gradient-to: #6c3483;
}

.admin-stat-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.admin-stat-value {
    font-size: 2rem;
}

.admin-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #ecf0f1;
}

.admin-panel-content {
    display: block;
    padding: 1rem 1.2rem 1.2rem;
}

.admin-panel-content-plain {
    padding: 1rem 1.2rem 1.2rem;
}

.admin-hero-title {
    margin: 0;
}

.admin-hero-opis-tight {
    opacity: 0.95;
    margin: 0;
}

.admin-badge-count {
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: #f8f9fa;
    color: #2c3e50;
    font-weight: 700;
    white-space: nowrap;
}

.admin-icon-accent {
    color: var(--accent-color, #3498db);
}

.admin-kafelek-liczba-wrap {
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--accent-color, #3498db);
    margin-top: 0.35rem;
    line-height: 1.2;
    word-break: break-word;
}

.admin-toggle-content-open {
    display: block;
}

.admin-toggle-content-closed {
    display: none;
}

.admin-select-inline {
    padding: 0.45rem 0.6rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-form-inline {
    display: flex;
    align-items: end;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.admin-form-inline-wrap-end {
    display: flex;
    justify-content: flex-end;
    align-items: end;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-bottom: 0.8rem;
}

.admin-form-label {
    font-size: 0.9rem;
    color: #7f8c8d;
    font-weight: 600;
}

.admin-trend-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1rem;
}

.admin-trend-card {
    background: white;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
}

.admin-trend-label {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-trend-value {
    margin-top: 0.3rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-trend-change {
    margin-top: 0.45rem;
    font-size: 0.9rem;
    color: var(--trend-color, #27ae60);
}

.admin-trend-change--good {
    --trend-color: #27ae60;
}

.admin-trend-change--bad {
    --trend-color: #e74c3c;
}

.admin-dual-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2rem;
}

.admin-content-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
}

.admin-row-spaced {
    display: flex;
    justify-content: space-between;
}

.admin-status-row {
    margin: 1rem 0;
}

.admin-progress-track {
    background: #ecf0f1;
    height: 10px;
    border-radius: 5px;
    overflow: hidden;
    margin-top: 0.5rem;
}

.admin-progress-fill {
    background: var(--bar-color, #2ecc71);
    height: 100%;
    width: 0;
}

.admin-progress-fill--good {
    --bar-color: #2ecc71;
}

.admin-progress-fill--info {
    --bar-color: #3498db;
}

.admin-progress-fill--danger {
    --bar-color: #e74c3c;
}

.admin-top-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem;
    background: #f8f9fa;
    border-radius: 10px;
    margin: 0.75rem 0;
}

.admin-top-rank {
    background: #2ecc71;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.admin-top-main {
    flex: 1;
}

.admin-top-sub {
    font-size: 0.85rem;
    color: #7f8c8d;
}

.admin-top-count {
    background: #3498db;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-weight: 600;
}

.admin-activity-track {
    background: #ecf0f1;
    height: 8px;
    border-radius: 4px;
    overflow: hidden;
    margin-top: 0.5rem;
}

.admin-activity-fill {
    background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
    height: 100%;
    width: 0;
}

.admin-panel-visible {
    display: block;
}

.admin-panel-shell-spaced {
    margin-bottom: 3rem;
}

.admin-tabs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 0.75rem;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid #ecf0f1;
    background: #f8f9fa;
}

.admin-tab-badge-alert {
    display: inline-block;
    margin-left: 0.4rem;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    background: #e74c3c;
    color: white;
    font-weight: 700;
    font-size: 0.78rem;
}

.admin-tab-badge-alert--hidden {
    display: none;
}

.admin-tab-panel--hidden {
    display: none;
}

.admin-settings-panel-hidden {
    display: none;
}

.admin-settings-panel-visible {
    display: block;
}

.helper-page-title {
    text-align: center;
    margin-bottom: 2rem;
}

.helper-page-title-icon {
    color: #3498db;
}

.helper-hero {
    text-align: center;
    margin-bottom: 3rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    border-radius: 15px;
}

.helper-hero-title {
    margin: 0;
}

.helper-hero-subtitle {
    margin: 0.5rem 0 0 0;
    opacity: 0.9;
}

.helper-karta {
    margin-bottom: 2rem;
    background: #ffffff;
    border: 1px solid #ecf0f1;
    border-radius: 15px;
    padding: 1.4rem;
}

.helper-karta-opis {
    margin: 0.45rem 0 0 0;
    color: #7f8c8d;
}

.helper-grid-akcje {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.helper-akcja-card {
    background: var(--card-bg, #fff);
    border: 1px solid var(--card-border, #ecf0f1);
    border-radius: 12px;
    padding: 1rem;
}

.helper-akcja-label {
    font-size: 0.85rem;
    color: var(--label-color, #7f8c8d);
    font-weight: 700;
}

.helper-akcja-value {
    margin-top: 0.3rem;
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--value-color, #2c3e50);
}

.helper-akcja-opis {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.helper-staty-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.helper-stat-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    text-align: center;
}

.helper-stat-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: var(--icon-color, #3498db);
}

.helper-stat-value {
    font-size: 2.5rem;
    margin: 0;
    color: var(--value-color, #3498db);
}

.helper-stat-label {
    color: #7f8c8d;
    margin: 0.5rem 0 0 0;
}

.helper-panel-shell {
    margin-top: 2rem;
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.helper-tabs-row {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 2px solid #ecf0f1;
}

.panel-zakladki {
    display: flex;
    border-bottom: 2px solid #ecf0f1;
    margin-bottom: 2rem;
}

.zakladka {
    padding: 1rem 1.5rem;
    cursor: pointer;
    font-weight: 600;
    color: #7f8c8d;
    position: relative;
    transition: color 0.3s;
}

.zakladka.aktywna {
    color: #3498db;
}

.zakladka.aktywna::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #3498db;
}

.panel-zawartosc {
    display: none;
}

.panel-zawartosc.aktywna {
    display: block;
}

.recepta-karta {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1rem;
    align-items: center;
    background: white;
    padding: 1.5rem;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    margin-bottom: 1rem;
}

.recepta-info h4 {
    margin: 0 0 0.5rem 0;
    font-size: 1.1rem;
}

#panel-dokumenty .status.aktywna,
#panel-dokumenty .status.aktywne,
#panel-dokumenty .status.aktywny {
    background: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #b7e4c7;
}

.wizyta-uslugi-dodatkowe {
    margin-top: 0.2rem;
    color: #8e44ad;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.45rem;
    border-radius: 8px;
    border: 1px dashed #d6b3f0;
    background: #faf5ff;
    cursor: help;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.wizyta-uslugi-dodatkowe:hover {
    background: #f4e8ff;
    border-color: #c084fc;
    color: #6b21a8;
}

.wizyta-uslugi-dodatkowe i {
    opacity: 0.95;
}

.panel-sekcja-odstep-top {
    margin-top: 2rem;
}

.panel-section-title {
    margin: 0 0 1rem 0;
    color: #2c3e50;
}

.panel-inline-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.panel-pin-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #fff7cc;
    color: #9a6700;
    font-size: 0.76rem;
    font-weight: 700;
}

.panel-info-muted {
    margin: 0;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.panel-info-warning {
    margin: 0.55rem 0 0 0;
    color: #a04000;
    font-size: 0.9rem;
    font-weight: 700;
}

.panel-info-detail {
    margin: 0.5rem 0 0 0;
    color: #2c3e50;
    font-size: 0.92rem;
}

.panel-info-detail--muted {
    color: #7f8c8d;
}

.panel-info-detail--xs-gap {
    margin-top: 0.45rem;
}

.panel-info-detail--lg-gap {
    margin-top: 0.75rem;
}

.panel-btn-disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: #bdc3c7;
    border-color: #bdc3c7;
}

.panel-btn-pdf {
    display: inline-block;
    background: #34495e;
    text-decoration: none;
}

.panel-form-top-gap {
    margin-top: 0.45rem;
}

.panel-form-tight-bottom {
    margin-top: 0;
    margin-bottom: 0.45rem;
}

.panel-btn-full {
    width: 100%;
}

.panel-btn-pin--active {
    background: #f39c12;
}

.panel-btn-pin--muted {
    background: #7f8c8d;
}

.panel-btn-pin--dark {
    background: #34495e;
}

.panel-btn-danger {
    background: #c0392b;
}

.panel-document-card-start {
    align-items: start;
}

.panel-doc-card--expired {
    background: #f2f3f5;
    opacity: 0.72;
    border-color: #d5d8dc;
}

.panel-inline-header-tight {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.panel-title-no-margin {
    margin: 0;
}

.admin-tab-panel {
    padding: 2rem;
}

.admin-toolbar {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.admin-form-inline-compact {
    display: inline;
}

.admin-btn {
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.admin-btn-md {
    padding: 0.55rem 0.9rem;
}

.admin-btn-sm {
    padding: 0.45rem 0.8rem;
}

.admin-btn-danger {
    background: #e74c3c;
    color: white;
}

.admin-btn-primary {
    background: #3498db;
    color: white;
}

.admin-btn-secondary {
    background: #ecf0f1;
    color: #2c3e50;
    text-decoration: none;
}

.admin-btn-accent {
    background: #8e44ad;
    color: white;
}

.admin-filter-form {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
}

.admin-select-wide {
    min-width: 230px;
    padding: 0.55rem 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
}

.admin-alert-warn {
    margin-top: 1rem;
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
    padding: 0.75rem 1rem;
    border-radius: 10px;
}

.admin-table-wrap {
    overflow-x: auto;
    margin-top: 1.5rem;
}

.admin-table-wrap-tight {
    overflow-x: auto;
    margin-top: 1.25rem;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table-head-row {
    background: #f8f9fa;
}

.admin-table-row {
    border-bottom: 1px solid #ecf0f1;
}

.admin-table-cell {
    padding: 1rem;
}

.admin-table-cell-sm {
    padding: 0.75rem;
}

.admin-table-text-left {
    text-align: left;
}

.admin-price {
    color: #2ecc71;
    font-weight: 600;
}

.admin-select-status {
    padding: 0.25rem 0.5rem;
    border-radius: 10px;
    cursor: pointer;
}

.admin-section-title-top {
    margin-top: 2rem;
}

.admin-section-text {
    color: #7f8c8d;
    margin-top: 0.5rem;
}

.admin-empty-text {
    color: #7f8c8d;
}

.admin-muted-small {
    color: #7f8c8d;
}

.admin-badge-round-alert {
    display: inline-block;
    margin-left: 0.45rem;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 50%;
    background: #e74c3c;
    color: white;
    font-weight: 700;
}

.admin-badge-inline-warning {
    display: inline-block;
    margin-left: 0.45rem;
    padding: 0.18rem 0.48rem;
    border-radius: 999px;
    background: #f39c12;
    color: white;
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-badge-pill {
    background: #3498db;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-weight: 600;
}

.admin-badge-wallet {
    background: #16a085;
    color: #fff;
    border: none;
    padding: 0.4rem 0.72rem;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 700;
}

.admin-badge-disabled {
    background: #e74c3c;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-weight: 600;
    opacity: 0.7;
    cursor: not-allowed;
}

.admin-btn-userlink {
    background: none;
    border: none;
    padding: 0;
    color: #2c3e50;
    font-weight: 700;
    cursor: pointer;
    text-align: left;
}

.admin-actions-inline {
    display: inline;
}

.admin-action-icon-btn {
    color: white;
    border: none;
    padding: 0.5rem 0.85rem;
    border-radius: 5px;
    cursor: pointer;
    margin-right: 0.35rem;
}

.admin-action-icon-btn--blue {
    background: #3498db;
}

.admin-action-icon-btn--orange {
    background: #e67e22;
}

.admin-action-icon-btn--violet {
    background: #8e44ad;
}

.admin-action-icon-btn--violet-soft {
    background: #9b59b6;
}

.admin-action-icon-btn--gray {
    background: #95a5a6;
}

.admin-action-icon-btn--amber {
    background: #f39c12;
}

.admin-btn-pill {
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
}

.admin-btn-pill--danger {
    background: #e74c3c;
}

.admin-btn-pill--gray {
    background: #95a5a6;
}

.admin-action-disabled {
    background: #95a5a6;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    cursor: not-allowed;
    opacity: 0.5;
}

.admin-modal-wide {
    width: min(980px, 96vw);
}

.admin-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-modal-title {
    margin: 0;
}

.admin-modal-close {
    background: #e74c3c;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.45rem 0.8rem;
    cursor: pointer;
}

.admin-modal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.admin-modal-card {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
}

.admin-modal-card-title {
    margin: 0 0 0.8rem 0;
}

.admin-modal-list {
    display: grid;
    gap: 0.55rem;
}

.admin-profile-section {
    margin-top: 1rem;
    background: #ffffff;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
}

.admin-profile-section-title {
    margin: 0 0 0.9rem 0;
}

.admin-profile-consent-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.9rem;
}

.admin-profile-consent-card {
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.85rem;
}

.admin-profile-consent-head {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    align-items: center;
}

.admin-profile-consent-status {
    display: inline-block;
    padding: 0.22rem 0.65rem;
    border-radius: 999px;
    font-weight: 700;
}

.admin-profile-consent-status--ok {
    background: #eafaf1;
    color: #1e8449;
}

.admin-profile-consent-status--danger {
    background: #fdedec;
    color: #c0392b;
}

.admin-profile-consent-status--muted {
    background: #f4f6f7;
    color: #5d6d7e;
}

.admin-profile-consent-meta {
    margin-top: 0.6rem;
    display: grid;
    gap: 0.35rem;
    font-size: 0.92rem;
    color: #2c3e50;
}

.admin-profile-alert {
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 10px;
    background: #fff8e8;
    border: 1px solid #f5d68d;
    color: #8a5a00;
}

.admin-empty-box {
    padding: 0.9rem;
    border: 1px dashed #dfe6e9;
    border-radius: 10px;
    color: #7f8c8d;
}

.admin-table-compact {
    width: 100%;
    border-collapse: collapse;
}

.admin-table-head-row-soft {
    background: #f8f9fa;
}

.admin-table-row-soft {
    border-bottom: 1px solid #ecf0f1;
}

.admin-consent-title {
    font-weight: 600;
}

.admin-consent-subtext {
    font-size: 0.82rem;
    color: #7f8c8d;
    margin-top: 0.15rem;
}

.admin-wallet-modal {
    width: min(980px, 96vw);
}

.admin-wallet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-wallet-title {
    margin: 0;
}

.admin-wallet-updated {
    margin-top: 0.25rem;
    color: #7f8c8d;
}

.admin-wallet-balance {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    background: #ecfdf3;
    border: 1px solid #b7e4c7;
    color: #1e8449;
    font-weight: 700;
    font-size: 1.08rem;
}

.admin-wallet-form {
    margin-bottom: 1rem;
    padding: 0.95rem;
    border: 1px solid #dfe6e9;
    border-radius: 12px;
    background: #fff;
}

.admin-wallet-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
    align-items: end;
}

.admin-wallet-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.admin-wallet-input {
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-wallet-help {
    margin-top: 0.25rem;
    color: #7f8c8d;
    font-size: 0.82rem;
}

.admin-wallet-submit {
    padding: 0.58rem 0.9rem;
    border: none;
    border-radius: 8px;
    background: #16a085;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.admin-wallet-alert {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    border: 1px solid #fdebd0;
    background: #fff8e8;
    color: #8a5a00;
}

.admin-wallet-status {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-wallet-status--ok {
    background: #d4edda;
    color: #155724;
}

.admin-wallet-status--pending {
    background: #fff3cd;
    color: #856404;
}

.admin-wallet-status--danger {
    background: #f8d7da;
    color: #721c24;
}

.admin-wallet-status--default {
    background: #ecf0f1;
    color: #2c3e50;
}

.admin-wallet-amount--negative {
    font-weight: 700;
    color: #e67e22;
}

.admin-wallet-amount--positive {
    font-weight: 700;
    color: #16a085;
}

.admin-modal-section-title {
    margin: 0.4rem 0 0.8rem 0;
}

.admin-modal-section-title--spaced {
    margin: 1.25rem 0 0.8rem 0;
}

.admin-table-cell-md {
    padding: 0.85rem;
}

.admin-table-cell-strong {
    font-weight: 600;
}

.admin-table-cell-min-220 {
    min-width: 220px;
}

.admin-table-cell-min-200 {
    min-width: 200px;
}

.admin-textarea-admin {
    width: 100%;
    padding: 0.45rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    min-height: 56px;
    font-family: inherit;
}

.admin-input-date {
    padding: 0.45rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-form-inline {
    display: inline;
}

.admin-form-inline-block-gap {
    display: inline-block;
    margin-right: 0.35rem;
}

.admin-btn-icon-save {
    background: #2ecc71;
    color: white;
    border: none;
    padding: 0.45rem 0.7rem;
    border-radius: 8px;
    cursor: pointer;
}

.admin-btn-icon-danger {
    background: #e74c3c;
    color: white;
    border: none;
    padding: 0.45rem 0.7rem;
    border-radius: 8px;
    cursor: pointer;
}

.admin-file-download-btn {
    background: #3498db;
    color: white;
    text-decoration: none;
    padding: 0.35rem 0.75rem;
    border-radius: 8px;
    display: inline-block;
    margin-right: 0.35rem;
}

.admin-file-meta-small {
    color: #7f8c8d;
}

.admin-break-word {
    word-break: break-word;
}

.admin-settings-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.admin-settings-input,
.admin-settings-select,
.admin-settings-textarea {
    width: 100%;
    padding: 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-settings-input--caps {
    text-transform: uppercase;
}

.admin-settings-help {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-settings-help-sm {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.85rem;
}

.admin-settings-grid-220 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}

.admin-settings-grid-180 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.admin-settings-subsection {
    border-top: 1px solid #ecf0f1;
    padding-top: 0.75rem;
}

.admin-settings-subsection-tight {
    margin-top: 0.35rem;
}

.admin-settings-status-box {
    padding: 0.8rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    background: #f8f9fa;
    color: #2c3e50;
}

.admin-settings-status-box--ok {
    border-color: #b7ebc6;
    background: #eefaf1;
}

.admin-settings-status-box--danger {
    border-color: #f5c6cb;
    background: #fdf2f2;
}

.admin-settings-status-text--ok {
    color: #239b56;
}

.admin-settings-status-text--danger {
    color: #c0392b;
}

.admin-settings-card {
    background: #ffffff;
    border: 1px solid #ecf0f1;
    border-radius: 14px;
    padding: 1.1rem;
    box-shadow: 0 10px 24px rgba(44,62,80,0.06);
    margin-top: 1rem;
}

.admin-settings-template-picker {
    padding: 0.95rem 1rem;
}

.admin-settings-template-card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem 1.05rem;
}

.admin-settings-help--pull-up {
    margin-top: -0.4rem;
}

.admin-settings-help--xs {
    font-size: 0.82rem;
}

.admin-settings-section-title {
    margin: 0 0 0.65rem 0;
    font-size: 1.05rem;
}

.admin-settings-section-copy {
    margin: 0 0 0.65rem 0;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-settings-section-copy--spaced {
    margin-bottom: 0.85rem;
}

.admin-settings-toggle-card {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 1rem;
    border: 1px solid #dbe7ee;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
    box-shadow: 0 10px 22px rgba(44,62,80,0.05);
    cursor: pointer;
}

.admin-settings-toggle-card input[type="checkbox"] {
    margin-top: 0.2rem;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.admin-settings-toggle-card__body {
    display: grid;
    gap: 0.35rem;
}

.admin-settings-toggle-card__title {
    color: #223645;
    font-weight: 700;
}

.admin-settings-toggle-card__copy {
    color: #6f8290;
    font-size: 0.92rem;
    line-height: 1.55;
}

.admin-settings-home-theme-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.admin-settings-home-theme-card {
    display: grid;
    gap: 0.9rem;
    padding: 1.05rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.admin-settings-home-theme-card__head {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: flex-start;
}

.admin-settings-home-theme-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: #eef7f5;
    color: #0f766e;
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.admin-settings-home-theme-controls {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
}

.admin-settings-home-theme-picker {
    width: 68px;
    height: 44px;
    border: 1px solid #d9e5ee;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    padding: 0.2rem;
}

.admin-settings-home-theme-picker::-webkit-color-swatch-wrapper {
    padding: 0;
}

.admin-settings-home-theme-picker::-webkit-color-swatch,
.admin-settings-home-theme-picker::-moz-color-swatch {
    border: none;
    border-radius: 9px;
}

.admin-settings-home-theme-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.72rem 1rem;
    border: 1px solid #d7e4ea;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%);
    color: #284556;
    font-weight: 700;
    letter-spacing: 0.01em;
    white-space: nowrap;
    box-shadow: 0 10px 20px rgba(44, 62, 80, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.admin-settings-home-theme-reset:hover,
.admin-settings-home-theme-reset:focus-visible {
    border-color: #9fc9c0;
    background: linear-gradient(180deg, #ffffff 0%, #edf8f5 100%);
    color: #0f766e;
    box-shadow: 0 14px 28px rgba(15, 118, 110, 0.14);
    transform: translateY(-1px);
}

.admin-settings-home-theme-reset:active {
    transform: translateY(0);
    box-shadow: 0 8px 16px rgba(15, 118, 110, 0.12);
}

.developer-tenant-theme-preview {
    display: grid;
    gap: 0.8rem;
}

.developer-tenant-theme-preview__hero {
    min-height: 88px;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.developer-tenant-theme-preview__surface {
    min-height: 58px;
    border-radius: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

@media (max-width: 960px) {
    .admin-settings-home-theme-grid {
        grid-template-columns: 1fr;
    }

    .admin-settings-home-theme-controls {
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .admin-settings-home-theme-reset {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

.admin-settings-field-stack {
    margin-top: 0.75rem;
}

.admin-settings-textarea--resizable {
    resize: vertical;
}

.admin-settings-submit {
    padding: 0.75rem 1.2rem;
    border: none;
    border-radius: 9px;
    background: #16a085;
    color: white;
    font-weight: 600;
    cursor: pointer;
    justify-self: start;
}

.admin-settings-submit--dark {
    background: #2c3e50;
    color: #fff;
}

.admin-settings-actions {
    display: flex;
    gap: 0.7rem;
    flex-wrap: wrap;
}

.admin-settings-actions--end {
    justify-content: flex-end;
}

.admin-settings-config-form {
    display: grid;
    gap: 1rem;
    max-width: 720px;
}

.admin-settings-subsection-title {
    margin: 0 0 0.65rem 0;
    font-size: 1.05rem;
}

.admin-settings-permissions-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-settings-permissions-badge {
    padding: 0.6rem 0.8rem;
    background: #f8f9fa;
    border-radius: 10px;
    color: #2c3e50;
    font-size: 0.92rem;
}

.admin-settings-permissions-form {
    margin-top: 1rem;
    display: grid;
    gap: 1rem;
}

.admin-settings-permissions-card {
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    overflow: hidden;
}

.admin-settings-permissions-card-head {
    padding: 0.9rem 1rem;
    background: #f8f9fa;
    border-bottom: 1px solid #ecf0f1;
}

.admin-settings-permissions-card-title {
    font-size: 1rem;
    font-weight: 800;
    color: #2c3e50;
}

.admin-settings-permissions-table-wrap {
    overflow-x: auto;
}

.admin-settings-permissions-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-settings-permissions-head-row {
    background: #ffffff;
}

.admin-settings-permissions-head-cell,
.admin-settings-permissions-cell {
    padding: 0.85rem;
}

.admin-settings-permissions-head-cell {
    text-align: left;
}

.admin-settings-permissions-head-cell--action {
    min-width: 280px;
}

.admin-settings-permissions-head-cell--role {
    min-width: 110px;
    text-align: center;
}

.admin-settings-permissions-head-cell--mode {
    min-width: 170px;
}

.admin-settings-permissions-row {
    border-top: 1px solid #ecf0f1;
}

.admin-settings-permissions-cell--top {
    vertical-align: top;
}

.admin-settings-permissions-cell--center {
    text-align: center;
    vertical-align: middle;
}

.admin-settings-permissions-cell--middle {
    vertical-align: middle;
}

.admin-settings-permissions-action {
    font-weight: 700;
    color: #2c3e50;
}

.admin-settings-permissions-copy {
    margin-top: 0.35rem;
    color: #7f8c8d;
    line-height: 1.45;
}

.admin-settings-permissions-meta {
    margin-top: 0.4rem;
    font-size: 0.84rem;
    color: #95a5a6;
}

.admin-settings-permissions-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #f8f9fa;
    cursor: pointer;
}

.admin-settings-permissions-toggle--active {
    background: #eafaf1;
}

.admin-settings-permissions-mode {
    display: inline-block;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    font-weight: 700;
}

.admin-settings-permissions-mode--override {
    background: #d6eaf8;
    color: #1f618d;
}

.admin-settings-permissions-mode--default {
    background: #ecf0f1;
    color: #2c3e50;
}

.admin-settings-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}

.admin-settings-card-title {
    margin: 0;
    color: #2c3e50;
}

.admin-settings-card-copy {
    margin: 0.35rem 0 0 0;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-settings-card-icon {
    margin-right: 0.2rem;
}

.admin-settings-card-icon--danger {
    color: #c0392b;
}

.admin-settings-card-icon--info {
    color: #2980b9;
}

.admin-settings-badge {
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.9rem;
}

.admin-settings-badge--danger {
    background: #fdf2f2;
    color: #c0392b;
}

.admin-settings-stack {
    display: grid;
    gap: 0.85rem;
}

.admin-settings-block-card {
    border: 1px solid #ecf0f1;
    border-left: 5px solid #95a5a6;
    border-radius: 12px;
    padding: 0.95rem;
    background: #fff;
}

.admin-settings-block-card--danger {
    border-color: #f3d1ce;
    border-left-color: #e74c3c;
    background: #fffafa;
}

.admin-settings-block-layout {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-settings-block-meta {
    display: grid;
    gap: 0.45rem;
    min-width: 260px;
    flex: 1 1 420px;
}

.admin-settings-block-title {
    font-size: 1rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-settings-grid-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.5rem;
    color: #52606d;
    font-size: 0.9rem;
}

.admin-settings-unlock-form {
    display: grid;
    gap: 0.55rem;
    min-width: 280px;
    flex: 0 1 360px;
}

.admin-settings-input--mt-sm {
    margin-top: 0.35rem;
}

.admin-settings-unlock-submit {
    padding: 0.75rem 1rem;
    border: none;
    border-radius: 9px;
    background: #27ae60;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    justify-self: start;
}

.admin-settings-table-wrap {
    overflow-x: auto;
}

.admin-settings-log-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
}

.admin-settings-log-head {
    background: #f8f9fa;
    color: #2c3e50;
}

.admin-settings-log-head th,
.admin-settings-log-row td {
    padding: 0.75rem;
    text-align: left;
}

.admin-settings-log-head th {
    border-bottom: 1px solid #ecf0f1;
}

.admin-settings-log-row td {
    border-bottom: 1px solid #f1f3f5;
    color: #2c3e50;
}

.admin-settings-log-details {
    color: #52606d !important;
    font-size: 0.9rem;
}

.admin-settings-log-status {
    display: inline-block;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
}

.admin-settings-log-status--ok {
    background: #239b56;
}

.admin-settings-log-status--warn {
    background: #d68910;
}

.admin-settings-log-status--danger {
    background: #c0392b;
}

.admin-settings-log-status--muted {
    background: #7f8c8d;
}

.admin-refund-empty {
    color: #7f8c8d;
}

.admin-refund-form {
    display: grid;
    gap: 0.8rem;
    max-width: 620px;
}

.admin-refund-info {
    padding: 0.8rem 0.9rem;
    border-radius: 10px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    color: #2c3e50;
}

.admin-refund-info-icon {
    color: #3498db;
}

.admin-refund-submit {
    padding: 0.65rem 1rem;
    background: #16a085;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    justify-self: start;
}

.admin-system-refund-modal {
    width: min(1380px, 98vw);
    max-width: 98vw;
}

.admin-system-refund-box {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    background: #f4ecf7;
    border: 1px solid #d7bde2;
    color: #5b2c6f;
}

.admin-system-refund-box-title {
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.admin-system-refund-box-note {
    margin-top: 0.35rem;
}

.admin-system-refund-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.admin-system-refund-cell {
    padding: 0.85rem;
    vertical-align: top;
    word-break: break-word;
}

.admin-system-refund-date {
    color: #7f8c8d;
}

.admin-system-refund-amount {
    font-weight: 700;
}

.admin-system-refund-meta {
    font-size: 0.84rem;
    color: #7f8c8d;
    margin-top: 0.25rem;
}

.admin-system-refund-meta-danger {
    font-size: 0.84rem;
    color: #c0392b;
    margin-top: 0.15rem;
}

.admin-system-refund-meta-main {
    font-size: 0.84rem;
    color: #2c3e50;
    margin-top: 0.4rem;
}

.admin-system-refund-term {
    font-size: 0.82rem;
    margin-top: 0.15rem;
    font-weight: 600;
}

.admin-system-refund-term--danger {
    color: #c0392b;
}

.admin-system-refund-term--ok {
    color: #1e8449;
}

.admin-system-refund-method {
    font-size: 0.82rem;
    color: #7f8c8d;
    margin-top: 0.2rem;
}

.admin-system-refund-status {
    display: inline-block;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    font-weight: 700;
}

.admin-system-refund-status--neutral {
    background: #f4f6f7;
    color: #5d6d7e;
}

.admin-system-refund-status--waiting {
    background: #fef5e7;
    color: #b9770e;
}

.admin-system-refund-status--sent {
    background: #d6eaf8;
    color: #1f618d;
}

.admin-system-refund-status--done {
    background: #eafaf1;
    color: #1e8449;
}

.admin-system-refund-status--cancelled {
    background: #fdedec;
    color: #c0392b;
}

.admin-system-refund-history {
    font-size: 0.84rem;
}

.admin-system-refund-history-item {
    font-size: 0.84rem;
    margin-top: 0.25rem;
}

.admin-system-refund-history-confirmed {
    font-size: 0.82rem;
    color: #7f8c8d;
    margin-top: 0.15rem;
}

.admin-system-refund-actions {
    display: inline-grid;
    gap: 0.35rem;
}

.admin-system-refund-actions-secondary {
    display: inline-grid;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.admin-system-refund-btn {
    color: white;
    border: none;
    padding: 0.48rem 0.75rem;
    border-radius: 8px;
    font-weight: 600;
}

.admin-system-refund-btn--send {
    background: #16a085;
}

.admin-system-refund-btn--send-disabled {
    background: #95a5a6;
    cursor: not-allowed;
    opacity: 0.75;
}

.admin-system-refund-btn--wallet {
    background: #0f766e;
    cursor: pointer;
}

.admin-system-refund-waiting {
    color: #1f618d;
    font-weight: 600;
    font-size: 0.9rem;
}

.admin-system-refund-no-action {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-unlock-modal {
    width: min(760px, 96vw);
}

.admin-unlock-empty {
    color: #7f8c8d;
}

.admin-unlock-list {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.85rem;
}

.admin-unlock-item {
    padding: 0.45rem 0;
    border-bottom: 1px solid #ecf0f1;
}

.admin-unlock-spec {
    color: #7f8c8d;
}

.admin-unlock-reason {
    font-size: 0.92rem;
    color: #2c3e50;
}

.admin-unlock-date {
    font-size: 0.86rem;
    color: #7f8c8d;
}

.admin-unlock-submit {
    padding: 0.65rem 1rem;
    background: #27ae60;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    justify-self: start;
}

.admin-kosz-panel {
    padding: 2rem;
}

.admin-kosz-intro {
    color: #7f8c8d;
    margin-top: 0.5rem;
}

.admin-kosz-note {
    margin-top: 0.85rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    background: #fff8e8;
    border: 1px solid #f5d68d;
    color: #8a5a00;
}

.admin-kosz-table-wrap {
    overflow-x: auto;
    margin-top: 0.8rem;
}

.admin-restore-btn {
    background: #27ae60;
    color: white;
    border: none;
    padding: 0.45rem 0.7rem;
    border-radius: 8px;
    cursor: pointer;
}

.admin-manage-panel {
    padding: 2rem;
}

.admin-manage-hero {
    padding: 2rem;
    border-radius: 15px;
    margin: 2rem 0;
    color: white;
}

.admin-manage-hero--doctor {
    background: linear-gradient(135deg, #2ecc71, #27ae60);
}

.admin-manage-hero--helper {
    background: linear-gradient(135deg, #3498db, #2980b9);
}

.admin-manage-hero-title {
    margin-bottom: 1.5rem;
}

.admin-manage-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.admin-manage-input {
    padding: 0.8rem;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
}

.admin-manage-submit {
    padding: 0.8rem;
    background: #27ae60;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    font-size: 1rem;
}

.admin-manage-hero-note {
    margin-top: 1rem;
    font-size: 0.9rem;
    opacity: 0.9;
}

.admin-manage-table-wrap {
    overflow-x: auto;
    margin-top: 1.5rem;
}

.admin-manage-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-manage-table-head {
    background: #f8f9fa;
}

.admin-manage-table-head th,
.admin-manage-table-row td {
    padding: 1rem;
    text-align: left;
}

.admin-manage-table-row {
    border-bottom: 1px solid #ecf0f1;
}

.admin-manage-link {
    font-weight: 600;
    color: #3498db;
    text-decoration: none;
    transition: all 0.3s ease;
}

.admin-manage-link-icon {
    font-size: 0.8rem;
    margin-left: 0.3rem;
}

.admin-manage-email {
    font-size: 0.9rem;
}

.admin-manage-price {
    color: #2ecc71;
    font-weight: 600;
}

.admin-manage-star {
    color: #f39c12;
}

.admin-manage-counter {
    background: #9b59b6;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-weight: 600;
}

.admin-manage-counter--success {
    background: #2ecc71;
}

.admin-manage-inline-form {
    display: inline;
}

.admin-manage-status-btn {
    color: white;
    border: none;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    cursor: pointer;
    font-weight: 600;
}

.admin-manage-status-btn--active {
    background: #2ecc71;
}

.admin-manage-status-btn--inactive {
    background: #e74c3c;
}

.admin-manage-danger-btn {
    background: #e74c3c;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    cursor: pointer;
}

.admin-manage-info {
    margin-top: 2rem;
    padding: 1.5rem;
    border-left: 4px solid #3498db;
    border-radius: 10px;
}

.admin-manage-info--doctor {
    background: #e8f4fd;
}

.admin-manage-info--helper {
    background: #fff3cd;
    border-left-color: #f39c12;
}

.admin-manage-info-title {
    color: #2c3e50;
    margin-bottom: 1rem;
}

.admin-manage-info-title--helper {
    color: #856404;
}

.admin-manage-info-list {
    color: #2c3e50;
    margin-left: 1.5rem;
}

.admin-manage-info-list--helper {
    color: #856404;
}

.admin-manage-strong {
    font-weight: 600;
}

.admin-manage-link-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    color: #3498db;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
}

.admin-manage-muted {
    color: #95a5a6;
}

.admin-helper-modal {
    width: min(1000px, 96vw);
}

.admin-helper-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.9rem;
}

.admin-helper-modal-title {
    margin: 0;
}

.admin-helper-modal-close {
    background: #e74c3c;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.45rem 0.8rem;
    cursor: pointer;
}

.admin-helper-empty {
    color: #7f8c8d;
    margin: 0;
}

.admin-helper-session-list {
    display: grid;
    gap: 0.85rem;
}

.admin-helper-session-card {
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.8rem;
}

.admin-helper-session-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.admin-helper-session-user {
    font-weight: 600;
}

.admin-helper-session-type {
    font-size: 0.85rem;
    color: #7f8c8d;
}

.admin-helper-status {
    color: white;
    border-radius: 14px;
    padding: 0.2rem 0.6rem;
    font-weight: 600;
    font-size: 0.85rem;
}

.admin-helper-status--done {
    background: #2ecc71;
}

.admin-helper-status--active {
    background: #3498db;
}

.admin-helper-status--warning {
    background: #f39c12;
}

.admin-helper-session-time {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.88rem;
}

.admin-helper-session-details {
    margin-top: 0.65rem;
}

.admin-helper-session-summary {
    cursor: pointer;
    user-select: none;
    color: #3498db;
    font-weight: 600;
    outline: none;
}

.admin-helper-messages {
    margin-top: 0.55rem;
    max-height: 200px;
    overflow: auto;
    background: #fafafa;
    border: 1px solid #ecf0f1;
    border-radius: 8px;
    padding: 0.55rem;
}

.admin-helper-message-empty {
    color: #95a5a6;
    font-size: 0.88rem;
}

.admin-helper-message-item {
    margin-bottom: 0.5rem;
}

.admin-helper-message-meta {
    font-size: 0.78rem;
    color: #7f8c8d;
}

.admin-helper-message-author {
    font-weight: 700;
}

.admin-helper-message-author--helper {
    color: #2ecc71;
}

.admin-helper-message-author--user {
    color: #3498db;
}

.admin-helper-message-body {
    font-size: 0.9rem;
    color: #2c3e50;
    white-space: pre-wrap;
}

.admin-manage-empty {
    text-align: center;
    padding: 3rem;
    background: #f8f9fa;
    border-radius: 15px;
    margin-top: 2rem;
}

.admin-manage-empty-icon {
    font-size: 4rem;
    color: #95a5a6;
    margin-bottom: 1rem;
}

.admin-manage-empty-title {
    color: #7f8c8d;
}

.admin-manage-empty-copy {
    color: #95a5a6;
    margin-top: 0.5rem;
}

.admin-manage-intro {
    color: #7f8c8d;
    margin-top: 0.5rem;
}

.admin-manage-empty-cell {
    padding: 1rem;
    color: #7f8c8d;
}

.admin-manage-counter--info {
    background: #3498db;
}

.admin-manage-open-btn {
    background: #2ecc71;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.admin-cennik-modal {
    width: min(1100px, 96vw);
}

.admin-cennik-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.admin-cennik-modal-title {
    margin: 0;
}

.admin-cennik-modal-subtitle {
    color: #7f8c8d;
    margin-top: 0.25rem;
}

.admin-cennik-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-cennik-table-head {
    background: #f8f9fa;
}

.admin-cennik-table-head th,
.admin-cennik-table-cell {
    padding: 0.85rem;
    text-align: left;
}

.admin-cennik-table-row {
    border-bottom: 1px solid #ecf0f1;
}

.admin-cennik-table-cell--narrow {
    min-width: 130px;
}

.admin-cennik-table-cell--actions {
    min-width: 130px;
}

.admin-cennik-input {
    width: 100%;
    padding: 0.4rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-cennik-input--price {
    width: 110px;
}

.admin-cennik-inline-form {
    display: inline-block;
    margin-right: 0.35rem;
}

.admin-cennik-action-btn {
    color: white;
    border: none;
    padding: 0.45rem 0.7rem;
    border-radius: 8px;
    cursor: pointer;
}

.admin-cennik-action-btn--save {
    background: #2ecc71;
}

.admin-cennik-action-btn--danger {
    background: #e74c3c;
}

.admin-packages-card {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
    margin-top: 1rem;
}

.admin-packages-card-title {
    margin: 0 0 0.8rem 0;
    font-size: 1.05rem;
}

.admin-packages-form {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: end;
}

.admin-packages-span-full {
    grid-column: 1 / -1;
}

.admin-packages-submit {
    background: #2ecc71;
    color: white;
    border: none;
    padding: 0.6rem 1rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.admin-packages-table-wrap {
    margin-top: 1.2rem;
}

.admin-packages-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-packages-table-head {
    background: #f8f9fa;
}

.admin-packages-table-head th,
.admin-packages-table-cell {
    padding: 0.85rem;
    text-align: left;
}

.admin-packages-table-row {
    border-bottom: 1px solid #ecf0f1;
}

.admin-packages-table-cell--name {
    min-width: 180px;
}

.admin-packages-table-cell--desc {
    min-width: 220px;
}

.admin-packages-table-cell--small {
    min-width: 120px;
}

.admin-packages-table-cell--tiny {
    min-width: 100px;
}

.admin-packages-table-cell--actions {
    white-space: nowrap;
}

.admin-packages-select,
.admin-packages-number {
    padding: 0.4rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-packages-number {
    width: 80px;
}

.admin-packages-number--price {
    width: 100px;
}

.admin-packages-status-btn {
    border: none;
    padding: 0.4rem 0.65rem;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 700;
    color: white;
}

.admin-packages-status-btn--active {
    background: #2ecc71;
}

.admin-packages-status-btn--inactive {
    background: #95a5a6;
}

.admin-payout-toolbar {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.admin-payout-primary-btn {
    background: #16a085;
    color: white;
    border: none;
    padding: 0.55rem 0.9rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.admin-payout-filter-form {
    margin-top: 1rem;
    display: flex;
    align-items: end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.admin-payout-month {
    padding: 0.55rem 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-payout-filter-btn {
    padding: 0.55rem 0.9rem;
    border: none;
    border-radius: 8px;
    background: #3498db;
    color: white;
    font-weight: 600;
    cursor: pointer;
}

.admin-payout-reset-btn {
    padding: 0.55rem 0.9rem;
    border-radius: 8px;
    background: #95a5a6;
    color: white;
    text-decoration: none;
    font-weight: 600;
}

.admin-payout-filter-note {
    margin-top: 0.65rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.admin-payout-alert-badge {
    display: inline-block;
    margin-left: 0.4rem;
    color: #e74c3c;
    font-weight: 800;
    font-size: 1.05rem;
    line-height: 1;
}

.admin-payout-status {
    color: white;
    border-radius: 14px;
    padding: 0.25rem 0.65rem;
    font-weight: 600;
}

.admin-payout-status--pending {
    background: #f39c12;
}

.admin-payout-status--info {
    background: #3498db;
}

.admin-payout-status--done {
    background: #1abc9c;
}

.admin-payout-status--danger {
    background: #e74c3c;
}

.admin-payout-actions-cell {
    min-width: 180px;
}

.admin-payout-inline-form {
    display: inline-block;
    margin-right: 0.3rem;
}

.admin-payout-mini-btn {
    color: white;
    border: none;
    padding: 0.4rem 0.7rem;
    border-radius: 8px;
    cursor: pointer;
}

.admin-payout-mini-btn--info {
    background: #3498db;
}

.admin-payout-mini-btn--danger {
    background: #e74c3c;
}

.admin-payout-mini-btn--success {
    background: #16a085;
}

.admin-manage-hero--accounting {
    background: linear-gradient(135deg, #16a085, #117a65);
}

.admin-accounting-section {
    margin-top: 2rem;
    padding-top: 1.4rem;
    border-top: 1px solid #ecf0f1;
}

.admin-accounting-title {
    margin: 0 0 1rem 0;
}

.admin-action-spacing-right {
    margin-right: 0.45rem;
}

.admin-accounting-modal {
    width: min(760px, 96vw);
}

.admin-accounting-modal-head {
    margin-bottom: 1.2rem;
}

.admin-accounting-modal-copy {
    margin: 0.35rem 0 0;
    color: #7f8c8d;
}

.admin-accounting-form {
    display: grid;
    gap: 1rem;
}

.admin-accounting-input {
    width: 100%;
    padding: 0.8rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
}

.admin-accounting-help {
    margin-top: 0.45rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-accounting-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.admin-accounting-cancel-btn {
    padding: 0.75rem 1.2rem;
    background: #bdc3c7;
    color: #2c3e50;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

.admin-accounting-save-btn {
    padding: 0.75rem 1.2rem;
    background: #3498db;
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}

.helper-tab-panel {
    padding: 2rem;
}

.helper-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    border: 1px solid #ecf0f1;
}

.helper-card-title {
    margin-bottom: 1.5rem;
}

.helper-empty {
    text-align: center;
    color: #7f8c8d;
    padding: 2rem;
}

.helper-session-item {
    padding: 1rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left: 4px solid var(--accent-color, #3498db);
    background: var(--card-bg, #f8f9fa);
}

.helper-session-title {
    margin: 0 0 0.5rem 0;
    color: #2c3e50;
}

.helper-session-meta {
    margin: 0;
    font-size: 0.9rem;
    color: #7f8c8d;
}

.helper-session-actions {
    display: flex;
    gap: 0.5rem;
}

.helper-btn {
    padding: 0.6rem 1.2rem;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.helper-badge-alert {
    background: #e74c3c;
    color: white;
    padding: 0.2rem 0.6rem;
    border-radius: 12px;
    font-size: 0.8rem;
    margin-left: 0.5rem;
}

.helper-stats-grid-compact {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
}

.helper-stat-tile {
    padding: 1rem;
    border-radius: 10px;
    background: var(--tile-bg, #eef6ff);
}

.helper-stat-tile-label {
    font-size: 0.9rem;
    color: #7f8c8d;
}

.helper-stat-tile-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--tile-color, #2980b9);
}

.helper-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.8rem;
    align-items: end;
    margin-bottom: 1rem;
}

.helper-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.helper-field {
    width: 100%;
    padding: 0.6rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.helper-link-btn {
    display: inline-block;
    text-align: center;
    padding: 0.65rem 1rem;
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
}

.helper-table-wrap {
    overflow-x: auto;
}

.helper-table {
    width: 100%;
    border-collapse: collapse;
}

.helper-table-head {
    background: #f8f9fa;
}

.helper-table-row {
    border-bottom: 1px solid #ecf0f1;
}

.helper-table-cell {
    padding: 0.75rem;
    text-align: left;
}

.helper-status-badge {
    background: var(--badge-color, #3498db);
    color: white;
    border-radius: 12px;
    padding: 0.2rem 0.55rem;
    font-size: 0.85rem;
    font-weight: 600;
}

.helper-pagination {
    margin-top: 1rem;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.helper-pagination-link {
    padding: 0.45rem 0.8rem;
    border-radius: 8px;
    background: #ecf0f1;
    color: #2c3e50;
    text-decoration: none;
    font-weight: 600;
}

.helper-pagination-text {
    color: #7f8c8d;
    font-size: 0.92rem;
}

.panel-doc-grid {
    margin-top: 0.65rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.7rem;
}

.panel-doc-tile {
    padding: 0.7rem 0.85rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
}

.panel-doc-tile-label {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

.panel-doc-tile-value {
    margin-top: 0.2rem;
    font-size: 0.98rem;
    font-weight: 600;
    color: #111827;
}

.panel-doc-result {
    margin-top: 0.2rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
}

.panel-doc-unit {
    font-size: 0.88rem;
    color: #6b7280;
}

.helper-status-line {
    margin-bottom: 0.7rem;
    color: #2c3e50;
    font-size: 0.9rem;
}

.helper-status-strong {
    color: var(--status-color, #2ecc71);
}

.helper-alert-danger {
    margin-bottom: 0.8rem;
    padding: 0.65rem 0.8rem;
    border-radius: 8px;
    background: #fdecea;
    color: #922b21;
    border: 1px solid #f5c6cb;
    font-size: 0.9rem;
}

.helper-grid-two {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.65rem;
    align-items: end;
}

.helper-grid-three {
    display: grid;
    grid-template-columns: 170px 1fr auto;
    gap: 0.65rem;
    align-items: end;
    margin-top: 0.65rem;
}

.helper-stack-top {
    margin-top: 0.75rem;
}

.helper-stack-top-sm {
    margin-top: 0.65rem;
}

.helper-textarea,
.helper-input-readonly,
.helper-input-text {
    width: 100%;
    padding: 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    background: #fff;
}

.helper-input-text,
.helper-select {
    padding: 0.55rem;
}

.helper-select {
    width: 100%;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.helper-textarea {
    resize: vertical;
}

.helper-status-help {
    display: block;
    margin-top: 0.5rem;
    color: #7f8c8d;
}

.helper-blog-intro,
.helper-blog-card {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
}

.helper-blog-intro-title,
.helper-blog-card-title {
    margin: 0 0 0.4rem 0;
    color: #2c3e50;
}

.helper-blog-intro-text {
    margin: 0;
    color: #7f8c8d;
}

.helper-alert-success {
    margin-top: 0.8rem;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    background: #eafaf1;
    color: #1e8449;
    border: 1px solid #2ecc71;
}

.helper-blog-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(320px, 1.1fr) minmax(300px, 0.9fr);
    margin-top: 1rem;
}

.helper-blog-form {
    display: grid;
    gap: 0.75rem;
}

.helper-field-label {
    display: block;
    margin-bottom: 0.3rem;
    font-weight: 600;
}

.helper-field-input {
    width: 100%;
    padding: 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.helper-field-textarea {
    width: 100%;
    padding: 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    resize: vertical;
}

.helper-inline-check {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.45rem;
    font-size: 0.92rem;
    color: #2c3e50;
}

.helper-editor-shell {
    border: 1px solid #dfe6e9;
    border-radius: 10px;
    overflow: hidden;
}

.helper-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding: 0.55rem;
    background: #f8f9fa;
    border-bottom: 1px solid #dfe6e9;
}

.helper-editor-btn {
    padding: 0.45rem 0.65rem;
    border: 1px solid #d0d7de;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

.helper-editor-btn-strong {
    font-weight: 700;
}

.helper-editor-area {
    min-height: 260px;
    max-height: 60vh;
    overflow: auto;
    padding: 1rem;
    line-height: 1.65;
    outline: none;
}

.helper-editor-source {
    display: none;
    width: 100%;
    min-height: 260px;
    max-height: 60vh;
    overflow: auto;
    padding: 1rem;
    line-height: 1.45;
    font-family: Consolas, 'Courier New', monospace;
    border: none;
    outline: none;
    resize: vertical;
}

.helper-hidden-field {
    display: none;
}

.helper-grid-half {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr 1fr;
}

.helper-actions-row {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.helper-btn-save {
    background: #2ecc71;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0.65rem 0.9rem;
    cursor: pointer;
    font-weight: 700;
}

.helper-link-soft {
    display: inline-block;
    background: #ecf0f1;
    color: #2c3e50;
    border-radius: 8px;
    padding: 0.65rem 0.9rem;
    text-decoration: none;
    font-weight: 700;
}

.helper-empty-dashed {
    padding: 0.8rem;
    border: 1px dashed #dfe6e9;
    border-radius: 8px;
    color: #7f8c8d;
}

.helper-blog-list {
    display: grid;
    gap: 0.6rem;
    max-height: 700px;
    overflow: auto;
    padding-right: 0.2rem;
}

.helper-blog-item {
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.7rem;
}

.helper-blog-item-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}

.helper-blog-item-title {
    font-weight: 700;
    color: #2c3e50;
}

.helper-blog-item-meta {
    font-size: 0.85rem;
    color: #7f8c8d;
    margin-top: 0.2rem;
}

.helper-blog-item-author {
    color: var(--author-color, #3498db);
    font-weight: 700;
}

.helper-blog-item-actions {
    display: flex;
    gap: 0.35rem;
}

.helper-mini-link {
    padding: 0.35rem 0.55rem;
    border-radius: 6px;
    text-decoration: none;
    background: #3498db;
    color: #fff;
}

.helper-mini-form {
    display: inline;
}

.helper-mini-danger {
    padding: 0.35rem 0.55rem;
    border-radius: 6px;
    border: none;
    background: #e74c3c;
    color: #fff;
    cursor: pointer;
}

.helper-preview-badge {
    padding: 0.3rem 0.5rem;
    border-radius: 6px;
    background: #f1f2f6;
    color: #7f8c8d;
    font-size: 0.82rem;
}

.lekarz-tab-panel {
    padding: 2rem;
}

.lekarz-section-text {
    color: #7f8c8d;
    margin-top: 0.5rem;
}

.lekarz-filter-form {
    margin-top: 1rem;
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    align-items: center;
}

.lekarz-filter-label {
    font-weight: 600;
    color: #2c3e50;
}

.lekarz-filter-select {
    padding: 0.55rem 0.7rem;
    border: 2px solid #ecf0f1;
    border-radius: 8px;
    min-width: 190px;
}

.lekarz-filter-select-wide {
    min-width: 220px;
}

.lekarz-filter-input-month {
    padding: 0.5rem 0.65rem;
    border: 2px solid #ecf0f1;
    border-radius: 8px;
}

.lekarz-filter-btn {
    padding: 0.55rem 0.95rem;
    border: none;
    border-radius: 8px;
    background: #3498db;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.lekarz-filter-link {
    padding: 0.55rem 0.95rem;
    border-radius: 8px;
    background: #f1f2f6;
    color: #2c3e50;
    text-decoration: none;
    font-weight: 600;
}

.lekarz-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.lekarz-summary-card {
    background: var(--card-bg, #f8f9fa);
    border-radius: 12px;
    padding: 1rem;
}

.lekarz-summary-card--blue { --card-bg: #eef6ff; }

.lekarz-summary-label {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.lekarz-summary-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--value-color, #2c3e50);
}

.lekarz-summary-value--blue { --value-color: #2980b9; }

.lekarz-summary-meta {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.85rem;
}

.lekarz-payout-box {
    background: #f8f9fa;
    border-radius: 14px;
    padding: 1rem 1.2rem;
    margin-bottom: 1.4rem;
}

.lekarz-payout-title {
    margin: 0 0 0.8rem 0;
}

.lekarz-payout-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.lekarz-payout-tile {
    background: white;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.75rem;
}

.lekarz-payout-tile-label {
    font-size: 0.85rem;
    color: #7f8c8d;
}

.lekarz-payout-tile-value {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--value-color, #2c3e50);
}

.lekarz-payout-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.lekarz-payout-info {
    font-size: 0.9rem;
    color: #7f8c8d;
}

.lekarz-payout-account {
    color: #2c3e50;
}

.lekarz-payout-threshold {
    font-size: 0.85rem;
}

.lekarz-payout-form-inline {
    margin: 0;
}

.lekarz-payout-btn {
    padding: 0.6rem 1rem;
    border: none;
    border-radius: 9px;
    font-weight: 600;
    cursor: pointer;
    color: white;
    background: var(--btn-bg, #16a085);
}

.lekarz-payout-btn[disabled] {
    cursor: not-allowed;
}

.lekarz-pagination-btn {
    display: inline-block;
    padding: 0.4rem 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    text-decoration: none;
    color: #2c3e50;
    background: #fff;
    font-weight: 600;
}

.lekarz-pagination-btn-disabled {
    display: inline-block;
    padding: 0.4rem 0.65rem;
    border: 1px solid #ecf0f1;
    border-radius: 8px;
    color: #b2bec3;
    background: #f8f9fa;
    font-weight: 600;
}

.lekarz-pagination-btn-active {
    display: inline-block;
    padding: 0.4rem 0.65rem;
    border: 1px solid #3498db;
    border-radius: 8px;
    text-decoration: none;
    color: #fff;
    background: #3498db;
    font-weight: 700;
}

.lekarz-subsection-title {
    margin-top: 1.6rem;
}

.lekarz-info-box {
    margin-top: 0.55rem;
    margin-bottom: 0.35rem;
    padding: 0.75rem 0.9rem;
    background: #eef6ff;
    border-left: 4px solid #3498db;
    border-radius: 10px;
    color: #2c3e50;
    font-size: 0.9rem;
}

.lekarz-bulk-form {
    margin-top: 0.8rem;
}

.lekarz-bulk-toolbar {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0.65rem;
}

.lekarz-bulk-btn {
    padding: 0.5rem 0.85rem;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    background: var(--btn-bg, #34495e);
}

.lekarz-bulk-btn[disabled] {
    cursor: not-allowed;
    opacity: 0.65;
}

.lekarz-table-wrap {
    overflow-x: auto;
}

.lekarz-table-plain {
    width: 100%;
    border-collapse: collapse;
}

.lekarz-table-head-row {
    background: #f8f9fa;
}

.lekarz-table-head-cell {
    padding: 0.85rem;
    text-align: left;
}

.lekarz-table-head-cell-center {
    text-align: center;
    width: 54px;
}

.lekarz-table-row {
    border-bottom: 1px solid #ecf0f1;
}

.lekarz-table-cell {
    padding: 0.85rem;
}

.lekarz-table-cell-center {
    text-align: center;
}

.lekarz-table-cell-strong {
    font-weight: 600;
}

.lekarz-table-empty {
    padding: 1rem;
    color: #7f8c8d;
}

.lekarz-table-dash {
    color: #bdc3c7;
}

.lekarz-status-pill {
    background: var(--pill-bg, #3498db);
    color: white;
    border-radius: 14px;
    padding: 0.25rem 0.65rem;
    font-weight: 600;
}

.lekarz-status-pill--muted { --pill-bg: #eef1f5; color: #6c757d; }
.lekarz-status-pill--ok { --pill-bg: #d4edda; color: #155724; }
.lekarz-status-pill--danger { --pill-bg: #f8d7da; color: #721c24; }
.lekarz-status-pill--blue { --pill-bg: #eef6ff; color: #1d4f91; }
.lekarz-status-pill--teal { --pill-bg: #d1f2eb; color: #117864; }
.lekarz-status-pill--amber { --pill-bg: #fff3cd; color: #856404; }

.lekarz-opinie-stats {
    margin-top: 1rem;
    padding: 0.8rem 0.95rem;
    border-radius: 10px;
    border: 1px solid #d6eaf8;
    background: #f4f9ff;
}

.lekarz-opinie-stats-title {
    font-weight: 700;
    color: #1f618d;
    margin-bottom: 0.4rem;
}

.lekarz-opinie-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.45rem 0.7rem;
    color: #2c3e50;
    font-size: 0.9rem;
}

.lekarz-empty-center {
    text-align: center;
    color: #7f8c8d;
    padding: 3rem;
}

.lekarz-opinie-list {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.lekarz-opinia-card {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem 1.25rem;
}

.lekarz-opinia-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.lekarz-opinia-author {
    font-weight: 600;
    color: #2c3e50;
}

.lekarz-opinia-stars {
    color: #f39c12;
    font-weight: 700;
}

.lekarz-opinia-meta {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.lekarz-opinia-badges {
    margin-top: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.lekarz-opinia-badge {
    display: inline-block;
    padding: 0.14rem 0.48rem;
    border-radius: 999px;
    background: #ecf0f1;
    color: #2c3e50;
    font-size: 0.79rem;
}

.lekarz-opinia-comment {
    margin-top: 0.6rem;
    color: #2c3e50;
    line-height: 1.5;
}

.lekarz-pagination-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-top: 0.9rem;
}

.lekarz-chat-filter-select {
    min-width: 260px;
    flex: 1;
    max-width: 420px;
    padding: 0.6rem 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
}

.lekarz-chat-list {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.lekarz-chat-card {
    background: white;
    padding: 1.5rem;
    border-radius: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 2px solid #ecf0f1;
    transition: all 0.3s ease;
}

.lekarz-chat-main {
    font-weight: 600;
    font-size: 1.1rem;
}

.lekarz-chat-inline-badge {
    margin-left: 0.45rem;
    display: inline-block;
    padding: 0.16rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--badge-border, #d7dde4);
    background: var(--badge-bg, #eef1f5);
    color: var(--badge-color, #6c757d);
    font-size: 0.78rem;
    font-weight: 700;
}

.lekarz-chat-meta {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.lekarz-chat-meta-sep {
    margin-left: 0.45rem;
}

.lekarz-chat-meta-sep-sm {
    margin-left: 0.35rem;
}

.lekarz-chat-status-row {
    margin-top: 0.3rem;
}

.lekarz-chat-status-pill {
    display: inline-block;
    padding: 0.35rem 0.7rem;
    border-radius: 10px;
    background: var(--pill-bg, #ecf0f1);
    color: var(--pill-color, #2c3e50);
    font-weight: 600;
    font-size: 0.85rem;
}

.lekarz-chat-connection-pill {
    display: var(--pill-display, inline-block);
    margin-left: 0.45rem;
    padding: 0.35rem 0.7rem;
    border-radius: 10px;
    background: var(--pill-bg, #d4edda);
    color: var(--pill-color, #155724);
    font-weight: 600;
    font-size: 0.85rem;
}

.lekarz-chat-connection-pill.is-hidden {
    display: none;
}

.lekarz-chat-status-pill--planned,
.lekarz-chat-status-pill.lekarz-status-glowny--planned,
.lekarz-chat-status-pill.lekarz-status-glowny--confirmed {
    --pill-bg: #d4edda;
    --pill-color: #155724;
}

.lekarz-chat-status-pill--pending,
.lekarz-chat-status-pill.lekarz-status-glowny--pending {
    --pill-bg: #fff3cd;
    --pill-color: #856404;
}

.lekarz-chat-status-pill--done,
.lekarz-chat-status-pill.lekarz-status-glowny--done {
    --pill-bg: #cce5ff;
    --pill-color: #004085;
}

.lekarz-chat-status-pill--cancelled,
.lekarz-chat-status-pill.lekarz-status-glowny--cancelled {
    --pill-bg: #f8d7da;
    --pill-color: #721c24;
}

.lekarz-chat-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.lekarz-chat-new {
    background: #e74c3c;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-weight: 600;
}

.lekarz-chat-link {
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    background: var(--btn-bg, #3498db);
}

.lekarz-chat-link--blue { --btn-bg: #3498db; }
.lekarz-chat-link--green { --btn-bg: #2ecc71; }
.lekarz-bulk-btn--dark { --btn-bg: #34495e; }
.lekarz-bulk-btn--muted { --btn-bg: #bdc3c7; }
.lekarz-bulk-btn--teal { --btn-bg: #1abc9c; }
.lekarz-ai-submit--enabled { --btn-bg: #16a085; --btn-cursor: pointer; }
.lekarz-ai-submit--disabled { --btn-bg: #bdc3c7; --btn-cursor: not-allowed; }

.lekarz-modal-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 10000;
}

.lekarz-modal-overlay--open {
    display: flex;
}

.lekarz-modal-shell {
    width: min(92vw, 420px);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(44, 62, 80, 0.12);
    overflow: hidden;
}

.lekarz-modal-head {
    padding: 1rem 1rem 0.65rem;
    border-bottom: 1px solid #edf2f7;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.lekarz-modal-title {
    margin: 0;
    color: #2c3e50;
    font-size: 1.05rem;
}

.lekarz-modal-body {
    padding: 1rem;
    color: #2c3e50;
    line-height: 1.55;
    font-size: 0.98rem;
}

.lekarz-modal-actions {
    display: flex;
    gap: 0.65rem;
    justify-content: flex-end;
    padding: 0 1rem 1rem;
    flex-wrap: wrap;
}

.lekarz-modal-btn {
    border: none;
    border-radius: 10px;
    padding: 0.7rem 1rem;
    font-weight: 700;
    cursor: pointer;
}

.lekarz-modal-btn-cancel {
    background: #eef2f7;
    color: #2c3e50;
}

.lekarz-modal-btn-ok {
    background: #16a085;
    color: #fff;
}

.lekarz-filter-form-tight {
    margin-top: 0.6rem;
}

.lekarz-filter-form-spaced {
    margin-top: 0.9rem;
}

.lekarz-filter-select-opinie {
    min-width: 200px;
}

.lekarz-btn-compact {
    padding: 0.6rem 0.95rem;
    border-radius: 9px;
}

.lekarz-tab-content-padded {
    padding: 2rem;
}

.lekarz-toggle-panel {
    display: none;
}

.lekarz-toggle-panel.is-visible {
    display: block;
}

.lekarz-tab-content.is-visible {
    display: block;
}

.lekarz-stats-content {
    display: none;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #dfe6e9;
}

.lekarz-stats-content.is-visible {
    display: block;
}

.lekarz-btn-disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

.lekarz-licznik-konta--complete {
    color: #27ae60;
}

.lekarz-licznik-konta--pending {
    color: #7f8c8d;
}

.lekarz-payout-tile-value--green { --value-color: #16a085; }
.lekarz-payout-tile-value--orange { --value-color: #f39c12; }
.lekarz-payout-btn--enabled { --btn-bg: #16a085; }
.lekarz-payout-btn--disabled { --btn-bg: #95a5a6; }
.lekarz-badge-pill--online { --badge-border: #b7e4c7; --badge-bg: #d4edda; --badge-color: #155724; }
.lekarz-badge-pill--offline { --badge-border: #d7dde4; --badge-bg: #eef1f5; --badge-color: #6c757d; }
.lekarz-badge-pill--danger { --badge-border: #f1b0b7; --badge-bg: #f8d7da; --badge-color: #721c24; }
.lekarz-badge-status--online { --badge-bg: #d4edda; --badge-color: #155724; }
.lekarz-badge-status--offline { --badge-bg: #f8d7da; --badge-color: #721c24; }
.lekarz-status-glowny--planned { --status-bg: #d4edda; --status-color: #155724; }
.lekarz-status-glowny--confirmed { --status-bg: #d4edda; --status-color: #155724; }
.lekarz-status-glowny--pending { --status-bg: #fff3cd; --status-color: #856404; }
.lekarz-status-glowny--done { --status-bg: #d6eaf8; --status-color: #1f618d; }
.lekarz-status-glowny--cancelled { --status-bg: #f8d7da; --status-color: #721c24; }

.lekarz-followup-panel-hidden {
    display: none;
}

.lekarz-ai-card {
    margin-top: 1rem;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
    background: #fff;
}

.lekarz-ai-card-soft {
    background: #fdfefe;
}

.lekarz-ai-card-gradient {
    border-color: #dfe6e9;
    border-radius: 14px;
    background: linear-gradient(180deg, #fcfeff 0%, #ffffff 100%);
}

.lekarz-ai-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.lekarz-ai-title {
    font-weight: 700;
    color: #2c3e50;
}

.lekarz-ai-counter {
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #1f618d;
    font-size: 0.82rem;
    font-weight: 700;
}

.lekarz-ai-empty {
    padding: 0.8rem 0.9rem;
    border-radius: 10px;
    border: 1px solid #ecf0f1;
    background: #f8f9fa;
    color: #7f8c8d;
}

.lekarz-ai-grid {
    display: grid;
    gap: 0.75rem;
}

.lekarz-ai-result-card {
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 0.9rem 1rem;
    background: #fff;
}

.lekarz-ai-result-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.lekarz-ai-result-title-row {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.lekarz-ai-result-title {
    font-size: 1rem;
    color: #2c3e50;
}

.lekarz-ai-pin {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #fff7cc;
    color: #9a6700;
    font-size: 0.76rem;
    font-weight: 700;
}

.lekarz-ai-result-meta {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.lekarz-ai-status-badge {
    display: inline-block;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    background: var(--badge-bg, #eef2f7);
    color: var(--badge-color, #2c3e50);
    border: 1px solid var(--badge-border, #dfe6e9);
}

.lekarz-ai-status-badge--ok { --badge-bg: #eafaf1; --badge-color: #1e8449; --badge-border: #b7e4c7; }
.lekarz-ai-status-badge--warn { --badge-bg: #fff4e6; --badge-color: #af601a; --badge-border: #f8c471; }
.lekarz-ai-status-badge--info { --badge-bg: #eef6ff; --badge-color: #1f618d; --badge-border: #aed6f1; }
.lekarz-ai-status-badge--danger { --badge-bg: #fdecec; --badge-color: #922b21; --badge-border: #f5b7b1; }
.lekarz-ai-status-badge--muted { --badge-bg: #f4f6f7; --badge-color: #2c3e50; --badge-border: #d5dbdb; }

.lekarz-ai-tiles {
    margin-top: 0.75rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem;
}

.lekarz-ai-tile {
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
}

.lekarz-ai-tile-label {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

.lekarz-ai-tile-value {
    margin-top: 0.2rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #111827;
}

.lekarz-ai-tile-value-strong {
    font-size: 1.05rem;
    font-weight: 700;
}

.lekarz-ai-unit {
    font-size: 0.88rem;
    color: #6b7280;
}

.lekarz-ai-comment {
    margin-top: 0.75rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    color: #2c3e50;
}

.lekarz-ai-note {
    color: #7f8c8d;
    margin-top: 0.75rem;
}

.lekarz-ai-config {
    margin-top: 0.8rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    border: 1px solid #d6eaf8;
    background: #f4f9ff;
    color: #1f618d;
}

.lekarz-ai-config-status {
    margin-left: 0.7rem;
}

.lekarz-ai-ok {
    color: #1e8449;
}

.lekarz-ai-bad {
    color: #c0392b;
}

.lekarz-ai-warning {
    margin-top: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 10px;
    border: 1px solid #f5c6cb;
    background: #fdecec;
    color: #7b241c;
}

.lekarz-ai-section-title {
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 0.6rem;
}

.lekarz-ai-section-title-spaced {
    margin-bottom: 0.7rem;
}

.lekarz-ai-form {
    display: grid;
    gap: 0.75rem;
}

.lekarz-ai-label {
    font-weight: 600;
    color: #2c3e50;
}

.lekarz-ai-select,
.lekarz-ai-textarea {
    padding: 0.65rem 0.75rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
}

.lekarz-ai-textarea {
    resize: vertical;
}

.lekarz-ai-submit {
    padding: 0.65rem 1rem;
    border: none;
    border-radius: 9px;
    color: #fff;
    font-weight: 700;
    background: var(--btn-bg, #16a085);
    cursor: var(--btn-cursor, pointer);
}

.lekarz-ai-result-meta-row {
    font-size: 0.9rem;
    color: #7f8c8d;
    margin-bottom: 0.5rem;
}

.lekarz-ai-pre {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.85rem;
    max-height: 420px;
    overflow: auto;
}

.lekarz-ai-pre-sm {
    margin-top: 0.55rem;
    padding: 0.75rem;
    max-height: 300px;
}

.lekarz-ai-history-list {
    display: grid;
    gap: 0.65rem;
}

.lekarz-ai-history-item {
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    background: #fcfcfc;
    padding: 0.65rem 0.75rem;
}

.lekarz-ai-history-summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.lekarz-ai-history-summary-title {
    font-weight: 600;
    color: #2c3e50;
}

.lekarz-ai-history-status {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    background: var(--badge-bg, #eef2f7);
    color: var(--badge-color, #2c3e50);
    border: 1px solid var(--badge-border, #dfe6e9);
}

.lekarz-ai-history-meta {
    margin-top: 0.6rem;
    font-size: 0.9rem;
    color: #7f8c8d;
}

.lekarz-ai-error {
    margin-top: 0.55rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: #fdecec;
    border: 1px solid #f5c6cb;
    color: #7b241c;
}

.lekarz-ai-prompt {
    margin-top: 0.55rem;
    color: #2c3e50;
    font-size: 0.88rem;
}

.panel-pagination {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}

.panel-pagination-btn,
.panel-pagination-current,
.panel-pagination-disabled {
    display: inline-block;
    padding: 0.42rem 0.7rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid #dfe6e9;
}

.panel-pagination-btn {
    background: #ffffff;
    color: #2c3e50;
}

.panel-pagination-current {
    background: #3498db;
    color: #ffffff;
    border-color: #3498db;
}

.panel-pagination-disabled {
    background: #f8f9fa;
    color: #b2bec3;
    border-color: #ecf0f1;
    cursor: not-allowed;
}

.panel-pagination-meta {
    margin-left: 0.35rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.panel-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    min-width: 280px;
    max-width: 420px;
    padding: 1rem 1.15rem;
    border-radius: 14px;
    color: white;
    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
    background: var(--toast-bg, #2ecc71);
}

.panel-toast--closing {
    transition: opacity 0.25s ease, transform 0.25s ease;
    opacity: 0;
    transform: translateY(-6px);
}

.panel-toast--ok {
    --toast-bg: #2ecc71;
}

.panel-toast--error {
    --toast-bg: #e74c3c;
}

.panel-demo-banner {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 1.5rem;
    border-radius: 15px;
    margin-bottom: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.panel-demo-banner-title {
    margin-bottom: 0.5rem;
}

.panel-demo-banner-text {
    margin: 0;
    opacity: 0.95;
}

.panel-requires {
    background: #f8f9fa;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    padding: 1.4rem;
    margin-bottom: 2rem;
}

.panel-requires-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.panel-requires-title {
    margin: 0;
    color: #2c3e50;
}

.panel-requires-icon {
    color: #f39c12;
}

.panel-requires-text {
    margin: 0.35rem 0 0;
    color: #6b7280;
}

.panel-requires-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.panel-requires-card {
    border-radius: 16px;
    padding: 1rem 1.1rem;
    border: 1px solid transparent;
}

.panel-requires-card--payments {
    background: #fff8ec;
    border-color: #f6d7a7;
}

.panel-requires-card--refunds {
    background: #eef6ff;
    border-color: #cfe4ff;
}

.panel-requires-card--docs {
    background: #ecfdf3;
    border-color: #c7f0d8;
}

.panel-requires-card--followup {
    background: #f5f3ff;
    border-color: #ddd6fe;
}

.panel-requires-label {
    font-size: 0.85rem;
    margin-bottom: 0.35rem;
}

.panel-requires-label--payments { color: #9a6700; }
.panel-requires-label--refunds { color: #1d4f91; }
.panel-requires-label--docs { color: #166534; }
.panel-requires-label--followup { color: #5b21b6; }

.panel-requires-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.panel-requires-value--payments { color: #b45309; }
.panel-requires-value--refunds { color: #2563eb; }
.panel-requires-value--docs { color: #15803d; }
.panel-requires-value--followup { color: #6d28d9; }

.panel-requires-desc {
    margin-top: 0.45rem;
    font-size: 0.9rem;
}

.panel-requires-desc--payments { color: #7c5a10; }
.panel-requires-desc--refunds { color: #345d87; }
.panel-requires-desc--docs { color: #3c6e57; }
.panel-requires-desc--followup { color: #5b3f99; }

.panel-followup-stack {
    display: grid;
    gap: 1rem;
}

.panel-followup-intro {
    background: #f5f3ff;
    border-left: 4px solid #6d28d9;
    border-radius: 10px;
    padding: 0.9rem 1rem;
    color: #2c3e50;
}

.panel-followup-empty {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
    color: #7f8c8d;
}

.panel-followup-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.9rem;
}

.panel-followup-stat-card {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 0.9rem 1rem;
}

.panel-followup-stat-card--pending {
    background: #fff8ec;
    border-color: #f6d7a7;
}

.panel-followup-stat-card--planned {
    background: #eef6ff;
    border-color: #cfe4ff;
}

.panel-followup-stat-card--done {
    background: #ecfdf3;
    border-color: #c7f0d8;
}

.panel-followup-stat-label {
    font-size: 0.82rem;
    color: #7f8c8d;
}

.panel-followup-stat-label--pending { color: #9a6700; }
.panel-followup-stat-label--planned { color: #1d4f91; }
.panel-followup-stat-label--done { color: #166534; }

.panel-followup-stat-value {
    margin-top: 0.3rem;
    font-size: 1.8rem;
    font-weight: 700;
    color: #2c3e50;
}

.panel-followup-stat-value--pending { color: #b45309; }
.panel-followup-stat-value--planned { color: #2563eb; }
.panel-followup-stat-value--done { color: #15803d; }

.panel-followup-list {
    display: grid;
    gap: 0.85rem;
}

.panel-followup-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #6d28d9;
    border-radius: 12px;
    padding: 0.9rem 1rem;
}

.panel-followup-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.panel-followup-card-title {
    font-weight: 700;
    color: #2c3e50;
}

.panel-followup-card-meta {
    margin-top: 0.22rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.panel-followup-status {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.86rem;
    background: var(--status-bg, #ecf0f1);
    color: var(--status-color, #2c3e50);
}

.panel-followup-status--pending { --status-bg: #fff3cd; --status-color: #856404; }
.panel-followup-status--planned { --status-bg: #e8f1ff; --status-color: #1d4f91; }
.panel-followup-status--done { --status-bg: #d4edda; --status-color: #155724; }

.panel-followup-form {
    margin-top: 0.75rem;
    display: grid;
    gap: 0.65rem;
}

.panel-followup-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.65rem;
}

.panel-followup-field {
    display: flex;
    flex-direction: column;
    gap: 0.32rem;
    font-size: 0.88rem;
    color: #2c3e50;
}

.panel-followup-input,
.panel-followup-select,
.panel-followup-textarea {
    padding: 0.55rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.panel-followup-textarea {
    min-height: 80px;
    resize: vertical;
}

.panel-followup-submit {
    padding: 0.6rem 1rem;
}

.panel-followup-box {
    margin-top: 0.6rem;
    padding: 0.7rem 0.8rem;
    border-radius: 8px;
    font-size: 0.9rem;
}

.panel-followup-box--info {
    background: #eef6ff;
    border: 1px solid #cfe4ff;
    color: #345d87;
}

.panel-followup-box--warning {
    background: #fff8ec;
    border: 1px solid #f6d7a7;
    color: #8a5a00;
}

.panel-followup-answer {
    margin-top: 0.6rem;
    color: #2c3e50;
    font-size: 0.92rem;
}

.panel-followup-link {
    margin-left: 0.35rem;
    color: #b45309;
    font-weight: 700;
    text-decoration: underline;
}

.panel-wizyta-uslugi-info-icon {
    font-size: 0.78rem;
}

.panel-status-pill {
    background: var(--status-bg, #ecf0f1);
    color: var(--status-color, #2c3e50);
}

.panel-status-pill--ok { --status-bg: #d4edda; --status-color: #155724; }
.panel-status-pill--done { --status-bg: #cce5ff; --status-color: #004085; }
.panel-status-pill--cancelled { --status-bg: #f8d7da; --status-color: #721c24; }
.panel-status-pill--pending { --status-bg: #fff3cd; --status-color: #856404; }

.panel-btn-disabled {
    display: inline-block;
    padding: 0.6rem 1rem;
    border-radius: 8px;
    background: #ecf0f1;
    color: #7f8c8d;
    font-weight: 600;
    cursor: not-allowed;
}

.panel-btn-reschedule {
    background: #8e44ad;
}

.panel-btn-repeat {
    background: #2980b9;
}

.panel-history {
    margin-top: 0.8rem;
    border: 1px solid #e8edf3;
    border-radius: 12px;
    background: #fbfdff;
    overflow: hidden;
}

.panel-history-summary {
    cursor: pointer;
    list-style: none;
    padding: 0.8rem 0.95rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-weight: 700;
    color: #2c3e50;
}

.panel-history-icon {
    color: #3498db;
}

.panel-history-count {
    font-size: 0.82rem;
    color: #7f8c8d;
}

.panel-history-body {
    padding: 0 0.95rem 0.95rem;
}

.panel-history-item {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin-top: 0.2rem;
}

.panel-history-item + .panel-history-item {
    margin-top: 0.75rem;
}

.panel-history-line {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 18px;
    padding-top: 0.15rem;
}

.panel-history-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--dot-bg, #3498db);
    display: inline-block;
}

.panel-history-dot--current {
    --dot-bg: #2ecc71;
}

.panel-history-connector {
    margin-top: 0.2rem;
    width: 2px;
    flex: 1 1 auto;
    min-height: 38px;
    background: #d9e7f5;
    display: inline-block;
}

.panel-history-content {
    flex: 1 1 auto;
}

.panel-history-title-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.panel-history-title {
    color: #2c3e50;
}

.panel-history-current {
    display: inline-block;
    padding: 0.14rem 0.45rem;
    border-radius: 999px;
    background: #eafaf1;
    color: #1e8449;
    font-size: 0.74rem;
    font-weight: 700;
}

.panel-history-date {
    margin-top: 0.12rem;
    font-size: 0.82rem;
    color: #7f8c8d;
}

.panel-history-desc {
    margin-top: 0.18rem;
    font-size: 0.88rem;
    color: #5d6d7e;
}

.panel-detail {
    margin-top: 0.45rem;
    font-size: 0.9rem;
}

.panel-detail--top {
    margin-top: 0.55rem;
}

.panel-detail-muted {
    color: #7f8c8d;
}

.panel-detail-purple {
    color: #8e44ad;
}

.panel-detail-danger-box {
    margin-top: 0.45rem;
    font-size: 0.9rem;
    color: #721c24;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 8px;
    padding: 0.55rem 0.65rem;
}

.panel-cancel-form {
    margin-top: 0.65rem;
}

.panel-cancel-textarea {
    display: block;
    margin-bottom: 0.45rem;
    width: 100%;
    max-width: 520px;
    min-height: 70px;
    padding: 0.5rem 0.55rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    resize: vertical;
}

.panel-cancel-btn {
    padding: 0.5rem 0.9rem;
    background: #e74c3c;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
}

.panel-pakiety-stack {
    display: grid;
    gap: 1rem;
}

.panel-pakiety-intro {
    background: #eef6ff;
    border-left: 4px solid #3498db;
    border-radius: 10px;
    padding: 0.9rem 1rem;
    color: #2c3e50;
}

.panel-pakiety-card {
    background: white;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem;
}

.panel-pakiety-title {
    margin: 0 0 0.8rem 0;
    color: #2c3e50;
}

.panel-pakiety-empty {
    color: #7f8c8d;
}

.panel-pakiety-list {
    display: grid;
    gap: 0.65rem;
}

.panel-pakiety-item {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.75rem 0.9rem;
}

.panel-pakiety-row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.panel-pakiety-meta {
    font-size: 0.88rem;
    color: #7f8c8d;
}

.panel-pakiety-meta-strong {
    font-size: 0.88rem;
    color: #2c3e50;
}

.panel-pakiety-actions {
    margin-top: 0.7rem;
    display: flex;
    justify-content: flex-end;
}

.panel-pakiety-actions-inline {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.panel-pakiety-btn-pdf {
    background: #34495e;
    display: inline-block;
    text-decoration: none;
    padding: 0.5rem 0.9rem;
}

.panel-pakiety-btn-faktura {
    background: #1f618d;
    display: inline-block;
    text-decoration: none;
    padding: 0.5rem 0.9rem;
}

.panel-pakiety-buy {
    display: inline-block;
    padding: 0.5rem 0.9rem;
    text-decoration: none;
}

.panel-pakiety-price {
    font-weight: 700;
    color: #2ecc71;
    margin-bottom: 0.35rem;
}

.panel-pakiety-align-right {
    text-align: right;
}

.panel-docs-note {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    background: #f8f9fa;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    color: #7f8c8d;
}

.panel-docs-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.panel-docs-stat-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 1rem;
}

.panel-docs-stat-card--ok {
    background: #ecfdf3;
    border-color: #c7f0d8;
}

.panel-docs-stat-card--warn {
    background: #fff7ed;
    border-color: #fed7aa;
}

.panel-docs-stat-label {
    font-size: 0.82rem;
    color: #7f8c8d;
}

.panel-docs-stat-label--ok {
    color: #2f6b53;
}

.panel-docs-stat-label--warn {
    color: #9a3412;
}

.panel-docs-stat-value {
    margin-top: 0.35rem;
    font-size: 1.85rem;
    font-weight: 700;
    color: #2c3e50;
}

.panel-docs-stat-value--ok {
    color: #15803d;
}

.panel-docs-stat-value--warn {
    color: #c2410c;
}

.panel-docs-filter {
    margin-bottom: 1.2rem;
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}

.panel-docs-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
    align-items: end;
}

.panel-docs-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.panel-docs-select,
.panel-docs-date,
.panel-docs-input,
.panel-docs-textarea {
    width: 100%;
    padding: 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.panel-docs-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.panel-docs-reset {
    display: inline-block;
    text-decoration: none;
    background: #95a5a6;
}

.panel-docs-alert {
    margin-bottom: 1rem;
    padding: 0.95rem 1rem;
    background: #fff8ec;
    border: 1px solid #f6d7a7;
    border-radius: 10px;
    color: #8a5a00;
}

.panel-docs-result-form {
    margin-bottom: 1.4rem;
    padding: 1rem;
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
    border: 1px solid #d6eaf8;
    border-radius: 16px;
}

.panel-docs-result-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.8rem;
}

.panel-docs-result-title {
    margin: 0;
    color: #2c3e50;
}

.panel-docs-result-text {
    margin: 0.35rem 0 0 0;
    color: #6b7280;
    font-size: 0.92rem;
}

.panel-docs-result-badge {
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #1f618d;
    font-size: 0.85rem;
    font-weight: 700;
}

.panel-docs-result-grid {
    display: grid;
    gap: 0.85rem;
}

.panel-docs-result-grid-4 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
}

.panel-docs-result-grid-compact {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.85rem;
}

.panel-docs-result-grid-wide {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}

.panel-docs-checkbox-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.panel-docs-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: #2c3e50;
}

.panel-doc-status {
    border: 1px solid #d5dbdb;
}

.panel-doc-status--w_normie {
    background: #eafaf1;
    color: #1e8449;
    border-color: #b7e4c7;
}

.panel-doc-status--poza_norma {
    background: #fff4e6;
    color: #af601a;
    border-color: #f8c471;
}

.panel-doc-status--do_konsultacji {
    background: #eef6ff;
    color: #1f618d;
    border-color: #aed6f1;
}

.panel-doc-status--pilne {
    background: #fdecec;
    color: #922b21;
    border-color: #f5b7b1;
}

.panel-doc-status--domyslny {
    background: #f4f6f7;
    color: #2c3e50;
    border-color: #d5dbdb;
}

.panel-modal-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 10000;
}

.panel-modal-overlay[hidden] {
    display: none !important;
}

.panel-licznik-konta--complete {
    color: #27ae60;
}

.panel-licznik-konta--pending {
    color: #7f8c8d;
}

.panel-modal {
    width: min(92vw, 420px);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
    border: 1px solid rgba(44, 62, 80, 0.12);
    overflow: hidden;
}

.panel-modal-head {
    padding: 1rem 1rem 0.65rem;
    border-bottom: 1px solid #edf2f7;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.panel-modal-head h3 {
    margin: 0;
    color: #2c3e50;
    font-size: 1.05rem;
}

.panel-modal-body {
    padding: 1rem;
    color: #2c3e50;
    line-height: 1.55;
    font-size: 0.98rem;
}

.panel-modal-actions {
    display: flex;
    gap: 0.65rem;
    justify-content: flex-end;
    padding: 0 1rem 1rem;
    flex-wrap: wrap;
}

.panel-modal-btn {
    border: none;
    border-radius: 10px;
    padding: 0.7rem 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.panel-modal-btn:hover {
    transform: translateY(-1px);
}

.panel-modal-btn-primary {
    background: linear-gradient(135deg, #2c4a66, #446d94);
    color: #fff;
    box-shadow: 0 10px 22px rgba(44, 74, 102, 0.18);
}

.panel-modal-btn-secondary {
    background: #ecf0f1;
    color: #2c3e50;
}

.panel-sekcja.panel-admin {
    max-width: none;
    width: 100%;
    margin: 2rem 0;
    padding: 0 1.5rem;
}

.admin-tab {
    width: 100%;
    min-height: 74px;
    padding: 0.85rem 0.95rem;
    background: white;
    border: 1px solid #dfe6e9;
    border-radius: 14px;
    cursor: pointer;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
    text-align: left;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
    color: #2c3e50;
    box-shadow: 0 8px 18px rgba(44, 62, 80, 0.05);
}

.admin-tab:hover {
    background: #ffffff;
    border-color: #bfc9ca;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(44, 62, 80, 0.08);
}

.admin-tab.active {
    background: linear-gradient(135deg, #2ecc71, #27ae60);
    color: white;
    border-color: #27ae60;
    box-shadow: 0 14px 28px rgba(39, 174, 96, 0.18);
}

.admin-tab i {
    min-width: 20px;
}

.admin-tab.active span {
    color: inherit;
}

table tr:hover {
    background: #f8f9fa;
}

.ustawienia-pro-hero {
    margin-top: 1rem;
    padding: 1.25rem 1.35rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 52%, #f4fbf7 100%);
    border: 1px solid #dfe6e9;
    display: grid;
    grid-template-columns: minmax(320px, 1.3fr) minmax(240px, 0.7fr);
    gap: 1rem;
    align-items: start;
}

.ustawienia-pro-eyebrow {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #16a085;
}

.ustawienia-pro-title {
    margin-top: 0.35rem;
    font-size: 1.55rem;
    font-weight: 800;
    color: #2c3e50;
}

.ustawienia-pro-desc {
    margin-top: 0.5rem;
    color: #5d6d7e;
    line-height: 1.6;
    max-width: 760px;
}

.ustawienia-pro-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.75rem;
}

.ustawienia-pro-stat {
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid #e8eef3;
    border-radius: 14px;
    padding: 0.9rem 1rem;
    box-shadow: 0 8px 20px rgba(44, 62, 80, 0.04);
}

.ustawienia-pro-stat span {
    display: block;
    color: #7f8c8d;
    font-size: 0.84rem;
}

.ustawienia-pro-stat strong {
    display: block;
    margin-top: 0.35rem;
    color: #2c3e50;
    font-size: 1.35rem;
}

.ustawienia-pro-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 1rem;
    width: 100%;
}

.ustawienia-pro-nav-btn {
    flex: 1 1 170px;
    min-width: 170px;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid #dfe6e9;
    background: #ffffff;
    color: #2c3e50;
    border-radius: 12px;
    padding: 0.8rem 0.9rem;
    text-align: left;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 8px 18px rgba(44, 62, 80, 0.04);
    white-space: normal;
}

.ustawienia-pro-nav-btn:hover {
    transform: translateY(-1px);
    border-color: #bfc9ca;
    box-shadow: 0 12px 24px rgba(44, 62, 80, 0.08);
}

.ustawienia-pro-nav-btn.active {
    background: #16a085;
    border-color: #16a085;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(22, 160, 133, 0.22);
}

.ustawienia-pro-card {
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #ecf0f1;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(44, 62, 80, 0.04);
}

.ustawienia-pro-card-soft {
    background: #ffffff;
}

.ustawienia-pro-subheader {
    padding: 0.95rem 1rem;
    border-radius: 12px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
}

.ustawienia-pro-subheader h3 {
    margin: 0;
    font-size: 1.02rem;
    color: #2c3e50;
}

.ustawienia-pro-subheader p {
    margin: 0.35rem 0 0 0;
    color: #7f8c8d;
    line-height: 1.5;
}

.modal-cennik-admin {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 3000;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.modal-cennik-admin--open {
    display: flex;
}

.modal-cennik-admin-content {
    width: min(1100px, 98vw);
    max-height: 90vh;
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    padding: 1.2rem;
}

.modal-potwierdzenie-admin-content {
    width: min(460px, 96vw);
    max-height: none;
}

.modal-cennik-admin--confirm {
    z-index: 3500;
}

.admin-pagination {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}

.admin-pagination-btn {
    display: inline-block;
    padding: 0.42rem 0.7rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid #dfe6e9;
    background: #ffffff;
    color: #2c3e50;
}

.admin-pagination-btn--active {
    background: #3498db;
    color: #ffffff;
    border-color: #3498db;
}

.admin-pagination-btn--disabled {
    background: #f8f9fa;
    color: #b2bec3;
    border-color: #ecf0f1;
    cursor: not-allowed;
}

.admin-pagination-meta {
    margin-left: 0.35rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.admin-confirm-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
}

.admin-confirm-title {
    margin: 0;
    color: #2c3e50;
}

.admin-confirm-title-icon {
    color: #e67e22;
}

.admin-confirm-text {
    margin: 0.9rem 0 0 0;
    color: #2c3e50;
}

.admin-confirm-actions {
    margin-top: 1.1rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.admin-confirm-btn {
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.admin-confirm-btn--light {
    background: #ecf0f1;
    color: #2c3e50;
}

.admin-confirm-btn--danger {
    background: #e74c3c;
    color: #fff;
    font-weight: 700;
}

.admin-confirm-btn--md {
    padding: 0.55rem 0.95rem;
    font-weight: 600;
}

.admin-confirm-btn--icon {
    padding: 0.4rem 0.7rem;
}

.admin-backup-meta-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    background: #f8f9fa;
}

.admin-backup-meta-label {
    font-weight: 700;
    color: #2c3e50;
}

.admin-backup-meta-value {
    color: #52606d;
    text-align: right;
}

/* Responsywność */
@media (max-width: 768px) {
    .panel-sekcja.panel-admin {
        padding: 0 0.75rem;
    }

    .ustawienia-pro-hero {
        grid-template-columns: 1fr;
    }

    .menu {
        width: 100% !important;
        flex-direction: column;
        gap: 1rem;
    }
    
    .menu-linki {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .hero-sekcja {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .hero-przyciski {
        justify-content: center;
    }
    
    .hero-zdjecie {
        order: -1;
    }
    
    .hero-tresc h1 {
        font-size: 2rem;
    }
    
    .wizyta-karta {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 0.5rem;
    }
    
    .wizyta-data {
        width: fit-content;
        margin: 0 auto;
    }
    @media (max-width: 768px) {
    .formularz-opinia {
        padding: 1.5rem;
    }
    }

    .admin-tab-panel-padded {
        padding: 2rem;
    }

    .admin-report-intro,
    .admin-automation-intro {
        margin-top: 0.75rem;
        color: #7f8c8d;
    }

    .admin-report-card {
        margin-top: 1.5rem;
        padding: 1.25rem;
        background: #ffffff;
        border: 1px solid #ecf0f1;
        border-radius: 15px;
    }

    .admin-report-head,
    .admin-automation-head,
    .admin-automation-logs-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .admin-report-title,
    .admin-automation-title,
    .admin-automation-subtitle {
        margin: 0 0 0.45rem 0;
        color: #2c3e50;
    }

    .admin-report-copy,
    .admin-automation-copy,
    .admin-automation-subcopy {
        margin: 0;
        color: #7f8c8d;
    }

    .admin-report-actions,
    .admin-automation-bulk-actions {
        display: flex;
        gap: 0.65rem;
        flex-wrap: wrap;
        align-items: center;
    }

    .admin-report-inline-form {
        margin: 0;
        display: inline;
    }

    .admin-report-action-btn,
    .admin-report-filter-btn,
    .admin-report-reset-btn,
    .admin-automation-toggle-btn,
    .admin-automation-retry-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        padding: 0.55rem 0.9rem;
        border: none;
        border-radius: 10px;
        color: #fff;
        font-weight: 700;
        cursor: pointer;
        text-decoration: none;
    }

    .admin-report-action-btn--csv {
        padding: 0.7rem 1rem;
        background: #27ae60;
    }

    .admin-report-action-btn--pdf {
        padding: 0.7rem 1rem;
        background: #34495e;
    }

    .admin-report-filter-form {
        display: flex;
        align-items: flex-end;
        gap: 0.75rem;
        flex-wrap: wrap;
        margin-top: 1rem;
    }

    .admin-report-filter-form--top-margin,
    .admin-report-form-block {
        margin-top: 1rem;
    }

    .admin-report-label {
        display: block;
        margin-bottom: 0.35rem;
        font-weight: 600;
    }

    .admin-report-field {
        padding: 0.55rem 0.65rem;
        border: 1px solid #dfe6e9;
        border-radius: 8px;
    }

    .admin-report-field--wide {
        min-width: 200px;
    }

    .admin-report-filter-btn {
        background: #3498db;
    }

    .admin-report-reset-btn {
        background: #95a5a6;
    }

    .admin-report-summary-grid,
    .admin-automation-task-grid,
    .admin-automation-queue-grid {
        display: grid;
        gap: 1rem;
        margin-top: 1rem;
    }

    .admin-report-summary-grid {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }

    .admin-automation-task-grid {
        grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    }

    .admin-automation-queue-grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 0.8rem;
    }

    .admin-report-summary-card,
    .admin-automation-task-card,
    .admin-automation-queue-card {
        border-radius: 12px;
        padding: 1rem;
        border: 1px solid #ecf0f1;
        background: #fff;
    }

    .admin-report-summary-card--visits { background: #eef6ff; }
    .admin-report-summary-card--packages { background: #f3ebff; }
    .admin-report-summary-card--subscriptions { background: #fef5e7; }
    .admin-report-summary-card--refunds { background: #fdecea; }
    .admin-report-summary-card--platform { background: #eafaf1; }

    .admin-report-summary-label,
    .admin-automation-task-meta-label,
    .admin-automation-task-result-label,
    .admin-automation-queue-card-label {
        color: #7f8c8d;
        font-size: 0.84rem;
    }

    .admin-report-summary-value {
        font-size: 1.45rem;
        font-weight: 700;
    }

    .admin-report-summary-value--visits,
    .admin-report-table-cell--visits { color: #2980b9; font-weight: 700; }
    .admin-report-summary-value--packages,
    .admin-report-table-cell--packages { color: #8e44ad; font-weight: 700; }
    .admin-report-summary-value--subscriptions,
    .admin-report-table-cell--subscriptions { color: #d68910; font-weight: 700; }
    .admin-report-summary-value--refunds,
    .admin-report-table-cell--refunds { color: #c0392b; font-weight: 700; }
    .admin-report-summary-value--platform,
    .admin-report-table-cell--platform { color: #239b56; font-weight: 700; }

    .admin-report-table-wrap {
        overflow-x: auto;
        margin-top: 1rem;
    }

    .admin-report-table-wrap--no-margin {
        margin-top: 0;
    }

    .admin-report-table {
        width: 100%;
        border-collapse: collapse;
    }

    .admin-report-table-head {
        background: #f8f9fa;
    }

    .admin-report-table-row {
        border-bottom: 1px solid #ecf0f1;
    }

    .admin-report-table-cell {
        padding: 0.85rem;
        text-align: left;
    }

    .admin-report-table-cell--strong {
        font-weight: 700;
    }

    .admin-report-table-cell--nowrap {
        white-space: nowrap;
    }

    .admin-report-table-cell--message {
        min-width: 260px;
    }

    .admin-report-table-cell--result {
        min-width: 220px;
    }

    .admin-report-table-cell--muted,
    .admin-report-muted,
    .admin-automation-bulk-note {
        color: #7f8c8d;
    }

    .admin-report-empty-cell {
        padding: 0.95rem;
        color: #7f8c8d;
    }

    .admin-report-placeholder {
        color: #d0d7de;
    }

    .admin-report-table-cell--checkbox {
        width: 44px;
    }

    .admin-automation-section {
        margin-top: 1.5rem;
        padding-top: 1.2rem;
        border-top: 1px solid #ecf0f1;
    }

    .admin-automation-controls {
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
        align-items: flex-end;
    }

    .admin-automation-status,
    .admin-automation-log-status {
        display: inline-block;
        padding: 0.28rem 0.75rem;
        border-radius: 999px;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .admin-automation-status--on,
    .admin-automation-log-status--success {
        background: #27ae60;
        color: #fff;
    }

    .admin-automation-status--off,
    .admin-automation-log-status--error {
        background: #e74c3c;
        color: #fff;
    }

    .admin-automation-log-status--warning,
    .admin-automation-log-status--pending {
        background: #fef5e7;
        color: #b9770e;
    }

    .admin-automation-log-status--neutral {
        background: #f4f6f7;
        color: #95a5a6;
    }

    .admin-automation-toggle-btn--on {
        background: #27ae60;
    }

    .admin-automation-toggle-btn--off {
        background: #e74c3c;
    }

    .admin-automation-task-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .admin-automation-task-name {
        font-weight: 700;
        color: #2c3e50;
    }

    .admin-automation-task-copy {
        margin-top: 0.35rem;
        color: #7f8c8d;
        font-size: 0.9rem;
    }

    .admin-automation-task-meta-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        margin-top: 1rem;
    }

    .admin-automation-task-meta-card {
        background: #f8f9fa;
        border-radius: 10px;
        padding: 0.75rem;
    }

    .admin-automation-task-meta-value {
        margin-top: 0.2rem;
        font-weight: 700;
        color: #2c3e50;
    }

    .admin-automation-task-meta-value--time,
    .admin-automation-task-message-copy {
        font-size: 0.92rem;
    }

    .admin-automation-task-message {
        margin-top: 0.85rem;
        padding: 0.75rem;
        background: #f8f9fa;
        border-left: 4px solid #95a5a6;
        border-radius: 10px;
    }

    .admin-automation-task-message.admin-automation-status--on {
        border-left-color: #27ae60;
    }

    .admin-automation-task-message.admin-automation-status--off {
        border-left-color: #e74c3c;
    }

    .admin-automation-task-result {
        margin-top: 0.85rem;
    }

    .admin-automation-task-result-list {
        display: flex;
        gap: 0.45rem;
        flex-wrap: wrap;
    }

    .admin-automation-task-result-chip,
    .admin-automation-log-chip {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.35rem 0.55rem;
        background: #eef6ff;
        color: #2c3e50;
        border-radius: 999px;
        font-size: 0.8rem;
    }

    .admin-automation-log-chip {
        background: #f8f9fa;
        font-size: 0.78rem;
        gap: 0.3rem;
        padding: 0.3rem 0.5rem;
    }

    .admin-automation-logs {
        margin-top: 1.5rem;
    }

    .admin-automation-queue-card {
        padding: 0.9rem 1rem;
    }

    .admin-automation-queue-card-label {
        font-weight: 700;
    }

    .admin-automation-queue-card-value {
        margin-top: 0.3rem;
        font-size: 1.55rem;
        font-weight: 800;
        color: #2c3e50;
    }

    .admin-automation-queue-card--pending {
        background: #fef5e7;
    }

    .admin-automation-queue-card--pending .admin-automation-queue-card-label {
        color: #b9770e;
    }

    .admin-automation-queue-card--retry {
        background: #fdebd0;
    }

    .admin-automation-queue-card--retry .admin-automation-queue-card-label {
        color: #ca6f1e;
    }

    .admin-automation-queue-card--error {
        background: #fdedec;
    }

    .admin-automation-queue-card--error .admin-automation-queue-card-label {
        color: #c0392b;
    }

    .admin-automation-queue-card--sent {
        background: #eafaf1;
    }

    .admin-automation-queue-card--sent .admin-automation-queue-card-label {
        color: #1e8449;
    }

    .admin-automation-retry-btn {
        background: #2980b9;
    }

    .admin-automation-retry-btn--danger {
        background: #c0392b;
    }

    .admin-report-metrics-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 1rem;
        margin: 1.5rem 0;
    }

    .admin-report-metric-card {
        border-radius: 12px;
        padding: 1rem;
    }

    .admin-report-metric-card--neutral { background: #f8f9fa; }
    .admin-report-metric-card--visits { background: #eef6ff; }
    .admin-report-metric-card--packages { background: #f3ebff; }

    .admin-report-metric-label {
        color: #7f8c8d;
        font-size: 0.9rem;
    }

    .admin-report-metric-value {
        font-size: 1.5rem;
        font-weight: 700;
    }

    .admin-report-metric-value--neutral { color: #2c3e50; }
    .admin-report-metric-value--visits { color: #2980b9; }
    .admin-report-metric-value--packages { color: #8e44ad; }

    .admin-report-metric-note,
    .admin-report-subline {
        margin-top: 0.35rem;
        color: #7f8c8d;
        font-size: 0.85rem;
    }

    .admin-report-table-cell--lg {
        padding: 1rem;
    }

    .admin-report-empty-cell--lg {
        padding: 1rem;
    }

    .admin-report-table-cell--semi {
        font-weight: 600;
    }

    .admin-report-subsection-title {
        margin: 0 0 0.8rem 0;
        color: #2c3e50;
    }

    .admin-report-filter-form--no-top {
        margin-top: 0;
    }

    .admin-report-chip {
        display: inline-block;
        padding: 0.25rem 0.55rem;
        border-radius: 12px;
        font-size: 0.78rem;
        color: #fff;
    }

    .admin-report-chip--primary { background: #3498db; }
    .admin-report-chip--refund { background: #e67e22; }
    .admin-report-chip--package { background: #8e44ad; }
    .admin-report-chip--wallet { background: #16a085; }

    .admin-report-status-chip {
        display: inline-block;
        padding: 0.25rem 0.5rem;
        border-radius: 8px;
        background: #ecf0f1;
        color: #2c3e50;
        font-size: 0.78rem;
    }

    .admin-report-table-cell--mono {
        font-family: monospace;
    }

    .admin-report-amount--positive {
        color: #16a085;
    }

    .admin-report-amount--negative {
        color: #e74c3c;
    }

    .admin-inbox-head {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
        margin-bottom: 1.25rem;
    }

    .admin-inbox-title {
        margin: 0;
        color: #2c3e50;
    }

    .admin-inbox-copy {
        margin: 0.45rem 0 0 0;
        color: #7f8c8d;
    }

    .admin-inbox-stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(120px, 1fr));
        gap: 0.75rem;
        min-width: min(340px, 100%);
    }

    .admin-inbox-stat-card {
        background: #fff;
        border: 1px solid #ecf0f1;
        border-radius: 12px;
        padding: 0.9rem;
    }

    .admin-inbox-stat-card--new { border-left: 4px solid #e67e22; }
    .admin-inbox-stat-card--all { border-left: 4px solid #3498db; }

    .admin-inbox-stat-label {
        font-size: 0.82rem;
        color: #7f8c8d;
    }

    .admin-inbox-stat-value {
        font-size: 1.35rem;
        font-weight: 700;
        color: #2c3e50;
    }

    .admin-inbox-empty {
        padding: 1.4rem;
        border-radius: 14px;
        background: #fff;
        border: 1px solid #ecf0f1;
        color: #7f8c8d;
    }

    .admin-inbox-list {
        display: grid;
        gap: 0.95rem;
    }

    .admin-inbox-card {
        background: #fff;
        border-radius: 16px;
        padding: 1rem 1.1rem;
        box-shadow: 0 10px 24px rgba(44, 62, 80, 0.04);
        border: 1px solid #ecf0f1;
        border-left: 5px solid #bdc3c7;
    }

    .admin-inbox-card--new {
        border-color: #f8d9b4;
        border-left-color: #e67e22;
    }

    .admin-inbox-card-head {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0.9rem;
        align-items: flex-start;
    }

    .admin-inbox-main {
        min-width: 0;
        flex: 1 1 420px;
    }

    .admin-inbox-pill-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.45rem;
        margin-bottom: 0.45rem;
    }

    .admin-inbox-pill {
        display: inline-block;
        padding: 0.22rem 0.58rem;
        border-radius: 999px;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .admin-inbox-pill--new {
        background: #fff3cd;
        color: #856404;
    }

    .admin-inbox-pill--read {
        background: #eef1f5;
        color: #5d6d7e;
    }

    .admin-inbox-pill--topic {
        background: #eef6ff;
        color: #1f5f99;
    }

    .admin-inbox-date {
        color: #7f8c8d;
        font-size: 0.82rem;
    }

    .admin-inbox-person {
        margin: 0 0 0.45rem 0;
        color: #2c3e50;
        font-size: 1.05rem;
    }

    .admin-inbox-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.85rem;
        color: #6c7a89;
        font-size: 0.9rem;
        margin-bottom: 0.75rem;
    }

    .admin-inbox-icon--email { color: #3498db; }
    .admin-inbox-icon--phone { color: #16a085; }
    .admin-inbox-icon--patient { color: #8e44ad; }
    .admin-inbox-icon--doctor { color: #c0392b; }

    .admin-inbox-message {
        padding: 0.9rem 1rem;
        border-radius: 12px;
        background: #f8fafc;
        border: 1px solid #edf1f5;
        color: #2c3e50;
        line-height: 1.65;
        white-space: pre-wrap;
    }

    .admin-inbox-actions {
        display: grid;
        gap: 0.55rem;
        min-width: 220px;
    }

    .admin-inbox-action-btn {
        display: block;
        width: 100%;
        text-align: center;
        text-decoration: none;
        padding: 0.62rem 0.9rem;
        border: none;
        border-radius: 10px;
        color: #fff;
        font-weight: 700;
        cursor: pointer;
    }

    .admin-inbox-action-btn--mark-read { background: #16a085; }
    .admin-inbox-action-btn--mark-new { background: #95a5a6; }
    .admin-inbox-action-btn--reply { background: #3498db; }

    .admin-inbox-meta-card {
        padding: 0.75rem 0.85rem;
        border-radius: 10px;
        background: #f8f9fa;
        border: 1px solid #ecf0f1;
        color: #6c7a89;
        font-size: 0.82rem;
        line-height: 1.55;
    }

    .admin-audit-intro,
    .admin-audit-copy {
        color: #7f8c8d;
        margin-top: 0.35rem;
    }

    .admin-audit-intro {
        margin-top: 0.5rem;
    }

    .admin-audit-section-title {
        margin-top: 1.35rem;
        color: #2c3e50;
    }

    .admin-audit-section-title--trail {
        margin-top: 1.4rem;
    }

    .admin-audit-export-row {
        margin-top: 0.85rem;
        display: flex;
        gap: 0.65rem;
        flex-wrap: wrap;
    }

    .admin-audit-inline-form {
        display: inline-flex;
    }

    .admin-audit-export-btn {
        padding: 0.55rem 0.9rem;
        border: none;
        border-radius: 8px;
        color: white;
        font-weight: 700;
        cursor: pointer;
    }

    .admin-audit-export-btn--csv {
        background: #16a085;
    }

    .admin-audit-export-btn--pdf {
        background: #c0392b;
    }

    .admin-audit-status {
        display: inline-block;
        padding: 0.2rem 0.55rem;
        border-radius: 999px;
        font-size: 0.78rem;
        font-weight: 700;
        color: white;
    }

    .admin-audit-status--success { background: #27ae60; }
    .admin-audit-status--error { background: #e74c3c; }
    .admin-audit-status--warning { background: #f39c12; }
    .admin-audit-status--info { background: #3498db; }
    .admin-audit-status--neutral { background: #7f8c8d; }

    .admin-audit-details-cell {
        max-width: 420px;
        word-break: break-word;
        color: #2c3e50;
    }

    .admin-audit-details-cell--narrow {
        max-width: 360px;
    }

    .admin-audit-email-note {
        margin-bottom: 0.35rem;
        color: #7f8c8d;
        font-size: 0.84rem;
    }

    .admin-audit-table-gap {
        margin-top: 1.2rem;
    }

    .admin-audit-chip-row {
        margin-bottom: 0.35rem;
    }

    .admin-audit-chip-row--top {
        margin-top: 0.35rem;
        margin-bottom: 0;
    }

    .admin-audit-chip {
        display: inline-block;
        padding: 0.2rem 0.5rem;
        border-radius: 999px;
        font-size: 0.78rem;
        font-weight: 700;
    }

    .admin-audit-chip--blue {
        background: #eef6ff;
        color: #1f5f99;
    }

    .admin-audit-chip--green {
        background: #eefaf3;
        color: #1e6b45;
    }

    .admin-audit-chip--amber {
        background: #fff3cd;
        color: #856404;
    }

    .admin-audit-record-cell {
        min-width: 360px;
        max-width: 560px;
    }

    .admin-audit-details-summary {
        cursor: pointer;
        color: #2980b9;
        font-weight: 600;
    }

    .admin-audit-record-grid {
        margin-top: 0.55rem;
        display: grid;
        gap: 0.4rem;
        font-size: 0.9rem;
    }

    .admin-audit-code-block {
        white-space: pre-wrap;
        word-break: break-word;
    }

    .admin-cms-switches {
        display: flex;
        gap: 0.6rem;
        flex-wrap: wrap;
        margin-top: 0.6rem;
    }

    .admin-cms-switch {
        padding: 0.5rem 0.8rem;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 700;
        border: 1px solid #dfe6e9;
    }

    .admin-cms-switch--active {
        background: #2ecc71;
        color: #fff;
        border-color: #2ecc71;
    }

    .admin-cms-switch--inactive {
        background: #fff;
        color: #2c3e50;
    }

    .admin-cms-copy {
        color: #7f8c8d;
        margin-top: 0.5rem;
    }

    .admin-cms-topbar,
    .admin-cms-filter-form {
        display: flex;
        gap: 0.8rem;
        align-items: flex-end;
        flex-wrap: wrap;
        margin-top: 1rem;
    }

    .admin-cms-filter-form {
        gap: 0.6rem;
        margin-top: 0;
    }

    .admin-cms-select {
        min-width: 280px;
        padding: 0.6rem;
        border: 1px solid #dfe6e9;
        border-radius: 8px;
    }

    .admin-cms-updated {
        padding: 0.6rem 0.8rem;
        border: 1px solid #ecf0f1;
        border-radius: 8px;
        background: #f8f9fa;
        color: #7f8c8d;
    }

    .admin-cms-updated-strong {
        color: #2c3e50;
    }

    .admin-cms-form-card,
    .admin-cms-history-card {
        margin-top: 1rem;
        background: #fff;
        border: 1px solid #ecf0f1;
        border-radius: 12px;
        padding: 1rem;
    }

    .admin-cms-title-row {
        display: flex;
        align-items: center;
        gap: 0.6rem;
    }

    .admin-cms-type-pill {
        flex: 0 0 auto;
        padding: 0.38rem 0.65rem;
        border: 1px solid #dfe6e9;
        border-radius: 8px;
        background: #f8f9fa;
        color: #2c3e50;
        font-weight: 700;
        white-space: nowrap;
    }

    .admin-cms-title-input {
        flex: 1 1 auto;
        min-width: 200px;
        width: 100%;
        padding: 0.65rem;
        border: 1px solid #dfe6e9;
        border-radius: 8px;
    }

    .admin-cms-editor-shell {
        margin-top: 1rem;
        border: 1px solid #dfe6e9;
        border-radius: 10px;
        overflow: hidden;
    }

    .admin-cms-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        padding: 0.6rem;
        background: #f8f9fa;
        border-bottom: 1px solid #dfe6e9;
    }

    .admin-cms-tool-btn {
        padding: 0.45rem 0.65rem;
        border: 1px solid #d0d7de;
        border-radius: 8px;
        background: #fff;
        cursor: pointer;
    }

    .admin-cms-tool-btn--strong {
        font-weight: 700;
    }

    .admin-cms-editor {
        min-height: 360px;
        max-height: 65vh;
        overflow: auto;
        padding: 1rem;
        line-height: 1.6;
        outline: none;
    }

    .admin-cms-html-source {
        width: 100%;
        min-height: 360px;
        max-height: 65vh;
        overflow: auto;
        padding: 1rem;
        line-height: 1.45;
        font-family: Consolas, "Courier New", monospace;
        border: none;
        outline: none;
        resize: vertical;
    }

    .admin-cms-html-source--hidden,
    .admin-cms-hidden-field {
        display: none;
    }

    .admin-cms-editor--hidden {
        display: none;
    }

    .admin-cms-tool-btn--active {
        background: #2c3e50 !important;
        color: #ffffff !important;
    }

    .admin-cms-tool-btn--disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .admin-cms-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.8rem;
        margin-top: 1rem;
        flex-wrap: wrap;
    }

    .admin-cms-help {
        color: #7f8c8d;
    }

    .admin-cms-save-btn,
    .admin-cms-restore-btn {
        background: #2ecc71;
        color: white;
        border: none;
        padding: 0.65rem 1rem;
        border-radius: 8px;
        cursor: pointer;
        font-weight: 700;
    }

    .admin-cms-restore-btn {
        background: #3498db;
        padding: 0.45rem 0.7rem;
    }

    .admin-cms-history-title {
        margin: 0 0 0.7rem 0;
        color: #2c3e50;
    }

    .admin-cms-history-copy {
        margin: 0 0 0.8rem 0;
        color: #7f8c8d;
    }

    .admin-cms-history-cell {
        padding: 0.7rem;
        text-align: left;
    }

    .admin-cms-history-empty {
        padding: 0.9rem;
        color: #7f8c8d;
    }

    .admin-cms-history-preview {
        color: #7f8c8d;
    }

    .admin-blog-layout {
        display: grid;
        gap: 1rem;
        grid-template-columns: minmax(320px, 1.1fr) minmax(300px, 0.9fr);
        margin-top: 1rem;
    }

    .admin-blog-card {
        background: #fff;
        border: 1px solid #ecf0f1;
        border-radius: 12px;
        padding: 1rem;
    }

    .admin-blog-card-title {
        margin: 0 0 0.8rem 0;
        color: #2c3e50;
    }

    .admin-blog-form {
        display: grid;
        gap: 0.75rem;
    }

    .admin-blog-label {
        display: block;
        margin-bottom: 0.3rem;
        font-weight: 600;
    }

    .admin-blog-input,
    .admin-blog-textarea {
        width: 100%;
        padding: 0.65rem;
        border: 1px solid #dfe6e9;
        border-radius: 8px;
    }

    .admin-blog-textarea {
        resize: vertical;
    }

    .admin-blog-checkbox {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        margin-top: 0.45rem;
        font-size: 0.92rem;
        color: #2c3e50;
    }

    .admin-blog-editor-shell {
        border: 1px solid #dfe6e9;
        border-radius: 10px;
        overflow: hidden;
    }

    .admin-blog-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        padding: 0.55rem;
        background: #f8f9fa;
        border-bottom: 1px solid #dfe6e9;
    }

    .admin-blog-tool-btn {
        padding: 0.45rem 0.65rem;
        border: 1px solid #d0d7de;
        border-radius: 8px;
        background: #fff;
        cursor: pointer;
    }

    .admin-blog-tool-btn--strong {
        font-weight: 700;
    }

    .admin-blog-editor {
        min-height: 320px;
        max-height: 65vh;
        overflow: auto;
        padding: 1rem;
        line-height: 1.65;
        outline: none;
    }

    .admin-blog-html-source {
        width: 100%;
        min-height: 320px;
        max-height: 65vh;
        overflow: auto;
        padding: 1rem;
        line-height: 1.45;
        font-family: Consolas, "Courier New", monospace;
        border: none;
        outline: none;
        resize: vertical;
    }

    .admin-blog-html-source--hidden,
    .admin-blog-hidden-field {
        display: none;
    }

    .admin-blog-editor--hidden {
        display: none;
    }

    .admin-blog-tool-btn--active {
        background: #2c3e50 !important;
        color: #ffffff !important;
    }

    .admin-blog-tool-btn--disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .admin-blog-meta-grid {
        display: grid;
        gap: 0.75rem;
        grid-template-columns: 1fr 1fr;
    }

    .admin-blog-actions {
        display: flex;
        gap: 0.6rem;
        flex-wrap: wrap;
    }

    .admin-blog-save-btn,
    .admin-blog-secondary-btn {
        background: #2ecc71;
        color: #fff;
        border: none;
        border-radius: 8px;
        padding: 0.65rem 0.9rem;
        cursor: pointer;
        font-weight: 700;
        text-decoration: none;
    }

    .admin-blog-secondary-btn {
        display: inline-block;
        background: #ecf0f1;
        color: #2c3e50;
    }

    .admin-blog-empty {
        padding: 0.8rem;
        border: 1px dashed #dfe6e9;
        border-radius: 8px;
        color: #7f8c8d;
    }

    .admin-blog-list {
        display: grid;
        gap: 0.6rem;
        max-height: 700px;
        overflow: auto;
        padding-right: 0.2rem;
    }

    .admin-blog-item {
        border: 1px solid #ecf0f1;
        border-radius: 10px;
        padding: 0.7rem;
    }

    .admin-blog-item-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .admin-blog-item-title {
        font-weight: 700;
        color: #2c3e50;
    }

    .admin-blog-item-meta {
        font-size: 0.85rem;
        color: #7f8c8d;
        margin-top: 0.2rem;
    }

    .admin-blog-author {
        font-weight: 700;
    }

    .admin-blog-author--helper { color: #3498db; }
    .admin-blog-author--accounting { color: #27ae60; }
    .admin-blog-author--admin { color: #e74c3c; }

    .admin-blog-item-actions {
        display: flex;
        gap: 0.35rem;
    }

    .admin-blog-action-btn {
        padding: 0.35rem 0.55rem;
        border-radius: 6px;
        text-decoration: none;
        color: #fff;
        border: none;
        cursor: pointer;
    }

    .admin-blog-action-btn--edit { background: #3498db; }
    .admin-blog-action-btn--delete { background: #e74c3c; }

    .admin-tests-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .admin-tests-title {
        margin-bottom: 0.35rem;
        color: #2c3e50;
    }

    .admin-tests-copy {
        color: #7f8c8d;
        margin: 0;
    }

    .admin-tests-run-btn {
        padding: 0.8rem 1rem;
        border: none;
        border-radius: 10px;
        background: #2c3e50;
        color: #fff;
        font-weight: 700;
        cursor: pointer;
    }

    .admin-tests-last-run {
        margin-top: 1rem;
        padding: 0.95rem 1rem;
        background: #f8f9fa;
        border: 1px solid #ecf0f1;
        border-radius: 12px;
        color: #5d6d7e;
    }

    .admin-tests-stats {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
        gap: 1rem;
        margin-top: 1rem;
    }

    .admin-tests-stat-card {
        border-radius: 12px;
        padding: 1rem;
    }

    .admin-tests-stat-card--neutral { background: #f8f9fa; }
    .admin-tests-stat-card--ok { background: #eafaf1; }
    .admin-tests-stat-card--warning { background: #fef5e7; }
    .admin-tests-stat-card--error { background: #fdecea; }

    .admin-tests-stat-label {
        font-size: 0.9rem;
        color: #7f8c8d;
    }

    .admin-tests-stat-value {
        font-size: 1.55rem;
        font-weight: 800;
    }

    .admin-tests-stat-value--neutral { color: #2c3e50; }
    .admin-tests-stat-value--ok { color: #239b56; }
    .admin-tests-stat-value--warning { color: #d68910; }
    .admin-tests-stat-value--error { color: #c0392b; }

    .admin-tests-sections {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 1rem;
        margin-top: 1rem;
    }

    .admin-tests-section-row {
        grid-column: 1 / -1;
        margin-top: 0.25rem;
    }

    .admin-tests-section-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.9rem;
        flex-wrap: wrap;
        padding: 0.95rem 1rem;
        background: #f8f9fa;
        border: 1px solid #ecf0f1;
        border-radius: 12px;
    }

    .admin-tests-section-title {
        font-size: 1rem;
        font-weight: 800;
        color: #2c3e50;
    }

    .admin-tests-section-copy {
        margin-top: 0.3rem;
        color: #7f8c8d;
        line-height: 1.45;
    }

    .admin-tests-section-count {
        padding: 0.45rem 0.7rem;
        border-radius: 999px;
        background: #ffffff;
        color: #2c3e50;
        font-weight: 700;
        white-space: nowrap;
    }

    .admin-tests-result-card {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        max-width: none;
        background: #fff;
        border: 1px solid #ecf0f1;
        border-left: 5px solid #239b56;
        border-radius: 14px;
        padding: 1rem;
    }

    .admin-tests-result-card--ok { border-left-color: #239b56; }
    .admin-tests-result-card--warning { border-left-color: #d68910; }
    .admin-tests-result-card--error { border-left-color: #c0392b; }

    .admin-tests-result-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .admin-tests-result-title {
        font-size: 1rem;
        font-weight: 800;
        color: #2c3e50;
    }

    .admin-tests-result-copy {
        margin-top: 0.45rem;
        color: #5d6d7e;
        line-height: 1.5;
    }

    .admin-tests-status {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.35rem 0.6rem;
        border-radius: 999px;
        font-size: 0.85rem;
        font-weight: 800;
        white-space: nowrap;
    }

    .admin-tests-status--ok {
        background: #eafaf1;
        color: #239b56;
    }

    .admin-tests-status--warning {
        background: #fef5e7;
        color: #d68910;
    }

    .admin-tests-status--error {
        background: #fdecea;
        color: #c0392b;
    }

    .admin-tests-alert {
        margin-top: 0.85rem;
        padding: 0.85rem 0.9rem;
        border-radius: 10px;
    }

    .admin-tests-alert--ok {
        background: #eafaf1;
        color: #239b56;
    }

    .admin-tests-alert--warning {
        background: #fef5e7;
        color: #d68910;
    }

    .admin-tests-alert--error {
        background: #fdecea;
        color: #c0392b;
    }

    .admin-tests-alert-label {
        font-size: 0.82rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.03em;
    }

    .admin-tests-alert-copy {
        margin-top: 0.3rem;
        font-size: 0.92rem;
        line-height: 1.5;
    }

    .admin-tests-alert-extra {
        margin-top: 0.4rem;
        font-size: 0.88rem;
        line-height: 1.45;
    }

    .admin-tests-details-box {
        margin-top: 0.9rem;
        background: #f8f9fa;
        border-radius: 10px;
        padding: 0.85rem 0.9rem;
    }

    .admin-tests-details-row {
        display: flex;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.28rem 0;
        border-bottom: 1px solid #ecf0f1;
    }

    .admin-tests-details-label {
        color: #7f8c8d;
    }

    .admin-tests-details-value {
        color: #2c3e50;
        text-align: right;
    }

    .admin-tests-empty {
        margin-top: 1rem;
        padding: 1.2rem;
        border: 1px dashed #dfe6e9;
        border-radius: 12px;
        color: #7f8c8d;
        background: #fbfcfc;
    }

    #przycisk-do-gory-global {
        position: fixed;
        right: 1.25rem;
        bottom: 1.25rem;
        width: 52px;
        height: 52px;
        border: none;
        border-radius: 999px;
        background: linear-gradient(135deg, #2ecc71 0%, #1f9d57 100%);
        color: #ffffff;
        box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
        cursor: pointer;
        z-index: 9999;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.1rem;
        transition: transform 0.22s ease, background 0.22s ease, opacity 0.22s ease, visibility 0.22s ease;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(18px) scale(0.92);
    }

    #przycisk-do-gory-global.pokaz {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scale(1);
    }

    #przycisk-do-gory-global:hover {
        background: linear-gradient(135deg, #30d777 0%, #249f5a 100%);
        transform: translateY(-3px) scale(1.02);
    }

    #przycisk-do-gory-global:focus-visible {
        outline: 3px solid rgba(46, 204, 113, 0.24);
        outline-offset: 3px;
    }

    @media (max-width: 768px) {
        #przycisk-do-gory-global {
            right: 1rem;
            bottom: 1rem;
            width: 48px;
            height: 48px;
        }
    }

    .lekarz-tab {
        flex: 1;
        min-width: 150px;
        padding: 1.5rem;
        background: white;
        border: none;
        cursor: pointer;
        font-weight: 600;
        font-size: 1rem;
        transition: all 0.3s ease;
    }

    .lekarz-tab:hover {
        background: #f8f9fa;
    }

    .lekarz-tab.active {
        background: #3498db;
        color: white;
    }

    @keyframes migajOnlineBtn {
        0%, 100% {
            opacity: 1;
            box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.45);
        }
        50% {
            opacity: 0.45;
            box-shadow: 0 0 0 8px rgba(46, 204, 113, 0.05);
        }
    }

.przycisk-online-mrygajacy {
        animation: migajOnlineBtn 1s infinite;
    }
   
}

.tool-page {
    padding: 2rem 1.25rem 1rem 1.25rem;
}

.tool-page-container {
    margin: 0 auto;
}

.tool-page-container--md { max-width: 1150px; }
.tool-page-container--lg { max-width: 1200px; }
.tool-page-container--xl { max-width: 1450px; }

.tool-page-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.tool-page-title {
    margin: 0;
    color: #2c3e50;
    font-size: 1.7rem;
}

.tool-page-title-icon { margin-right: 0.15rem; }
.tool-page-title-icon--green { color: #16a085; }
.tool-page-title-icon--violet { color: #8e44ad; }

.tool-page-subtitle {
    margin-top: 0.2rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.tool-page-subtitle--md {
    margin-top: 0.25rem;
    font-size: 0.95rem;
}

.tool-page-back-btn {
    padding: 0.6rem 0.85rem;
    border-radius: 10px;
    background: #2ecc71;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.tool-card {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 14px;
    padding: 1rem;
    box-shadow: 0 10px 24px rgba(44,62,80,0.06);
}

.tool-card--top { margin-top: 1rem; }

.tool-note-card {
    margin-bottom: 0.85rem;
    padding: 0.75rem;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
    background: #f8f9fa;
}

.tool-note-title,
.tool-panel-title,
.tool-section-title {
    font-weight: 700;
    color: #2c3e50;
}

.tool-note-title { margin-bottom: 0.3rem; }
.tool-section-title { margin: 0 0 0.75rem 0; }

.tool-note-actions { margin-top: 0.55rem; }

.tool-code {
    display: block;
    word-break: break-all;
}

.tool-code--blue { color: #1f618d; }
.tool-code--violet { color: #7d3c98; }

.tool-form {
    display: grid;
    gap: 0.7rem;
}

.tool-grid-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.tool-grid-span-full { grid-column: 1 / -1; }

.tool-label {
    font-weight: 700;
    color: #2c3e50;
}

.tool-label--stack { display: block; }

.tool-input,
.tool-textarea {
    width: 100%;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
    padding: 0.7rem;
}

.tool-input--mt {
    margin-top: 0.35rem;
    padding: 0.62rem;
    border-radius: 9px;
}

.tool-textarea { resize: vertical; }

.tool-actions {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.tool-actions--sm {
    margin-top: 0.6rem;
    gap: 0.5rem;
}

.tool-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 1rem;
    border: none;
    border-radius: 9px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.tool-btn--sm {
    padding: 0.5rem 0.8rem;
    border-radius: 8px;
    font-weight: 600;
}

.tool-btn--green { background: #16a085; }
.tool-btn--dark { background: #34495e; }
.tool-btn--blue { background: #2980b9; }
.tool-btn--violet { background: #8e44ad; }
.tool-btn--light { background: #ecf0f1; color: #2c3e50; }

.tool-alert {
    margin-top: 0.85rem;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    border: 1px solid transparent;
}

.tool-alert--success { background: #e9f9f1; color: #1e8449; border-color: #c7efdb; }
.tool-alert--error { background: #fdecec; color: #b03a2e; border-color: #f5c6cb; }

.tool-inline-strong { margin-left: 0.35rem; }

.tool-panel {
    margin-top: 0.85rem;
    padding: 0.85rem 0.9rem;
    border-radius: 10px;
}

.tool-panel--muted { background: #f4f6f7; border: 1px solid #d5dbdb; }
.tool-panel--dashed { margin-top: 1rem; border: 1px dashed #dfe6e9; }
.tool-panel--light { border: 1px solid #d5dbdb; background: #fcfcfc; }

.tool-meta { margin-bottom: 0.45rem; font-size: 0.88rem; color: #7f8c8d; }
.tool-copy-sm { margin-top: 0.45rem; font-size: 0.86rem; color: #566573; }

.tool-list { margin: 0; padding-left: 1rem; color: #566573; }
.tool-list-item { margin: 0.15rem 0; }

.tool-table-wrap { margin-top: 1rem; overflow-x: auto; }
.tool-table { width: 100%; border-collapse: collapse; }
.tool-table--narrow { min-width: 420px; }
.tool-table--wide { min-width: 980px; }
.tool-table-head { background: #f8f9fa; }
.tool-table-cell { padding: 0.55rem; border-bottom: 1px solid #f1f3f5; text-align: left; }
.tool-table-cell--head { border-bottom: 1px solid #ecf0f1; }

.tool-empty {
    padding: 0.8rem;
    border-radius: 10px;
    background: #f8f9fa;
    color: #7f8c8d;
}

.site-links-stats,
.site-links-sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.75rem;
}

.site-links-stats { margin-bottom: 1rem; }
.site-links-sections-grid { gap: 0.8rem; margin-bottom: 1.15rem; }

.site-links-stat {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-left: 4px solid #3498db;
    border-radius: 12px;
    padding: 0.9rem;
}

.site-links-stat--green { border-left-color: #2ecc71; }
.site-links-stat--teal { border-left-color: #1abc9c; }
.site-links-stat--violet { border-left-color: #9b59b6; }
.site-links-stat--amber { border-left-color: #f39c12; }
.site-links-stat--red { border-left-color: #e74c3c; }
.site-links-stat--sea { border-left-color: #16a085; }

.site-links-stat-label { font-size: 0.82rem; color: #7f8c8d; }
.site-links-stat-value { font-size: 1.35rem; font-weight: 700; color: #2c3e50; }

.site-links-catalog-intro {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.1rem;
    margin-bottom: 1rem;
    background: linear-gradient(145deg, #f7fbff 0%, #ffffff 100%);
    border: 1px solid #e8eff5;
    border-radius: 16px;
}
.site-links-catalog-title { font-size: 1rem; font-weight: 800; color: #22384d; }
.site-links-catalog-desc { margin-top: 0.3rem; color: #617588; line-height: 1.5; max-width: 780px; }
.site-links-catalog-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}
.site-links-catalog-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    background: #eef5fb;
    color: #294861;
    font-size: 0.82rem;
    font-weight: 700;
}

.site-links-filter-wrap { margin-bottom: 0.9rem; }

.site-links-filter {
    width: 100%;
    max-width: 760px;
    padding: 0.62rem 0.72rem;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
}

.site-links-quick-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.7rem;
}
.site-links-quick-filter {
    border: 1px solid #dbe6ef;
    background: #fff;
    color: #35516b;
    border-radius: 999px;
    padding: 0.46rem 0.85rem;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
}
.site-links-quick-filter.is-active {
    background: #2f7eb9;
    color: #fff;
    border-color: #2f7eb9;
}
.site-links-view-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.7rem;
}
.site-links-view-btn {
    border: 1px solid #dbe6ef;
    background: #fff;
    color: #35516b;
    border-radius: 10px;
    padding: 0.5rem 0.85rem;
    font-weight: 700;
    font-size: 0.82rem;
    cursor: pointer;
}
.site-links-view-btn.is-active {
    background: #22384d;
    color: #fff;
    border-color: #22384d;
}

.site-links-section-card {
    text-decoration: none;
    background: linear-gradient(145deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #e7edf3;
    border-radius: 16px;
    padding: 1rem;
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    box-shadow: 0 10px 24px rgba(44, 62, 80, 0.06);
}

.site-links-section-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: #3498db;
}

.site-links-section-card--orange .site-links-section-icon { background: #e67e22; }
.site-links-section-card--sea .site-links-section-icon { background: #16a085; }
.site-links-section-card--violet .site-links-section-icon { background: #8e44ad; }
.site-links-section-card--navy .site-links-section-icon { background: #2980b9; }
.site-links-section-card--burnt .site-links-section-icon { background: #d35400; }
.site-links-section-card--green .site-links-section-icon { background: #27ae60; }
.site-links-section-card--red .site-links-section-icon { background: #c0392b; }

.site-links-section-copy { min-width: 0; }
.site-links-section-title { font-weight: 700; color: #2c3e50; line-height: 1.3; }
.site-links-section-meta { margin-top: 0.2rem; color: #7f8c8d; font-size: 0.86rem; }

.site-links-group {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 18px;
    margin-bottom: 1rem;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(44, 62, 80, 0.05);
}

.site-links-group-head {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid #f1f4f7;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    background: linear-gradient(180deg, #fbfdff 0%, #f7fafc 100%);
}

.site-links-group-title { font-weight: 800; color: #2c3e50; font-size: 1.02rem; }
.site-links-group-title-icon { color: #3498db; }
.site-links-group-meta { margin-top: 0.22rem; color: #7f8c8d; font-size: 0.88rem; }
.site-links-group-filter-link { text-decoration: none; color: #2980b9; font-weight: 600; font-size: 0.88rem; }

.site-links-group-grid {
    padding: 1rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.85rem;
}
.site-links-group-grid--table {
    display: block;
}
.site-links-group-grid--table .site-links-item {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(260px, 1fr);
    gap: 1rem;
    align-items: start;
    margin-bottom: 0.85rem;
}

.site-links-item {
    border: 1px solid #e7edf3;
    border-radius: 16px;
    padding: 0.95rem;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
    word-break: break-word;
    min-height: 168px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.site-links-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.45rem;
}

.site-links-item-title { font-size: 0.96rem; color: #2c3e50; font-weight: 700; line-height: 1.35; }

.site-links-item-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    flex: 0 0 auto;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    font-size: 0.73rem;
    font-weight: 700;
}

.site-links-item-badge--template { background: #fff8e8; color: #a66a00; }
.site-links-item-badge--link { background: #eef6ff; color: #1f5f99; }

.site-links-item-desc { font-size: 0.84rem; color: #6c7a89; line-height: 1.5; margin-bottom: 0.7rem; }
.site-links-item-target { font-size: 0.76rem; color: #95a5a6; margin-bottom: 0.65rem; }
.site-links-item-meta-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin-bottom: 0.6rem;
}
.site-links-meta-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
}
.site-links-meta-badge--type { background: #f0f7ff; color: #1f5f99; }
.site-links-meta-badge--access { background: #f6f1ff; color: #6c3eb1; }
.site-links-meta-badge--source { background: #edf8f3; color: #1d7a52; }

.site-links-item-target-code {
    font-size: 0.75rem;
    background: #f7f9fb;
    border: 1px solid #edf1f5;
    border-radius: 7px;
    padding: 0.16rem 0.34rem;
}

.site-links-item-code {
    display: block;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 8px;
    padding: 0.45rem 0.55rem;
    color: #34495e;
    font-size: 0.8rem;
}

.site-links-item-open {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    text-decoration: none;
    padding: 0.58rem 0.8rem;
    border-radius: 10px;
    background: #2980b9;
    color: #fff;
    font-weight: 700;
    font-size: 0.88rem;
}

.site-links-item-url { margin-top: 0.45rem; color: #7f8c8d; font-size: 0.76rem; }
.site-links-item-actions-wrap { display: flex; flex-direction: column; gap: 0.5rem; }
.site-links-item-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.site-links-item-copy,
.site-links-item-status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border: 1px solid #dbe6ef;
    background: #fff;
    color: #35516b;
    text-decoration: none;
    padding: 0.58rem 0.8rem;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.84rem;
    cursor: pointer;
}
.site-links-item-copy:hover,
.site-links-item-status:hover { background: #f7fbff; }
.site-links-item-status-result {
    min-height: 1.1rem;
    font-size: 0.78rem;
    font-weight: 700;
}
.site-links-item-status-result.is-pending { color: #7f8c8d; }
.site-links-item-status-result.is-ok { color: #1d7a52; }
.site-links-item-status-result.is-redirect { color: #9a6700; }
.site-links-item-status-result.is-protected { color: #6c3eb1; }
.site-links-item-status-result.is-warning { color: #35516b; }
.site-links-item-status-result.is-error { color: #c0392b; }

@media (max-width: 860px) {
    .site-links-catalog-intro { flex-direction: column; }
    .site-links-catalog-chips { justify-content: flex-start; }
    .site-links-group-grid--table .site-links-item {
        grid-template-columns: 1fr;
    }
}

.helper-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 150px;
    padding: 1rem 1.1rem;
    background: white;
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.98rem;
    color: #2c3e50;
    text-decoration: none;
    transition: all 0.2s ease;
}
.helper-tab:hover { background: #f8f9fa; }
.helper-tab.active { background: #3498db; color: white; }

.helper-akcja-card--warning { background: #fff8e8; border-color: #f5d68d; }
.helper-akcja-card--info { background: #ebf5fb; border-color: #aed6f1; }
.helper-akcja-card--success { background: #eafaf1; border-color: #abebc6; }
.helper-akcja-label--warning { color: #8a5a00; }
.helper-akcja-label--info { color: #1f618d; }
.helper-akcja-label--success { color: #1e8449; }
.helper-akcja-value--warning { color: #f39c12; }
.helper-akcja-value--info { color: #3498db; }
.helper-akcja-value--success { color: #2ecc71; }
.helper-stat-icon--warning { color: #f39c12; }
.helper-stat-icon--success { color: #2ecc71; }
.helper-stat-icon--info { color: #3498db; }
.helper-stat-value--warning { color: #f39c12; }
.helper-stat-value--success { color: #2ecc71; }
.helper-stat-value--info { color: #3498db; }

.helper-tab-panel--hidden { display: none; }
.helper-tab-panel--visible { display: block; }
.helper-card--spaced { margin-bottom: 1.5rem; }
.helper-card-title--warning { color: #f39c12; }
.helper-card-title--success { color: #2ecc71; }
.helper-card-title--dark { color: #34495e; }
.helper-card-title--plain { margin-bottom: 1rem; color: #2c3e50; }
.helper-card-title--teal { color: #0f766e; }

.helper-session-item--pending { background: #fff3cd; border-left-color: #f39c12; }
.helper-session-item--active { background: #d4edda; border-left-color: #2ecc71; }
.helper-btn { background: #3498db; }
.helper-btn--blue { background: #3498db; }
.helper-btn--danger { background: #e74c3c; }
.helper-btn--green { background: #16a085; }
.helper-link-btn { background: #3498db; }
.helper-link-btn--muted { background: #95a5a6; }
.helper-link-btn--green { background: #16a085; }

.helper-stat-tile--blue { background: #eef6ff; }
.helper-stat-tile--green { background: #f3fff5; }
.helper-stat-tile--amber { background: #fff8e8; }
.helper-stat-tile--violet { background: #f7f1ff; }
.helper-stat-tile--rose { background: #ffeef2; }
.helper-stat-tile-value--blue { color: #2980b9; }
.helper-stat-tile-value--green { color: #27ae60; }
.helper-stat-tile-value--amber { color: #f39c12; }
.helper-stat-tile-value--violet { color: #8e44ad; }
.helper-stat-tile-value--rose { color: #c0392b; }
.helper-status-badge--success { background: #2ecc71; }
.helper-status-badge--info { background: #3498db; }
.helper-status-badge--warning { background: #f39c12; }
.helper-status-strong--success { color: #2ecc71; }
.helper-status-strong--danger { color: #e74c3c; }
.helper-alert-danger--top { margin-top: 0.8rem; }
.helper-copy-bottom { margin-bottom: 0.8rem; }
.helper-blog-item-author--helper { color: #3498db; }
.helper-blog-item-author--admin { color: #e74c3c; }
.sms-panel-disabled,
.email-panel-disabled { background: #f4f6f7 !important; border-color: #d5dbdb !important; opacity: 0.75; filter: grayscale(0.35); }

.helper-chat-row { margin-bottom: 1rem; }
.helper-chat-row--self { display: flex; justify-content: flex-end; }
.helper-chat-row--other { display: flex; gap: 0.5rem; }
.helper-chat-avatar { width: 35px; height: 35px; border-radius: 50%; background: #3498db; display: flex; align-items: center; justify-content: center; color: white; flex-shrink: 0; }
.helper-chat-bubble { padding: 0.8rem; border-radius: 10px; max-width: 70%; }
.helper-chat-bubble--self { background: #2ecc71; color: white; }
.helper-chat-bubble--other { background: white; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.helper-chat-text { margin: 0; font-size: 0.9rem; }
.helper-chat-time { font-size: 0.75rem; }
.helper-chat-time--self { opacity: 0.8; }
.helper-chat-time--other { color: #7f8c8d; }

.helper-chat-modal { display: none; }
.helper-chat-modal-content { max-width: 600px; width: 90%; max-height: 700px; display: flex; flex-direction: column; }
.helper-chat-modal-head { background: linear-gradient(135deg, #3498db, #2980b9); color: white; padding: 1rem; display: flex; justify-content: space-between; align-items: center; border-radius: 15px 15px 0 0; }
.helper-chat-modal-title { margin: 0; font-size: 1.1rem; }
.helper-chat-modal-subtitle { margin: 0; font-size: 0.85rem; opacity: 0.9; }
.helper-chat-modal-actions { display: flex; gap: 0.5rem; }
.helper-chat-modal-stop { background: #e74c3c; border: none; color: white; padding: 0.5rem 1rem; border-radius: 8px; cursor: pointer; font-weight: 600; }
.helper-chat-modal-close { background: transparent; border: none; color: white; font-size: 1.5rem; cursor: pointer; }
.helper-chat-messages { flex: 1; overflow-y: auto; padding: 1rem; background: #f8f9fa; min-height: 450px; }
.helper-chat-modal-footer { padding: 1rem; background: white; border-top: 1px solid #ecf0f1; border-radius: 0 0 15px 15px; }
.helper-chat-modal-top-action { display: flex; justify-content: flex-end; margin-bottom: 0.65rem; }
.helper-chat-modal-propose { padding: 0.45rem 0.85rem; background: #f39c12; color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: 600; }
.helper-chat-form { display: flex; gap: 0.5rem; }
.helper-chat-input { flex: 1; padding: 0.8rem; border: 2px solid #ecf0f1; border-radius: 25px; font-size: 0.9rem; }
.helper-chat-send { width: 45px; height: 45px; border-radius: 50%; background: #2ecc71; color: white; border: none; cursor: pointer; font-size: 1.1rem; }

.helper-message-modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 1000001; align-items: center; justify-content: center; padding: 1.25rem; }
.helper-message-modal-content { max-width: 760px; width: min(96vw, 760px); max-height: none; background: #fff; border-radius: 16px; overflow: visible; box-shadow: 0 24px 60px rgba(0,0,0,0.22); }
.helper-message-modal-head { padding: 1rem 1.15rem; border-bottom: 1px solid #eef1f4; background: #f8f9fa; color: #2c3e50; font-weight: 700; }
.helper-message-modal-body { padding: 1.15rem; color: #2c3e50; line-height: 1.6; white-space: normal; word-break: break-word; }
.helper-message-modal-actions { display: flex; justify-content: flex-end; gap: 0.6rem; padding: 0 1.15rem 1.15rem 1.15rem; }
.helper-message-modal-cancel, .helper-message-modal-confirm { padding: 0.65rem 1rem; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; }
.helper-message-modal-cancel { background: #ecf0f1; color: #2c3e50; }
.helper-message-modal-cancel--hidden { display: none; }
.helper-message-modal-confirm { background: #2ecc71; color: #fff; font-weight: 700; }

.panel-prewrap-text { white-space: pre-wrap; }

.blog-hero { padding: 3rem 2rem; text-align: center; }
.blog-hero-content { max-width: 900px; margin: 0 auto; }
.blog-comment-modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 9999; align-items: center; justify-content: center; padding: 1rem; }
.blog-comment-modal-box { width: min(760px, 100%); max-height: 90vh; overflow: auto; background: #fff; border-radius: 12px; border: 1px solid #ecf0f1; box-shadow: 0 20px 50px rgba(0,0,0,0.25); }
.blog-comment-modal-head { display: flex; justify-content: space-between; align-items: center; gap: 0.7rem; padding: 0.9rem 1rem; border-bottom: 1px solid #ecf0f1; }
.blog-comment-modal-title { font-weight: 700; color: #2c3e50; }
.blog-comment-modal-subtitle { font-size: 0.88rem; color: #7f8c8d; }
.blog-comment-modal-close { background: #ecf0f1; border: none; border-radius: 8px; color: #2c3e50; padding: 0.45rem 0.65rem; cursor: pointer; }
.blog-comment-form { display: grid; gap: 0.55rem; padding: 1rem; }
.blog-comment-grid-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
.blog-comment-grid-captcha { display: grid; grid-template-columns: 220px 1fr auto; gap: 0.55rem; align-items: end; }
.blog-comment-label { display: block; font-size: 0.86rem; margin-bottom: 0.2rem; color: #2c3e50; }
.blog-comment-input, .blog-comment-textarea { width: 100%; padding: 0.5rem; border: 1px solid #dfe6e9; border-radius: 8px; }
.blog-comment-input--caps { text-transform: uppercase; }
.blog-comment-textarea { resize: vertical; }
.blog-comment-captcha-row { display: flex; gap: 0.35rem; align-items: stretch; }
.blog-comment-captcha-box { flex: 1; padding: 0.35rem; border: 1px dashed #7f8c8d; border-radius: 8px; background: #f8f9fa; text-align: center; }
.blog-comment-captcha-img { display: block; width: 100%; height: 56px; object-fit: contain; border-radius: 6px; }
.blog-comment-refresh { padding: 0.48rem 0.6rem; border: 1px solid #dfe6e9; border-radius: 8px; background: #fff; color: #2c3e50; cursor: pointer; }
.blog-comment-submit { padding: 0.55rem 0.9rem; background: #3498db; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: 700; }
.blog-list-section { padding: 1rem 2rem 4rem 2rem; }
.blog-list-container { max-width: 1100px; margin: 0 auto; }
.blog-empty-card { background: #fff; border: 1px solid #ecf0f1; border-radius: 14px; padding: 1.4rem; color: #7f8c8d; }
.blog-post-list { display: grid; gap: 1rem; }
.blog-post-card { background: #fff; border: 1px solid #ecf0f1; border-radius: 14px; padding: 1.2rem 1.25rem; box-shadow: 0 6px 16px rgba(0,0,0,0.05); }
.blog-post-head { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; flex-wrap: wrap; }
.blog-post-title { margin: 0; font-size: 1.3rem; color: #2c3e50; }
.blog-post-date { font-size: 0.88rem; color: #7f8c8d; }
.blog-post-author-line { margin-top: 0.35rem; font-size: 0.86rem; color: #7f8c8d; }
.blog-post-author { font-weight: 700; }
.blog-post-author--admin { color: #e74c3c; }
.blog-post-author--helper { color: #3498db; }
.blog-post-author--ksiegowy { color: #27ae60; }
.blog-post-excerpt { margin: 0.7rem 0 0 0; color: #5d6d7e; line-height: 1.6; }
.blog-post-details { margin-top: 0.75rem; }
.blog-post-summary { cursor: pointer; color: #3498db; font-weight: 600; }
.blog-post-body { margin-top: 0.7rem; color: #2c3e50; line-height: 1.7; }
.blog-comments-wrap { margin-top: 1rem; border-top: 1px solid #ecf0f1; padding-top: 0.9rem; }
.blog-comments-title { font-weight: 700; color: #2c3e50; margin-bottom: 0.6rem; }
.blog-comments-list { display: grid; gap: 0.55rem; }
.blog-comment-item { background: #f8f9fa; border: 1px solid #ecf0f1; border-radius: 8px; padding: 0.65rem 0.75rem; }
.blog-comment-meta { font-size: 0.88rem; color: #7f8c8d; margin-bottom: 0.35rem; }
.blog-comment-author { color: #2c3e50; }
.blog-comment-text { color: #2c3e50; line-height: 1.55; white-space: pre-wrap; }
.blog-comments-empty { color: #7f8c8d; font-size: 0.92rem; margin-bottom: 0.6rem; }
.blog-comment-flash { margin-top: 0.7rem; margin-bottom: 0.7rem; padding: 0.6rem 0.75rem; border-radius: 8px; border: 1px solid transparent; }
.blog-comment-flash--ok { border-color: #2ecc71; background: #eafaf1; color: #1e8449; }
.blog-comment-flash--error { border-color: #f5c6cb; background: #fdecea; color: #922b21; }

.doctor-chat-state { text-align: center; padding: 4rem; }
.doctor-chat-state-copy { color: #7f8c8d; margin-top: 0.6rem; }
.doctor-chat-state-back { display: inline-block; margin-top: 1rem; }
.doctor-chat-shell { max-width: 1000px; margin: 0 auto; }
.doctor-chat-preview-alert { margin-bottom: 1rem; padding: 0.9rem 1rem; border-radius: 10px; background: #fff4e5; color: #8a5a00; border: 1px solid #f1d7a6; font-weight: 600; }
.doctor-chat-head { background: linear-gradient(135deg, #3498db, #2980b9); color: white; padding: 1.5rem; border-radius: 15px 15px 0 0; display: flex; justify-content: space-between; align-items: center; }
.doctor-chat-title { margin: 0; }
.doctor-chat-subtitle { margin: 0.5rem 0 0 0; opacity: 0.9; }
.doctor-chat-head-actions { display: flex; align-items: center; gap: 0.6rem; }
.doctor-chat-clear-btn { background: #e74c3c; color: white; padding: 0.75rem 1rem; border-radius: 10px; border: none; cursor: pointer; font-weight: 600; }
.doctor-chat-clear-btn--disabled { opacity: 0.6; cursor: not-allowed; }
.doctor-chat-back-link { background: rgba(255,255,255,0.2); color: white; padding: 0.75rem 1.5rem; border-radius: 10px; text-decoration: none; font-weight: 600; }
.doctor-chat-preview-status { margin-top: 0.6rem; margin-bottom: 0.65rem; padding: 0.6rem 0.85rem; border-radius: 10px; background: #fff3cd; color: #856404; border: 1px solid #ffeeba; font-size: 0.92rem; font-weight: 600; }
.doctor-chat-meta { background: #f8f9fa; padding: 1rem; border-left: 4px solid #3498db; display: flex; gap: 2rem; flex-wrap: wrap; }
.doctor-chat-window { background: white; height: 500px; overflow-y: auto; padding: 2rem; border-left: 1px solid #ecf0f1; border-right: 1px solid #ecf0f1; }
.doctor-chat-empty { text-align: center; color: #7f8c8d; padding: 3rem; }
.doctor-chat-empty-icon { font-size: 3rem; margin-bottom: 1rem; opacity: 0.5; }
.doctor-chat-message-row { margin-bottom: 1.5rem; display: flex; }
.doctor-chat-message-row--doctor { justify-content: flex-end; }
.doctor-chat-message-row--patient { justify-content: flex-start; }
.doctor-chat-bubble { max-width: 70%; padding: 1rem 1.5rem; border-radius: 15px; }
.doctor-chat-bubble--doctor { background: #3498db; color: white; }
.doctor-chat-bubble--patient { background: #ecf0f1; color: #2c3e50; }
.doctor-chat-bubble-meta { font-size: 0.85rem; opacity: 0.8; margin-bottom: 0.5rem; }
.doctor-chat-bubble-text { line-height: 1.6; }
.doctor-chat-form-wrap { background: white; padding: 1.5rem; border-radius: 0 0 15px 15px; border: 1px solid #ecf0f1; border-top: 2px solid #3498db; }
.doctor-chat-form-row { display: flex; gap: 1rem; }
.doctor-chat-textarea { flex: 1; padding: 1rem; border: 2px solid #ecf0f1; border-radius: 10px; resize: vertical; min-height: 80px; font-family: inherit; }
.doctor-chat-textarea--disabled { background: #f8f9fa; color: #7f8c8d; cursor: not-allowed; }
.doctor-chat-send-btn { padding: 1rem 2rem; background: #3498db; color: white; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; white-space: nowrap; }
.doctor-chat-send-btn--disabled { opacity: 0.6; cursor: not-allowed; }
.doctor-chat-modal { display: none; position: fixed; inset: 0; background: rgba(44,62,80,0.45); z-index: 9999; align-items: center; justify-content: center; padding: 1rem; }
.doctor-chat-modal-box { background: #fff; width: 100%; max-width: 420px; border-radius: 14px; box-shadow: 0 15px 35px rgba(0,0,0,0.2); overflow: hidden; }
.doctor-chat-modal-head { padding: 1rem 1.25rem; border-bottom: 1px solid #ecf0f1; display: flex; align-items: center; justify-content: space-between; }
.doctor-chat-modal-title-text { color: #2c3e50; }
.doctor-chat-modal-close { border: none; background: transparent; font-size: 1.2rem; line-height: 1; cursor: pointer; color: #7f8c8d; }
.doctor-chat-modal-body { padding: 1rem 1.25rem; color: #2c3e50; line-height: 1.5; }
.doctor-chat-modal-copy { margin: 0; }
.doctor-chat-modal-footer { padding: 0 1.25rem 1rem; }
.doctor-chat-modal-ok { width: 100%; padding: 0.7rem 1rem; border: none; border-radius: 10px; background: #3498db; color: #fff; font-weight: 600; cursor: pointer; }
.blog-comment-open-btn { margin-top: 0.7rem; padding: 0.55rem 0.9rem; background: #3498db; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: 700; }
.blog-comment-login-note { margin-top: 0.7rem; color: #7f8c8d; font-size: 0.9rem; }
.preview-doctor-missing { text-align: center; padding: 4rem; }
.preview-doctor-hero { background: linear-gradient(135deg, #667eea, #764ba2); color: #fff; padding: 1.5rem; border-radius: 15px; margin-bottom: 2rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.preview-doctor-hero-title { margin: 0; }
.preview-doctor-hero-copy { opacity: 0.95; margin: 0.5rem 0 0; }
.preview-doctor-hero-link { background: rgba(255,255,255,0.2); color: #fff; padding: 0.75rem 1.5rem; border-radius: 10px; text-decoration: none; font-weight: 600; }
.preview-doctor-alert { background: #fff3cd; border: 1px solid #ffc107; color: #856404; padding: 1rem; border-radius: 10px; margin-bottom: 2rem; }
.preview-doctor-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-bottom: 3rem; }
.preview-doctor-stat-card { padding: 2rem; border-radius: 15px; text-align: center; color: #fff; }
.preview-doctor-stat-card--green { background: linear-gradient(135deg, #2ecc71, #27ae60); }
.preview-doctor-stat-card--red { background: linear-gradient(135deg, #e74c3c, #c0392b); }
.preview-doctor-stat-card--orange { background: linear-gradient(135deg, #f39c12, #e67e22); }
.preview-doctor-stat-card--teal { background: linear-gradient(135deg, #1abc9c, #16a085); }
.preview-doctor-stat-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.preview-doctor-stat-value { font-size: 2rem; }
.preview-doctor-panel { background: #fff; border-radius: 15px; overflow: hidden; }
.preview-doctor-tabs { display: flex; border-bottom: 2px solid #ecf0f1; flex-wrap: wrap; }
.podglad-tab { flex: 1; min-width: 150px; padding: 1.5rem; background: #fff; border: none; cursor: pointer; font-weight: 600; font-size: 1rem; transition: all 0.3s ease; }
.podglad-tab:hover { background: #f8f9fa; }
.podglad-tab.active { background: #667eea; color: #fff; }
.podglad-tab-content { padding: 2rem; display: none; }
.podglad-tab-content--active { display: block; }
.preview-doctor-empty-state { text-align: center; color: #7f8c8d; padding: 3rem; }
.preview-doctor-empty-state--compact { padding: 2rem; }
.preview-doctor-visit-list, .preview-doctor-schedule-list { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.preview-doctor-visit-card { background: #f8f9fa; padding: 1.5rem; border-radius: 15px; border-left: 4px solid transparent; }
.preview-doctor-visit-card--success { border-left-color: #2ecc71; }
.preview-doctor-visit-card--info { border-left-color: #3498db; }
.preview-doctor-visit-card--danger { border-left-color: #e74c3c; }
.preview-doctor-visit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.preview-doctor-meta-label { font-size: 0.85rem; color: #7f8c8d; margin-bottom: 0.25rem; }
.preview-doctor-patient-name { font-weight: 600; font-size: 1.1rem; }
.preview-doctor-meta-copy { font-size: 0.9rem; color: #7f8c8d; }
.preview-doctor-tag { font-size: 0.85rem; color: #3498db; margin-top: 0.35rem; }
.preview-doctor-meta-strong { font-weight: 600; }
.preview-doctor-time { font-weight: 600; color: #3498db; }
.preview-doctor-price, .preview-doctor-price-value { color: #2ecc71; font-weight: 700; }
.preview-doctor-price { font-size: 0.85rem; margin-top: 0.35rem; }
.preview-doctor-status-badge { padding: 0.25rem 0.75rem; border-radius: 15px; font-weight: 600; display: inline-block; }
.preview-doctor-status-badge--success { background: #d4edda; color: #155724; }
.preview-doctor-status-badge--info { background: #cce5ff; color: #004085; }
.preview-doctor-status-badge--danger { background: #f8d7da; color: #721c24; }
.preview-doctor-section-copy { color: #7f8c8d; margin-top: 0.5rem; }
.preview-doctor-schedule-card { background: #fff; padding: 1.5rem; border-radius: 15px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; border: 2px solid #ecf0f1; }
.preview-doctor-schedule-date { font-weight: 600; font-size: 1.1rem; margin-bottom: 0.25rem; }
.preview-doctor-slot-badge { background: #3498db; color: #fff; padding: 0.5rem 1rem; border-radius: 10px; font-weight: 600; }
.preview-doctor-price-list, .preview-doctor-opinion-list { display: grid; gap: 1rem; margin-top: 1rem; }
.preview-doctor-price-list { gap: 0.75rem; margin-top: 1.25rem; }
.preview-doctor-price-card, .preview-doctor-opinion-card { background: #f8f9fa; border: 1px solid #ecf0f1; border-radius: 12px; }
.preview-doctor-price-card { padding: 0.9rem 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.preview-doctor-opinion-card { padding: 1rem 1.25rem; }
.preview-doctor-meta-small { color: #7f8c8d; font-size: 0.85rem; }
.preview-doctor-balance-copy { margin: 1rem 0; color: #2c3e50; }
.preview-doctor-table-wrap { overflow-x: auto; }
.preview-doctor-table-wrap--narrow { margin-top: 0.5rem; }
.preview-doctor-table { width: 100%; border-collapse: collapse; }
.preview-doctor-table thead tr { background: #f8f9fa; }
.preview-doctor-table th, .preview-doctor-table td { padding: 0.85rem; text-align: left; border-bottom: 1px solid #ecf0f1; }
.preview-doctor-table--compact th, .preview-doctor-table--compact td { padding: 0.75rem; }
.preview-doctor-table-empty { padding: 1rem; color: #7f8c8d; }
.preview-doctor-table-strong { font-weight: 600; }
.preview-doctor-payout-value { color: #2980b9; font-weight: 600; }
.preview-doctor-opinion-head { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.preview-doctor-opinion-author { font-weight: 600; }
.preview-doctor-opinion-stars { color: #f39c12; font-weight: 700; }
.preview-doctor-opinion-date { font-size: 0.9rem; color: #7f8c8d; margin-top: 0.35rem; }
.preview-doctor-opinion-copy { margin-top: 0.6rem; color: #2c3e50; }
.doctor-opinions-page-card { background: #fff; border-radius: 20px; box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08); padding: 2rem; margin-top: 1.5rem; }
.doctor-opinions-page-header { display: grid; grid-template-columns: 120px 1fr; gap: 1.5rem; align-items: center; }
.doctor-opinions-page-avatar { width: 120px; height: 120px; border-radius: 24px; overflow: hidden; border: 4px solid #eef5fb; background: linear-gradient(180deg, #f8fbff 0%, #edf4fb 100%); }
.doctor-opinions-page-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.doctor-opinions-page-name { margin: 0; color: #1f3b57; font-size: 2rem; }
.doctor-opinions-page-spec { margin: 0.45rem 0 0; color: #56738f; font-weight: 600; }
.doctor-opinions-page-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-top: 1rem; }
.doctor-opinions-page-stars { display: inline-flex; gap: 0.2rem; color: #f39c12; font-size: 1.15rem; }
.doctor-opinions-page-score { font-weight: 700; color: #1f3b57; }
.doctor-opinions-page-count { color: #6b7c8f; font-weight: 600; }
.doctor-opinions-page-description { margin: 1rem 0 0; color: #3d556e; line-height: 1.7; }
.doctor-opinions-page-list-wrap { margin-top: 1.75rem; }
.doctor-opinions-page-section-title { color: #1f3b57; margin-bottom: 1rem; }
.doctor-opinions-page-badges { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.85rem; }
.doctor-opinions-page-badge { display: inline-flex; align-items: center; padding: 0.38rem 0.8rem; border-radius: 999px; background: #eef6ff; color: #2b5d8a; font-size: 0.9rem; font-weight: 600; }
@media (max-width: 700px) {
  .doctor-opinions-page-card { padding: 1.25rem; }
  .doctor-opinions-page-header { grid-template-columns: 1fr; }
  .doctor-opinions-page-avatar { width: 96px; height: 96px; }
  .doctor-opinions-page-name { font-size: 1.55rem; }
}
.preview-doctor-document-heading { margin-top: 1.5rem; }
.preview-doctor-document-heading--first { margin-top: 1rem; }
.contact-hero { padding: 4rem 2rem; text-align: center; }
.contact-hero-content { max-width: 800px; margin: 0 auto; }
.contact-section { padding: 4rem 2rem; background: #fff; }
.contact-layout { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 3rem; }
.contact-card { background: #f8f9fa; padding: 2rem; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.contact-sale-card { margin-bottom: 1.5rem; border: 1px solid rgba(15,118,110,0.14); background: radial-gradient(circle at top right, rgba(20,184,166,0.14), transparent 32%), linear-gradient(180deg, #ffffff 0%, #f8fffd 100%); box-shadow: 0 18px 45px rgba(15,23,42,0.08); }
.contact-sale-card__header { display: flex; flex-direction: column; gap: 0.45rem; }
.contact-sale-card__eyebrow { display: inline-flex; align-self: flex-start; padding: 0.3rem 0.75rem; border-radius: 999px; background: rgba(15,118,110,0.12); color: #0f766e; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.contact-sale-card__title { margin-bottom: 0; }
.contact-sale-card__copy { margin: 1rem 0 1.15rem; color: #475569; line-height: 1.7; }
.contact-sale-card__grid { display: grid; gap: 0.85rem; }
.contact-sale-card__item { display: grid; grid-template-columns: 2.2rem 1fr; gap: 0.8rem; padding: 0.95rem 1rem; border-radius: 14px; background: rgba(255,255,255,0.92); border: 1px solid rgba(148,163,184,0.18); }
.contact-sale-card__item i { color: #0f766e; font-size: 1.05rem; margin-top: 0.15rem; }
.contact-sale-card__item strong, .contact-sale-card__item span { display: block; }
.contact-sale-card__item strong { color: #1e293b; margin-bottom: 0.2rem; }
.contact-sale-card__item span { color: #64748b; line-height: 1.55; }
.contact-sale-card__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.2rem; }
.contact-sale-card__btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; padding: 0.85rem 1.2rem; border-radius: 999px; text-decoration: none; font-weight: 700; transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease; }
.contact-sale-card__btn:hover { transform: translateY(-1px); }
.contact-sale-card__btn--primary { background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%); color: #fff; box-shadow: 0 16px 30px rgba(20,184,166,0.2); }
.contact-sale-card__btn--secondary { background: #f8fafc; color: #0f766e; border: 1px solid rgba(15,118,110,0.18); }
.contact-card-title { margin-bottom: 1.5rem; color: #2c3e50; }
@media (max-width: 768px) {
    .contact-sale-card__actions { flex-direction: column; }
    .contact-sale-card__btn { width: 100%; }
}
.qr-login-hero { padding: 4rem 2rem 2.5rem; }
.qr-login-hero__inner { max-width: 860px; }
.qr-login-badge { display: inline-flex; margin-bottom: 1rem; padding: 0.35rem 0.75rem; border-radius: 999px; background: rgba(52,152,219,0.12); color: #2980b9; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.78rem; }
.qr-login-hero__copy { max-width: 62ch; }
.qr-login-hero__actions { margin-top: 1.4rem; display: flex; flex-wrap: wrap; gap: 0.85rem; }
.qr-login-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; }
.qr-login-btn--light { text-decoration: none; }
.qr-login-btn--hidden { display: none; }
.qr-login-section { padding: 0 2rem 4rem; }
.qr-login-shell { max-width: 1100px; margin: 0 auto; display: grid; gap: 1.25rem; }
.qr-login-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.qr-login-card { background: #fff; border-radius: 22px; border: 1px solid rgba(148,163,184,0.16); box-shadow: 0 18px 42px rgba(15,23,42,0.08); padding: 1.4rem; }
.qr-login-card--qr { background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); }
.qr-login-card__head { display: grid; grid-template-columns: 72px 1fr; gap: 1rem; align-items: start; }
.qr-login-card__icon { width: 72px; height: 72px; border-radius: 20px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(52,152,219,0.14), rgba(46,204,113,0.16)); color: #2980b9; font-size: 1.8rem; }
.qr-login-card__title { margin: 0 0 0.55rem; color: #2c3e50; }
.qr-login-card__copy { color: #5f6f81; line-height: 1.75; }
.qr-login-live { margin-top: 1.25rem; }
.qr-login-placeholder { margin-top: 1.25rem; display: grid; grid-template-columns: 220px 1fr; gap: 1.2rem; align-items: center; }
.qr-login-placeholder__box { display: flex; align-items: center; justify-content: center; padding: 1rem; border-radius: 20px; background: #f8fafc; border: 1px solid #dbe6f1; }
.qr-login-placeholder--ready { margin-top: 0; }
.qr-login-placeholder__box--ready { background: #ffffff; }
.qr-login-placeholder__pattern { width: 172px; height: 172px; border-radius: 18px; background:
    linear-gradient(90deg, #2c3e50 10px, transparent 10px) 0 0/34px 34px,
    linear-gradient(#2c3e50 10px, transparent 10px) 0 0/34px 34px,
    linear-gradient(90deg, transparent 24px, #2c3e50 24px) 0 0/34px 34px,
    linear-gradient(transparent 24px, #2c3e50 24px) 0 0/34px 34px,
    #ffffff;
    box-shadow: inset 0 0 0 10px #fff;
}
.qr-login-image { width: 100%; max-width: 260px; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 16px; }
.qr-login-placeholder__meta strong { display: block; margin-bottom: 0.35rem; color: #2c3e50; }
.qr-login-placeholder__meta span { display: block; color: #7f8c8d; line-height: 1.7; }
.qr-login-direct-link { color: #2980b9; word-break: break-all; }
.qr-login-inline-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-top: 1.25rem; }
.qr-login-status-message { margin-top: 1rem; min-height: 1.5rem; color: #5f6f81; line-height: 1.6; }
.qr-login-status-message--success { color: #1f7a45; }
.qr-login-status-message--error { color: #c0392b; }
.qr-login-status-message--info { color: #2980b9; }
.qr-login-note { margin-top: 1.15rem; padding: 0.95rem 1rem; background: #f8fafc; border-radius: 14px; color: #5f6f81; border-left: 4px solid #3498db; }
.qr-login-empty { display: grid; gap: 0.9rem; }
.qr-login-list { margin: 0; padding-left: 1.15rem; color: #5f6f81; line-height: 1.8; }
@media (max-width: 768px) {
    .qr-login-grid { grid-template-columns: 1fr; }
    .qr-login-placeholder { grid-template-columns: 1fr; }
    .qr-login-hero__actions { flex-direction: column; align-items: stretch; }
    .qr-login-inline-actions { flex-direction: column; }
}
.contact-info-card { background: linear-gradient(135deg, #2ecc71, #27ae60); padding: 2rem; border-radius: 15px; color: #fff; margin-bottom: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.contact-info-card-title { margin-bottom: 1.5rem; }
.contact-info-card-section { margin-bottom: 1.5rem; }
.contact-info-card-heading { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; }
.contact-info-card-copy { margin-left: 1.8rem; opacity: 0.95; }
.contact-info-card-link { color: #fff; text-decoration: none; }
.contact-info-card-link:hover { text-decoration: underline; }
.contact-info-card-note { font-size: 0.9rem; }
.contact-support-card { margin-bottom: 1rem; padding: 1rem; background: #fff; border-radius: 10px; border-left: 4px solid #cbd5e1; }
.contact-support-card--hotline { border-left-color: #e74c3c; }
.contact-support-card--faq { border-left-color: #9b59b6; }
.contact-support-card-title { margin-bottom: 0.5rem; }
.contact-support-card-title--hotline { color: #e74c3c; }
.contact-support-card-title--faq { color: #9b59b6; }
.contact-support-card-copy { color: #7f8c8d; font-size: 0.9rem; margin-bottom: 0.5rem; }
.contact-support-card-note { font-size: 0.85rem; color: #95a5a6; }
.contact-support-card-link { text-decoration: none; font-weight: 600; }
.contact-support-card-link--faq { color: #9b59b6; }
.contact-support-card-link:hover { text-decoration: underline; }
.terms-page-shell { max-width: 1000px; margin: 0 auto; background: #fff; padding: 3rem; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.terms-page-title { color: #2c3e50; margin-bottom: 1rem; text-align: center; }
.terms-page-meta { text-align: center; color: #7f8c8d; margin-bottom: 3rem; }
.terms-page-content { line-height: 1.8; color: #2c3e50; }
.terms-page-actions { text-align: center; margin-top: 3rem; }
.terms-page-back-btn { display: inline-block; padding: 1rem 2rem; background: #2ecc71; color: #fff; text-decoration: none; border-radius: 10px; font-weight: 600; }
.terms-page-back-btn:hover { background: #27ae60; }
.terms-heading { color: #2ecc71; margin-top: 2rem; margin-bottom: 1rem; }
.terms-list { padding-left: 2rem; }
.terms-list-item { margin-bottom: 1rem; }
.terms-sublist { margin-top: 0.5rem; padding-left: 2rem; }
.terms-link { color: #2ecc71; font-weight: 600; text-decoration: none; }
.terms-link:hover { text-decoration: underline; }
.terms-contact-box { margin-top: 3rem; padding: 2rem; background: #f8f9fa; border-radius: 10px; border-left: 4px solid #2ecc71; }
.terms-contact-title { color: #2ecc71; margin-bottom: 1rem; }
.terms-contact-copy { margin-bottom: 0.5rem; }
@media (max-width: 768px) {
    .terms-page-shell { padding: 2rem 1.25rem; }
}
.privacy-page-shell { max-width: 1000px; margin: 0 auto; background: #fff; padding: 3rem; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.privacy-page-title { color: #2c3e50; margin-bottom: 1rem; text-align: center; }
.privacy-page-meta { text-align: center; color: #7f8c8d; margin-bottom: 3rem; }
.privacy-page-content { line-height: 1.8; color: #2c3e50; }
.privacy-page-actions { text-align: center; margin-top: 3rem; }
.privacy-page-back-btn { display: inline-block; padding: 1rem 2rem; color: #fff; text-decoration: none; border-radius: 10px; font-weight: 600; }
.privacy-page-back-btn--blue { background: #3498db; margin-right: 1rem; }
.privacy-page-back-btn--green { background: #2ecc71; }
.privacy-page-back-btn--blue:hover { background: #2980b9; }
.privacy-page-back-btn--green:hover { background: #27ae60; }
.privacy-heading { color: #3498db; margin-top: 2rem; margin-bottom: 1rem; }
.privacy-subheading { color: #2c3e50; margin-top: 1.5rem; margin-bottom: 1rem; }
.privacy-copy { margin-bottom: 1rem; }
.privacy-list { padding-left: 2rem; margin-bottom: 1rem; }
.privacy-list-item--tight { margin-bottom: 0.5rem; }
.privacy-link { color: #3498db; text-decoration: none; }
.privacy-link:hover { text-decoration: underline; }
.privacy-info-box { border-radius: 10px; margin-bottom: 1rem; }
.privacy-info-box--contact { padding: 1.5rem; background: #f8f9fa; border-left: 4px solid #3498db; }
.privacy-info-box--success { margin-top: 3rem; padding: 2rem; background: #e8f5e9; border-left: 4px solid #4caf50; }
.privacy-info-title--success { color: #4caf50; margin-bottom: 1rem; }
.privacy-contact-line { margin-bottom: 0.5rem; }
.privacy-contact-line--last { margin-bottom: 0; }
@media (max-width: 768px) {
    .privacy-page-shell { padding: 2rem 1.25rem; }
    .privacy-page-back-btn--blue { margin-right: 0; margin-bottom: 0.75rem; }
    .privacy-page-back-btn { width: 100%; }
}
.contact-demo-alert { margin-bottom: 1rem; padding: 0.75rem 1rem; border-radius: 10px; background: #f8f9fa; border: 1px solid #dfe6e9; color: #6c757d; }
.contact-form-fieldset { border: 0; padding: 0; margin: 0; }
.contact-form-fieldset--disabled { opacity: 0.6; }
.contact-form-group { margin-bottom: 1.5rem; }
.contact-form-label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: #2c3e50; }
.contact-form-input, .contact-form-textarea { width: 100%; padding: 0.8rem; border: 2px solid #ecf0f1; border-radius: 10px; font-size: 1rem; transition: all 0.3s ease; }
.contact-form-input:focus, .contact-form-textarea:focus { border-color: #2ecc71; outline: none; }
.contact-form-textarea { resize: vertical; }
.contact-form-input--captcha { text-transform: uppercase; letter-spacing: 0.14em; }
.contact-form-message { display: none; margin-bottom: 1rem; padding: 1rem; border-radius: 10px; }
.contact-form-message--visible { display: block; }
.contact-form-message--demo { background: #fff3cd; color: #856404; }
.contact-form-message--success { background: #d4edda; color: #155724; }
.contact-form-message--error { background: #fdecea; color: #c0392b; }
.contact-submit-btn { width: 100%; padding: 1rem; background: #2ecc71; color: #fff; border: none; border-radius: 10px; font-weight: 600; font-size: 1.1rem; cursor: pointer; transition: all 0.3s ease; }
.contact-submit-btn--disabled { background: #95a5a6; cursor: not-allowed; }
.contact-captcha-row { display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; margin-bottom:0.7rem; }
.contact-captcha-frame { padding:0.45rem; border-radius:12px; background:#eef6ff; border:1px solid #d8e8f8; box-shadow:inset 0 1px 0 rgba(255,255,255,0.8); }
.contact-captcha-image { display:block; width:190px; max-width:100%; height:64px; border-radius:10px; background:#f8fbff; }
.contact-captcha-refresh { padding:0.75rem 0.85rem; border:1px solid #dfe6e9; border-radius:10px; background:#fff; color:#2c3e50; cursor:pointer; font-weight:600; }
.contact-captcha-copy { font-size:0.88rem; color:#5f6f81; margin-bottom:0.55rem; }
.contact-live-box { margin-bottom: 1rem; padding: 1rem; background: #fff; border-radius: 10px; border-left: 4px solid #3498db; }
.contact-live-title { color: #3498db; margin-bottom: 0.5rem; }
.contact-live-copy { color: #7f8c8d; font-size: 0.9rem; margin-bottom: 0.5rem; }
.contact-helper-status { margin-bottom:0.65rem; display:inline-block; padding:0.3rem 0.75rem; border-radius:999px; font-weight:700; font-size:0.85rem; border:1px solid #d7dde4; background:#eef1f5; color:#6c757d; }
.contact-helper-status--online { border-color:#b7e4c7; background:#d4edda; color:#155724; }
.contact-helper-status--offline { border-color:#d7dde4; background:#eef1f5; color:#6c757d; }
.contact-helper-status--error { border-color:#f5c6cb; background:#f8d7da; color:#721c24; }
.contact-live-btn { padding:0.5rem 1rem; color:#fff; border:none; border-radius:5px; cursor:pointer; font-weight:600; }
.contact-live-btn--blue { background:#3498db; }
.contact-live-btn--muted { background:#95a5a6; }
.contact-live-btn--green { padding:0.45rem 0.8rem; background:#2ecc71; border-radius:8px; }
.contact-helper-fallback { display:none; margin-top:0.8rem; padding:0.85rem; background:#fff8e1; border:1px solid #f5d76e; border-radius:10px; }
.contact-helper-fallback--visible { display:block; }
.contact-helper-fallback-copy { color:#7f6000; font-size:0.9rem; margin-bottom:0.65rem; }
.contact-helper-fallback-actions { display:flex; gap:0.55rem; flex-wrap:wrap; }
.contact-chatbot-widget { position: fixed; bottom: 20px; right: 20px; z-index: 1000; }
.contact-chatbot-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.48); opacity: 0; pointer-events: none; transition: opacity 0.25s ease; z-index: 999; }
.contact-chatbot-toggle { width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(135deg, #2ecc71, #27ae60); color: #fff; border: none; box-shadow: 0 4px 12px rgba(46,204,113,0.4); cursor: pointer; font-size: 24px; transition: all 0.3s ease; }
.contact-chatbot-toggle:hover { transform: scale(1.1); }
.contact-chatbot-window { display:none; position:absolute; bottom:80px; right:0; width:350px; height:500px; background:#fff; border-radius:15px; box-shadow:0 10px 40px rgba(0,0,0,0.2); overflow:hidden; flex-direction:column; }
.contact-chatbot-window--open { display:flex; }
.contact-chatbot-widget--modal-open .contact-chatbot-overlay { opacity: 1; pointer-events: auto; }
.contact-chatbot-widget--modal-open .contact-chatbot-window { position: fixed; left: 50%; top: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); width: min(92vw, 720px); height: min(78vh, 620px); z-index: 1001; }
.contact-chatbot-widget--modal-open .contact-chatbot-toggle { opacity: 0; pointer-events: none; }
.contact-chatbot-head { background: linear-gradient(135deg, #2ecc71, #27ae60); color:#fff; padding:1rem; display:flex; justify-content:space-between; align-items:center; }
.contact-chatbot-title { margin:0; font-size:1.1rem; }
.contact-chatbot-subtitle { margin:0; font-size:0.85rem; opacity:0.9; }
.contact-chatbot-close { background:transparent; border:none; color:#fff; font-size:1.5rem; cursor:pointer; padding:0; width:30px; height:30px; }
.contact-chatbot-messages { flex:1; overflow-y:auto; padding:1rem; background:#f8f9fa; }
.contact-chatbot-message-row { margin-bottom:1rem; display:flex; gap:0.5rem; }
.contact-chatbot-message-row--user { justify-content:flex-end; }
.contact-chatbot-avatar { width:35px; height:35px; border-radius:50%; background:linear-gradient(135deg, #2ecc71, #27ae60); display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }
.contact-chatbot-bubble { padding:0.8rem; border-radius:10px; max-width:80%; box-shadow:0 2px 5px rgba(0,0,0,0.05); }
.contact-chatbot-bubble--bot { background:#fff; }
.contact-chatbot-bubble--user { background:#2ecc71; color:#fff; }
.contact-chatbot-bubble-copy { margin:0; font-size:0.9rem; }
.contact-chatbot-bubble-copy--multiline { white-space: pre-line; }
.contact-chatbot-quick { margin-top:1rem; }
.contact-chatbot-quick-title { font-size:0.85rem; color:#7f8c8d; margin-bottom:0.5rem; }
.contact-chatbot-quick-btn { display:block; width:100%; text-align:left; padding:0.6rem; margin-bottom:0.5rem; background:#fff; border:1px solid #ecf0f1; border-radius:8px; cursor:pointer; font-size:0.85rem; transition:all 0.3s; }
.contact-chatbot-quick-btn:hover { background:#f8f9fa; border-color:#2ecc71; transform:translateX(5px); }
.contact-chatbot-footer { padding:1rem; background:#fff; border-top:1px solid #ecf0f1; }
.contact-chatbot-form { display:flex; gap:0.5rem; }
.contact-chatbot-input { flex:1; padding:0.8rem; border:2px solid #ecf0f1; border-radius:25px; font-size:0.9rem; }
.contact-chatbot-send { width:40px; height:40px; border-radius:50%; background:#2ecc71; color:#fff; border:none; cursor:pointer; font-size:1.1rem; }
.contact-modal-hidden { display:none !important; }
.contact-helper-modal { max-width:500px; width:90%; max-height:600px; display:flex; flex-direction:column; }
.contact-helper-modal-head { background:linear-gradient(135deg, #3498db, #2980b9); color:#fff; padding:1rem; display:flex; justify-content:space-between; align-items:center; border-radius:15px 15px 0 0; }
.contact-helper-modal-title { margin:0; font-size:1.1rem; }
.contact-helper-modal-subtitle { margin:0; font-size:0.85rem; opacity:0.9; }
.contact-helper-modal-close { background:transparent; border:none; color:#fff; font-size:1.5rem; cursor:pointer; }
.contact-helper-messages { flex:1; overflow-y:auto; padding:1rem; background:#f8f9fa; min-height:400px; }
.contact-helper-message-row { margin-bottom:1rem; display:flex; gap:0.5rem; }
.contact-helper-message-row--user { justify-content:flex-end; }
.contact-helper-avatar { width:35px; height:35px; border-radius:50%; background:#2ecc71; display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }
.contact-helper-bubble { padding:0.8rem; border-radius:10px; max-width:70%; }
.contact-helper-bubble--user { background:#3498db; color:#fff; }
.contact-helper-bubble--helper { background:#fff; box-shadow:0 2px 5px rgba(0,0,0,0.05); }
.contact-helper-bubble-copy { margin:0; font-size:0.9rem; }
.contact-helper-bubble-time { font-size:0.75rem; color:#7f8c8d; }
.contact-helper-bubble-time--user { color:rgba(255,255,255,0.8); }
.contact-helper-modal-footer { padding:1rem; background:#fff; border-top:1px solid #ecf0f1; border-radius:0 0 15px 15px; }
.contact-helper-form { display:flex; gap:0.5rem; }
.contact-helper-input { flex:1; padding:0.8rem; border:2px solid #ecf0f1; border-radius:25px; font-size:0.9rem; }
.contact-helper-send { width:40px; height:40px; border-radius:50%; background:#3498db; color:#fff; border:none; cursor:pointer; font-size:1.1rem; }
.contact-dialog { max-width:720px; width:min(96vw, 720px); max-height:none; padding:1.35rem; }
.contact-dialog--wide { max-width:760px; width:min(96vw, 760px); }
.contact-dialog-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:0.8rem; }
.contact-dialog-title { margin:0; color:#2c3e50; font-size:1.05rem; }
.contact-dialog-title-icon { color:#f39c12; }
.contact-dialog-title-icon--info { color:#3498db; }
.contact-dialog-close { background:none; border:none; font-size:1.3rem; color:#7f8c8d; cursor:pointer; }
.contact-dialog-copy { margin:0 0 1rem 0; color:#2c3e50; }
.contact-dialog-copy--wrap { line-height:1.6; white-space:normal; word-break:break-word; }
.contact-dialog-actions { display:flex; gap:0.6rem; justify-content:flex-end; }
.contact-dialog-actions--single { justify-content:flex-end; }
.contact-dialog-btn { padding:0.55rem 0.95rem; border-radius:8px; cursor:pointer; font-weight:600; }
.contact-dialog-btn--secondary { border:1px solid #dfe6e9; background:#f8f9fa; color:#2c3e50; }
.contact-dialog-btn--danger { border:none; background:#e74c3c; color:#fff; }
.contact-dialog-btn--info { border:none; background:#3498db; color:#fff; }
.sale-page-shell { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; }
.sale-page-hero { padding: 4.5rem 0 3rem; background: radial-gradient(circle at top left, rgba(20,184,166,0.18), transparent 26%), radial-gradient(circle at top right, rgba(59,130,246,0.16), transparent 28%), linear-gradient(180deg, #f8fffd 0%, #ffffff 100%); }
.sale-page-hero__eyebrow { display: inline-flex; padding: 0.4rem 0.85rem; border-radius: 999px; background: rgba(15,118,110,0.12); color: #0f766e; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; font-size: 0.78rem; }
.sale-page-hero__title { max-width: 900px; margin: 1rem 0 1rem; font-size: clamp(2rem, 3.7vw, 3.5rem); line-height: 1.08; color: #0f172a; }
.sale-page-hero__copy { max-width: 820px; margin: 0; color: #475569; font-size: 1.08rem; line-height: 1.85; }
.sale-page-hero__actions { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-top: 1.6rem; }
.sale-page-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; padding: 0.95rem 1.35rem; border-radius: 999px; text-decoration: none; font-weight: 700; transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease; }
.sale-page-btn:hover { transform: translateY(-1px); }
.sale-page-btn--primary { background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%); color: #fff; box-shadow: 0 18px 36px rgba(20,184,166,0.2); }
.sale-page-btn--secondary { background: #fff; color: #0f766e; border: 1px solid rgba(15,118,110,0.18); box-shadow: 0 10px 24px rgba(15,23,42,0.06); }
.sale-page-hero__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.sale-page-stat { padding: 1.3rem 1.2rem; border-radius: 22px; background: rgba(255,255,255,0.88); border: 1px solid rgba(148,163,184,0.18); box-shadow: 0 14px 34px rgba(15,23,42,0.06); }
.sale-page-stat__value { display: block; color: #0f172a; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; }
.sale-page-stat__label { display: block; margin-top: 0.35rem; color: #64748b; line-height: 1.55; }
.sale-page-section { padding: 3.25rem 0; }
.sale-page-section--alt { background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); }
.sale-page-section--pricing { background: linear-gradient(180deg, #f8fffd 0%, #ffffff 100%); }
.sale-page-section--cta { padding-top: 1rem; padding-bottom: 4.5rem; }
.sale-page-heading { max-width: 860px; margin-bottom: 1.8rem; }
.sale-page-heading--spaced { margin-top: 2rem; }
.sale-page-heading__title { margin: 0 0 0.75rem; color: #0f172a; font-size: clamp(1.7rem, 2.5vw, 2.4rem); }
.sale-page-heading__copy { margin: 0; color: #475569; line-height: 1.85; }
.sale-page-card-pad { width: 100%; padding: 1.15rem 1.15rem 0.2rem; }
.sale-page-modules { display: grid; gap: 1rem; }
.sale-page-module { display: grid; grid-template-columns: 84px 1fr; gap: 1rem; padding: 1.35rem; border-radius: 24px; background: #fff; border: 1px solid rgba(148,163,184,0.18); box-shadow: 0 16px 36px rgba(15,23,42,0.06); }
.sale-page-module__icon { width: 84px; height: 84px; border-radius: 22px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(15,118,110,0.12), rgba(20,184,166,0.2)); color: #0f766e; font-size: 1.9rem; }
.sale-page-module__title { margin: 0 0 0.5rem; color: #0f172a; font-size: 1.2rem; }
.sale-page-module__copy { margin: 0 0 0.85rem; color: #475569; line-height: 1.75; }
.sale-page-list { margin: 0; padding-left: 1.2rem; color: #334155; line-height: 1.75; }
.sale-page-list__item + .sale-page-list__item { margin-top: 0.28rem; }
.sale-page-advantages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.sale-page-advantage { padding: 1.4rem; border-radius: 22px; background: #fff; border: 1px solid rgba(148,163,184,0.16); box-shadow: 0 14px 32px rgba(15,23,42,0.05); }
.sale-page-advantage__icon { width: 58px; height: 58px; border-radius: 18px; display: flex; align-items: center; justify-content: center; background: rgba(14,165,164,0.12); color: #0f766e; font-size: 1.3rem; margin-bottom: 0.95rem; }
.sale-page-advantage__title { margin: 0 0 0.55rem; color: #0f172a; font-size: 1.05rem; }
.sale-page-advantage__copy { margin: 0; color: #64748b; line-height: 1.7; }
.sale-page-scope { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.sale-page-scope__item { padding: 1.2rem 1.25rem; border-radius: 20px; background: #fff; border-left: 4px solid #14b8a6; box-shadow: 0 12px 28px rgba(15,23,42,0.05); }
.sale-page-scope__title { margin: 0 0 0.45rem; color: #0f172a; font-size: 1.03rem; }
.sale-page-scope__copy { margin: 0; color: #64748b; line-height: 1.7; }
.sale-page-pricing-card { overflow: hidden; border-radius: 24px; background: #fff; border: 1px solid rgba(148,163,184,0.18); box-shadow: 0 18px 44px rgba(15,23,42,0.06); }
.sale-page-pricing-table { width: 100%; border-collapse: collapse; }
.sale-page-pricing-table th, .sale-page-pricing-table td { padding: 1rem 1.1rem; text-align: left; border-bottom: 1px solid #e2e8f0; }
.sale-page-pricing-table thead th { background: #f8fafc; color: #334155; font-size: 0.95rem; }
.sale-page-pricing-table tbody td { color: #0f172a; }
.sale-page-pricing-table tfoot td { background: #ecfeff; font-weight: 800; color: #0f766e; border-bottom: none; font-size: 1.02rem; }
.sale-page-note { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 18px; background: #f8fafc; color: #475569; line-height: 1.75; border-left: 4px solid #0f766e; }
.sale-page-addons { margin-top: 1.6rem; }
.sale-page-addons__title { margin: 0 0 0.9rem; color: #0f172a; }
.sale-page-addons__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sale-page-addon { padding: 1.2rem; border-radius: 22px; background: #fff; border: 1px solid rgba(148,163,184,0.16); box-shadow: 0 14px 32px rgba(15,23,42,0.05); }
.sale-page-addon__price { color: #0f766e; font-weight: 800; margin-bottom: 0.7rem; }
.sale-page-addon__title { margin: 0 0 0.45rem; color: #0f172a; }
.sale-page-addon__copy { margin: 0; color: #64748b; line-height: 1.7; }
.sale-page-faq { display: grid; gap: 1rem; }
.sale-page-faq__item { padding: 1.2rem 1.25rem; border-radius: 22px; background: #fff; border: 1px solid rgba(148,163,184,0.16); box-shadow: 0 14px 32px rgba(15,23,42,0.05); }
.sale-page-faq__question { margin: 0 0 0.55rem; color: #0f172a; font-size: 1.05rem; }
.sale-page-faq__answer { margin: 0; color: #64748b; line-height: 1.75; }
.sale-page-cta { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.2rem; align-items: center; padding: 1.45rem; border-radius: 28px; background: linear-gradient(135deg, #0f172a 0%, #134e4a 100%); color: #fff; box-shadow: 0 22px 48px rgba(15,23,42,0.18); }
.sale-page-cta__title { margin: 0 0 0.55rem; font-size: clamp(1.5rem, 2.3vw, 2rem); }
.sale-page-cta__copy { margin: 0; color: rgba(255,255,255,0.84); line-height: 1.75; }
.sale-page-cta__actions { display: flex; flex-direction: column; gap: 0.8rem; }
.sale-page-cta .sale-page-btn--secondary { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.18); box-shadow: none; }
@media (max-width: 1024px) {
    .sale-page-advantages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sale-page-addons__grid { grid-template-columns: 1fr; }
    .sale-page-cta { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .sale-page-hero { padding-top: 3.4rem; }
    .sale-page-hero__stats, .sale-page-advantages, .sale-page-scope { grid-template-columns: 1fr; }
    .sale-page-module { grid-template-columns: 1fr; }
    .sale-page-module__icon { width: 72px; height: 72px; }
    .sale-page-pricing-table th, .sale-page-pricing-table td { padding: 0.85rem; font-size: 0.94rem; }
}
@media (max-width: 640px) {
    .sale-page-shell { width: min(100% - 1rem, 1180px); }
    .sale-page-hero__actions, .sale-page-cta__actions { flex-direction: column; }
    .sale-page-btn { width: 100%; }
}
.profile-demo-banner { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; padding: 1.5rem; border-radius: 15px; margin-bottom: 2rem; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.profile-demo-banner-title { margin-bottom: 0.5rem; }
.profile-demo-banner-copy { margin: 0; opacity: 0.95; }
.profile-flash { padding: 1rem; border-radius: 10px; margin-bottom: 2rem; text-align: center; }
.profile-flash--success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.profile-flash--error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.profile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 2rem; margin-top: 2rem; }
.profile-card { background: #fff; padding: 2rem; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.profile-card-title { margin-bottom: 1.5rem; color: #2c3e50; display: flex; align-items: center; gap: 0.5rem; }
.profile-card-title--compact { margin-bottom: 1.2rem; }
.profile-form-group { margin-bottom: 1.5rem; }
.profile-form-label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: #2c3e50; }
.profile-form-input { width: 100%; padding: 0.8rem; border: 2px solid #ecf0f1; border-radius: 10px; font-size: 1rem; }
.profile-form-input--readonly { background: #f8f9fa; }
.profile-form-help { color: #7f8c8d; font-size: 0.85rem; }
.profile-form-help--spaced { display: block; margin-top: 0.35rem; }
.profile-form-help--tiny-gap { display: block; margin-top: 0.3rem; }
.profile-form-help--success { color: #27ae60; }
.profile-form-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 1rem; margin-bottom: 1.5rem; }
.profile-section-break { margin: 1.75rem 0 1rem; padding-top: 1rem; border-top: 1px solid #ecf0f1; }
.profile-subtitle { margin: 0 0 0.8rem 0; color: #2c3e50; font-size: 1.05rem; }
.profile-subcopy { margin: 0 0 0.9rem 0; color: #7f8c8d; font-size: 0.9rem; }
.profile-submit-btn { width: 100%; padding: 1rem; color: #fff; border: none; border-radius: 10px; font-weight: 600; font-size: 1.1rem; cursor: pointer; }
.profile-submit-btn--green { background: #2ecc71; }
.profile-submit-btn--blue { background: #3498db; }
.profile-submit-btn--teal { background: #16a085; font-size: 1.05rem; }
.profile-submit-btn--disabled { background: #95a5a6; cursor: not-allowed; }
.profile-submit-btn--spaced { margin-top: 1.25rem; }
.profile-security-box { margin-top: 2rem; padding: 1.5rem; background: #f8f9fa; border-radius: 10px; border-left: 4px solid #3498db; }
.profile-security-title { color: #3498db; margin-bottom: 1rem; font-size: 1.1rem; }
.profile-security-list { list-style: none; padding: 0; margin: 0; }
.profile-security-item { padding: 0.5rem 0; color: #7f8c8d; }
.profile-security-check { color: #2ecc71; }
.profile-consent-copy { color:#7f8c8d; margin:0 0 1.25rem 0; }
.profile-consent-list { display:grid; gap:1rem; }
.profile-consent-card { padding:1rem; border:1px solid #ecf0f1; border-radius:12px; background:#f8f9fa; }
.profile-consent-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; flex-wrap:wrap; }
.profile-consent-name { font-weight:700; color:#2c3e50; }
.profile-consent-meta { color:#7f8c8d; margin-top:0.3rem; font-size:0.92rem; }
.profile-consent-status { display:inline-block; padding:0.3rem 0.75rem; border-radius:999px; font-weight:700; font-size:0.82rem; }
.profile-consent-status--ok { background:#eafaf1; color:#27ae60; }
.profile-consent-status--pending { background:#fdecea; color:#c0392b; }
.profile-consent-toggle { display:flex; align-items:flex-start; gap:0.6rem; margin-top:0.85rem; cursor:pointer; color:#2c3e50; line-height:1.45; }
.profile-consent-checkbox { width:18px; height:18px; margin-top:0.1rem; }
.profile-consent-link { color:#3498db; font-weight:600; }
.profile-stats-grid { margin-top: 3rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
.profile-stat-card { padding: 2rem; border-radius: 15px; text-align: center; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.profile-stat-card--green { background: linear-gradient(135deg, #2ecc71, #27ae60); }
.profile-stat-card--blue { background: linear-gradient(135deg, #3498db, #2980b9); }
.profile-stat-card--purple { background: linear-gradient(135deg, #9b59b6, #8e44ad); }
.profile-stat-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.profile-stat-value { font-size: 2rem; margin-bottom: 0.5rem; }
.profile-stat-copy { opacity: 0.9; }
.payment-mode-banner { color: #fff; padding: 1.5rem; border-radius: 15px; margin-bottom: 2rem; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.payment-mode-banner--demo { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.payment-mode-banner--real { background: linear-gradient(135deg, #16a085 0%, #1abc9c 100%); }
.payment-mode-banner--warning { background: linear-gradient(135deg, #e67e22 0%, #d35400 100%); }
.payment-mode-banner-title { margin-bottom: 0.5rem; }
.payment-mode-banner-copy { margin: 0; opacity: 0.95; }
.payment-layout { max-width: 800px; margin: 0 auto; display: grid; gap: 2rem; }
.payment-card { background: #fff; padding: 2rem; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.payment-card-title { margin-bottom: 1.5rem; color: #2c3e50; border-bottom: 2px solid #ecf0f1; padding-bottom: 1rem; }
.payment-summary-grid { display: grid; gap: 1.5rem; }
.payment-doctor-row { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; align-items: center; }
.payment-doctor-avatar { width: 80px; height: 80px; border-radius: 50%; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.payment-doctor-avatar-img { width: 100%; height: 100%; object-fit: cover; }
.payment-doctor-name { margin-bottom: 0.25rem; color: #2c3e50; }
.payment-doctor-spec { color: #7f8c8d; margin: 0; }
.payment-visit-slot { padding: 1rem; background: #f8f9fa; border-radius: 10px; border-left: 4px solid #2ecc71; }
.payment-visit-slot-row { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; }
.payment-visit-slot-icon { font-size: 2rem; color: #2ecc71; }
.payment-visit-slot-date { margin: 0; font-weight: 600; color: #2c3e50; }
.payment-visit-slot-time { margin: 0; color: #7f8c8d; }
.payment-price-box { padding: 1.5rem; background: linear-gradient(135deg, #2ecc71, #27ae60); border-radius: 10px; color: #fff; text-align: center; }
.payment-price-meta { margin: 0 0 0.5rem 0; font-size: 0.9rem; opacity: 0.9; }
.payment-price-value { margin: 0; font-size: 2.5rem; font-weight: 700; }
.payment-price-breakdown { margin: 0.5rem 0 0 0; font-size: 0.85rem; opacity: 0.95; }
.payment-addon-box { padding: 1rem; background:#f8f9fa; border-radius:10px; border:1px solid #ecf0f1; }
.payment-addon-title { font-weight:600; color:#2c3e50; margin-bottom:0.45rem; }
.payment-addon-list { display:grid; gap:0.35rem; }
.payment-addon-item { display:flex; justify-content:space-between; gap:0.8rem; color:#2c3e50; font-size:0.95rem; }
.payment-addon-price { font-weight:600; color:#8e44ad; }
.payment-message { display:none; padding:1rem; border-radius:10px; margin-bottom:1.5rem; }

.online-visit-fallback {
    text-align: center;
    padding: 4rem;
}

.online-visit-fallback-text {
    color: #7f8c8d;
    margin-top: 0.6rem;
}

.online-visit-fallback-link {
    display: inline-block;
    margin-top: 1rem;
}

.wizyta-online-strona .modal {
    display: none;
    position: fixed;
    z-index: 1001;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
}

.wizyta-online-strona .modal-tresc {
    background-color: #fefefe;
    margin: 8% auto;
    padding: 2rem;
    border: none;
    width: 90%;
    max-width: 600px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.3);
    position: relative;
    animation: fadeIn 0.3s;
}

.wizyta-online-strona .zamknij {
    color: #aaa;
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.3s;
}

.wizyta-online-strona .zamknij:hover,
.wizyta-online-strona .zamknij:focus {
    color: black;
    text-decoration: none;
}

.wizyta-online-strona #form-wystaw-recepte label,
.wizyta-online-strona #form-wystaw-zwolnienie label,
.wizyta-online-strona #form-wystaw-skierowanie label,
.wizyta-online-strona #form-wystaw-zlecenie-badania label {
    display: block;
    margin-top: 1rem;
    font-weight: 600;
    color: #2c3e50;
}

.wizyta-online-strona #form-wystaw-recepte input,
.wizyta-online-strona #form-wystaw-recepte textarea,
.wizyta-online-strona #form-wystaw-zwolnienie input,
.wizyta-online-strona #form-wystaw-zwolnienie textarea,
.wizyta-online-strona #form-wystaw-skierowanie input,
.wizyta-online-strona #form-wystaw-skierowanie textarea,
.wizyta-online-strona #form-wystaw-zlecenie-badania input,
.wizyta-online-strona #form-wystaw-zlecenie-badania textarea {
    width: 100%;
    padding: 0.75rem;
    margin-top: 0.5rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
}

.wizyta-online-strona #form-wystaw-recepte button,
.wizyta-online-strona #form-wystaw-zwolnienie button,
.wizyta-online-strona #form-wystaw-skierowanie button,
.wizyta-online-strona #form-wystaw-zlecenie-badania button {
    margin-top: 1.5rem;
    padding: 0.85rem 1.75rem;
    background: #2ecc71;
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.3s;
    font-size: 1rem;
}

.wizyta-online-strona #form-wystaw-recepte button:hover,
.wizyta-online-strona #form-wystaw-zwolnienie button:hover,
.wizyta-online-strona #form-wystaw-skierowanie button:hover,
.wizyta-online-strona #form-wystaw-zlecenie-badania button:hover {
    background: #27ae60;
}

.wizyta-online-hero {
    color: #fff;
    padding: 1.5rem;
    border-radius: 15px;
    margin-bottom: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.wizyta-online-hero--lekarz {
    background: linear-gradient(135deg, #3498db, #2980b9);
}

.wizyta-online-hero--pacjent {
    background: linear-gradient(135deg, #2ecc71, #27ae60);
}

.wizyta-online-hero-title {
    margin: 0;
}

.wizyta-online-hero-text {
    opacity: 0.95;
    margin: 0.5rem 0 0 0;
}

.wizyta-online-hero-text--small {
    opacity: 0.95;
    margin: 0.25rem 0 0 0;
    font-size: 0.92rem;
}

.wizyta-online-hero-actions {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
}

.wizyta-online-hero-btn,
.wizyta-online-hero-link,
.wizyta-online-inline-btn {
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}

.wizyta-online-hero-btn,
.wizyta-online-hero-link {
    padding: 0.75rem 1rem;
}

.wizyta-online-hero-link {
    color: #fff;
}

.wizyta-online-hero-btn--glass,
.wizyta-online-hero-link--glass {
    background: rgba(255,255,255,0.2);
    color: #fff;
}

.wizyta-online-hero-btn--warning {
    background: #f39c12;
    color: #fff;
    font-weight: 700;
}

.wizyta-online-hero-btn--danger {
    background: #e74c3c;
    color: #fff;
}

.wizyta-online-status-preview {
    margin-top: 0.55rem;
    padding: 0.6rem 0.85rem;
    border-radius: 10px;
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
    font-size: 0.92rem;
    font-weight: 600;
}

.wizyta-online-participants-list {
    margin-top: 0.35rem;
    color: #7f8c8d;
}

.wizyta-online-rejoin-help {
    margin-top: 0.35rem;
}

.wizyta-online-inline-btn {
    padding: 0.55rem 0.8rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}

.wizyta-online-inline-btn--blue { background: #3498db; color: #fff; }
.wizyta-online-inline-btn--green { background: #2ecc71; color: #fff; }
.wizyta-online-inline-btn--gray { background: #95a5a6; color: #fff; }
.wizyta-online-inline-btn--light { background: #f1f2f6; color: #2c3e50; }
.wizyta-online-inline-btn--muted { background: #ecf0f1; color: #2c3e50; }
.wizyta-online-inline-btn--danger { background: #e74c3c; color: #fff; }

.wizyta-online-panel-title {
    margin: 0 0 0.35rem 0;
}

.wizyta-online-panel-heading {
    margin-top: 0;
}

.wizyta-online-panel-text {
    margin: 0;
    color: #2c3e50;
}

.wizyta-online-quality-actions .przycisk-narzedzie {
    max-width: 220px;
    margin: 0;
}

.wizyta-online-poczekalnia-form {
    margin-top: 0.8rem;
}

.wizyta-online-hidden-input {
    display: none;
}

.wizyta-online-notatki {
    width: 100%;
    min-height: 100px;
    padding: 0.75rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    resize: vertical;
}

.wizyta-online-notatki--readonly {
    background: #f8f9fa;
    color: #7f8c8d;
}

.wizyta-online-note-btn {
    margin-top: 0.5rem;
}

.wizyta-online-help-text {
    margin-top: 0.45rem;
    font-size: 0.8rem;
    color: #7f8c8d;
}

.wizyta-online-subtle-box {
    font-size: 0.86rem;
    color: #7f8c8d;
}

.wizyta-online-doc-btn:disabled,
.wizyta-online-btn-disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.wizyta-online-doc-line {
    margin: 0;
    font-size: 0.9rem;
    color: #2c3e50;
}

.wizyta-online-doc-line + .wizyta-online-doc-line {
    margin-top: 0.45rem;
}

.wizyta-online-doc-code {
    color: #7f8c8d;
}

.wizyta-online-chat-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
}

.wizyta-online-chat-helper-btn {
    background: rgba(255,255,255,0.2);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 8px;
    padding: 0.35rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
}

.wizyta-online-strona .wizyta-container {
    display: grid;
    grid-template-columns: 300px 1fr 350px;
    gap: 1rem;
    height: calc(100vh - 200px);
    margin: 2rem 0;
}

.wizyta-online-strona .panel-narzedzia {
    background: white;
    border-radius: 15px;
    padding: 1.5rem;
    overflow-y: auto;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.wizyta-online-strona .panel-wideo {
    background: #1a1a1a;
    border-radius: 15px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.wizyta-online-strona .video-glowny {
    flex: 1;
    position: relative;
    background: #000;
}

.wizyta-online-strona .video-glowny video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wizyta-online-strona .video-miniatura {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 200px;
    height: 150px;
    border-radius: 10px;
    overflow: hidden;
    border: 3px solid white;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.wizyta-online-strona .video-miniatura video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wizyta-online-strona .kontrolki-wideo {
    background: rgba(0,0,0,0.8);
    padding: 1rem;
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.wizyta-online-strona .przycisk-kontrolka {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wizyta-online-strona .przycisk-kontrolka:hover {
    transform: scale(1.1);
}

.wizyta-online-strona .przycisk-mikrofon { background: #2ecc71; color: white; }
.wizyta-online-strona .przycisk-mikrofon.wyciszony { background: #e74c3c; }
.wizyta-online-strona .przycisk-kamera { background: #3498db; color: white; }
.wizyta-online-strona .przycisk-kamera.wylaczona { background: #e74c3c; }
.wizyta-online-strona .przycisk-zakonczenie { background: #e74c3c; color: white; }
.wizyta-online-strona .przycisk-udostepnij { background: #9b59b6; color: white; }

.wizyta-online-strona .panel-czat {
    background: white;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.wizyta-online-strona .czat-naglowek {
    padding: 1rem;
    color: white;
    border-radius: 15px 15px 0 0;
    font-weight: 600;
}

.wizyta-online-strona--lekarz .czat-naglowek,
.wizyta-online-strona--lekarz .czat-wyslij {
    background: #3498db;
}

.wizyta-online-strona--pacjent .czat-naglowek,
.wizyta-online-strona--pacjent .czat-wyslij {
    background: #2ecc71;
}

.wizyta-online-strona .czat-wiadomosci {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
    background: #f8f9fa;
}

.wizyta-online-strona .wiadomosc {
    margin-bottom: 1rem;
    padding: 0.75rem;
    border-radius: 10px;
    max-width: 80%;
    word-wrap: break-word;
}

.wizyta-online-strona .wiadomosc.lekarz {
    background: #e3f2fd;
    margin-left: auto;
    text-align: right;
}

.wizyta-online-strona .wiadomosc.pacjent {
    background: #e8f5e9;
}

.wizyta-online-strona .czat-formularz {
    padding: 1rem;
    border-top: 1px solid #ecf0f1;
    display: flex;
    gap: 0.5rem;
}

.wizyta-online-strona .czat-input {
    flex: 1;
    padding: 0.75rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 1rem;
}

.wizyta-online-strona .czat-wyslij {
    padding: 0.75rem 1.5rem;
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
}

.wizyta-online-strona .narzedzie {
    margin-bottom: 1.5rem;
    padding: 0.9rem 1rem;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e4ebf1;
    box-shadow: 0 6px 14px rgba(52, 73, 94, 0.07);
}

.wizyta-online-strona .narzedzie.narzedzie-dokument-wystawiony {
    background: #eafaf1;
    border-color: #b7e4c7;
    box-shadow: 0 6px 14px rgba(39, 174, 96, 0.14);
}

.wizyta-online-strona .narzedzie.narzedzie-dokument-wystawiony .narzedzie-head-toggle {
    background: #d4efdf;
    color: #1e8449;
}

.wizyta-online-strona .narzedzie h4 {
    margin: 0 0 1rem 0;
    color: #2c3e50;
    font-size: 0.9rem;
}

.wizyta-online-strona .narzedzie-head-button {
    width: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    color: #2c3e50;
    text-align: left;
    font-weight: 700;
}

.wizyta-online-strona .narzedzie-head-button:focus-visible {
    outline: 2px solid #3498db;
    outline-offset: 2px;
    border-radius: 8px;
}

.wizyta-online-strona .narzedzie-head-title {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.92rem;
    font-weight: 700;
}

.wizyta-online-strona .narzedzie-head-toggle {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ecf0f1;
    color: #2c3e50;
    font-size: 1rem;
    font-weight: 700;
    flex-shrink: 0;
}

.wizyta-online-strona .narzedzie-body {
    margin-top: 0.8rem;
}

.wizyta-online-strona .narzedzie.narzedzie-zwiniete .narzedzie-body {
    display: none;
}

.wizyta-online-strona .narzedzie-alert-badge {
    display: none;
    width: 18px;
    height: 18px;
    margin-left: 0.45rem;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #e74c3c;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.45);
}

.wizyta-online-strona .narzedzie-alert-badge.aktywny {
    display: inline-flex;
    animation: narzedzie-alert-puls 1.2s ease-in-out infinite;
}

.wizyta-online-strona .przycisk-narzedzie {
    width: 100%;
    padding: 0.75rem;
    background: white;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
    margin-bottom: 0.5rem;
}

.wizyta-online-strona .przycisk-narzedzie:hover {
    background: #3498db;
    color: white;
    border-color: #3498db;
}

.wizyta-online-strona .lista-plikow {
    max-height: 200px;
    overflow-y: auto;
}

.wizyta-online-strona .plik-item {
    padding: 0.5rem;
    background: white;
    border-radius: 5px;
    margin-bottom: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.wizyta-online-strona .status-polaczenia {
    padding: 0.5rem 1rem;
    background: #2ecc71;
    color: white;
    border-radius: 20px;
    font-size: 0.85rem;
    display: inline-block;
    margin-bottom: 1rem;
}

.wizyta-online-strona .status-polaczenia.laczenie { background: #f39c12; }
.wizyta-online-strona .status-polaczenia.rozlaczony { background: #e74c3c; }

.wizyta-online-strona .status-czas-wizyty {
    padding: 0.5rem 1rem;
    background: #34495e;
    color: white;
    border-radius: 20px;
    font-size: 0.85rem;
    display: inline-block;
    margin: 0 0 1rem 0.6rem;
}

.wizyta-online-strona .status-uczestnicy-online {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    color: #2c3e50;
}

.wizyta-online-strona .status-wczesny-start {
    display: none;
    margin: 0 0 1rem 0;
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    border: 1px solid #d6eaf8;
    background: #ebf5fb;
    color: #1f618d;
    font-size: 0.9rem;
    font-weight: 600;
}

.wizyta-online-strona .status-wczesny-start.sukces {
    border-color: #c3e6cb;
    background: #eafaf1;
    color: #1e8449;
}

.wizyta-online-strona .status-wczesny-start.blad {
    border-color: #f5c6cb;
    background: #fdedec;
    color: #943126;
}

.wizyta-online-strona .status-wczesny-start.is-visible { display: block; }

.wizyta-online-strona .toast-wrap-wizyta {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    pointer-events: none;
}

.wizyta-online-strona .toast-item-wizyta {
    min-width: 260px;
    max-width: 420px;
    color: #fff;
    border-radius: 10px;
    padding: 0.8rem 1rem;
    box-shadow: 0 10px 24px rgba(0,0,0,0.2);
    font-weight: 600;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.wizyta-online-strona .toast-item-wizyta.toast-sukces { background: #2ecc71; }
.wizyta-online-strona .toast-item-wizyta.toast-blad { background: #e74c3c; }

.wizyta-online-strona .modal-potwierdzenia-overlay,
.wizyta-online-strona .modal-zakonczenie-wizyty-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.wizyta-online-strona .modal-potwierdzenia-overlay {
    background: rgba(44, 62, 80, 0.45);
    z-index: 100000;
}

.wizyta-online-strona .modal-zakonczenie-wizyty-overlay {
    background: rgba(44, 62, 80, 0.6);
    z-index: 100001;
}

.wizyta-online-strona .modal-potwierdzenia-overlay.is-open,
.wizyta-online-strona .modal-zakonczenie-wizyty-overlay.is-open {
    display: flex;
}

.wizyta-online-strona .modal-potwierdzenia {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    border: 1px solid #e5e9ee;
}

.wizyta-online-strona .modal-potwierdzenia-head {
    padding: 0.85rem 1rem;
    background: #f8f9fa;
    border-bottom: 1px solid #ecf0f1;
    font-weight: 700;
    color: #2c3e50;
}

.wizyta-online-strona .modal-potwierdzenia-body {
    padding: 1rem;
    color: #2c3e50;
    line-height: 1.5;
}

.wizyta-online-strona .modal-potwierdzenia-actions {
    padding: 0.9rem 1rem 1rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
}

.wizyta-online-strona .modal-zakonczenie-wizyty {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
    border: 1px solid #e5e9ee;
    padding: 1.15rem 1.25rem;
    text-align: center;
}

.wizyta-online-strona .modal-zakonczenie-wizyty h3 {
    margin: 0;
    color: #2c3e50;
    font-size: 1.2rem;
}

.wizyta-online-strona .modal-zakonczenie-wizyty p {
    margin: 0.65rem 0 0 0;
    color: #7f8c8d;
}

.wizyta-online-strona .modal-zakonczenie-actions {
    margin-top: 1rem;
}

.wizyta-online-strona .uczestnik-online-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0.35rem 0.45rem 0 0;
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #dfe6e9;
    font-size: 0.85rem;
}

.wizyta-online-strona .uczestnik-online-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2ecc71;
    display: inline-block;
}

.wizyta-online-strona .rejoin-panel {
    display: none;
    margin-top: 0.8rem;
    padding: 1rem;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 12px;
    color: #5d4037;
}

.wizyta-online-strona .rejoin-panel.is-visible {
    display: block;
}

.wizyta-online-strona .rejoin-row {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 0.55rem;
}

.wizyta-online-strona .rejoin-input {
    flex: 1;
    min-width: 260px;
    padding: 0.55rem 0.65rem;
    border: 1px solid #d7ccc8;
    border-radius: 8px;
    background: #fff;
    color: #2c3e50;
    font-size: 0.9rem;
}

.wizyta-online-strona .poczekalnia-panel,
.wizyta-online-strona .quality-check-panel {
    margin: 0 0 1rem 0;
    padding: 1rem 1.25rem;
    background: #f8f9fa;
    border: 1px solid #e0e6ed;
    border-radius: 14px;
}

.wizyta-online-strona .poczekalnia-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    margin-top: 0.75rem;
}

.wizyta-online-strona .poczekalnia-grid > div {
    display: flex;
    flex-direction: column;
}

.wizyta-online-strona .poczekalnia-grid label {
    font-size: 0.85rem;
    color: #34495e;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.wizyta-online-strona .poczekalnia-grid textarea {
    width: 100%;
    min-height: 85px;
    padding: 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
    resize: vertical;
    font-size: 0.92rem;
    font-family: 'Montserrat', sans-serif;
}

.wizyta-online-strona .poczekalnia-grid .poczekalnia-full {
    grid-column: 1 / -1;
}

.wizyta-online-strona .poczekalnia-meta {
    margin-top: 0.6rem;
    font-size: 0.82rem;
    color: #7f8c8d;
}

.wizyta-online-strona .poczekalnia-meta.is-error {
    color: #e74c3c;
}

.wizyta-online-strona .poczekalnia-zegarek {
    display: inline-block;
    margin-top: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 999px;
    background: #ecf5ff;
    color: #2c3e50;
    font-size: 0.85rem;
    font-weight: 600;
}

.wizyta-online-strona .poczekalnia-zapisz {
    margin-top: 0.8rem;
    padding: 0.65rem 1rem;
    border: none;
    border-radius: 10px;
    background: #2ecc71;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
}

.wizyta-online-strona .poczekalnia-zapisz:disabled {
    opacity: 0.7;
    cursor: wait;
}

.wizyta-online-strona .poczekalnia-pole {
    margin: 0.35rem 0 0;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #e8ecef;
    font-size: 0.85rem;
    color: #2c3e50;
    white-space: pre-wrap;
    word-break: break-word;
}

.wizyta-online-strona .quality-check-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 1rem;
    align-items: start;
    margin-top: 0.8rem;
}

.wizyta-online-strona .quality-check-preview-wrap {
    background: #0f1720;
    border-radius: 12px;
    overflow: hidden;
    min-height: 190px;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.wizyta-online-strona .quality-check-preview-wrap video {
    width: 100%;
    height: 190px;
    object-fit: cover;
    display: block;
    background: #0b1118;
}

.wizyta-online-strona .quality-check-status-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
}

.wizyta-online-strona .quality-check-status-item {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

.wizyta-online-strona .quality-check-status-label {
    color: #2c3e50;
    font-size: 0.9rem;
    font-weight: 600;
}

.wizyta-online-strona .quality-check-status-value {
    font-size: 0.82rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 0.22rem 0.6rem;
    border: 1px solid #d6eaf8;
    background: #ebf5fb;
    color: #1f618d;
}

.wizyta-online-strona .quality-check-status-value.ok {
    border-color: #c3e6cb;
    background: #eafaf1;
    color: #1e8449;
}

.wizyta-online-strona .quality-check-status-value.warn {
    border-color: #f9e79f;
    background: #fef9e7;
    color: #9a7d0a;
}

.wizyta-online-strona .quality-check-status-value.error {
    border-color: #f5c6cb;
    background: #fdedec;
    color: #943126;
}

.wizyta-online-strona .quality-check-meter-wrap {
    margin-top: 0.35rem;
    background: #f1f3f4;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.wizyta-online-strona .quality-check-meter {
    height: 100%;
    width: var(--qc-meter-width, 0);
    transition: width 0.15s linear;
    background: linear-gradient(90deg, #f39c12 0%, #2ecc71 100%);
}

.wizyta-online-strona .quality-check-actions {
    margin-top: 0.9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.wizyta-online-strona .quality-check-summary {
    margin-top: 0.7rem;
    font-size: 0.84rem;
    color: #7f8c8d;
}

.wizyta-online-strona .quality-check-summary.is-success { color: #1e8449; }
.wizyta-online-strona .quality-check-summary.is-warning { color: #8a6d1f; }
.wizyta-online-strona .quality-check-summary.is-error { color: #943126; }

.wizyta-online-strona .plik-item-actions {
    display: flex;
    gap: 0.35rem;
    align-items: center;
}

.wizyta-online-strona .plik-item-meta {
    font-size: 0.75rem;
    color: #7f8c8d;
    margin: -0.35rem 0 0.4rem 0;
}

.wizyta-online-strona .plik-item--pending {
    opacity: 0.9;
}

.wizyta-online-strona .lista-plikow-empty,
.wizyta-online-strona .online-visit-empty {
    font-size: 0.85rem;
    color: #7f8c8d;
}

.wizyta-online-strona .online-visit-empty {
    white-space: normal;
}

.wizyta-online-strona .online-visit-empty--error {
    color: #c0392b;
}

.wizyta-online-strona .online-visit-stack + .online-visit-stack {
    margin-top: 0.45rem;
}

.wizyta-online-strona .online-visit-hidden {
    display: none !important;
}

.wizyta-online-strona .online-visit-readonly-btn,
.wizyta-online-strona .online-visit-muted-btn {
    opacity: 0.75;
    cursor: not-allowed;
}

.wizyta-online-strona .online-visit-locked-btn {
    opacity: 0.6;
    cursor: not-allowed;
}

.wizyta-online-strona .online-visit-ended {
    background: #f8d7da;
    color: #721c24;
    border-color: #f5c6cb;
}

.wizyta-online-strona .online-visit-ended-state {
    text-align: center;
    padding: 4rem;
}

.wizyta-online-strona .online-visit-ended-copy {
    color: #7f8c8d;
    margin-top: 0.6rem;
}

.wizyta-online-strona .online-visit-ended-link {
    display: inline-block;
    margin-top: 1rem;
}

.wizyta-online-strona .toast-item-wizyta--closing {
    opacity: 0;
    transform: translateY(-6px);
}

.wizyta-online-strona .wizyta-online-file-btn {
    background: #3498db;
    color: #fff;
    border: none;
    padding: 0.25rem 0.5rem;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.wizyta-online-strona .wizyta-online-file-btn--blue {
    background: #3498db;
}

.wizyta-online-strona .wizyta-online-file-btn--green {
    background: #2ecc71;
}

.wizyta-online-strona .wizyta-online-file-btn--danger {
    background: #e74c3c;
}

.wizyta-online-strona .modal.is-open {
    display: block;
}

.rezerwacja-demo-banner {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    padding: 1.5rem;
    border-radius: 15px;
    margin-bottom: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.rezerwacja-demo-title {
    margin-bottom: 0.5rem;
}

.rezerwacja-demo-copy {
    margin: 0;
    opacity: 0.95;
}

.rezerwacja-doctor-card,
.rezerwacja-card {
    background: #fff;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.rezerwacja-doctor-card {
    margin-bottom: 2rem;
}

.rezerwacja-doctor-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2rem;
    align-items: center;
}

.rezerwacja-doctor-avatar-wrap {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.rezerwacja-doctor-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rezerwacja-doctor-name {
    margin-bottom: 0.5rem;
    color: #2c3e50;
}

.rezerwacja-doctor-spec {
    color: #7f8c8d;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.rezerwacja-doctor-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.rezerwacja-doctor-star {
    color: #f39c12;
}

.rezerwacja-doctor-opinie {
    color: #7f8c8d;
}

.rezerwacja-doctor-price {
    font-size: 1.2rem;
    font-weight: 700;
    color: #2ecc71;
}

.rezerwacja-doctor-desc {
    color: #7f8c8d;
    line-height: 1.6;
}

.rezerwacja-card-title {
    margin-bottom: 1.5rem;
    color: #2c3e50;
}

.rezerwacja-field {
    margin-bottom: 1.5rem;
}

.rezerwacja-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #2c3e50;
}

.rezerwacja-select {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 1rem;
}

.rezerwacja-days-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.rezerwacja-days-btn {
    padding: 0.6rem 1.2rem;
    background: #ecf0f1;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
}

.rezerwacja-days-info {
    font-weight: 600;
    color: #7f8c8d;
}

.rezerwacja-days-empty {
    padding: 0.6rem 1.2rem;
    background: #f8d7da;
    color: #721c24;
    border-radius: 10px;
    font-weight: 700;
    border: 1px solid #f5c6cb;
}

.rezerwacja-days-container {
    display: grid;
    gap: 1.5rem;
}

.rezerwacja-day-card {
    border: 2px solid #ecf0f1;
    border-radius: 15px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.rezerwacja-day-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.rezerwacja-day-title {
    color: #2c3e50;
    margin-bottom: 0.25rem;
}

.rezerwacja-day-date {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.rezerwacja-slots-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 0.75rem;
}

.rezerwacja-back-wrap {
    margin-top: 2rem;
    text-align: center;
}

.rezerwacja-back-link {
    display: inline-block;
    padding: 1rem 2rem;
    background: #95a5a6;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 600;
}

.rezerwacja-hidden {
    display: none !important;
}

.rezerwacja-alert {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 10px;
    border: 1px solid #d6eaf8;
    background: #eef6ff;
    color: #2c3e50;
}

.rezerwacja-alert--success {
    border-color: #c3e6cb;
    background: #d4edda;
    color: #155724;
}

.rezerwacja-alert--error {
    border-color: #f5c6cb;
    background: #f8d7da;
    color: #721c24;
}

.rezerwacja-alert--warning {
    border-color: #ffe8a1;
    background: #fff8e1;
    color: #856404;
}

.rezerwacja-alert--violet {
    border-color: #d6b3ff;
    background: #f5e9ff;
    color: #5e3370;
}

.rezerwacja-alert--info {
    border-color: #bcdffb;
    background: #eef6ff;
    color: #1f4f7a;
}

.rezerwacja-alert--spaced {
    margin-bottom: 1.2rem;
}

.rezerwacja-alert--compact {
    margin-bottom: 0.4rem;
}

.rezerwacja-alert-title {
    font-weight: 700;
    margin-bottom: 0.45rem;
}

.rezerwacja-alert-item {
    margin-bottom: 0.35rem;
}

.rezerwacja-alert-note {
    margin-top: 0.35rem;
    font-size: 0.85rem;
    opacity: 0.9;
}

.rezerwacja-help {
    margin-top: 0.5rem;
    font-size: 0.85rem;
}

.rezerwacja-help--violet {
    color: #5e3370;
}

.rezerwacja-help--warning {
    color: #856404;
}

.rezerwacja-help--info {
    color: #1f618d;
}

.rezerwacja-services-list {
    display: grid;
    gap: 0.55rem;
}

.rezerwacja-service-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.8rem;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 9px;
    cursor: pointer;
}

.rezerwacja-service-copy {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.rezerwacja-service-price {
    font-weight: 600;
    color: #8e44ad;
}

.rezerwacja-services-summary {
    margin-top: 0.6rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.rezerwacja-summary-box {
    margin-bottom: 1rem;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    border: 1px solid #d6eaf8;
    background: #eef6ff;
    color: #2c3e50;
}

.rezerwacja-summary-meta {
    margin-left: 0.7rem;
}

.rezerwacja-slot-btn {
    width: 100%;
    padding: 0.75rem;
    border-radius: 10px;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 2px solid #2ecc71;
    background: #fff;
    color: #2c3e50;
    cursor: pointer;
    opacity: 1;
}

.rezerwacja-slot-btn--occupied {
    border-color: #e74c3c;
    background: #f8d7da;
    color: #721c24;
    cursor: not-allowed;
    opacity: 0.5;
}

.rezerwacja-slot-small {
    font-size: 0.7rem;
}

.rezerwacja-slot-note {
    margin-top: 0.35rem;
    text-align: center;
    font-weight: 600;
}

.rezerwacja-slot-note--strong {
    font-size: 0.75rem;
    color: #2c3e50;
}

.rezerwacja-slot-note--muted {
    font-size: 0.74rem;
    color: #7f8c8d;
}

.rezerwacja-slot-queue-form {
    margin-top: 0.35rem;
}

.rezerwacja-slot-queue-btn {
    width: 100%;
    border: none;
    border-radius: 8px;
    padding: 0.4rem 0.45rem;
    background: #3498db;
    color: #fff;
    font-size: 0.75rem;
    cursor: pointer;
    font-weight: 600;
}

#modal-godziny {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
}

#modal-godziny.active {
    display: flex;
}

#modal-godziny .modal-content {
    background: #fff;
    padding: 2rem;
    border-radius: 12px;
    width: 420px;
    max-width: 95%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    position: relative;
    z-index: 1000000;
}

#modal-godziny input[type="time"] {
    padding: 6px;
}

#modal-potwierdzenie-grafiku {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 1000001;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

#modal-potwierdzenie-grafiku.active {
    display: flex;
}

#modal-potwierdzenie-grafiku .modal-content {
    background: #fff;
    width: 100%;
    max-width: 460px;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.28);
    overflow: hidden;
    border: 1px solid #ecf0f1;
}

#modal-potwierdzenie-grafiku .modal-head {
    padding: 0.9rem 1rem;
    background: #f8f9fa;
    border-bottom: 1px solid #edf1f4;
    color: #2c3e50;
    font-weight: 700;
}

#modal-potwierdzenie-grafiku .modal-body {
    padding: 1rem;
    color: #2c3e50;
    line-height: 1.45;
}

#modal-potwierdzenie-grafiku .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    padding: 0.9rem 1rem 1rem;
}

body.grafik-modal-open {
    overflow: hidden;
}

.fc {
    z-index: 1 !important;
}

.fc .fc-day-past {
    background: #f1f4f7 !important;
}

.fc .fc-day-past .fc-daygrid-day-number {
    color: #8a96a3 !important;
}

.fc .fc-event-past {
    opacity: 0.62 !important;
    filter: grayscale(35%);
}

.fc .pm-grafik-day-past {
    cursor: default;
}

#sekcja-odblokowanie {
    margin-top: 1.5rem;
    background: #fff;
    border-radius: 15px;
    padding: 1.2rem 1.25rem;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.odblokowanie-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
}

.odblokowanie-table-wrap {
    overflow-x: auto;
}

.odblokowanie-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 740px;
}

.odblokowanie-table th,
.odblokowanie-table td {
    text-align: left;
    padding: 0.6rem 0.7rem;
    border-bottom: 1px solid #edf1f4;
    font-size: 0.92rem;
}

.odblokowanie-pusta {
    padding: 0.8rem 0.5rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.odblokuj-btn {
    border: none;
    background: #f39c12;
    color: #fff;
    padding: 0.45rem 0.75rem;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
}

.odblokuj-btn--done {
    background: #95a5a6;
}

.odblokuj-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

#grafik-toast {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 1000002;
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    display: none;
}

#grafik-toast.active {
    display: block;
}

#grafik-toast.success { background: #27ae60; }
#grafik-toast.error { background: #e74c3c; }
#grafik-toast.info { background: #3498db; }

.grafik-zakres-box,
.grafik-calendar-shell {
    position: relative;
    background:
        radial-gradient(circle at top right, rgba(19, 115, 143, 0.12), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
    border: 1px solid #dce7ee;
    border-radius: 24px;
    box-shadow: 0 22px 50px rgba(16, 43, 67, 0.10);
}

.grafik-zakres-box {
    padding: 1.45rem;
    margin-bottom: 1.6rem;
    overflow: hidden;
}

.grafik-calendar-shell {
    padding: 1.4rem;
}

.grafik-header-row,
.grafik-actions-row {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.grafik-header-row {
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

.grafik-section-title {
    margin: 0;
    color: #17324d;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.grafik-section-title i,
.grafik-inline-title i {
    color: #13738f;
}

.grafik-section-copy {
    margin: 0.45rem 0 0 0;
    color: #61758a;
    font-size: 0.95rem;
    line-height: 1.55;
    max-width: 62ch;
}

.grafik-subtitle,
.grafik-inline-title {
    font-weight: 800;
    color: #17324d;
}

.grafik-subtitle {
    margin: 1.15rem 0 0.65rem;
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5b7287;
}

.grafik-inline-title {
    margin-bottom: 0.25rem;
    font-size: 1rem;
}

.grafik-inline-copy {
    color: #61758a;
    font-size: 0.92rem;
    line-height: 1.55;
}

.grafik-zakres-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.grafik-zakres-grid--spaced {
    margin-bottom: 1rem;
}

.grafik-zakres-grid--end {
    align-items: end;
}

.grafik-zakres-grid > div {
    padding: 1rem;
    border: 1px solid #e2ebf1;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.grafik-zakres-grid label,
.grafik-zakres-dni label {
    display: block;
    font-weight: 700;
    color: #243b53;
    margin-bottom: 0.45rem;
    font-size: 0.92rem;
}

.grafik-zakres-grid input[type="date"],
.grafik-zakres-grid input[type="time"],
.grafik-field {
    width: 100%;
    min-height: 46px;
    padding: 0.75rem 0.9rem;
    border: 1px solid #cad9e4;
    border-radius: 14px;
    background: #ffffff;
    color: #17324d;
    font-weight: 600;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.grafik-zakres-grid input[type="date"]:focus,
.grafik-zakres-grid input[type="time"]:focus,
.grafik-field:focus {
    outline: none;
    border-color: #1490ad;
    box-shadow: 0 0 0 4px rgba(20, 144, 173, 0.12);
}

.grafik-zakres-dni {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 1rem;
}

.grafik-zakres-dni .day-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.95rem;
    border-radius: 999px;
    background: #f4f8fb;
    border: 1px solid #d6e2ea;
    color: #24415b;
    font-weight: 700;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.grafik-zakres-dni .day-pill:hover {
    transform: translateY(-1px);
    border-color: #9fc2d5;
    box-shadow: 0 10px 24px rgba(35, 84, 120, 0.10);
}

.grafik-inline-check {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: #24415b;
    padding: 0.8rem 1rem;
    border-radius: 16px;
    background: rgba(241, 248, 252, 0.92);
    border: 1px solid #d8e5ee;
}

.grafik-inline-check input[type="checkbox"] {
    accent-color: #13738f;
}

.grafik-inline-check--spaced {
    margin-bottom: 1rem;
}

.grafik-zakres-blok,
.grafik-modal-block-row {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
}

.grafik-zakres-blok,
.grafik-modal-block-row {
    padding: 0.8rem 0.85rem;
    border: 1px solid #dfebf2;
    border-radius: 16px;
    background: #ffffff;
}

.grafik-zakres-blok input[type="time"],
.grafik-modal-block-row input[type="time"] {
    min-width: 150px;
    flex: 1 1 150px;
    min-height: 44px;
    padding: 0.72rem 0.85rem;
    border: 1px solid #cad9e4;
    border-radius: 12px;
    background: #fbfdff;
}

.grafik-szybkie-akcje,
.grafik-presety {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 1rem;
}

.grafik-kopiowanie-box,
.grafik-wyjatki-box {
    margin-top: 1.4rem;
    padding: 1.15rem 1.1rem 0;
    border-top: 1px solid rgba(194, 211, 223, 0.85);
}

.grafik-wyjatki-lista {
    margin-top: 1rem;
    border: 1px solid #dfe9f0;
    border-radius: 18px;
    padding: 0.95rem;
    background: linear-gradient(180deg, #f9fcfe 0%, #f3f8fb 100%);
    overflow-x: auto;
}

.grafik-wyjatki-lista table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 760px;
}

.grafik-wyjatki-lista th,
.grafik-wyjatki-lista td {
    text-align: left;
    padding: 0.75rem 0.7rem;
    border-bottom: 1px solid #e5edf3;
    font-size: 0.92rem;
}

.grafik-wyjatki-lista th {
    background: rgba(19, 115, 143, 0.07);
    color: #16324c;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.grafik-btn,
.grafik-modal-btn,
.grafik-confirm-btn,
.grafik-mini-btn {
    border: none;
    cursor: pointer;
    color: #fff;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.grafik-btn:hover,
.grafik-modal-btn:hover,
.grafik-confirm-btn:hover,
.grafik-mini-btn:hover {
    transform: translateY(-1px);
    filter: saturate(1.05);
}

.grafik-btn {
    border-radius: 14px;
    padding: 0.78rem 1.1rem;
    box-shadow: 0 14px 26px rgba(26, 52, 76, 0.14);
}

.grafik-btn i,
.grafik-modal-btn i,
.grafik-confirm-btn i {
    margin-right: 0.25rem;
}

.grafik-modal-btn {
    border-radius: 12px;
    padding: 0.8rem 1.3rem;
}

.grafik-modal-btn--blue,
.grafik-btn--blue {
    background: #3498db;
}

.grafik-modal-btn--red {
    background: #e74c3c;
}

.grafik-modal-btn--green,
.grafik-btn--green {
    background: #2ecc71;
}

.grafik-modal-btn--offset {
    margin-left: 10px;
}

.grafik-confirm-btn {
    border-radius: 8px;
    padding: 0.5rem 0.8rem;
    font-weight: 700;
}

.grafik-confirm-btn--light {
    background: #ecf0f1;
    color: #2c3e50;
    font-weight: 600;
}

.grafik-confirm-btn--amber,
.grafik-btn--amber {
    background: #f39c12;
}

.grafik-btn--light {
    background: linear-gradient(180deg, #f6fafc 0%, #e7eff4 100%);
    color: #23425b;
    border: 1px solid #d4e0e7;
    box-shadow: none;
}

.grafik-btn--purple { background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%); }
.grafik-btn--teal { background: linear-gradient(135deg, #14b8a6 0%, #0f766e 100%); }
.grafik-btn--violet { background: linear-gradient(135deg, #9333ea 0%, #6d28d9 100%); }
.grafik-btn--navy { background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); }
.grafik-btn--sea { background: linear-gradient(135deg, #0f766e 0%, #115e59 100%); }
.grafik-btn--orange { background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%); }
.grafik-btn--slate { background: linear-gradient(135deg, #475569 0%, #334155 100%); }
.grafik-btn--gray { background: linear-gradient(135deg, #94a3b8 0%, #64748b 100%); }
.grafik-btn--burnt { background: linear-gradient(135deg, #f97316 0%, #c2410c 100%); }

.grafik-mini-btn {
    border-radius: 10px;
    padding: 0.52rem 0.8rem;
    box-shadow: 0 10px 18px rgba(23, 50, 77, 0.14);
}

.grafik-mini-btn--red {
    background: #e74c3c;
}

.grafik-mini-btn--padded {
    padding: 0.55rem 0.8rem;
}

.grafik-modal-actions {
    margin-top: 1.5rem;
    text-align: right;
}

.grafik-calendar-shell .fc {
    --fc-border-color: #dbe6ed;
    --fc-page-bg-color: transparent;
    --fc-neutral-bg-color: #f5f9fc;
    --fc-event-border-color: transparent;
    --fc-today-bg-color: rgba(19, 115, 143, 0.08);
}

.grafik-calendar-shell .fc .fc-toolbar.fc-header-toolbar {
    margin-bottom: 1.15rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e1ebf1;
}

.grafik-calendar-shell .fc .fc-toolbar-title {
    color: #17324d;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.grafik-calendar-shell .fc .fc-button {
    border-radius: 12px;
    border: 1px solid #d2dee7;
    background: linear-gradient(180deg, #ffffff 0%, #edf4f8 100%);
    color: #24415b;
    font-weight: 700;
    box-shadow: none;
}

.grafik-calendar-shell .fc .fc-button:hover,
.grafik-calendar-shell .fc .fc-button:focus {
    background: linear-gradient(180deg, #ffffff 0%, #e3eef5 100%);
    color: #17324d;
    box-shadow: 0 0 0 4px rgba(20, 144, 173, 0.10);
}

.grafik-calendar-shell .fc .fc-button-primary:not(:disabled).fc-button-active,
.grafik-calendar-shell .fc .fc-button-primary:not(:disabled):active {
    background: linear-gradient(135deg, #13738f 0%, #0f5f78 100%);
    border-color: #0f5f78;
    color: #ffffff;
}

.grafik-calendar-shell .fc-theme-standard td,
.grafik-calendar-shell .fc-theme-standard th {
    border-color: #dfe8ee;
}

.grafik-calendar-shell .fc .fc-col-header-cell {
    background: #f5f9fc;
    color: #4a6176;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.grafik-calendar-shell .fc .fc-daygrid-day {
    background: rgba(255, 255, 255, 0.65);
}

.grafik-calendar-shell .fc .fc-daygrid-day-number {
    color: #17324d;
    font-weight: 700;
    padding: 0.65rem;
}

.grafik-calendar-shell .fc .fc-day-today .fc-daygrid-day-frame {
    background: linear-gradient(180deg, rgba(19, 115, 143, 0.06) 0%, rgba(19, 115, 143, 0.01) 100%);
}

.grafik-calendar-shell .fc .fc-event {
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(46, 204, 113, 0.18);
    padding: 0.18rem 0.3rem;
}

.grafik-calendar-shell .fc .fc-event-title {
    font-weight: 700;
}

@media (max-width: 900px) {
    .grafik-zakres-box {
        padding: 1rem;
        border-radius: 20px;
    }

    .grafik-calendar-shell {
        padding: 1rem;
        border-radius: 20px;
    }

    .grafik-zakres-grid {
        grid-template-columns: 1fr;
    }

    .grafik-zakres-grid > div {
        padding: 0.9rem;
    }

    .grafik-btn,
    .grafik-modal-btn {
        width: 100%;
        justify-content: center;
    }

    .grafik-actions-row {
        flex-direction: column;
    }

    .grafik-calendar-shell .fc .fc-toolbar {
        gap: 0.75rem;
    }
}

.przycisk-godzina:not(:disabled):hover {
    background: #2ecc71 !important;
    color: white !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(46, 204, 113, 0.3);
}

.przycisk-godzina.wybrany {
    background: #2ecc71 !important;
    color: white !important;
    border-color: #27ae60 !important;
}

.przycisk-godzina.niewystarczajacy-czas {
    background: #f1f2f6 !important;
    color: #7f8c8d !important;
    border-color: #dfe6e9 !important;
    cursor: not-allowed !important;
    opacity: 0.65 !important;
}

@media (max-width: 1200px) {
    .wizyta-online-strona .wizyta-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr auto;
    }

    .wizyta-online-strona .panel-narzedzia {
        order: 3;
    }

    .wizyta-online-strona .panel-wideo {
        order: 1;
        height: 400px;
    }

    .wizyta-online-strona .panel-czat {
        order: 2;
        height: 300px;
    }

    .wizyta-online-strona .poczekalnia-grid,
    .wizyta-online-strona .quality-check-grid,
    .wizyta-online-hero {
        grid-template-columns: 1fr;
    }
}
.payment-message--visible { display:block; }
.payment-message--success { background:#d4edda; color:#155724; border:1px solid #c3e6cb; }
.payment-message--error { background:#f8d7da; color:#721c24; border:1px solid #f5c6cb; }
.payment-message--warning { background:#fff3cd; color:#856404; border:1px solid #ffe69c; }
.payment-wallet-box { margin-bottom:1.2rem; padding:0.95rem 1rem; border-radius:10px; background:#eef6ff; border:1px solid #d6eaf8; color:#2c3e50; }
.payment-wallet-head, .payment-saved-head { display:flex; justify-content:space-between; gap:0.8rem; flex-wrap:wrap; align-items:center; }
.payment-saved-head { align-items:flex-start; }
.payment-strong, .payment-real-title { font-weight:700; }
.payment-muted { margin-top:0.2rem; font-size:0.9rem; color:#52606d; }
.payment-link-btn { display:inline-block; padding:0.5rem 0.9rem; background:#16a085; color:#fff; text-decoration:none; border-radius:8px; font-weight:600; }
.payment-wallet-note { margin-top:0.55rem; font-size:0.88rem; color:#7f8c8d; }
.payment-saved-box { margin-bottom:1.2rem; padding:1rem; border-radius:10px; background:#fff; border:1px solid #e5e7eb; color:#2c3e50; }
.payment-default-badge { padding:0.45rem 0.7rem; border-radius:999px; background:#eefaf3; color:#1e8449; font-size:0.82rem; font-weight:700; }
.payment-empty-note { margin-top:0.75rem; padding:0.75rem; border-radius:9px; background:#f8f9fa; color:#7f8c8d; }
.payment-saved-list { display:grid; gap:0.65rem; margin-top:0.85rem; }
.payment-method-option { display:flex; align-items:flex-start; gap:0.7rem; padding:0.8rem 0.85rem; border:1px solid #edf2f7; border-radius:10px; background:#fff; cursor:pointer; }
.payment-method-option--default { border-color:#b7e4c7; background:#f2fcf6; }
.payment-method-option-radio { margin-top:0.2rem; }
.payment-radio-copy { display:block; }
.payment-radio-head { display:flex; align-items:center; gap:0.45rem; flex-wrap:wrap; }
.payment-method-badge { display:inline-block; padding:0.14rem 0.5rem; border-radius:999px; background:#eef6ff; color:#1f618d; font-size:0.74rem; font-weight:700; }
.payment-method-badge--default { background:#eafaf1; color:#1e8449; }
.payment-radio-meta { display:block; margin-top:0.2rem; color:#7f8c8d; font-size:0.88rem; }
.payment-default-toggle { display:flex; align-items:center; gap:0.45rem; margin-top:0.8rem; color:#2c3e50; font-size:0.9rem; }
.payment-form-group { margin-bottom: 1.5rem; }
.payment-form-label { display:block; margin-bottom:0.5rem; font-weight:600; color:#2c3e50; }
.payment-form-input--readonly { width:100%; padding:1rem; border:2px solid #ecf0f1; border-radius:10px; font-size:1rem; background:#f8f9fa; }
.payment-form-help { color:#7f8c8d; font-size:0.85rem; }
.payment-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.payment-security-note { background:#fff3cd; border:1px solid #ffc107; border-radius:10px; padding:1rem; margin-bottom:1.5rem; }
.payment-security-copy { margin:0; color:#856404; font-size:0.9rem; }
.payment-submit-btn { width:100%; color:#fff; border:none; border-radius:10px; font-weight:700; cursor:pointer; }
.payment-submit-btn--primary { padding:1.25rem; background:linear-gradient(135deg, #2ecc71, #27ae60); font-size:1.1rem; transition:all 0.3s ease; box-shadow:0 5px 15px rgba(46,204,113,0.3); }
.payment-submit-btn--wallet { padding:1.25rem; background:linear-gradient(135deg, #16a085, #1abc9c); font-size:1.1rem; }
.payment-submit-btn--mixed { padding:1rem 1.2rem; background:linear-gradient(135deg, #1f7aec, #3498db); font-size:1rem; }
.payment-submit-btn--disabled { padding:1.25rem; background:#bdc3c7; font-size:1.1rem; cursor:not-allowed; }
.payment-submit-btn--spaced { margin-top:0.8rem; }
.payment-real-grid { display:grid; gap:1rem; margin-bottom:1.5rem; }
.payment-real-box { padding:1rem; border:1px solid #dfe6e9; border-radius:10px; background:#f8f9fa; }
.payment-real-title { color:#2c3e50; margin-bottom:0.45rem; }
.payment-real-meta-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:0.6rem; color:#52606d; font-size:0.92rem; }
.payment-gateway-status { border-radius:10px; padding:1rem; }
.payment-gateway-status--ok { background:#eefaf1; border:1px solid #b7ebc6; }
.payment-gateway-status--error { background:#fdf2f2; border:1px solid #f5c6cb; }
.payment-gateway-status-copy { margin:0; font-size:0.92rem; }
.payment-gateway-status--ok .payment-gateway-status-copy { color:#1e8449; }
.payment-gateway-status--error .payment-gateway-status-copy { color:#c0392b; }
.payment-back-wrap { margin-top:1.5rem; text-align:center; }
.payment-back-link { color:#7f8c8d; text-decoration:none; font-size:0.9rem; }
.payment-info-box { background:#f8f9fa; padding:1.5rem; border-radius:15px; border-left:4px solid #3498db; }
.payment-info-title { margin-bottom:1rem; color:#2c3e50; }
.payment-info-list { margin:0; padding-left:1.5rem; color:#7f8c8d; line-height:1.8; }

#jak-dziala.funkcje-sekcja {
    padding: 4rem 2rem;
}

#jak-dziala .funkcje-grid {
    max-width: 1050px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.2rem;
}

#jak-dziala .funkcja-karta {
    padding: 1.25rem;
}

#jak-dziala .ikona {
    width: 62px;
    height: 62px;
    margin: 0 auto 0.9rem;
}

#jak-dziala .funkcja-karta h3 {
    font-size: 1.05rem;
    margin-bottom: 0.45rem;
}

#jak-dziala .funkcja-karta p {
    font-size: 0.92rem;
    line-height: 1.5;
}

.home-page-hero-note {
    margin: 0.75rem 0 0 0;
    color: #7f8c8d;
    font-weight: 600;
}

.home-page-btn-disabled {
    background: #95a5a6;
    opacity: 0.7;
    cursor: not-allowed;
    pointer-events: none;
}

.home-page-btn-disabled--light {
    color: #fff;
    border: none;
}

.home-page-demo-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border: none;
}

.home-page-doctor-cta {
    padding: 4rem 2rem;
    background: linear-gradient(135deg, #3498db, #2980b9);
    text-align: center;
}

.home-page-doctor-cta-inner {
    max-width: 800px;
    margin: 0 auto;
    color: #fff;
}

.home-page-doctor-cta-title {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.home-page-doctor-cta-copy {
    font-size: 1.2rem;
    opacity: 0.95;
    margin-bottom: 2rem;
}

.home-page-doctor-cta-btn {
    display: inline-block;
    padding: 1rem 2.5rem;
    background: #fff;
    color: #3498db;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.1rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

.home-sale-modal-open {
    overflow: hidden;
}

.home-sale-modal {
    position: fixed;
    inset: 0;
    z-index: 1000020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.home-sale-modal[hidden] {
    display: none !important;
}

.home-sale-modal.is-open {
    display: flex;
}

.home-sale-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.54);
    backdrop-filter: blur(4px);
}

.home-sale-modal__dialog {
    position: relative;
    width: min(92vw, 560px);
    padding: 1.5rem 1.5rem 1.35rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(15, 118, 110, 0.16);
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.28);
    overflow: hidden;
}

.home-sale-modal__dialog::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #0f766e 0%, #14b8a6 60%, #99f6e4 100%);
}

.home-sale-modal__close {
    position: absolute;
    top: 0.95rem;
    right: 0.95rem;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 999px;
    background: #eef2f7;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.home-sale-modal__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: #ecfeff;
    color: #0f766e;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.home-sale-modal__title {
    margin: 1rem 0 0.65rem;
    color: #0f172a;
    font-size: clamp(1.55rem, 2.7vw, 2.15rem);
    line-height: 1.12;
}

.home-sale-modal__copy {
    margin: 0;
    color: #475569;
    font-size: 1rem;
    line-height: 1.65;
    max-width: 44ch;
}

.home-sale-modal__actions {
    margin-top: 1.25rem;
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.home-sale-modal__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
    color: #fff;
    padding: 0.85rem 1.35rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(20, 184, 166, 0.22);
    text-decoration: none;
}

.home-sale-modal__button--secondary {
    background: #ecfeff;
    color: #0f766e;
    border: 1px solid rgba(15, 118, 110, 0.2);
    box-shadow: none;
}

@media (max-width: 640px) {
    .home-sale-modal__dialog {
        padding: 1.3rem 1.05rem 1.1rem;
        border-radius: 18px;
    }

    .home-sale-modal__actions {
        justify-content: stretch;
    }

    .home-sale-modal__button {
        width: 100%;
    }
}

.doctor-register-hero {
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    padding: 2rem;
    border-radius: 15px;
    margin-bottom: 2rem;
    text-align: center;
}

.doctor-register-hero-text {
    opacity: 0.95;
    margin: 0.5rem 0 0 0;
}

.doctor-register-card {
    max-width: 800px;
    margin: 0 auto;
    background: white;
    padding: 3rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.doctor-register-message {
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 2rem;
}

.doctor-register-message--hidden { display: none; }
.doctor-register-message--success { background: #d4edda; color: #155724; }
.doctor-register-message--error { background: #f8d7da; color: #721c24; }

.doctor-register-section-title {
    margin-bottom: 1.5rem;
    color: #2c3e50;
}

.doctor-register-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.doctor-register-section-block { margin-bottom: 2rem; }

.doctor-register-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #2c3e50;
}

.doctor-register-input {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 1rem;
}

.doctor-register-textarea { resize: vertical; }
.doctor-register-help { color: #7f8c8d; }

.doctor-register-warning {
    background: #fff3cd;
    border: 1px solid #ffc107;
    color: #856404;
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 2rem;
}

.doctor-register-consents {
    display: grid;
    gap: 0.8rem;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 1rem 1.1rem;
}

.doctor-register-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    cursor: pointer;
    line-height: 1.45;
}

.doctor-register-checkbox {
    width: 20px;
    height: 20px;
    margin-top: 0.1rem;
}

.doctor-register-link { color: #3498db; }
.doctor-register-link--strong { font-weight: 600; }

.doctor-register-submit {
    width: 100%;
    padding: 1rem;
    background: linear-gradient(135deg, #3498db, #2980b9);
    color: white;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1.1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.doctor-register-login {
    text-align: center;
    margin-top: 2rem;
    color: #7f8c8d;
}

.doctors-page { padding: 2rem; }

.doctors-hero {
    text-align: center;
    margin-bottom: 3rem;
    padding: 3rem 2rem;
    background: linear-gradient(135deg, #2ecc71, #27ae60);
    border-radius: 15px;
    color: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.doctors-hero-title {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.doctors-hero-lead {
    font-size: 1.2rem;
    opacity: 0.95;
    margin-bottom: 0.5rem;
}

.doctors-hero-copy { opacity: 0.9; }

.doctors-filter-card {
    background: white;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    margin-bottom: 3rem;
}

.doctors-filter-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.doctors-filter-icon {
    font-size: 1.5rem;
    color: #2ecc71;
}

.doctors-filter-title {
    margin: 0;
    color: #2c3e50;
}

.doctors-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.doctors-filter-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #2c3e50;
}

.doctors-filter-input {
    width: 100%;
    padding: 0.8rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.doctors-filter-input:focus {
    border-color: #2ecc71;
    outline: none;
    box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.1);
}

.doctors-filter-actions {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

.doctors-reset-btn {
    padding: 0.6rem 1.5rem;
    background: #95a5a6;
    color: white;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
}

.doctors-results-counter {
    padding: 0.6rem 1.5rem;
    background: #ecf0f1;
    border-radius: 10px;
    font-weight: 600;
    color: #2c3e50;
}

.doctors-hidden { display: none !important; }

.doctors-loader {
    text-align: center;
    padding: 3rem;
}

.doctors-loader-icon {
    font-size: 3rem;
    color: #2ecc71;
}

.doctors-loader-text {
    margin-top: 1rem;
    color: #7f8c8d;
}

.doctors-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
}

.doctors-list .lekarz-karta {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 1.2rem;
    align-items: start;
    padding: 1.25rem;
    border-radius: 18px;
    border: 1px solid #e7eef6;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
    box-shadow: 0 14px 30px rgba(44, 62, 80, 0.08);
}

.doctors-list .lekarz-karta.lekarz-karta-zablokowana {
    opacity: 0.72;
    filter: grayscale(0.12);
    box-shadow: none;
    border: 2px solid #ecf0f1;
}

.doctors-list .lekarz-zdjecie {
    width: 108px;
    height: 108px;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(135deg, #edf5fb, #dbeaf7);
    box-shadow: inset 0 0 0 1px rgba(52, 152, 219, 0.12);
}

.doctors-list .lekarz-zdjecie img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.doctors-list .lekarz-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.doctors-list .lekarz-info h3 {
    margin: 0;
    color: #1f2d3d;
    font-size: 1.15rem;
    line-height: 1.3;
}

.doctors-list .lekarz-info .specjalizacja {
    margin: 0;
    color: #3498db;
    font-weight: 700;
    font-size: 0.98rem;
}

.doctors-list .lekarz-info .ocena {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    color: #f39c12;
    font-size: 0.95rem;
}

.doctors-list .lekarz-info .ocena span {
    color: #5d6d7e;
}

.doctors-list .lekarz-info .cena {
    margin: 0.2rem 0 0;
    color: #1f2d3d;
    font-weight: 800;
    font-size: 1.05rem;
}

.doctors-list .lekarz-info .opis {
    margin: 0;
    color: #6b7c93;
    line-height: 1.55;
}

.doctors-list .opinie-trigger {
    cursor: pointer;
    text-decoration: underline dotted;
}

.doctors-list .przycisk-glowny[disabled] {
    background: #95a5a6;
    cursor: not-allowed;
}

.doctors-book-btn {
    margin-top: 0.35rem;
    align-self: flex-start;
}

.doctors-book-btn--disabled {
    opacity: 0.85;
}

.doctors-book-btn--login {
    opacity: 0.7;
}

@media (max-width: 720px) {
    .doctors-list .lekarz-karta {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .doctors-list .lekarz-zdjecie {
        width: 88px;
        height: 88px;
    }
}

.doctors-empty {
    text-align: center;
    padding: 4rem;
    background: white;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.doctors-empty-icon {
    font-size: 4rem;
    color: #95a5a6;
    margin-bottom: 1rem;
}

.doctors-empty-title {
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.doctors-empty-text { color: #7f8c8d; }

.doctor-reviews-popover {
    display: none;
    position: fixed;
    inset: auto 50% 2rem auto;
    transform: translateX(50%);
    z-index: 2100;
    width: min(420px, 92vw);
    background: white;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
}

.doctor-reviews-popover--open { display: block; }

.doctor-reviews-popover-head {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #ecf0f1;
    font-weight: 600;
    color: #2c3e50;
}

.doctor-reviews-popover-body {
    padding: 0.8rem 1rem;
    max-height: 320px;
    overflow-y: auto;
    color: #2c3e50;
}

.doctor-reviews-popover-text { margin: 0; }
.doctor-reviews-popover-text--muted { color: #7f8c8d; }
.doctor-reviews-popover-text--error { color: #e74c3c; }

.doctor-reviews-inline-text {
    margin: 0;
}

.doctor-reviews-inline-text--muted {
    color: #7f8c8d;
}

.doctor-reviews-inline-text--error {
    color: #e74c3c;
}

.doctor-reviews-summary {
    margin-bottom: 0.85rem;
    padding: 0.7rem 0.8rem;
    border-radius: 10px;
    border: 1px solid #d6eaf8;
    background: #f4f9ff;
}

.doctor-reviews-summary__title {
    font-weight: 700;
    color: #1f618d;
    margin-bottom: 0.35rem;
}

.doctor-reviews-summary__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 0.6rem;
    font-size: 0.86rem;
    color: #2c3e50;
}

.doctor-reviews-summary__item {
    min-width: 0;
}

.doctor-reviews-entry-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 0.35rem;
}

.doctor-reviews-entry-stars {
    color: #f39c12;
    font-weight: 700;
}

.doctor-reviews-entry-date {
    font-size: 0.85rem;
    color: #7f8c8d;
    margin-bottom: 0.35rem;
}

.doctor-reviews-entry-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.45rem;
    font-size: 0.78rem;
}

.doctor-reviews-entry-chip {
    padding: 0.16rem 0.48rem;
    border-radius: 999px;
    background: #ecf0f1;
    color: #2c3e50;
}

.doctor-reviews-entry-comment {
    line-height: 1.5;
    color: #2c3e50;
}

.doctor-reviews-entry-comment--empty {
    color: #95a5a6;
}

.bootstrap-utility-page {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 100vh;
    margin: 0;
    padding: 20px;
}

.bootstrap-utility-page__shell {
    width: min(100%, 760px);
    margin: 2rem auto;
}

.bootstrap-utility-page__alert {
    padding: 2rem;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.15);
    border-left: 4px solid transparent;
}

.bootstrap-utility-page__alert--warning {
    background: #fff3cd;
    border-left-color: #f39c12;
}

.bootstrap-utility-page__alert--success {
    background: #d4edda;
    border-left-color: #2ecc71;
}

.bootstrap-utility-page__alert--error {
    background: #f8d7da;
    border-left-color: #e74c3c;
}

.bootstrap-utility-page__title {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.bootstrap-utility-page__title--warning {
    color: #856404;
}

.bootstrap-utility-page__title--success {
    color: #155724;
}

.bootstrap-utility-page__title--error {
    color: #721c24;
}

.bootstrap-utility-page__list {
    margin: 0 0 1rem 1.15rem;
    padding: 0;
}

.bootstrap-utility-page__notice {
    background: #fff3cd;
    padding: 1rem;
    border-radius: 8px;
    color: #856404;
}

.bootstrap-utility-page__notice--spaced {
    margin-top: 1rem;
}

.bootstrap-utility-page__link {
    display: inline-block;
    padding: 0.8rem 1.5rem;
    color: #ffffff;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
}

.bootstrap-utility-page__link--success {
    background: #2ecc71;
}

.bootstrap-utility-page__link--teal {
    background: #16a085;
}

.review-form-alert {
    margin-bottom: 1rem;
    padding: 0.75rem 0.9rem;
    border-radius: 10px;
    background: #e74c3c;
    color: #ffffff;
}

.package-payment-layout {
    max-width: 820px;
    margin: 0 auto;
    display: grid;
    gap: 1.5rem;
}

.package-payment-hero {
    color: white;
    padding: 1.2rem 1.4rem;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.package-payment-hero--demo { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.package-payment-hero--real { background: linear-gradient(135deg, #16a085 0%, #1abc9c 100%); }
.package-payment-hero--warning { background: linear-gradient(135deg, #e67e22 0%, #d35400 100%); }

.package-payment-hero-title { margin: 0 0 0.45rem 0; }
.package-payment-hero-text { margin: 0; opacity: 0.95; }

.package-payment-card {
    background: white;
    padding: 1.35rem;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.package-payment-card-title {
    margin: 0 0 1rem 0;
    color: #2c3e50;
}

.package-payment-summary {
    display: grid;
    gap: 0.65rem;
}

.package-payment-total {
    margin-top: 0.4rem;
    font-size: 1.2rem;
    color: #2ecc71;
    font-weight: 700;
}

.package-payment-message {
    padding: 0.9rem 1rem;
    border-radius: 10px;
    margin-bottom: 1rem;
}

.package-payment-message--hidden { display: none; }
.package-payment-message--success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.package-payment-message--error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

.package-payment-wallet-box {
    margin-bottom: 1rem;
    padding: 0.85rem 0.95rem;
    background: #eef6ff;
    border: 1px solid #d6eaf8;
    border-radius: 10px;
    color: #2c3e50;
}

.package-payment-wallet-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.package-payment-wallet-link {
    display: inline-block;
    padding: 0.45rem 0.85rem;
    border-radius: 8px;
    background: #16a085;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.package-payment-wallet-meta {
    margin-top: 0.5rem;
    font-size: 0.88rem;
    color: #52606d;
}

.package-payment-button {
    width: 100%;
    padding: 1rem 1.2rem;
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
}

.package-payment-button + .package-payment-button,
.package-payment-form + .package-payment-button {
    margin-top: 0.7rem;
}

.package-payment-button--primary { background: linear-gradient(135deg, #2ecc71, #27ae60); }
.package-payment-button--wallet { font-size: 1rem; }
.package-payment-button--mixed { font-size: 1rem; background: linear-gradient(135deg, #1f7aec, #3498db); }
.package-payment-button--real,
.package-payment-button--wallet.package-payment-button--enabled { background: linear-gradient(135deg, #16a085, #1abc9c); }
.package-payment-button--enabled { cursor: pointer; }
.package-payment-button--disabled { background: #bdc3c7; cursor: not-allowed; }

.package-payment-form { display: grid; gap: 0.85rem; }

.package-payment-operator-box {
    padding: 0.9rem;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
    background: #f8f9fa;
    color: #2c3e50;
}

.package-payment-operator-title {
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.package-payment-operator-meta {
    font-size: 0.9rem;
    color: #52606d;
}

.package-payment-back {
    margin-top: 1rem;
    text-align: center;
}

.package-payment-back-link {
    color: #7f8c8d;
    text-decoration: none;
}

.wallet-topup-layout {
    max-width: 760px;
    margin: 0 auto;
    display: grid;
    gap: 1.25rem;
}

.wallet-topup-balance-card {
    background: linear-gradient(135deg, #16a085, #1abc9c);
    color: #fff;
    border-radius: 14px;
    padding: 1.2rem 1.4rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.wallet-topup-balance-label {
    font-size: 0.92rem;
    opacity: 0.9;
}

.wallet-topup-balance-value {
    margin-top: 0.35rem;
    font-size: 2.1rem;
    font-weight: 700;
}

.wallet-topup-balance-copy {
    margin-top: 0.45rem;
    font-size: 0.9rem;
    opacity: 0.95;
}

.wallet-topup-presets-card,
.wallet-topup-payment-card {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 14px;
}

.wallet-topup-presets-card {
    padding: 1.1rem 1.2rem;
}

.wallet-topup-presets-row {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
    align-items: center;
}

.wallet-topup-presets-label {
    color: #7f8c8d;
    font-weight: 600;
}

.wallet-topup-preset-link {
    display: inline-block;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    border: 1px solid #dfe6e9;
    text-decoration: none;
    color: #2c3e50;
    font-weight: 600;
    background: #f8f9fa;
}

.wallet-topup-payment-card {
    padding: 1.4rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.wallet-topup-payment-title {
    margin: 0 0 1rem 0;
    color: #2c3e50;
}

.wallet-topup-message {
    margin-bottom: 1rem;
    padding: 0.85rem 0.95rem;
    border-radius: 10px;
}

.wallet-topup-message--hidden {
    display: none;
}

.wallet-topup-message--success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.wallet-topup-message--error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.wallet-topup-field {
    margin-bottom: 1rem;
}

.wallet-topup-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
    color: #2c3e50;
}

.wallet-topup-input {
    width: 100%;
    padding: 0.8rem 0.9rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
}

.wallet-topup-help {
    display: block;
    margin-top: 0.35rem;
    color: #7f8c8d;
}

.wallet-topup-real-form {
    display: grid;
    gap: 0.75rem;
}

.wallet-topup-submit {
    width: 100%;
    padding: 1rem 1.2rem;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
}

.wallet-topup-submit--primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60);
    cursor: pointer;
}

.wallet-topup-submit--real {
    background: linear-gradient(135deg, #16a085, #1abc9c);
}

.wallet-topup-submit--enabled {
    cursor: pointer;
}

.wallet-topup-submit--disabled {
    background: #bdc3c7;
    cursor: not-allowed;
}

.wallet-topup-back {
    margin-top: 1rem;
    text-align: center;
}

.wallet-topup-back-link {
    color: #7f8c8d;
    text-decoration: none;
}

/* Globalny layout raportow admina */
.admin-tab-panel-padded {
    padding: 2rem;
}

.admin-report-intro,
.admin-automation-intro {
    margin-top: 0.75rem;
    color: #7f8c8d;
}

.admin-report-card {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #ecf0f1;
    border-radius: 15px;
}

.admin-report-head,
.admin-automation-head,
.admin-automation-logs-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-report-title,
.admin-automation-title,
.admin-automation-subtitle {
    margin: 0 0 0.45rem 0;
    color: #2c3e50;
}

.admin-report-copy,
.admin-automation-copy,
.admin-automation-subcopy {
    margin: 0;
    color: #7f8c8d;
}

.admin-report-actions,
.admin-automation-bulk-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    align-items: center;
}

.admin-report-inline-form {
    margin: 0;
    display: inline;
}

.admin-report-action-btn,
.admin-report-filter-btn,
.admin-report-reset-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.55rem 0.9rem;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.admin-report-action-btn--csv {
    padding: 0.7rem 1rem;
    background: #27ae60;
}

.admin-report-action-btn--pdf {
    padding: 0.7rem 1rem;
    background: #34495e;
}

.admin-report-filter-form {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.admin-report-filter-form--no-top {
    margin-top: 0;
}

.admin-report-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.admin-report-field {
    padding: 0.55rem 0.65rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
}

.admin-report-filter-btn {
    background: #3498db;
}

.admin-report-reset-btn {
    background: #95a5a6;
}

.admin-report-summary-grid,
.admin-report-metrics-grid {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.admin-report-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.admin-report-metrics-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.admin-report-summary-card,
.admin-report-metric-card {
    border-radius: 12px;
    padding: 1rem;
    border: 1px solid #ecf0f1;
    background: #fff;
}

.admin-report-summary-card--visits,
.admin-report-metric-card--visits {
    background: #eef6ff;
}

.admin-report-summary-card--packages,
.admin-report-metric-card--packages {
    background: #f3ebff;
}

.admin-report-summary-card--subscriptions {
    background: #fef5e7;
}

.admin-report-summary-card--refunds {
    background: #fdecea;
}

.admin-report-summary-card--platform,
.admin-report-metric-card--neutral {
    background: #eafaf1;
}

.admin-report-summary-label,
.admin-report-metric-label {
    font-size: 0.88rem;
    color: #52606d;
    margin-bottom: 0.35rem;
}

.admin-report-summary-value,
.admin-report-metric-value {
    font-size: 1.3rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-report-summary-value--visits,
.admin-report-table-cell--visits,
.admin-report-metric-value--visits {
    color: #2980b9;
    font-weight: 700;
}

.admin-report-summary-value--packages,
.admin-report-table-cell--packages,
.admin-report-metric-value--packages {
    color: #8e44ad;
    font-weight: 700;
}

.admin-report-summary-value--subscriptions,
.admin-report-table-cell--subscriptions {
    color: #d68910;
    font-weight: 700;
}

.admin-report-summary-value--refunds,
.admin-report-table-cell--refunds {
    color: #c0392b;
    font-weight: 700;
}

.admin-report-summary-value--platform,
.admin-report-table-cell--platform {
    color: #239b56;
    font-weight: 700;
}

.admin-report-metric-note,
.admin-report-subline,
.admin-report-muted {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-report-table-wrap {
    overflow-x: auto;
    margin-top: 1rem;
}

.admin-report-table-wrap--no-margin {
    margin-top: 0;
}

.admin-report-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.admin-report-table-head {
    background: #f8f9fa;
}

.admin-report-table-row {
    border-top: 1px solid #ecf0f1;
}

.admin-report-table-cell {
    padding: 0.85rem;
    text-align: left;
    vertical-align: top;
}

.admin-report-table-cell--strong,
.admin-report-table-cell--semi {
    font-weight: 600;
}

.admin-report-table-cell--mono {
    font-family: Consolas, Monaco, monospace;
}

.admin-report-empty-cell {
    padding: 1.1rem;
    text-align: center;
    color: #7f8c8d;
}

.admin-report-chip,
.admin-report-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff;
}

.admin-report-chip--primary { background: #3498db; }
.admin-report-chip--refund { background: #e67e22; }
.admin-report-chip--package { background: #8e44ad; }
.admin-report-chip--wallet { background: #16a085; }
.admin-report-status-chip { background: #95a5a6; }

.admin-report-amount--positive { color: #239b56; }
.admin-report-amount--negative { color: #c0392b; }

.admin-automation-section {
    margin-top: 1.5rem;
}

.admin-automation-controls {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

.admin-automation-status,
.admin-automation-log-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.38rem 0.75rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
}

.admin-automation-status--on,
.admin-automation-log-status--success {
    background: #eafaf1;
    color: #1e8449;
}

.admin-automation-status--off,
.admin-automation-log-status--error {
    background: #fdecea;
    color: #c0392b;
}

.admin-automation-log-status--warning,
.admin-automation-log-status--pending {
    background: #fef5e7;
    color: #b9770e;
}

.admin-automation-log-status--neutral {
    background: #f4f6f7;
    color: #6c7a89;
}

.admin-automation-toggle-btn,
.admin-automation-retry-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.6rem 0.95rem;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.admin-automation-toggle-btn--on {
    background: #27ae60;
}

.admin-automation-toggle-btn--off {
    background: #c0392b;
}

.admin-automation-retry-btn {
    background: #3498db;
}

.admin-automation-retry-btn--danger {
    background: #e74c3c;
}

.admin-automation-task-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.admin-automation-task-card,
.admin-automation-queue-card,
.admin-automation-logs {
    border-radius: 12px;
    padding: 1rem;
    border: 1px solid #ecf0f1;
    background: #fff;
}

.admin-automation-task-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.admin-automation-task-name {
    font-size: 1rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-automation-task-copy {
    margin-top: 0.3rem;
    color: #7f8c8d;
    line-height: 1.5;
}

.admin-automation-task-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.8rem;
    margin-top: 1rem;
}

.admin-automation-task-meta-card {
    padding: 0.85rem;
    border-radius: 10px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
}

.admin-automation-task-meta-label,
.admin-automation-task-result-label,
.admin-automation-queue-card-label {
    font-size: 0.82rem;
    color: #7f8c8d;
    margin-bottom: 0.25rem;
}

.admin-automation-task-meta-value {
    font-weight: 700;
    color: #2c3e50;
}

.admin-automation-task-meta-value--time,
.admin-automation-task-message-copy {
    font-size: 0.92rem;
}

.admin-automation-task-message {
    margin-top: 1rem;
    padding: 0.9rem;
    border-radius: 10px;
    border: 1px solid #ecf0f1;
    background: #f8f9fa;
}

.admin-automation-task-message.admin-automation-status--on {
    background: #eefaf1;
    border-color: #b7ebc6;
}

.admin-automation-task-message.admin-automation-status--off {
    background: #fdf2f2;
    border-color: #f5c6cb;
}

.admin-automation-task-result {
    margin-top: 1rem;
}

.admin-automation-task-result-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.5rem;
}

.admin-automation-task-result-chip,
.admin-automation-log-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.65rem;
    border-radius: 999px;
    background: #f4f6f7;
    color: #2c3e50;
    font-size: 0.84rem;
}

.admin-automation-log-chip {
    background: #eef2f7;
}

.admin-automation-queue-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.8rem;
    margin-top: 1rem;
}

.admin-automation-queue-card-label {
    margin-bottom: 0.35rem;
}

.admin-automation-queue-card-value {
    font-size: 1.35rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-automation-queue-card--pending {
    background: #fef5e7;
}

.admin-automation-queue-card--pending .admin-automation-queue-card-label {
    color: #b9770e;
}

.admin-automation-queue-card--retry {
    background: #fdebd0;
}

.admin-automation-queue-card--retry .admin-automation-queue-card-label {
    color: #ca6f1e;
}

.admin-automation-queue-card--error {
    background: #fdedec;
}

.admin-automation-queue-card--error .admin-automation-queue-card-label {
    color: #c0392b;
}

.admin-automation-queue-card--sent {
    background: #eafaf1;
}

.admin-automation-queue-card--sent .admin-automation-queue-card-label {
    color: #1e8449;
}

.admin-automation-bulk-note {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-audit-intro,
.admin-audit-copy {
    color: #7f8c8d;
}

.admin-audit-intro {
    margin-top: 0.75rem;
}

.admin-audit-section-title {
    margin: 1.6rem 0 0.45rem 0;
    color: #2c3e50;
}

.admin-audit-section-title--trail {
    margin-top: 2rem;
}

.admin-audit-export-row {
    display: flex;
    gap: 0.7rem;
    flex-wrap: wrap;
    margin: 1rem 0;
}

.admin-audit-inline-form {
    margin: 0;
    display: inline;
}

.admin-audit-export-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.65rem 0.95rem;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.admin-audit-export-btn--csv {
    background: #27ae60;
}

.admin-audit-export-btn--pdf {
    background: #34495e;
}

.admin-audit-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.34rem 0.7rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
}

.admin-audit-status--success { background: #27ae60; }
.admin-audit-status--error { background: #e74c3c; }
.admin-audit-status--warning { background: #f39c12; }
.admin-audit-status--info { background: #3498db; }
.admin-audit-status--neutral { background: #7f8c8d; }

.admin-audit-details-cell {
    max-width: 360px;
    color: #52606d;
    line-height: 1.5;
}

.admin-audit-details-cell--narrow {
    max-width: 320px;
}

.admin-audit-email-note {
    margin-bottom: 0.35rem;
    font-weight: 600;
    color: #2c3e50;
}

.admin-audit-table-gap {
    margin-top: 1.5rem;
}

.admin-audit-chip-row {
    margin-bottom: 0.35rem;
}

.admin-audit-chip-row--top {
    margin-top: 0.4rem;
}

.admin-audit-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.65rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
}

.admin-audit-chip--blue {
    background: #3498db;
}

.admin-audit-chip--green {
    background: #27ae60;
}

.admin-audit-chip--amber {
    background: #f39c12;
}

.admin-audit-record-cell {
    min-width: 340px;
}

.admin-audit-details-summary {
    cursor: pointer;
    color: #2980b9;
    font-weight: 700;
}

.admin-audit-record-grid {
    display: grid;
    gap: 0.7rem;
    margin-top: 0.75rem;
}

.admin-audit-code-block {
    display: block;
    margin-top: 0.25rem;
    padding: 0.75rem;
    border-radius: 10px;
    background: #f8f9fa;
    color: #2c3e50;
    white-space: pre-wrap;
    word-break: break-word;
}

.admin-cms-switches {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.admin-cms-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid #dfe6e9;
}

.admin-cms-switch--active {
    background: #16a085;
    border-color: #16a085;
    color: #fff;
}

.admin-cms-switch--inactive {
    background: #fff;
    color: #2c3e50;
}

.admin-cms-copy {
    margin-top: 1rem;
    color: #7f8c8d;
}

.admin-cms-topbar,
.admin-cms-filter-form {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-cms-topbar {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.admin-cms-select {
    min-width: 280px;
    padding: 0.65rem 0.75rem;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
}

.admin-cms-updated {
    color: #7f8c8d;
    font-size: 0.92rem;
}

.admin-cms-updated-strong {
    color: #2c3e50;
}

.admin-cms-form-card,
.admin-cms-history-card,
.admin-blog-card {
    margin-top: 1rem;
    padding: 1.2rem;
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 16px;
}

.admin-cms-title-row {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}

.admin-cms-type-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.42rem 0.7rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #2980b9;
    font-weight: 700;
    font-size: 0.82rem;
}

.admin-cms-title-input,
.admin-blog-input,
.admin-blog-textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #dfe6e9;
    border-radius: 10px;
}

.admin-cms-title-input {
    flex: 1 1 320px;
}

.admin-cms-editor-shell,
.admin-blog-editor-shell {
    margin-top: 0.9rem;
    border: 1px solid #dfe6e9;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.admin-cms-toolbar,
.admin-blog-toolbar {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    padding: 0.75rem;
    border-bottom: 1px solid #ecf0f1;
    background: #f8f9fa;
}

.admin-cms-tool-btn,
.admin-blog-tool-btn {
    padding: 0.55rem 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 8px;
    background: #fff;
    color: #2c3e50;
    cursor: pointer;
}

.admin-cms-tool-btn--strong,
.admin-blog-tool-btn--strong {
    font-weight: 700;
}

.admin-cms-tool-btn--active,
.admin-blog-tool-btn--active {
    background: #16a085;
    border-color: #16a085;
    color: #fff;
}

.admin-cms-tool-btn--disabled,
.admin-blog-tool-btn--disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.admin-cms-editor,
.admin-blog-editor {
    min-height: 320px;
    padding: 1rem;
    outline: none;
    line-height: 1.65;
}

.admin-cms-html-source,
.admin-blog-html-source {
    width: 100%;
    min-height: 320px;
    padding: 1rem;
    border: 0;
    outline: none;
    resize: vertical;
    font-family: Consolas, Monaco, monospace;
}

.admin-cms-html-source--hidden,
.admin-cms-hidden-field,
.admin-blog-html-source--hidden,
.admin-blog-hidden-field,
.admin-cms-editor--hidden,
.admin-blog-editor--hidden {
    display: none;
}

.admin-cms-footer,
.admin-blog-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.admin-cms-help {
    color: #7f8c8d;
}

.admin-cms-save-btn,
.admin-cms-restore-btn,
.admin-blog-save-btn,
.admin-blog-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.7rem 1rem;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.admin-cms-save-btn,
.admin-blog-save-btn {
    background: #16a085;
}

.admin-cms-restore-btn,
.admin-blog-secondary-btn {
    background: #34495e;
}

.admin-cms-history-title,
.admin-blog-card-title {
    margin: 0 0 0.45rem 0;
    color: #2c3e50;
}

.admin-cms-history-copy {
    margin: 0 0 1rem 0;
    color: #7f8c8d;
}

.admin-cms-history-cell {
    padding: 0.85rem;
}

.admin-cms-history-empty,
.admin-blog-empty {
    padding: 1.1rem;
    border-radius: 12px;
    background: #f8f9fa;
    color: #7f8c8d;
}

.admin-cms-history-preview {
    max-width: 420px;
    color: #52606d;
}

.admin-blog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 1rem;
    margin-top: 1rem;
}

.admin-blog-form {
    display: grid;
    gap: 1rem;
}

.admin-blog-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.admin-blog-textarea {
    resize: vertical;
}

.admin-blog-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.55rem;
    color: #52606d;
}

.admin-blog-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.9rem;
}

.admin-blog-list {
    display: grid;
    gap: 0.9rem;
}

.admin-blog-item {
    padding: 1rem;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    background: #fff;
}

.admin-blog-item-head {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.admin-blog-item-title {
    font-size: 1rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-blog-item-meta {
    margin-top: 0.35rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.admin-blog-author {
    font-weight: 700;
}

.admin-blog-author--helper { color: #3498db; }
.admin-blog-author--accounting { color: #27ae60; }
.admin-blog-author--admin { color: #e74c3c; }

.admin-blog-item-actions {
    display: flex;
    gap: 0.5rem;
}

.admin-blog-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    border: none;
    cursor: pointer;
}

.admin-blog-action-btn--edit { background: #3498db; }
.admin-blog-action-btn--delete { background: #e74c3c; }

@media (max-width: 900px) {
    .admin-blog-layout {
        grid-template-columns: 1fr;
    }
}

.admin-tests-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-tests-title {
    margin: 0;
    color: #2c3e50;
}

.admin-tests-copy {
    margin: 0.45rem 0 0 0;
    color: #7f8c8d;
    max-width: 820px;
}

.admin-tests-run-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.75rem 1rem;
    border: none;
    border-radius: 10px;
    background: #16a085;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.admin-tests-last-run {
    margin-top: 1rem;
    color: #52606d;
}

.admin-tests-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.admin-tests-stat-card {
    padding: 1rem;
    border-radius: 14px;
    border: 1px solid #ecf0f1;
    background: #fff;
}

.admin-tests-stat-card--neutral { background: #f8f9fa; }
.admin-tests-stat-card--ok { background: #eafaf1; }
.admin-tests-stat-card--warning { background: #fef5e7; }
.admin-tests-stat-card--error { background: #fdecea; }

.admin-tests-stat-label {
    color: #7f8c8d;
    font-size: 0.86rem;
}

.admin-tests-stat-value {
    margin-top: 0.35rem;
    font-size: 1.45rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-tests-stat-value--neutral { color: #2c3e50; }
.admin-tests-stat-value--ok { color: #1e8449; }
.admin-tests-stat-value--warning { color: #b9770e; }
.admin-tests-stat-value--error { color: #c0392b; }

.admin-tests-sections {
    display: grid;
    gap: 1rem;
    margin-top: 1.25rem;
}

.admin-tests-section-row {
    margin-top: 0.2rem;
}

.admin-tests-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.admin-tests-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-tests-section-copy {
    margin-top: 0.3rem;
    color: #7f8c8d;
}

.admin-tests-section-count {
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: #f4f6f7;
    color: #52606d;
    font-size: 0.84rem;
    font-weight: 700;
}

.admin-tests-result-card {
    padding: 1rem;
    border-radius: 14px;
    border: 1px solid #ecf0f1;
    background: #fff;
}

.admin-tests-result-card--ok {
    border-color: #b7ebc6;
}

.admin-tests-result-card--warning {
    border-color: #f7dc6f;
}

.admin-tests-result-card--error {
    border-color: #f5b7b1;
}

.admin-tests-result-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.admin-tests-result-title {
    font-weight: 700;
    color: #2c3e50;
}

.admin-tests-result-copy {
    margin-top: 0.25rem;
    color: #7f8c8d;
}

.admin-tests-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.34rem 0.7rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
}

.admin-tests-status--ok {
    background: #eafaf1;
    color: #1e8449;
}

.admin-tests-status--warning {
    background: #fef5e7;
    color: #b9770e;
}

.admin-tests-status--error {
    background: #fdecea;
    color: #c0392b;
}

.admin-tests-alert {
    margin-top: 0.9rem;
    padding: 0.9rem;
    border-radius: 12px;
    border: 1px solid transparent;
}

.admin-tests-alert--ok {
    background: #eefaf1;
    border-color: #b7ebc6;
    color: #1e8449;
}

.admin-tests-alert--warning {
    background: #fff7e6;
    border-color: #f7dc6f;
    color: #b9770e;
}

.admin-tests-alert--error {
    background: #fdecea;
    border-color: #f5b7b1;
    color: #922b21;
}

.admin-tests-alert-label {
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.admin-tests-alert-copy,
.admin-tests-alert-extra {
    line-height: 1.5;
}

.admin-tests-alert-extra {
    margin-top: 0.45rem;
}

.admin-tests-details-box {
    margin-top: 0.9rem;
    padding: 0.95rem;
    border-radius: 12px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
}

.admin-tests-details-row {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.35rem 0;
    flex-wrap: wrap;
}

.admin-tests-details-label {
    color: #7f8c8d;
}

.admin-tests-details-value {
    color: #2c3e50;
}

.admin-tests-empty {
    margin-top: 1rem;
    padding: 1.2rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #ecf0f1;
    color: #7f8c8d;
}

.admin-settings-intro {
    margin-top: 0.75rem;
    color: #7f8c8d;
}

.ustawienia-pro-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    gap: 1rem;
    margin-top: 1rem;
    padding: 1.25rem;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8fffd 0%, #eefaf7 100%);
    border: 1px solid #dff3ec;
}

.ustawienia-pro-title {
    font-size: 1.2rem;
    font-weight: 800;
    color: #2c3e50;
}

.ustawienia-pro-desc {
    margin-top: 0.45rem;
    color: #52606d;
    line-height: 1.6;
}

.ustawienia-pro-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.ustawienia-pro-stat {
    padding: 0.95rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #ecf0f1;
}

.ustawienia-pro-stat span {
    display: block;
    color: #7f8c8d;
    font-size: 0.84rem;
}

.ustawienia-pro-stat strong {
    display: block;
    margin-top: 0.35rem;
    color: #2c3e50;
    font-size: 1.35rem;
}

.ustawienia-pro-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 1rem;
    width: 100%;
}

.ustawienia-pro-nav-btn {
    flex: 1 1 170px;
    min-width: 170px;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid #dfe6e9;
    background: #ffffff;
    color: #2c3e50;
    border-radius: 12px;
    padding: 0.8rem 0.9rem;
    text-align: left;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 8px 18px rgba(44, 62, 80, 0.04);
    white-space: normal;
}

.ustawienia-pro-nav-btn:hover {
    transform: translateY(-1px);
    border-color: #bfc9ca;
    box-shadow: 0 12px 24px rgba(44, 62, 80, 0.08);
}

.ustawienia-pro-nav-btn.active {
    background: #16a085;
    border-color: #16a085;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(22, 160, 133, 0.22);
}

.ustawienia-pro-card {
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #ecf0f1;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(44, 62, 80, 0.04);
    margin-top: 1rem;
}

.ustawienia-pro-subheader {
    padding: 0.95rem 1rem;
    border-radius: 12px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
}

.ustawienia-pro-subheader h3 {
    margin: 0;
    font-size: 1.02rem;
    color: #2c3e50;
}

.ustawienia-pro-subheader p {
    margin: 0.35rem 0 0 0;
    color: #7f8c8d;
    line-height: 1.5;
}

.admin-settings-panel-top {
    margin-top: 1rem;
}

.admin-settings-panel-hidden {
    display: none;
}

.admin-settings-panel-visible {
    display: block;
}

.admin-settings-backup-grid,
.admin-settings-backup-restore-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.admin-settings-backup-card {
    padding: 1rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #ecf0f1;
}

.admin-settings-backup-card-title,
.admin-settings-backup-subtitle {
    font-weight: 700;
    color: #2c3e50;
}

.admin-settings-backup-card-copy {
    margin: 0.45rem 0 0.9rem 0;
    color: #7f8c8d;
    line-height: 1.55;
}

.admin-settings-backup-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-settings-backup-btn,
.admin-settings-backup-mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.7rem 0.95rem;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.admin-settings-backup-btn--full,
.admin-settings-backup-btn--critical,
.admin-settings-backup-btn--restore,
.admin-settings-backup-mini-btn--restore {
    background: #16a085;
}

.admin-settings-backup-btn--cms,
.admin-settings-backup-btn--blog,
.admin-settings-backup-btn--settings,
.admin-settings-backup-mini-btn--download,
.admin-settings-backup-mini-btn--meta {
    background: #3498db;
}

.admin-settings-backup-note {
    margin-top: 0.8rem;
    padding: 0.8rem 0.9rem;
    border-radius: 10px;
    border: 1px solid #ecf0f1;
    background: #f8f9fa;
    color: #52606d;
}

.admin-settings-backup-note--critical {
    background: #eefaf7;
    border-color: #d5efe7;
}

.admin-settings-backup-note--warning {
    background: #fff7e6;
    border-color: #f7dc6f;
}

.admin-settings-file-label {
    display: block;
    margin-bottom: 0.35rem;
    font-weight: 600;
}

.admin-settings-file-input {
    width: 100%;
}

.admin-settings-backup-table-cell {
    padding: 0.85rem;
    vertical-align: top;
}

.admin-settings-backup-table-cell--mono {
    font-family: Consolas, Monaco, monospace;
    word-break: break-word;
}

.admin-settings-backup-empty {
    padding: 1rem;
    text-align: center;
    color: #7f8c8d;
}

.admin-settings-backup-scope-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.32rem 0.65rem;
    border-radius: 999px;
    background: #eef6ff;
    color: #2980b9;
    font-size: 0.82rem;
    font-weight: 700;
}

.admin-settings-backup-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.admin-settings-backup-lock {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #7f8c8d;
    font-size: 0.88rem;
}

.admin-settings-backup-lock-icon {
    color: #95a5a6;
}

.admin-settings-backup-modal-content {
    width: min(760px, 96vw);
}

.admin-settings-backup-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.8rem;
}

.admin-settings-backup-modal-title {
    margin: 0;
    color: #2c3e50;
}

.admin-settings-backup-modal-copy {
    margin: 0.35rem 0 0 0;
    color: #7f8c8d;
}

.admin-settings-backup-modal-close {
    border: none;
    background: #ecf0f1;
    color: #2c3e50;
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
    cursor: pointer;
}

.admin-settings-backup-modal-grid {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.admin-settings-template-panel--hidden {
    display: none;
}

@media (max-width: 900px) {
    .ustawienia-pro-hero {
        grid-template-columns: 1fr;
    }

    .ustawienia-pro-stats {
        grid-template-columns: 1fr;
    }
}

.admin-inbox-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.admin-inbox-title {
    margin: 0;
    color: #2c3e50;
}

.admin-inbox-copy {
    margin: 0.45rem 0 0 0;
    color: #7f8c8d;
}

.admin-inbox-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 0.75rem;
    min-width: min(340px, 100%);
}

.admin-inbox-stat-card {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 12px;
    padding: 0.9rem;
}

.admin-inbox-stat-card--new { border-left: 4px solid #e67e22; }
.admin-inbox-stat-card--all { border-left: 4px solid #3498db; }

.admin-inbox-stat-label {
    font-size: 0.82rem;
    color: #7f8c8d;
}

.admin-inbox-stat-value {
    font-size: 1.35rem;
    font-weight: 700;
    color: #2c3e50;
}

.admin-inbox-empty {
    padding: 1.4rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #ecf0f1;
    color: #7f8c8d;
}

.admin-inbox-list {
    display: grid;
    gap: 0.95rem;
}

.admin-inbox-card {
    background: #fff;
    border-radius: 16px;
    padding: 1rem 1.1rem;
    box-shadow: 0 10px 24px rgba(44, 62, 80, 0.04);
    border: 1px solid #ecf0f1;
    border-left: 5px solid #bdc3c7;
}

.admin-inbox-card--new {
    border-color: #f8d9b4;
    border-left-color: #e67e22;
}

.admin-inbox-card--read {
    border-left-color: #95a5a6;
}

.admin-inbox-card-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.9rem;
}

.admin-inbox-main {
    flex: 1 1 520px;
}

.admin-inbox-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.admin-inbox-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
}

.admin-inbox-pill--new {
    background: #fff3cd;
    color: #8a6d1d;
}

.admin-inbox-pill--read {
    background: #ecf0f1;
    color: #52606d;
}

.admin-inbox-pill--topic {
    background: #eef6ff;
    color: #2980b9;
}

.admin-inbox-date {
    color: #7f8c8d;
    font-size: 0.88rem;
}

.admin-inbox-person {
    margin: 0.7rem 0 0.35rem 0;
    color: #2c3e50;
}

.admin-inbox-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1rem;
    color: #52606d;
    font-size: 0.92rem;
}

.admin-inbox-icon--email { color: #3498db; }
.admin-inbox-icon--phone { color: #16a085; }
.admin-inbox-icon--patient { color: #8e44ad; }
.admin-inbox-icon--doctor { color: #c0392b; }

.admin-inbox-message {
    margin-top: 0.9rem;
    padding: 0.95rem;
    border-radius: 12px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    color: #2c3e50;
    line-height: 1.6;
    white-space: pre-wrap;
}

.admin-inbox-actions {
    display: grid;
    gap: 0.65rem;
    align-content: start;
    min-width: min(260px, 100%);
}

.admin-inbox-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.7rem 0.9rem;
    border: none;
    border-radius: 10px;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.admin-inbox-action-btn--mark-read { background: #16a085; }
.admin-inbox-action-btn--mark-new { background: #95a5a6; }
.admin-inbox-action-btn--reply { background: #3498db; }

.admin-inbox-meta-card {
    padding: 0.9rem;
    border-radius: 12px;
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    color: #52606d;
    line-height: 1.6;
}

.admin-tests-run-form {
    min-width: 320px;
    max-width: 380px;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.admin-tests-run-label {
    margin-bottom: -0.15rem;
}

.admin-tests-run-input {
    min-width: 280px;
}

.admin-tests-access-note {
    margin-top: 0.85rem;
    padding: 0.85rem 1rem;
    border-radius: 12px;
    background: #eef6ff;
    border: 1px solid #d6e8fb;
    color: #35516b;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.admin-tests-key-status {
    margin-top: 0.7rem;
    color: #2c3e50;
    font-size: 0.96rem;
}

.admin-tests-key-status--missing {
    color: #b04a00;
}

.developer-secret-page {
    max-width: 1100px;
    margin: 2rem auto;
    padding: 0 1rem 2rem;
}

.developer-secret-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.6rem 1.8rem;
    border-radius: 22px;
    background: linear-gradient(135deg, #16324f 0%, #244f7a 100%);
    color: #fff;
    box-shadow: 0 22px 44px rgba(22, 50, 79, 0.18);
}

.developer-secret-eyebrow {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    opacity: 0.8;
    margin-bottom: 0.55rem;
}

.developer-secret-title {
    margin: 0 0 0.65rem;
    font-size: 2rem;
    line-height: 1.15;
}

.developer-secret-copy {
    margin: 0;
    max-width: 680px;
    color: rgba(255, 255, 255, 0.9);
}

.developer-secret-back {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 1.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.developer-secret-back:hover {
    background: rgba(255, 255, 255, 0.24);
}

.developer-secret-alert {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
}

.developer-secret-alert--ok {
    background: #eafaf1;
    color: #1d7a52;
}

.developer-secret-alert--error {
    background: #fdecea;
    color: #b03a2e;
}

.developer-secret-grid {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.developer-secret-card {
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 20px;
    padding: 1.4rem;
    box-shadow: 0 16px 34px rgba(20, 38, 63, 0.08);
}

.developer-secret-card-title {
    margin: 0 0 0.65rem;
    font-size: 1.2rem;
    color: #17324a;
}

.developer-secret-card-copy {
    margin: 0 0 1rem;
    color: #536579;
}

.developer-secret-form {
    margin: 0;
}

.developer-secret-generate-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: none;
    border-radius: 12px;
    background: #1d6fd8;
    color: #fff;
    font-weight: 700;
    padding: 0.95rem 1.25rem;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(29, 111, 216, 0.2);
}

.developer-secret-generate-btn:hover {
    background: #175fb8;
}

.developer-secret-key-box {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 16px;
    background: #f7fbff;
    border: 1px solid #d9eafb;
}

.developer-secret-key-label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #627b93;
    margin-bottom: 0.45rem;
}

.developer-secret-key-value {
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #17324a;
    word-break: break-word;
}

.developer-secret-key-help {
    margin-top: 0.55rem;
    color: #66788a;
    font-size: 0.92rem;
}

.developer-secret-status-list {
    display: grid;
    gap: 0.85rem;
}

.developer-secret-status-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #eef3f7;
    color: #516273;
}

.developer-secret-status-row strong {
    color: #17324a;
}

.developer-secret-empty {
    padding: 1rem;
    border-radius: 14px;
    background: #fbfcfd;
    border: 1px dashed #d6dee8;
    color: #6b7a89;
}

@media (max-width: 860px) {
    .developer-secret-hero {
        flex-direction: column;
    }

    .developer-secret-grid {
        grid-template-columns: 1fr;
    }

    .admin-tests-run-form {
        min-width: 100%;
        max-width: 100%;
    }

    .admin-tests-run-input {
        min-width: 100%;
    }
}

.developer-panel-page {
    max-width: 1180px;
    margin: 2rem auto;
    padding: 0 1rem 2rem;
}

.developer-panel-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.7rem 1.9rem;
    border-radius: 24px;
    background: linear-gradient(135deg, #12263f 0%, #1f456d 55%, #2f7b6c 100%);
    color: #fff;
    box-shadow: 0 24px 46px rgba(18, 38, 63, 0.2);
}

.developer-panel-eyebrow {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    opacity: 0.82;
    margin-bottom: 0.55rem;
}

.developer-panel-title {
    margin: 0 0 0.7rem;
    font-size: 2.1rem;
    line-height: 1.1;
}

.developer-panel-copy {
    margin: 0;
    max-width: 720px;
    color: rgba(255, 255, 255, 0.9);
}

.developer-panel-back {
    align-self: center;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.15rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
}

.developer-panel-back:hover {
    background: rgba(255, 255, 255, 0.22);
}

.developer-panel-stats {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.developer-panel-stat {
    background: #fff;
    border: 1px solid #e6edf4;
    border-radius: 18px;
    padding: 1rem 1.1rem;
    box-shadow: 0 12px 28px rgba(17, 36, 58, 0.08);
}

.developer-panel-stat--accent {
    background: linear-gradient(135deg, #eafaf1 0%, #f4fffa 100%);
    border-color: #cdebd9;
}

.developer-panel-stat-label {
    display: block;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6b7b8c;
    margin-bottom: 0.45rem;
}

.developer-panel-stat-value {
    font-size: 1.15rem;
    color: #18324a;
}

.developer-panel-tools {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.developer-panel-tool {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 1rem;
    align-items: start;
    background: #fff;
    border: 1px solid #e7edf4;
    border-radius: 20px;
    padding: 1.2rem;
    box-shadow: 0 16px 32px rgba(17, 36, 58, 0.08);
}

.developer-panel-tool--locked {
    background: #fbfcfd;
}

.developer-panel-tool-icon {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    background: linear-gradient(135deg, #dff0ff 0%, #eef7ff 100%);
    color: #1f6fd2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.developer-panel-tool--locked .developer-panel-tool-icon {
    background: linear-gradient(135deg, #f3f5f7 0%, #fafbfc 100%);
    color: #8b99a7;
}

.developer-panel-tool-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.developer-panel-tool-title {
    margin: 0;
    font-size: 1.15rem;
    color: #17324a;
}

.developer-panel-tool-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.42rem 0.7rem;
    border-radius: 999px;
    background: #eafaf1;
    color: #1d7a52;
    font-size: 0.82rem;
    font-weight: 700;
}

.developer-panel-tool-badge--locked {
    background: #f3f5f7;
    color: #7c8996;
}

.developer-panel-tool-copy {
    margin: 0.7rem 0 0.95rem;
    color: #536579;
    line-height: 1.65;
}

.developer-panel-tool-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #1d6fd8;
    font-weight: 700;
    text-decoration: none;
}

.developer-panel-tool-link:hover {
    color: #1558aa;
}

.developer-panel-tool-note {
    color: #7c8996;
    font-size: 0.95rem;
}

.developer-panel-flash {
    margin-top: 1.2rem;
    padding: 1rem 1.1rem;
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
}

.developer-panel-flash--ok {
    background: #eafaf1;
    color: #1d7a52;
}

.developer-panel-flash--error {
    background: #fdecea;
    color: #b03a2e;
}

.developer-panel-admin-grant {
    margin-top: 1.35rem;
    padding: 1.35rem;
    background: #fff;
    border: 1px solid #e7edf4;
    border-radius: 20px;
    box-shadow: 0 16px 32px rgba(17, 36, 58, 0.08);
}

.developer-panel-admin-grant--top-card {
    margin-top: 0;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.developer-panel-admin-grant--top-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.82) 50%, rgba(255,255,255,0.12) 100%);
    pointer-events: none;
}

.developer-panel-admin-grant--top-card-panel {
    border-color: #d6eadc;
    background: linear-gradient(180deg, #ffffff 0%, #f3fbf6 100%);
    box-shadow: 0 18px 36px rgba(20, 107, 61, 0.10);
}

.developer-panel-admin-grant--top-card-panel .developer-panel-admin-grant__eyebrow {
    color: #2f7a51;
}

.developer-panel-admin-grant--top-card-panel .developer-panel-admin-grant__title {
    color: #195236;
}

.developer-panel-admin-grant--top-card-api {
    border-color: #d8e4fb;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%);
    box-shadow: 0 18px 36px rgba(29, 111, 216, 0.10);
}

.developer-panel-admin-grant--top-card-api .developer-panel-admin-grant__eyebrow {
    color: #2f5fa6;
}

.developer-panel-admin-grant--top-card-api .developer-panel-admin-grant__title {
    color: #173f78;
}

.developer-panel-admin-grant__head {
    margin-bottom: 1rem;
}

.developer-panel-admin-grant__eyebrow {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.11em;
    color: #6d7c8c;
    margin-bottom: 0.45rem;
}

.developer-panel-admin-grant__title {
    margin: 0 0 0.55rem;
    font-size: 1.28rem;
    color: #17324a;
}

.developer-panel-admin-grant__copy {
    margin: 0;
    color: #536579;
    line-height: 1.65;
}

.developer-panel-admin-grant__form {
    margin: 0;
}

.developer-panel-admin-grant__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.developer-panel-admin-grant__cell--full {
    grid-column: 1 / -1;
}

.developer-panel-admin-grant__label {
    display: block;
    margin-bottom: 0.45rem;
    font-weight: 700;
    color: #18324a;
}

.developer-panel-admin-grant__input {
    width: 100%;
    border: 1px solid #d9e3ec;
    border-radius: 12px;
    padding: 0.85rem 0.95rem;
    font-size: 0.98rem;
    background: #fff;
    color: #18324a;
}

.developer-panel-admin-grant__input:focus {
    outline: none;
    border-color: #5ba3ff;
    box-shadow: 0 0 0 3px rgba(91, 163, 255, 0.16);
}

.developer-panel-admin-grant__button {
    margin-top: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: none;
    border-radius: 12px;
    background: #1d6fd8;
    color: #fff;
    font-weight: 700;
    padding: 0.9rem 1.2rem;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(29, 111, 216, 0.18);
}

.developer-panel-admin-grant__button:hover {
    background: #185fb8;
}

.developer-panel-admin-grant__result {
    margin-top: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 14px;
    background: #f8fbfe;
    border: 1px solid #dbe8f3;
    color: #4f6274;
    line-height: 1.6;
}

.developer-panel-admin-grant__alert {
    margin-top: 1rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    border: 1px solid #dbe8f3;
    background: rgba(255, 255, 255, 0.84);
    color: #40576d;
    line-height: 1.6;
}

.developer-panel-admin-grant__alert i {
    margin-top: 0.1rem;
}

.developer-panel-admin-grant__alert--warning {
    border-color: #f6d9a9;
    background: #fff8ed;
    color: #975a16;
}

.developer-panel-menu-shell {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 0 1.75rem;
}

.developer-panel-menu-group {
    padding: 1rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    border: 1px solid #deebf7;
    box-shadow: 0 18px 34px rgba(23, 61, 98, 0.08);
}

.developer-panel-menu-group__label {
    margin-bottom: 0.8rem;
    color: #5f7285;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.developer-panel-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
}

.developer-panel-menu__item {
    display: inline-flex;
    align-items: center;
    width: 100%;
    min-height: 56px;
    gap: 0.6rem;
    padding: 0.85rem 1.15rem;
    border-radius: 16px;
    background: #eef4fb;
    border: 1px solid #dbe8f5;
    color: #21405e;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.developer-panel-menu__item:hover {
    background: #dfeefe;
    color: #163654;
    transform: translateY(-1px);
    border-color: #c8def6;
    box-shadow: 0 12px 22px rgba(29, 111, 216, 0.1);
}

.developer-panel-menu__item--active {
    background: linear-gradient(135deg, #1d6fd8 0%, #0f8f7d 100%);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 12px 24px rgba(29, 111, 216, 0.18);
}

.developer-panel-admin-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.developer-panel-admin-grant--danger {
    border-color: #f2d0d0;
    background: linear-gradient(180deg, #fff8f8 0%, #ffffff 100%);
}

.developer-panel-admin-grant__confirm {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 1rem;
    color: #7d3a3a;
    line-height: 1.55;
}

.developer-panel-admin-grant__confirm input {
    margin-top: 0.25rem;
    accent-color: #cc3a3a;
}

.developer-panel-admin-grant__button--danger {
    background: #cc3a3a;
    box-shadow: 0 12px 24px rgba(204, 58, 58, 0.18);
}

.developer-panel-admin-grant__button--danger:hover {
    background: #b53131;
}

.developer-panel-admin-list {
    padding: 1.4rem;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #deebf7;
    box-shadow: 0 20px 40px rgba(23, 61, 98, 0.08);
}

.developer-panel-admin-list__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.developer-panel-admin-list__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: #edf6ff;
    color: #1d6fd8;
    font-size: 0.86rem;
    font-weight: 700;
}

.developer-tenant-card-badges {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.developer-tenant-sync-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.48rem 0.82rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    border: 1px solid transparent;
    white-space: nowrap;
}

.developer-tenant-sync-badge--ok {
    background: #eafaf1;
    color: #1e8449;
    border-color: #b7e4c7;
}

.developer-tenant-sync-badge--error {
    background: #fdecec;
    color: #922b21;
    border-color: #f5b7b1;
}

.developer-tenant-sync-badge--warn {
    background: #fff4e6;
    color: #af601a;
    border-color: #f8c471;
}

.developer-tenant-sync-badge--muted {
    background: #f4f6f7;
    color: #2c3e50;
    border-color: #d5dbdb;
}

.developer-panel-admin-list__items {
    display: grid;
    gap: 0.85rem;
}

.developer-panel-admin-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    background: #f8fbfe;
    border: 1px solid #dfebf5;
}

.developer-panel-admin-list__item--self {
    background: #fff9ec;
    border-color: #f2d38c;
}

.developer-panel-admin-list__main {
    flex: 1;
    min-width: 0;
}

.developer-panel-admin-list__name {
    font-size: 1rem;
    font-weight: 800;
    color: #1d3652;
}

.developer-panel-admin-list__meta {
    margin-top: 0.25rem;
    color: #5f7388;
    font-size: 0.92rem;
}

.developer-panel-admin-list__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

.developer-panel-admin-list__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 220px;
}

.developer-panel-admin-list__action-form {
    margin: 0;
}

.developer-panel-admin-list__action-button {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: none;
    border-radius: 12px;
    padding: 0.72rem 0.95rem;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.developer-panel-admin-list__action-button--danger {
    background: #b53131;
    color: #fff;
    box-shadow: 0 10px 24px rgba(181, 49, 49, 0.18);
}

.developer-panel-admin-list__action-button--danger:hover {
    background: #9c2929;
    transform: translateY(-1px);
}

.developer-panel-admin-list__lock-note {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #6b7280;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.45;
    text-align: right;
}

.developer-panel-admin-list__chip {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.72rem;
    border-radius: 999px;
    background: #e9f1f9;
    color: #33506c;
    font-size: 0.8rem;
    font-weight: 700;
}

.developer-panel-admin-list__chip--self {
    background: #fde9b9;
    color: #855c00;
}

.developer-panel-admin-list__chip--dev {
    background: #dff7ea;
    color: #1d6d43;
}

.developer-license-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.developer-license-submenu {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 0 0 1.2rem;
    padding: 1rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
    border: 1px solid #deebf7;
    box-shadow: 0 16px 32px rgba(23, 61, 98, 0.08);
}

.developer-license-submenu__item {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 44px;
    padding: 0.72rem 0.95rem;
    border-radius: 999px;
    background: #eef4fb;
    border: 1px solid #dae8f5;
    color: #21405e;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.developer-license-submenu__item:hover {
    background: #dfeefe;
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(29, 111, 216, 0.12);
}

.developer-license-section {
    margin-bottom: 1.5rem;
    padding: 1.2rem;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid #deebf7;
    box-shadow: 0 20px 40px rgba(23, 61, 98, 0.08);
    scroll-margin-top: 96px;
}

.developer-license-section--compact {
    padding-top: 1rem;
}

.developer-license-section--remote {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.developer-license-section--api {
    background: linear-gradient(180deg, #ffffff 0%, #f4f9ff 100%);
}

.developer-license-section__head {
    margin-bottom: 1rem;
}

.developer-license-section__head--compact {
    margin-bottom: 1.15rem;
}

.developer-license-section__eyebrow {
    color: #5f7285;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.developer-license-section__title {
    margin: 0.45rem 0 0;
    color: #183753;
    font-size: 1.35rem;
}

.developer-license-section__copy {
    margin: 0.55rem 0 0;
    max-width: 900px;
    color: #5c7185;
    line-height: 1.65;
}

.developer-license-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.developer-license-status-card {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid #dce8f3;
    background: #f8fbfe;
}

.developer-license-status-card--ok {
    background: #eefcf4;
    border-color: #c8efd9;
}

.developer-license-status-card--warning {
    background: #fff8eb;
    border-color: #f6dfb0;
}

.developer-license-status-card--danger {
    background: #fff2f2;
    border-color: #f5cccc;
}

.developer-license-status-card__label {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6b7f93;
}

.developer-license-status-card__value {
    display: block;
    margin-top: 0.4rem;
    font-size: 1.05rem;
    color: #1d3652;
}

.developer-license-status-meta {
    margin-top: 1rem;
    display: grid;
    gap: 0.55rem;
    color: #50657b;
    line-height: 1.55;
}

.developer-license-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.25rem;
}

.developer-license-actions form {
    margin: 0;
}

.developer-license-actions__button {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid transparent;
    border-radius: 14px;
    padding: 0.88rem 1.08rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.developer-license-actions__button:hover {
    transform: translateY(-1px);
}

.developer-license-actions__button i {
    width: 18px;
    text-align: center;
}

.developer-license-actions__button--primary {
    background: #1d6fd8;
    color: #fff;
    box-shadow: 0 14px 28px rgba(29, 111, 216, 0.14);
}

.developer-license-actions__button--ghost {
    background: #edf4fb;
    color: #21405e;
    border-color: #d5e3f2;
}

.developer-license-actions__button--danger {
    background: #b53131;
    color: #fff;
    box-shadow: 0 14px 28px rgba(181, 49, 49, 0.15);
}

.developer-panel-admin-grant--top-card-panel .developer-license-actions__button--primary {
    background: linear-gradient(135deg, #1b8f58 0%, #146b3d 100%);
    box-shadow: 0 14px 28px rgba(20, 107, 61, 0.20);
}

.developer-panel-admin-grant--top-card-panel .developer-license-actions__button--ghost {
    background: #e8f6ee;
    color: #195236;
}

.developer-panel-admin-grant--top-card-api .developer-license-actions__button--primary {
    background: linear-gradient(135deg, #2377e8 0%, #184fa8 100%);
    box-shadow: 0 14px 28px rgba(29, 111, 216, 0.20);
}

.developer-panel-admin-grant--top-card-api .developer-license-actions__button--ghost {
    background: #eaf2ff;
    color: #1c467a;
}

.developer-license-generated {
    margin-top: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    border: 1px solid #d8e7f5;
    box-shadow: 0 14px 28px rgba(19, 55, 89, 0.07);
}

.developer-license-generated__label {
    font-size: 0.82rem;
    font-weight: 800;
    color: #62758a;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.developer-license-generated__code {
    display: block;
    margin-top: 0.6rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    background: #102033;
    color: #f8fbff;
    font-size: 1rem;
    font-weight: 700;
    word-break: break-all;
}

.developer-license-generated__copy {
    margin-top: 0.8rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: none;
    border-radius: 12px;
    padding: 0.75rem 0.95rem;
    background: #0f8f7d;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.developer-license-generated__copy--done {
    background: #198754;
}

.developer-access-panel-list {
    margin-top: 1rem;
    display: grid;
    gap: 0.85rem;
}

.developer-access-panel-list__item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid #dce8f4;
    color: #3f5870;
    line-height: 1.55;
}

.developer-access-panel-list__item i {
    width: 18px;
    text-align: center;
    color: #1d6fd8;
}

.developer-scope-guide {
    margin-top: 0.9rem;
    padding: 1.1rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #f8fbff 0%, #f2f8ff 100%);
    border: 1px solid #d9e7f5;
}

.developer-scope-guide--wide {
    width: 100%;
    padding: 1.2rem 1.25rem;
}

.developer-scope-guide__head {
    margin-bottom: 0.9rem;
}

.developer-scope-guide__title {
    color: #173854;
    font-size: 0.98rem;
    font-weight: 800;
}

.developer-scope-guide__subtitle {
    margin-top: 0.3rem;
    color: #61768a;
    line-height: 1.55;
    font-size: 0.91rem;
}

.developer-scope-guide__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.developer-scope-guide__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    min-height: 100%;
    padding: 0.9rem 0.95rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid #dce8f4;
}

.developer-scope-guide__code,
.developer-scope-guide__example {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 32px;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: #173854;
    color: #f8fbff;
    font-size: 0.84rem;
    font-weight: 700;
}

.developer-scope-guide__text {
    display: block;
    flex: 1;
    color: #556b80;
    line-height: 1.55;
    font-size: 0.91rem;
}

.developer-scope-guide__format {
    margin-top: 0.95rem;
    padding-top: 0.95rem;
    border-top: 1px solid #d8e6f4;
}

.developer-scope-guide__format-label {
    display: inline-block;
    color: #173854;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.developer-scope-guide__format-copy {
    margin: 0.45rem 0 0;
    color: #5a7084;
    line-height: 1.6;
    font-size: 0.91rem;
}

.developer-api-contract {
    margin-top: 1rem;
    padding: 1.15rem;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
    border: 1px solid #dbe8f5;
}

.developer-api-contract__head {
    margin-bottom: 0.9rem;
}

.developer-api-contract__title {
    color: #173854;
    font-size: 1rem;
    font-weight: 800;
}

.developer-api-contract__subtitle {
    margin-top: 0.3rem;
    color: #62778b;
    line-height: 1.55;
    font-size: 0.92rem;
}

.developer-api-contract__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.developer-api-contract__card {
    padding: 0.95rem 1rem;
    border-radius: 16px;
    background: #f8fbfe;
    border: 1px solid #deebf7;
    min-width: 0;
}

.developer-api-contract__label {
    margin-bottom: 0.6rem;
    color: #183753;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.developer-api-contract__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.developer-api-contract__list code {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: #173854;
    color: #f8fbff;
    font-size: 0.83rem;
    font-weight: 700;
}

.developer-api-contract__code {
    margin: 0;
    padding: 0.95rem 1rem;
    border-radius: 14px;
    background: #102033;
    color: #f8fbff;
    font-size: 0.86rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.developer-api-contract__copy {
    color: #596f84;
    line-height: 1.65;
    font-size: 0.92rem;
}

.app-license-flash {
    max-width: 1180px;
    margin: 1rem auto 0;
    padding: 1rem 1.2rem;
    border-radius: 18px;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-weight: 700;
}

.app-license-flash--ok {
    background: #ecfdf3;
    border: 1px solid #c7f0d6;
    color: #166534;
}

.app-license-flash--error {
    background: #fff3f3;
    border: 1px solid #f4caca;
    color: #991b1b;
}

.app-license-gate-active {
    overflow: hidden;
}

.app-license-gate {
    position: fixed;
    inset: 0;
    z-index: 10050;
}

.app-license-gate__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.82);
    backdrop-filter: blur(8px);
}

.app-license-gate__dialog {
    position: relative;
    z-index: 1;
    width: min(92vw, 560px);
    margin: 8vh auto 0;
    padding: 2rem;
    border-radius: 28px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(203, 213, 225, 0.7);
    box-shadow: 0 32px 80px rgba(15, 23, 42, 0.35);
}

.app-license-gate__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.38rem 0.75rem;
    border-radius: 999px;
    background: #eef4ff;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-license-gate__title {
    margin: 1rem 0 0.65rem;
    color: #102a43;
    font-size: 1.8rem;
}

.app-license-gate__copy {
    margin: 0;
    color: #52667c;
    line-height: 1.75;
}

.app-license-gate__form {
    margin-top: 1.35rem;
    display: grid;
    gap: 0.8rem;
}

.app-license-gate__label {
    font-weight: 700;
    color: #1f3b57;
}

.app-license-gate__input {
    width: 100%;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    border: 1px solid #d9e3ec;
    background: #fff;
    color: #18324a;
    font-size: 1rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.app-license-gate__input:focus {
    outline: none;
    border-color: #5ba3ff;
    box-shadow: 0 0 0 3px rgba(91, 163, 255, 0.16);
}

.app-license-gate__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0.55rem;
    border: none;
    border-radius: 16px;
    padding: 1rem 1.15rem;
    background: linear-gradient(135deg, #1d6fd8 0%, #0f8f7d 100%);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 18px 34px rgba(29, 111, 216, 0.22);
}

.app-license-gate__helper {
    margin-top: 1rem;
    color: #64748b;
    line-height: 1.6;
}

.app-license-gate__helper a {
    color: #1d6fd8;
    font-weight: 700;
}

.historia-wizyt-page {
    max-width: 1100px;
    margin: 0 auto;
}

.historia-wizyt-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.historia-wizyt-title {
    margin: 0;
}

.historia-wizyt-back {
    text-decoration: none;
}

.historia-wizyt-filter {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.historia-wizyt-filter__select {
    min-width: 260px;
    flex: 1;
    max-width: 460px;
    padding: 0.6rem 0.7rem;
    border: 1px solid #dfe6e9;
    border-radius: 9px;
    background: #fff;
    color: #2c3e50;
}

.historia-wizyt-filter__button {
    padding: 0.6rem 0.95rem;
    border: none;
    border-radius: 9px;
    background: #3498db;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.historia-wizyt-filter__clear {
    padding: 0.6rem 0.95rem;
    border-radius: 9px;
    background: #f1f2f6;
    color: #2c3e50;
    text-decoration: none;
    font-weight: 600;
}

.historia-wizyt-group {
    margin-bottom: 1.15rem;
}

.historia-wizyt-group__title {
    margin: 0 0 0.7rem 0;
    color: #2c3e50;
    font-size: 1.1rem;
}

.historia-wizyt-group__count {
    color: #7f8c8d;
    font-weight: 500;
}

.historia-wizyt-group__empty {
    background: #f8f9fa;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    color: #95a5a6;
    font-size: 0.92rem;
}

.historia-wizyt-list {
    display: grid;
    gap: 0.75rem;
}

.historia-wizyt-card {
    background: #fff;
    border: 1px solid #ecf0f1;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    border-left: 4px solid #3498db;
}

.historia-wizyt-card--zakonczona {
    border-left-color: #2ecc71;
}

.historia-wizyt-card--anulowana {
    border-left-color: #e74c3c;
}

.historia-wizyt-card--potwierdzona {
    border-left-color: #3498db;
}

.historia-wizyt-card--oczekuje {
    border-left-color: #f1c40f;
}

.historia-wizyt-card--aktywna {
    border-left-color: #1abc9c;
}

.historia-wizyt-card__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.historia-wizyt-card__doctor {
    font-weight: 700;
    color: #2c3e50;
}

.historia-wizyt-card__specialization {
    color: #7f8c8d;
}

.historia-wizyt-card__visit-name {
    margin-top: 0.2rem;
    color: #3498db;
    font-size: 0.92rem;
}

.historia-wizyt-card__datetime {
    margin-top: 0.2rem;
    color: #7f8c8d;
    font-size: 0.9rem;
}

.historia-wizyt-card__time-icon {
    margin-left: 0.45rem;
}

.historia-wizyt-status {
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    font-size: 0.82rem;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    border: 1px solid #dfe6e9;
    color: #2c3e50;
    background: #ecf0f1;
}

.historia-wizyt-status--zakonczona {
    color: #1e8449;
    background: #eafaf1;
    border-color: #2ecc71;
}

.historia-wizyt-status--anulowana {
    color: #c0392b;
    background: #fdecea;
    border-color: #e74c3c;
}

.historia-wizyt-status--potwierdzona {
    color: #1f618d;
    background: #eaf3fb;
    border-color: #3498db;
}

.historia-wizyt-status--oczekuje {
    color: #9a7d0a;
    background: #fef9e7;
    border-color: #f1c40f;
}

.historia-wizyt-status--aktywna {
    color: #117864;
    background: #e8f8f5;
    border-color: #1abc9c;
}

.historia-wizyt-pagination {
    margin-top: 0.9rem;
    display: flex;
    gap: 0.4rem;
    align-items: center;
    flex-wrap: wrap;
}

.historia-wizyt-pagination__btn {
    display: inline-block;
    padding: 0.42rem 0.7rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid #dfe6e9;
    background: #ffffff;
    color: #2c3e50;
}

.historia-wizyt-pagination__btn--active {
    background: #3498db;
    color: #ffffff;
    border-color: #3498db;
}

.historia-wizyt-pagination__btn--disabled {
    background: #f8f9fa;
    color: #b2bec3;
    border-color: #ecf0f1;
    cursor: not-allowed;
}

.historia-wizyt-pagination__meta {
    margin-left: 0.35rem;
    color: #7f8c8d;
    font-size: 0.92rem;
}

.jak-dziala-cta {
    padding: 4rem 2rem;
    text-align: center;
    background: #fff;
}

.jak-dziala-cta__inner {
    max-width: 800px;
    margin: 0 auto;
}

.jak-dziala-cta__title {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #22364d;
}

.jak-dziala-cta__copy {
    font-size: 1.2rem;
    color: #7f8c8d;
    margin-bottom: 2rem;
    line-height: 1.7;
}

.jak-dziala-cta__actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.jak-dziala-cta__btn {
    padding: 1rem 2rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: 1.1rem;
}

.jak-dziala-cta__btn--primary {
    background: #2ecc71;
    color: #fff;
    border: none;
    cursor: pointer;
}

.jak-dziala-cta__btn--secondary {
    border: 2px solid #2ecc71;
    color: #2c3e50;
    text-decoration: none;
    display: inline-block;
}
.jak-dziala-benefits {
    background: #fff;
    padding: 4rem 2rem;
}

.jak-dziala-benefits__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.jak-dziala-benefits__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.jak-dziala-benefit-card {
    padding: 2rem;
    background: #f8f9fa;
    border-radius: 15px;
    border-left: 4px solid #cbd5e1;
}

.jak-dziala-benefit-card--green { border-left-color: #2ecc71; }
.jak-dziala-benefit-card--blue { border-left-color: #3498db; }
.jak-dziala-benefit-card--purple { border-left-color: #9b59b6; }
.jak-dziala-benefit-card--red { border-left-color: #e74c3c; }
.jak-dziala-benefit-card--gold { border-left-color: #f39c12; }
.jak-dziala-benefit-card--teal { border-left-color: #1abc9c; }

.jak-dziala-benefit-card__title {
    margin-bottom: 1rem;
}

.jak-dziala-benefit-card__title--green { color: #2ecc71; }
.jak-dziala-benefit-card__title--blue { color: #3498db; }
.jak-dziala-benefit-card__title--purple { color: #9b59b6; }
.jak-dziala-benefit-card__title--red { color: #e74c3c; }
.jak-dziala-benefit-card__title--gold { color: #f39c12; }
.jak-dziala-benefit-card__title--teal { color: #1abc9c; }

.jak-dziala-faq {
    padding: 4rem 2rem;
    background: linear-gradient(135deg, #2ecc71, #27ae60);
}

.jak-dziala-faq__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.jak-dziala-faq__title {
    color: #fff;
}

.jak-dziala-faq__grid {
    margin-top: 3rem;
    display: grid;
    gap: 1.5rem;
}

.jak-dziala-faq-card {
    background: #fff;
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.jak-dziala-faq-card__title {
    color: #2ecc71;
    margin-bottom: 1rem;
}
.jak-dziala-copy {
    padding: 4rem 2rem;
    background: #f8f9fa;
}

.jak-dziala-copy__inner {
    max-width: 1000px;
    margin: 0 auto;
    line-height: 1.7;
    color: #2c3e50;
}

.jak-dziala-copy__title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.jak-dziala-copy__subtitle {
    margin-top: 2rem;
}

.jak-dziala-copy__paragraph--leadout {
    margin-top: 2rem;
}

.jak-dziala-hero {
    padding: 4rem 2rem;
    text-align: center;
}

.jak-dziala-hero__inner {
    max-width: 800px;
    margin: 0 auto;
}

.jak-dziala-steps {
    padding: 4rem 2rem;
}

.jak-dziala-steps__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.jak-dziala-steps__grid {
    margin-top: 3rem;
}

.jak-dziala-step-icon__glyph {
    color: #fff;
}

.jak-dziala-step-icon--green { background: linear-gradient(135deg, #2ecc71, #27ae60); }
.jak-dziala-step-icon--blue { background: linear-gradient(135deg, #3498db, #2980b9); }
.jak-dziala-step-icon--purple { background: linear-gradient(135deg, #9b59b6, #8e44ad); }
.jak-dziala-step-icon--red { background: linear-gradient(135deg, #e74c3c, #c0392b); }
.jak-dziala-step-icon--gold { background: linear-gradient(135deg, #f39c12, #e67e22); }
.jak-dziala-step-icon--teal { background: linear-gradient(135deg, #1abc9c, #16a085); }
.jak-dziala-step-icon--dark { background: linear-gradient(135deg, #34495e, #2c3e50); }
.jak-dziala-step-icon--deep-purple { background: linear-gradient(135deg, #8e44ad, #6c3483); }
.jak-dziala-step-icon--burnt { background: linear-gradient(135deg, #d35400, #a04000); }
.jak-dziala-step-icon--emerald { background: linear-gradient(135deg, #27ae60, #1e8449); }

.patient-chat-access-denied {
    text-align: center;
    padding: 4rem;
}

.patient-chat-layout {
    max-width: 1000px;
    margin: 0 auto;
}

.patient-chat-header {
    background: linear-gradient(135deg, #2ecc71, #27ae60);
    color: #fff;
    padding: 1.5rem;
    border-radius: 15px 15px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.patient-chat-header-title { margin: 0; }

.patient-chat-header-copy {
    margin: 0.5rem 0 0 0;
    opacity: 0.9;
}

.patient-chat-back-link {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
}

.patient-chat-visit-meta {
    background: #f8f9fa;
    padding: 1rem;
    border-left: 4px solid #2ecc71;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.patient-chat-window {
    background: #fff;
    height: 500px;
    overflow-y: auto;
    padding: 2rem;
    border-left: 1px solid #ecf0f1;
    border-right: 1px solid #ecf0f1;
}

.patient-chat-empty {
    text-align: center;
    color: #7f8c8d;
    padding: 3rem;
}

.patient-chat-empty-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.patient-chat-message-row {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: flex-start;
}

.patient-chat-message-row--self {
    justify-content: flex-end;
}

.patient-chat-bubble {
    max-width: 70%;
    padding: 1rem 1.5rem;
    border-radius: 15px;
}

.patient-chat-bubble--self {
    background: #2ecc71;
    color: #fff;
}

.patient-chat-bubble--doctor-self {
    background: #3498db;
    color: #fff;
}

.patient-chat-bubble--doctor {
    background: #ecf0f1;
    color: #2c3e50;
}

.patient-chat-bubble-meta {
    font-size: 0.85rem;
    opacity: 0.8;
    margin-bottom: 0.5rem;
}

.patient-chat-bubble-copy {
    line-height: 1.6;
}

.patient-chat-footer {
    background: #fff;
    padding: 1.5rem;
    border-radius: 0 0 15px 15px;
    border: 1px solid #ecf0f1;
    border-top: 2px solid #2ecc71;
}

.patient-chat-form-row {
    display: flex;
    gap: 1rem;
}

.patient-chat-textarea {
    flex: 1;
    padding: 1rem;
    border: 2px solid #ecf0f1;
    border-radius: 10px;
    resize: vertical;
    min-height: 80px;
    font-family: inherit;
}

.patient-chat-submit {
    padding: 1rem 2rem;
    background: #2ecc71;
    color: #fff;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    white-space: nowrap;
}

.patient-chat-system-message {
    margin: 0.35rem 0 0.55rem 0;
    text-align: left;
    font-size: 0.72rem;
    line-height: 1.25;
    color: #7f8c8d;
    border: 1px solid #d5dbe1;
    border-radius: 8px;
    padding: 0.35rem 0.55rem;
    background: #fbfcfd;
}

.patient-chat-system-message__label {
    font-weight: 700;
}

.patient-chat-error {
    text-align: center;
    color: #e74c3c;
    padding: 2rem;
}

.developer-panel-modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 10020;
}

.developer-panel-modal--open {
    display: block;
}

.developer-panel-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.58);
}

.developer-panel-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(92vw, 560px);
    margin: 8vh auto 0;
    padding: 1.6rem;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #e3eaf2;
    box-shadow: 0 30px 70px rgba(15, 23, 42, 0.26);
}

.developer-panel-modal__dialog--wide {
    width: min(94vw, 760px);
}

.developer-panel-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    cursor: pointer;
}

.developer-panel-modal__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: #fff1f1;
    color: #a12626;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.developer-panel-modal__eyebrow--error {
    background: #fff1f1;
    color: #a12626;
}

.developer-panel-modal__eyebrow--success {
    background: #ebfbf1;
    color: #1d7a52;
}

.developer-panel-modal__title {
    margin: 1rem 0 0.6rem;
    font-size: 1.35rem;
    color: #1d3652;
}

.developer-panel-modal__copy {
    margin: 0;
    color: #5f7388;
    line-height: 1.65;
}

.developer-panel-modal__target {
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: #f8fbfe;
    border: 1px solid #dfeaf4;
    display: grid;
    gap: 0.25rem;
}

.developer-panel-modal__target strong {
    color: #1d3652;
    font-size: 1rem;
}

.developer-panel-modal__target span {
    color: #5f7388;
    font-size: 0.92rem;
}

.developer-panel-modal__warning {
    margin-top: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
    line-height: 1.6;
}

.developer-panel-modal__facts {
    margin-top: 1.1rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.developer-panel-modal__fact {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid #dce8f3;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
}

.developer-panel-modal__fact-label {
    display: block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #698095;
}

.developer-panel-modal__fact-value {
    display: block;
    margin-top: 0.45rem;
    color: #1d3652;
    font-size: 1rem;
}

.developer-panel-modal__actions {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.25rem;
}

.developer-panel-modal__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: none;
    border-radius: 12px;
    padding: 0.85rem 1.05rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.developer-panel-modal__button--primary {
    background: linear-gradient(135deg, #1d6fd8 0%, #184fa8 100%);
    color: #fff;
    box-shadow: 0 14px 28px rgba(29, 111, 216, 0.18);
}

.developer-panel-modal__button--ghost {
    background: #eef4fb;
    color: #21405e;
    border: 1px solid #d7e3f0;
}

.developer-panel-modal__button--danger {
    background: #b53131;
    color: #fff;
    box-shadow: 0 12px 24px rgba(181, 49, 49, 0.18);
}

.developer-panel-modal__inline-form {
    margin: 0;
}

.developer-sale-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.developer-panel-admin-grant__input--textarea {
    min-height: 140px;
    resize: vertical;
}

.developer-panel-admin-grant__form--compact {
    margin-top: 0.9rem;
}

.developer-panel-admin-grant__head--compact {
    margin-top: 1.25rem;
}

.developer-panel-pricing-editor,
.developer-panel-pricing-addon-grid {
    display: grid;
    gap: 1rem;
}

.developer-panel-pricing-editor__row,
.developer-panel-pricing-addon {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border-radius: 18px;
    background: #f8fbfe;
    border: 1px solid #dfeaf4;
}

.developer-panel-pricing-editor__row {
    grid-template-columns: 1.6fr 0.8fr 0.8fr;
}

.developer-panel-pricing-editor__preview {
    display: grid;
    align-content: center;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    background: #ffffff;
    border: 1px dashed #c8d9e8;
}

.developer-panel-pricing-editor__preview-label {
    color: #5f7388;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.developer-panel-pricing-editor__preview-value {
    color: #1d3652;
    font-size: 1rem;
}

.developer-panel-pricing-editor__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: none;
    border-radius: 12px;
    background: #1d3652;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    padding: 0.75rem 0.9rem;
}

.developer-panel-pricing-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 16px;
    background: #eef8ff;
    border: 1px solid #cfe3f3;
}

.developer-panel-pricing-summary--warning {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
}

.developer-panel-admin-list--remote {
    margin-top: 1.4rem;
}

.developer-remote-apps {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.developer-remote-app-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 252, 0.98));
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    padding: 1rem;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.06);
}

.developer-remote-app-card__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 0.9rem;
}

.developer-remote-app-card__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}

.developer-remote-app-card__meta {
    margin-top: 0.35rem;
    font-size: 0.92rem;
    color: #64748b;
    word-break: break-word;
}

.developer-remote-app-card__stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.65rem;
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(241, 245, 249, 0.92);
    color: #1e293b;
}

.developer-remote-app-card__error {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    background: rgba(254, 242, 242, 0.95);
    border: 1px solid rgba(239, 68, 68, 0.15);
    color: #b91c1c;
}

.developer-remote-app-card__error--soft {
    margin-top: 0.65rem;
    margin-bottom: 0;
    background: rgba(248, 250, 252, 0.98);
    border-color: rgba(148, 163, 184, 0.18);
    color: #334155;
}

.developer-remote-app-card__actions {
    display: grid;
    gap: 0.9rem;
    margin-top: 1rem;
}

.developer-remote-app-card__action-group {
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: rgba(248, 251, 254, 0.96);
    border: 1px solid #deebf7;
}

.developer-remote-app-card__action-group--danger {
    background: rgba(255, 246, 246, 0.98);
    border-color: #f0d2d2;
}

.developer-remote-app-card__action-label {
    margin-bottom: 0.7rem;
    color: #183753;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.developer-license-actions--remote {
    margin-top: 0;
}

.developer-license-actions--remote form {
    margin: 0;
}

.developer-license-actions--remote .developer-license-actions__button {
    min-height: 44px;
    border: 1px solid transparent;
    box-shadow: 0 10px 18px rgba(23, 61, 98, 0.08);
}

.developer-license-actions--remote .developer-license-actions__button--ghost {
    border-color: #d9e7f4;
}

.developer-remote-json-editor {
    min-height: 220px;
    font-family: Consolas, "Courier New", monospace;
    line-height: 1.6;
    white-space: pre;
}

.developer-remote-app-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.developer-remote-app-badge--legacy {
    background: rgba(255, 237, 213, 0.95);
    color: #9a3412;
    border: 1px solid rgba(251, 146, 60, 0.26);
}

.developer-remote-app-badge--modern {
    background: rgba(220, 252, 231, 0.95);
    color: #166534;
    border: 1px solid rgba(34, 197, 94, 0.22);
}

.developer-panel-admin-grant--remote-form {
    margin-top: 1rem;
}

.developer-panel-admin-grant__form--remote-card {
    margin-bottom: 0.85rem;
}

.developer-panel-admin-grant--remote-tools {
    margin-top: 1rem;
}

.developer-panel-copy-source {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.developer-panel-admin-list--remote-logs {
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    max-width: none;
    margin: 1.4rem 0 0;
}

.developer-panel-admin-list__items--logs {
    width: 100%;
    min-width: 0;
    gap: 0.7rem;
}

.developer-panel-admin-list__item--log {
    display: flex;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    align-items: flex-start;
    padding: 0.9rem 1rem;
}

.developer-panel-admin-list__item--log .developer-panel-admin-list__main {
    width: 100%;
    min-width: 0;
}

.developer-panel-admin-list__item--log .developer-panel-admin-list__name,
.developer-panel-admin-list__item--log .developer-panel-admin-list__chips {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.developer-panel-admin-list__item--log .developer-panel-admin-list__chips {
    max-width: 220px;
    flex-shrink: 0;
}

.developer-panel-admin-list__item--log .developer-panel-admin-list__meta {
    line-height: 1.55;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.developer-panel-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #deebf7;
}

.developer-panel-pagination__link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 0.95rem;
    border-radius: 12px;
    background: #edf6ff;
    color: #1d6fd8;
    text-decoration: none;
    font-weight: 700;
}

.developer-panel-pagination__current {
    color: #50657b;
    font-size: 0.92rem;
    font-weight: 700;
}

@media (max-width: 980px) {
    .developer-api-contract__grid {
        grid-template-columns: 1fr;
    }

    .developer-scope-guide__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .developer-license-submenu {
        padding: 0.9rem;
    }

    .developer-license-section {
        padding: 1rem;
    }

    .developer-panel-menu-shell {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .developer-panel-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .developer-panel-tools {
        grid-template-columns: 1fr;
    }

    .developer-panel-admin-layout {
        grid-template-columns: 1fr;
    }

    .developer-license-grid {
        grid-template-columns: 1fr;
    }

    .developer-sale-grid {
        grid-template-columns: 1fr;
    }

    .developer-panel-pricing-editor__row {
        grid-template-columns: 1fr;
    }

    .developer-remote-app-card__header {
        flex-direction: column;
    }

    .developer-panel-pagination {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 760px) {
    .developer-remote-app-card__action-group {
        padding: 0.85rem 0.9rem;
    }

    .developer-panel-modal__dialog,
    .developer-panel-modal__dialog--wide {
        width: min(94vw, 94vw);
        margin-top: 5vh;
        padding: 1.2rem;
    }

    .developer-panel-modal__facts {
        grid-template-columns: 1fr;
    }

    .developer-panel-modal__actions,
    .developer-panel-modal__actions--stack-on-mobile {
        flex-direction: column;
        align-items: stretch;
    }

    .developer-panel-modal__inline-form,
    .developer-panel-modal__inline-form .developer-panel-modal__button,
    .developer-panel-modal__actions .developer-panel-modal__button {
        width: 100%;
    }

    .developer-api-contract {
        padding: 0.95rem;
    }

    .developer-scope-guide__grid {
        grid-template-columns: 1fr;
    }

    .developer-scope-guide__item {
        flex-direction: column;
        gap: 0.5rem;
    }

    .developer-scope-guide {
        padding: 0.9rem;
    }

    .developer-license-submenu {
        flex-direction: column;
        align-items: stretch;
    }

    .developer-license-submenu__item {
        width: 100%;
        justify-content: flex-start;
    }

    .developer-license-section {
        padding: 0.9rem;
        border-radius: 20px;
    }

    .developer-panel-menu-shell {
        grid-template-columns: 1fr;
    }

    .developer-panel-menu-group {
        padding: 0.9rem;
    }

    .developer-panel-hero {
        flex-direction: column;
    }

    .developer-panel-stats {
        grid-template-columns: 1fr;
    }

    .developer-panel-tool {
        grid-template-columns: 1fr;
    }

    .developer-panel-admin-grant__grid {
        grid-template-columns: 1fr;
    }

    .developer-panel-admin-list__head,
    .developer-panel-admin-list__item {
        flex-direction: column;
        align-items: flex-start;
    }

    .developer-panel-admin-list__actions {
        min-width: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .developer-panel-admin-list__chips {
        justify-content: flex-start;
    }

    .developer-panel-admin-list__lock-note {
        text-align: left;
    }

    .developer-license-status-grid {
        grid-template-columns: 1fr;
    }

    .developer-license-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .developer-panel-modal__dialog {
        width: min(94vw, 560px);
        margin-top: 6vh;
        padding: 1.25rem;
    }

    .developer-panel-modal__actions {
        flex-direction: column-reverse;
    }

    .developer-panel-tool-icon {
        width: 60px;
        height: 60px;
        border-radius: 16px;
    }

    .app-license-gate__dialog {
        width: min(94vw, 560px);
        margin-top: 5vh;
        padding: 1.4rem;
    }

    .historia-wizyt-topbar,
    .historia-wizyt-card__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .historia-wizyt-filter__select {
        max-width: none;
        width: 100%;
    }

    .jak-dziala-cta {
        padding: 3rem 1.2rem;
    }

    .jak-dziala-cta__title {
        font-size: 2rem;
    }

    .jak-dziala-cta__actions {
        flex-direction: column;
        align-items: stretch;
    }
}

html body #przycisk-do-gory-global {
    position: fixed !important;
    right: 1.25rem !important;
    bottom: 1.25rem !important;
    left: auto !important;
    top: auto !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #2ecc71 0%, #1f9d57 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    z-index: 99999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(18px) scale(0.92) !important;
    transition: transform 0.22s ease, background 0.22s ease, opacity 0.22s ease, visibility 0.22s ease !important;
}

html body #przycisk-do-gory-global.pokaz {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}

html body #przycisk-do-gory-global:hover {
    background: linear-gradient(135deg, #30d777 0%, #249f5a 100%) !important;
    transform: translateY(-3px) scale(1.02) !important;
}

html body #przycisk-do-gory-global i {
    color: #ffffff !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

@media (max-width: 768px) {
    html body #przycisk-do-gory-global {
        right: 1rem !important;
        bottom: 1rem !important;
        width: 48px !important;
        height: 48px !important;
    }
}

