body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8f9fa;
    padding: 20px;
}
.card {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}
.card-header {
    background-color: #e9ecef; /* Slightly darker header */
    font-weight: 600;
}
.btn-filter {
    margin-right: 5px;
}
.table th {
    background-color: #e9ecef; /* Match card header */
    font-weight: 600;
}
#reportTable th:nth-child(1), /* User column */
#reportTable td:nth-child(1) {
    width: 20%;
}
#reportTable th:nth-child(2), /* Period column */
#reportTable td:nth-child(2) {
    width: 25%;
}
#reportTable th:nth-child(3), /* Duration column */
#reportTable td:nth-child(3) {
    width: 15%;
    text-align: center;
}
#reportTable th:nth-child(4), /* State column */
#reportTable td:nth-child(4) {
    width: 15%;
    text-align: center;
}
.spinner-border {
    width: 1.5rem;
    height: 1.5rem;
}
.user-link {
    color: #0d6efd;
    text-decoration: none;
    cursor: pointer;
}
.user-link:hover {
    text-decoration: underline;
}
.modal-body table th:nth-child(1) {
    width: 25%;
}
.modal-body table th:nth-child(2),
.modal-body table th:nth-child(3) {
    width: 30%;
}
.modal-body table th:nth-child(4),
.modal-body table td:nth-child(4) {
    width: 15%;
    text-align: center;
}

/* Sortable columns */
.sortable {
    cursor: pointer;
    position: relative;
}

.sortable:hover {
    background-color: #dee2e6;
}

.sort-icon {
    font-size: 0.8rem;
    margin-left: 5px;
    opacity: 0.5;
}

.sortable[data-dir="asc"] .sort-icon {
    opacity: 1;
}

.sortable[data-dir="desc"] .sort-icon {
    opacity: 1;
    transform: rotate(180deg);
}

/* Styles for specific element widths previously inline */
#weekDaySelect,
#dateSelector {
    width: auto; /* Moved from inline style */
}

#userFilterInputGroup {
    width: 220px; /* Moved from inline style */
}

.toast-container-custom {
    z-index: 1100; /* Bootstrap's default for fixed elements like navbars is 1030, modals are 1050+. Toasts should be high. */
} 