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. */ }