/* ------------------------------
   DASHBOARD SPECIFIC STYLES
------------------------------ */

.dashboard-container {
    max-width: 1200px;
    margin: 20px auto;
    padding: 0 16px;
}

.dashboard-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    background: white;
    padding: 12px 16px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

.dashboard-controls label {
    font-weight: bold;
    font-size: 0.95em;
}

.dashboard-controls select {
    padding: 6px 10px;
    font-size: 0.9em;
    border: 1px solid #ccc;
    border-radius: 4px;
    min-width: 200px;
}

.dashboard-controls .download-btn {
    margin-left: auto;
    padding: 6px 16px;
    font-size: 0.9em;
    background-color: #57068c;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
}

.dashboard-controls .download-btn:hover {
    background-color: #450670;
}

.dashboard-title {
    font-size: 2em;
    color: #57068c;
    margin: 20px 0;
    font-weight: bold;
}

.dashboard-table-container {
    background: white;
    border-radius: 6px;
    border: 1px solid #ccc;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.dashboard-table {
    width: 100%;
    border-collapse: collapse;
}

.dashboard-table thead {
    background-color: #57068c;
    color: white;
}

.dashboard-table th {
    padding: 12px 16px;
    text-align: left;
    font-weight: bold;
    font-size: 0.95em;
    border-bottom: 2px solid #450670;
}

.dashboard-table tbody tr {
    border-bottom: 1px solid #e0e0e0;
}

.dashboard-table tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.dashboard-table tbody tr:hover {
    background-color: #f0e6f6;
}

.dashboard-table td {
    padding: 10px 16px;
    font-size: 0.9em;
}

.dashboard-table tbody tr:last-child {
    border-bottom: none;
}

/* Total rows styling */
.dashboard-table tfoot .total-row {
    background-color: #f0f0f0;
    border-top: 2px solid #57068c;
}

.dashboard-table tfoot .total-row td {
    padding: 12px 16px;
    font-size: 0.95em;
}

/* Points cell color coding */
.dashboard-table .points-none {
    /* No color - not attempted */
    background-color: transparent;
}

.dashboard-table .points-attempted-zero {
    background-color: #f7c5c5;
    color: #7a2d2d;
    font-weight: bold;
}

.dashboard-table .points-partial {
    background-color: #fff3cd;
    color: #856404;
    font-weight: bold;
}

.dashboard-table .points-full {
    background-color: #c8f7c5;
    color: #2d7a2d;
    font-weight: bold;
}
