/* Panel administratora BusPlan — uzupełnienie ../style.css (te same zmienne
   kolorów i motywy). Mapa jak na stronie publicznej: stałe jasne kolory. */

.kontener-admina {
    max-width: 1600px;
    padding-left: 24px;
    padding-right: 24px;
}

.kontener-paska {
    max-width: 1600px;
    padding-left: 24px;
    padding-right: 24px;
}

.znaczek-admina {
    margin-left: 4px;
    padding: 3px 7px;
    border-radius: 6px;
    background-color: var(--kolor-akcent);
    color: var(--kolor-tekst-akcent);
    font-size: 0.65rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    vertical-align: middle;
}

.naglowek-admina {
    padding: 30px 0 84px 0;
}

.naglowek-admina h1 {
    font-size: calc(1.3rem + 0.9vw);
}

/* --- Logowanie --- */
.glowna-logowanie {
    max-width: 460px;
}

.karta-logowania {
    border: none;
}

.logo-znak-duzy {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    font-size: 32px;
    box-shadow: 0 6px 18px rgba(244, 180, 0, 0.35);
}

.link-powrotu {
    color: var(--bs-secondary-color);
    text-decoration: none;
}

.link-powrotu:hover {
    color: var(--kolor-glowny);
}

/* --- Mapa panelu --- */
.karta-mapy-admina {
    position: sticky;
    top: 16px;
}

.mapa-admina {
    height: calc(100vh - 140px);
    min-height: 480px;
    max-height: 760px;
}

.mapa-admina.wskazywanie .maplibregl-canvas {
    cursor: crosshair;
}

.znak-edytowany {
    width: 16px;
    height: 16px;
    margin: 0 5px 0 1px;
    background-color: #f4b400;
    border: 3px solid #13233f;
}

.linia-prosta {
    border-top: 3px dashed #d1495b;
}

.znacznik.edytowany {
    width: 22px;
    height: 22px;
    background-color: #f4b400;
    border: 4px solid #13233f;
    cursor: grab;
    z-index: 5;
    animation: podskok 1.4s ease-in-out infinite;
}

.znacznik.edytowany:active {
    cursor: grabbing;
}

.znacznik.edytowany .etykieta {
    font-weight: 700;
    border-left: 4px solid #f4b400;
}

.znacznik.poza-linia {
    opacity: 0.6;
}

.znacznik.poza-linia:hover {
    opacity: 1;
}

@keyframes podskok {
    50% {
        box-shadow: 0 0 0 7px rgba(244, 180, 0, 0.35);
    }
}

/* --- Zakładki i listy --- */
.zakladki-admina .nav-link {
    color: var(--bs-secondary-color);
    font-weight: 600;
    border-radius: 10px 10px 0 0;
}

.zakladki-admina .nav-link:hover {
    color: var(--kolor-glowny);
}

.zakladki-admina .nav-link.active {
    color: var(--kolor-tekstu-naglowka);
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
    box-shadow: inset 0 3px 0 var(--kolor-akcent);
}

.znaczek-licznika {
    background-color: #d1495b;
    font-size: 0.7rem;
}

.karta-zakladek .tab-content {
    min-height: 420px;
}

.lista-admina {
    max-height: 62vh;
    overflow-y: auto;
}

.wiersz-admina {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-left: 4px solid transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.wiersz-admina:hover {
    background-color: var(--kolor-zaznaczenia);
}

.wiersz-admina.wybrany {
    background-color: var(--kolor-zaznaczenia);
    border-left-color: var(--kolor-akcent);
}

.opis-wiersza {
    flex: 1;
    min-width: 0;
    border: none;
    background: none;
    padding: 0;
    color: inherit;
    text-align: left;
}

.opis-wiersza .linia {
    font-size: 11px;
    min-width: 24px;
    padding: 2px 5px;
}

.akcje-wiersza {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.karta-edycji {
    margin-bottom: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--kolor-akcent);
    background-color: var(--kolor-zaznaczenia);
    animation: rozwin 0.3s ease;
}

/* --- Edytor linii --- */
.info-rozkladu {
    padding: 6px 10px;
    border-radius: 8px;
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
}

.info-rozkladu.blad-rozkladu {
    border-color: #d1495b;
    color: #d1495b;
}

.lista-trasy {
    list-style: none;
    margin: 0 0 10px 0;
    padding: 0;
    max-height: 40vh;
    overflow-y: auto;
}

.pozycja-trasy {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 6px;
    border-left: 4px solid var(--kolor-linii);
    border-bottom: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
    animation: rozwin 0.25s ease;
}

.pozycja-trasy:first-child {
    border-top-right-radius: 8px;
}

.pozycja-trasy:last-child {
    border-bottom: none;
    border-bottom-right-radius: 8px;
}

.nr-trasy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    border-radius: 50%;
    background-color: var(--kolor-linii);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
}

.nazwa-trasy {
    flex: 1;
    min-width: 0;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pole-minut {
    width: 136px;
    flex-shrink: 0;
}

.pole-minut .input-group-text {
    padding-left: 6px;
    padding-right: 6px;
}

.pole-minut .form-control {
    min-width: 0;
    padding-left: 4px;
    padding-right: 4px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.pusta-trasa {
    padding: 10px;
    border: 1px dashed var(--bs-border-color);
    border-radius: 8px;
}

/* --- Trasy --- */
.pasek-postepu {
    background-color: var(--kolor-akcent);
    transition: width 0.4s ease;
}

/* --- Historia --- */
.lista-historii {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 62vh;
    overflow-y: auto;
}

.wpis-historii {
    display: flex;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--bs-border-color);
}

.wpis-historii:last-child {
    border-bottom: none;
}

.ikona-historii {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 8px;
    background-color: var(--kolor-zaznaczenia);
    color: var(--kolor-glowny);
}

.tresc-historii {
    min-width: 0;
    font-size: 0.9rem;
}

/* --- Powiadomienia --- */
.powiadomienie {
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.powiadomienie-ok {
    background-color: #0f8a5f;
}

.powiadomienie-info {
    background-color: #1d3557;
}

.powiadomienie-blad {
    background-color: #b3263a;
}

.powiadomienie .btn-close {
    filter: invert(1) grayscale(1) brightness(2);
}

@media (max-width: 1199.98px) {
    .karta-mapy-admina {
        position: static;
    }

    .mapa-admina {
        height: 460px;
    }
}
