/* FixPanel – style wspólne. Kolor główny przychodzi z ustawień jako --fp-primary (layout). */

:root {
    --fp-sidebar-width: 240px;
}

body {
    min-height: 100vh;
}

/* Kolor główny z ustawień nadpisuje przyciski i linki Bootstrapa */
.btn-primary {
    --bs-btn-bg: var(--fp-primary);
    --bs-btn-border-color: var(--fp-primary);
    --bs-btn-hover-bg: color-mix(in srgb, var(--fp-primary) 85%, black);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--fp-primary) 85%, black);
    --bs-btn-active-bg: color-mix(in srgb, var(--fp-primary) 75%, black);
    --bs-btn-active-border-color: color-mix(in srgb, var(--fp-primary) 75%, black);
}
.btn-outline-primary {
    --bs-btn-color: var(--fp-primary);
    --bs-btn-border-color: var(--fp-primary);
    --bs-btn-hover-bg: var(--fp-primary);
    --bs-btn-hover-border-color: var(--fp-primary);
    --bs-btn-active-bg: var(--fp-primary);
}
.text-primary { color: var(--fp-primary) !important; }
.bg-primary { background-color: var(--fp-primary) !important; }
.form-check-input:checked { background-color: var(--fp-primary); border-color: var(--fp-primary); }

/* Layout: menu boczne */
.fp-sidebar {
    width: var(--fp-sidebar-width);
}
.fp-sidebar .nav-link {
    color: var(--bs-body-color);
    border-radius: .5rem;
    padding: .55rem .75rem;
    display: flex;
    align-items: center;
    gap: .6rem;
}
.fp-sidebar .nav-link:hover { background: var(--bs-tertiary-bg); }
.fp-sidebar .nav-link.active {
    background: color-mix(in srgb, var(--fp-primary) 14%, transparent);
    color: var(--fp-primary);
    font-weight: 600;
}
.fp-sidebar .nav-section {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--bs-secondary-color);
    padding: 1rem .75rem .25rem;
}
@media (min-width: 992px) {
    .fp-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; }
}

.fp-logo { max-height: 36px; max-width: 160px; object-fit: contain; }

/* Wygodne cele dotykowe na telefonie i kolektorze */
@media (max-width: 767.98px) {
    .btn, .form-control, .form-select { min-height: 44px; }
}

/* Wiersze tabeli klikalne */
tr[data-href] { cursor: pointer; }

.color-dot {
    display: inline-block;
    width: .9rem;
    height: .9rem;
    border-radius: 50%;
    vertical-align: middle;
}

.audit-values { font-size: .8rem; max-width: 420px; word-break: break-word; }

[x-cloak] { display: none !important; }

/* Kolumna treści obok menu nie może się rozpychać (np. przez szeroką tablicę kanban). */
.min-w-0 { min-width: 0; }
