body { font-family: sans-serif; margin: 0; background-color: #121212; color: #e0e0e0; } .container { padding: 20px; max-width: 1200px; margin: auto; } h1 { color: #1DB954; /* Spotify Green */ text-align: center; } table { width: 100%; border-collapse: collapse; margin-top: 20px; background-color: #1e1e1e; } th, td { border: 1px solid #333; padding: 10px 12px; text-align: left; } th { background-color: #282828; cursor: pointer; } tr:nth-child(even) { background-color: #222; } /* Parent and child track styling */ .parent-task-row { background-color: #282828 !important; font-weight: bold; } .child-track-row { background-color: #1a1a1a !important; font-size: 0.9em; } .child-track-indent { color: #1DB954; margin-right: 5px; } /* Track status styling */ .track-status-successful { color: #1DB954; font-weight: bold; } .track-status-skipped { color: #FFD700; font-weight: bold; } .track-status-failed { color: #FF4136; font-weight: bold; } /* Track counts display */ .track-counts { margin-left: 10px; font-size: 0.85em; } .track-count.success { color: #1DB954; } .track-count.skipped { color: #FFD700; } .track-count.failed { color: #FF4136; } /* Back button */ #back-to-history { margin-right: 15px; padding: 5px 10px; background-color: #333; color: white; border: none; border-radius: 4px; cursor: pointer; } #back-to-history:hover { background-color: #444; } .pagination { margin-top: 20px; text-align: center; } .pagination button, .pagination select { padding: 8px 12px; margin: 0 5px; background-color: #1DB954; color: white; border: none; border-radius: 4px; cursor: pointer; } .pagination button:disabled { background-color: #555; cursor: not-allowed; } .filters { margin-bottom: 20px; display: flex; gap: 15px; align-items: center; flex-wrap: wrap; } .filters label, .filters select, .filters input { margin-right: 5px; } .filters select, .filters input { padding: 8px; background-color: #282828; color: #e0e0e0; border: 1px solid #333; border-radius: 4px; } .checkbox-filter { display: flex; align-items: center; gap: 5px; } .status-COMPLETED { color: #1DB954; font-weight: bold; } .status-ERROR { color: #FF4136; font-weight: bold; } .status-CANCELLED { color: #AAAAAA; } .status-skipped { color: #FFD700; font-weight: bold; } .error-message-toggle { cursor: pointer; color: #FF4136; /* Red for error indicator */ text-decoration: underline; } .error-details { display: none; /* Hidden by default */ white-space: pre-wrap; /* Preserve formatting */ background-color: #303030; padding: 5px; margin-top: 5px; border-radius: 3px; font-size: 0.9em; } /* Styling for the buttons in the table */ .btn-icon { background-color: transparent; /* Or a subtle color like #282828 */ border: none; border-radius: 50%; /* Make it circular */ padding: 5px; /* Adjust padding to control size */ cursor: pointer; display: inline-flex; /* Important for aligning the image */ align-items: center; justify-content: center; transition: background-color 0.2s ease; margin-right: 5px; } .btn-icon img { width: 16px; /* Icon size */ height: 16px; filter: invert(1); /* Make icon white if it's dark, adjust if needed */ } .btn-icon:hover { background-color: #333; /* Darker on hover */ } .details-btn:hover img { filter: invert(0.8) sepia(1) saturate(5) hue-rotate(175deg); /* Make icon blue on hover */ } .tracks-btn:hover img { filter: invert(0.8) sepia(1) saturate(5) hue-rotate(90deg); /* Make icon green on hover */ }