

.panel-content {
    flex-grow: 1;
    overflow-y: auto;
    padding: 1rem;
    position: relative; /* Needed for loading overlay */
    display: flex; /* Make panel-content a flex container */
    flex-direction: column;
}

#roster-content,
#matchup-content,
#trade-content,
#available-players-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allow content areas to grow */
}

.no-data-message,
.error-message {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-grow: 1; /* Use flex-grow to fill available space */
    color: #a9a9a9;
    font-size: 1.1rem;
    font-weight: 500;
}

.panel-loading {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(33, 33, 42, 0.8);
    z-index: 10;
}

.no-data-message i,
.error-message i {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #555;
    background: -webkit-linear-gradient(#4d4d4d, #333);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.no-data-message p,
.error-message p {
    margin: 0.25rem 0;
    font-weight: 500;
}

.no-data-message p:first-of-type,
.error-message p:first-of-type {
    font-size: 1.1em;
    font-weight: 600;
    color: #b5b5b5;
}

/* Specific overrides can be added if necessary, but base styles are above */
.no-data-message {
    color: var(--text-secondary);
} 