body {
    font-family: 'Poppins', sans-serif;
    background-color: #111827; /* Dark background fallback */
    /* Professional gradient background */
    background-image: linear-gradient(to bottom right, #111827, #1f2937, #111827);
    color: #f3f4f6; /* Light text color */
}

/* Glassmorphism Card Style */
.glass-card {
    background: rgba(255, 255, 255, 0.05); /* Semi-transparent white */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 1rem; /* 16px */
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
}

/* Glassmorphism Input Style */
.glass-input {
    background: rgba(0, 0, 0, 0.2); /* Darker transparent */
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #f3f4f6;
    border-radius: 0.5rem; /* 8px */
    padding: 0.75rem; /* 12px */
    width: 100%;
    transition: all 0.2s ease-in-out;
}
.glass-input:focus {
    outline: none;
    border-color: #a78bfa; /* Violet focus */
    box-shadow: 0 0 0 2px #a78bfa;
}

/* Custom Select Style */
.glass-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
}
.glass-select option {
    background-color: #1f2937; /* Dark background for options */
    color: #f3f4f6;
}

/* Custom Button Style */
.glass-button {
    background: #8b5cf6; /* Violet */
    color: #ffffff;
    font-weight: 500;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease-in-out;
    box-shadow: 0 2px 10px rgba(139, 92, 246, 0.3);
}
.glass-button:hover {
    background: #7c3aed; /* Darker violet */
    box-shadow: 0 4px 15px rgba(139, 92, 246, 0.5);
}

.glass-button-green {
     background: #10b981; /* Green */
     box-shadow: 0 2px 10px rgba(16, 185, 129, 0.3);
}
.glass-button-green:hover {
    background: #059669; /* Darker green */
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.5);
}

/* Process List Item Style */
.process-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(0, 0, 0, 0.3);
    padding: 0.5rem 0.75rem;
    border-radius: 9999px; /* Pill shape */
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.process-item-delete {
    cursor: pointer;
    color: #f87171; /* Red */
    font-weight: bold;
    padding-left: 0.75rem;
    transition: color 0.2s;
}
.process-item-delete:hover {
    color: #ef4444; /* Darker red */
}

/* Gantt Chart Custom Styles */
#gantt-chart-container {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.gantt-block {
    text-align: center;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000; /* Black text for high contrast on light pastels */
    font-weight: 600;
    font-size: 0.875rem;
    height: 50px;
    white-space: nowrap;
    padding: 0 5px;
}
.gantt-block:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.3);
}
.gantt-time-mark {
    position: absolute;
    font-size: 0.75rem;
    transform: translateX(-50%);
    border-left: 1px solid #6b7280; /* Gray tick */
    height: 5px;
    padding-top: 5px;
    color: #d1d5db; /* Light gray text */
}

/* Ready Queue Log Style */
#ready-queue-log-container {
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Custom scrollbar for dark theme */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb {
    background: #4b5563; /* Gray */
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: #6b7280; /* Lighter gray */
}