* { margin: 0; padding: 0; box-sizing: border-box; } body { /* background: linear-gradient(135deg, rgba(0, 0, 0, 0.9), rgba(20, 20, 40, 0.9)); */ font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; color: white; min-height: 100vh; overflow: hidden; /* Remove rolagem */ font-size: 13px; } #container { width: 800px; height: 550px; margin: 30px auto; background: rgb(15, 15, 25); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; overflow: hidden; } .header { padding: 12px 15px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0; } .header h1 { text-align: center; font-size: 1.4em; margin-bottom: 10px; background: linear-gradient(45deg, #00d4ff, #0099cc); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .stats { display: flex; justify-content: center; gap: 15px; } .stat-card { background: rgba(255, 255, 255, 0.05); padding: 8px 15px; border-radius: 8px; text-align: center; border: 1px solid rgba(255, 255, 255, 0.1); min-width: 70px; } .stat-card.started { border-color: rgba(0, 255, 0, 0.3); background: rgba(0, 255, 0, 0.1); } .stat-card.stopped { border-color: rgba(255, 0, 0, 0.3); background: rgba(255, 0, 0, 0.1); } .stat-number { display: block; font-size: 1.3em; font-weight: bold; color: #00d4ff; } .stat-card.started .stat-number { color: #00ff00; } .stat-card.stopped .stat-number { color: #ff4444; } .stat-label { font-size: 0.75em; opacity: 0.8; } .controls { padding: 10px 15px; display: flex; gap: 15px; align-items: center; flex-shrink: 0; } .buttons { display: flex; gap: 8px; } .filters { display: flex; gap: 4px; } .search { width: 180px; margin-left: auto; } #searchInput { width: 100%; padding: 6px 10px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 6px; color: white; font-size: 12px; } #searchInput::placeholder { color: rgba(255, 255, 255, 0.5); } #searchInput:focus { outline: none; border-color: #00d4ff; box-shadow: 0 0 8px rgba(0, 212, 255, 0.3); } button { padding: 6px 12px; border: none; border-radius: 6px; cursor: pointer; font-weight: 500; transition: all 0.3s ease; font-size: 11px; } .btn-primary { background: linear-gradient(45deg, #00d4ff, #0099cc); color: white; } .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 212, 255, 0.4); } .btn-danger { background: linear-gradient(45deg, #ff4444, #cc3333); color: white; } .btn-danger:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(255, 68, 68, 0.4); } .filter-btn { background: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.7); border: 1px solid rgba(255, 255, 255, 0.2); padding: 5px 10px; font-size: 10px; } .filter-btn.active { background: #00d4ff; color: white; border-color: #00d4ff; } .filter-btn:hover { background: rgba(255, 255, 255, 0.2); } .table-container { flex: 1; overflow-y: auto; min-height: 0; padding-right: 8px; /* Create space for the scrollbar */ } .table-container::-webkit-scrollbar { width: 6px; } .table-container::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.1); } .table-container::-webkit-scrollbar-thumb { background: rgba(0, 212, 255, 0.5); border-radius: 3px; } table { width: 100%; border-collapse: collapse; table-layout: fixed; /* Ensure consistent column widths */ } th, td { padding: 8px 12px; text-align: left; border-bottom: 1px solid rgba(255, 255, 255, 0.1); font-size: 12px; } th { background: rgba(255, 255, 255, 0.05); font-weight: 600; color: #00d4ff; position: sticky; top: 0; z-index: 10; } tr:hover { background: rgba(255, 255, 255, 0.05); } .status-started { color: #00ff00; font-weight: bold; } .status-stopped { color: #ff4444; font-weight: bold; } .status-starting { color: #ffaa00; font-weight: bold; } .action-buttons { display: flex; gap: 4px; } .btn-restart { background: linear-gradient(45deg, #ffaa00, #ff8800); color: white; padding: 4px 8px; font-size: 10px; } .btn-start { background: linear-gradient(45deg, #00ff00, #00cc00); color: white; padding: 4px 8px; font-size: 10px; } .btn-stop { background: linear-gradient(45deg, #ff4444, #cc3333); color: white; padding: 4px 8px; font-size: 10px; } .loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; gap: 10px; flex: 1; } .loading.hidden { display: none; } .spinner { width: 30px; height: 30px; border: 3px solid rgba(255, 255, 255, 0.1); border-left: 3px solid #00d4ff; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* New styles for author and description columns */ th:nth-child(3), td:nth-child(3) { /* Author column */ width: 15%; } th:nth-child(4), td:nth-child(4) { /* Description column */ width: 25%; } .description-cell { max-width: 200px; /* Adjust as needed */ white-space: normal; word-wrap: break-word; overflow: hidden; /* Hide overflow if text is too long */ text-overflow: ellipsis; /* Add ellipsis for truncated text */ display: -webkit-box; -webkit-line-clamp: 2; /* Limit to 2 lines */ -webkit-box-orient: vertical; } /* Ajustes para telas menores */ @media (max-width: 850px) { #container { width: 95%; height: 90vh; max-height: 600px; } .controls { flex-wrap: wrap; gap: 8px; } .search { order: 3; flex-basis: 100%; max-width: none; } .stats { gap: 10px; } .stat-card { min-width: 60px; padding: 6px 10px; } /* Adjust column widths for smaller screens */ th:nth-child(3), td:nth-child(3) { /* Author column */ width: 20%; } th:nth-child(4), td:nth-child(4) { /* Description column */ width: 30%; } .description-cell { -webkit-line-clamp: 1; /* Limit to 1 line on smaller screens */ } } @media (max-height: 600px) { #container { height: 95vh; margin: 10px auto; } .header { padding: 8px 15px; } .header h1 { font-size: 1.2em; margin-bottom: 8px; } .controls { padding: 8px 15px; } }