body { padding: 20px; }
.hidden { display: none; }

/* Desktop/Default Styles */
.project-card {
    border: 1px solid #ccc;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.timer-display { font-weight: bold; font-size: 1.2em; }
.btn-small { padding: 5px 10px; font-size: 0.8em; width: auto; }
#login-view { text-align: center; margin-top: 100px; }
.nav-active { font-weight: bold; text-decoration: underline; }

/* Card Section for visual separation */
.card-section {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* Custom Primary Button (Darker) */
.btn-custom-primary {
    background-color: #B08D00; /* Darker shade of #FAC800 */
    border-color: #B08D00;
    color: white; /* White text for contrast on dark background */
}
.btn-custom-primary:hover {
    background-color: #8C7000;
    border-color: #8C7000;
    color: white;
}

/* Reset Quick Add to default or outline if class added */
#btn-quick-add {
    /* Styles removed to allow class-based styling */
}

/* Dashboard Dates Wider */
#dash-start, #dash-end {
    min-width: 150px;
}

/* Calendar Styling */
.fc-day-sat, .fc-day-sun {
    background-color: #f0f0f0 !important;
}
/* Ensure grid cells are also colored in timeGrid view */
.fc-timegrid-col.fc-day-sat, .fc-timegrid-col.fc-day-sun {
    background-color: #f0f0f0 !important;
}

/* Quick Entry Layout */
.quick-entry-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}
.quick-entry-input-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1; /* Take available space */
}
.quick-entry-input-group input {
    margin-bottom: 0 !important;
}
.quick-entry-actions {
    display: flex;
    gap: 5px;
}
.quick-entry-actions button {
    width: auto;
    margin-bottom: 0;
}

/* Mobile Optimizations */
@media (max-width: 768px) {
    body {
        padding: 10px;
        padding-bottom: 60px; /* Space for scrolling */
    }

    /* Navigation */
    nav {
        flex-direction: column;
        align-items: center;
        padding: 0.5rem 1rem !important; /* Override wagner.css */
    }
    nav ul {
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        padding: 0;
    }
    nav ul#nav-links {
        margin-top: 0.5rem;
    }
    nav li {
        padding: 5px;
    }
    nav a {
        font-size: 0.9em;
    }

    /* Project Cards */
    .project-card {
        flex-direction: column;
        align-items: flex-start;
    }
    .project-card > div:last-child {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-top: 10px;
    }
    .project-card button {
        flex: 1;
        margin: 0 2px;
    }

    /* Quick Entry */
    .quick-entry-row {
        flex-direction: column;
        align-items: stretch;
    }
    .quick-entry-input-group {
        width: 100%;
    }
    .quick-entry-input-group label {
        min-width: 50px;
    }
    .quick-entry-actions {
        width: 100%;
        justify-content: space-between;
    }
    .quick-entry-actions button {
        flex: 1;
    }

    /* Buttons */
    button, [role="button"] {
        padding: 0.5rem 1rem;
    }

    /* Dashboard */
    .dashboard-table th, .dashboard-table td {
        font-size: 0.9em;
        padding: 0.5rem;
    }
}

/* Uniform Dialog Size */
dialog article {
    width: 100%;
    max-width: 500px;
}
