/* Przyciski „📌 Do raportu" (widoczne tylko po zalogowaniu kodem administratora) */
.pin-btn {
    font-size: 11px;
    padding: 3px 9px;
    border: 1px solid #ced4da;
    border-radius: 12px;
    background: #fff;
    color: #495057;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
    z-index: 20;
}
.pin-btn:hover { background: #fff3cd; border-color: #f0ad4e; }
.pin-btn:active { transform: scale(0.96); }
.pin-hidden { display: none !important; }
.pin-tl { position: absolute; top: 6px; left: 6px; }
.pin-tr { position: absolute; top: 12px; right: 14px; }

/* Komunikat po dodaniu elementu do koszyka */
.report-toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translate(-50%, 20px);
    max-width: 90vw;
    background: #2c3e50;
    color: #fff;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s, transform 0.25s;
    z-index: 1000;
}
.report-toast.show { opacity: 1; transform: translate(-50%, 0); }

/* Dymek z wyjaśnieniem (np. opis sygnatury energetycznej) — pokazuje się po najechaniu */
.info-tip { position: relative; color: #1f77b4; cursor: help; white-space: nowrap; }
.info-tip .info-tip-text {
    visibility: hidden; opacity: 0; transition: opacity 0.15s;
    position: absolute; bottom: 130%; left: 50%; transform: translateX(-50%);
    width: 320px; white-space: normal; text-align: left; z-index: 50;
    background: #fff; color: #2c3e50; border: 1px solid #1f77b4; border-radius: 8px;
    padding: 10px 12px; font-size: 12px; line-height: 1.5; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.info-tip:hover .info-tip-text, .info-tip:focus .info-tip-text { visibility: visible; opacity: 1; }

/* Pola dat (Dash 4): szerokość liczona przy montażu — w ukrytym panelu wychodziło 2 px i pola nie
   dało się użyć. Minimalna szerokość mieści datę RRRR-MM-DD. */
.dash-datepicker-input {
    min-width: 12ch;
}
