/* Roster specific styles */
:root {
    --cband-color: #66FFFF;  /* Original light blue (#6FF) for Citizens Band members */
    --aband-color: #FFCCFF;  /* Original light pink (#FCF) for Alumni Band members */
    --table-border: #dee2e6;
    --table-hover: rgba(0, 0, 0, 0.075);
    --table-stripe: rgba(0, 0, 0, 0.02);
}

/* Layout */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background: white;
}

.header {
    text-align: center;
    padding: 20px;
    position: relative;
    background: var(--primary);
    border-radius: 8px;
    margin-top: 20px;
}

.logo-link {
    display: inline-block;
    transition: transform 0.3s ease;
}

.logo-link:hover {
    transform: scale(1.02);
}

.logo-link img {
    max-width: 200px;
    height: auto;
    width: 100%;
}

.row {
    display: flex;
    flex-wrap: nowrap;
    margin: 20px 0;
    gap: 20px;
}

.lside {
    flex: 0 0 200px;
    padding: 20px;
}

.main {
    flex: 1;
    padding: 20px;
    min-width: 0;
}

.rside {
    flex: 0 0 200px;
    padding: 20px;
}

/* Responsive Layout */
@media (max-width: 1024px) {
    .row {
        flex-wrap: wrap;
    }
    
    .lside {
        flex: 1 1 200px;
    }
    
    .main {
        flex: 100%;
        order: -1;
    }
    
    .rside {
        flex: 1 1 200px;
    }
}

@media (max-width: 768px) {
    .row {
        flex-direction: column;
    }
    
    .lside, .main, .rside {
        width: 100%;
    }
}

.rostertable {
    width: 100%;
    margin-bottom: 1rem;
    background-color: transparent;
    border-collapse: collapse;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    font-size: 1rem;
}

.rostertable th {
    padding: 1rem;
    vertical-align: middle;
    background-color: var(--primary, #660000);
    color: white;
    font-weight: 600;
    text-align: left;
    border-bottom: 2px solid var(--table-border);
}

.rostertable td {
    padding: 0.75rem 1rem;
    vertical-align: middle;
    border-top: 1px solid var(--table-border);
}

.rostertable tr:nth-child(even) {
    background-color: var(--table-stripe);
}

.rostertable tr:hover {
    background-color: var(--table-hover);
}

/* Maintain the background colors for band members */
.rostertable td.cband {
    background-color: var(--cband-color);
}

.rostertable td.aband {
    background-color: var(--aband-color);
}

/* Make the table responsive */
@media (max-width: 768px) {
    .rostertable {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .rostertable th,
    .rostertable td {
        white-space: nowrap;
    }
}

/* Add some spacing for the graduation year */
.grad-year {
    color: var(--text-light, #666);
    font-size: 0.9em;
    margin-left: 0.5rem;
}

/* Style for the instrument details */
.instrument {
    font-style: italic;
}

/* Location styling */
.location {
    color: var(--text-light, #666);
}

/* Action buttons */
.roster-actions {
    margin: 2rem 0;
    text-align: center;
}

.btn-add {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background-color: var(--primary, #660000);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.btn-add:hover {
    background-color: var(--hover-primary, #800000);
}