/* ============================================================
   BASE.CSS — Global foundation
   ============================================================ */

html, body {
    height: 100%;
}

/* Background image */
body {
    background-image: url('/static/images/background.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
}

body.with-fixed-navbar {
    padding-top: 70px; /* adjust if your navbar is taller */
}

/* ============================================================
   Bootstrap list-group adjustments
   ============================================================ */

.list-group-item.active {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

/* ============================================================
   Unified striping for BOTH tables and list-groups
   ============================================================ */

.table-striped .base-list-item:nth-of-type(odd),
.list-group .base-list-item:nth-of-type(odd) {
    background-color: #f8f9fa;
}

.table-striped .base-list-item:nth-of-type(even),
.list-group .base-list-item:nth-of-type(even) {
    background-color: #ffffff;
}

/* ============================================================
   Unified hover — always overrides striping
   ============================================================ */

.base-list-item:hover {
    background-color: #fff3cd !important;
    color: #000 !important;
    cursor: pointer;
}

/* Smooth transition everywhere */
.base-list-item {
    transition: background-color 0.15s ease-in-out;
}

/* ============================================================
   Compact row styling (tables + list-groups)
   ============================================================ */

.base-list-item,
.base-list-item td,
.base-list-item th {
    padding: 0.25rem 0.75rem !important;
    font-size: 0.9rem;
    line-height: 1.3;
    color: #000 !important;
}

.base-list-item.active {
    color: #fff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.base-list-item .btn {
    padding: 0.1rem 0.4rem !important;
    font-size: 0.8rem !important;
    line-height: 1.1 !important;
}

/* ============================================================
   Table-specific hover override (fixes admin dashboard)
   ============================================================ */

.table-striped tbody .base-list-item:hover {
    background-color: #fff3cd !important;
    color: #000 !important;
}

.table.table-striped tbody tr.base-list-item:hover {
    background-color: #fff3cd !important;
    color: #000 !important;
}

.table-striped tbody tr.base-list-item:hover td {
    background-color: #fff3cd !important;
    color: #000 !important;
}

/* Global scroll utility for any list/table panel */
.scroll-panel {
    overflow-y: auto;
    flex: 1;
    border: 1px solid #ddd;
    border-radius: 6px;
    min-height: 0; /* critical for flexbox scrolling */
}

/* Global utility: make container nearly full width on tablets */
.fullwidth-tablet {
    width: 100% !important;
    max-width: 95vw !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

@media (min-width: 1200px) {
    .fullwidth-tablet {
        max-width: 1100px !important; /* your desktop width */
    }
}