.class-color-palette-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    max-width: 280px;
}

.class-color-palette-swatch {
    aspect-ratio: 1;
    border-radius: var(--radius-md, 8px);
    border: none;
    cursor: pointer;
    padding: 0;
}

.class-color-palette-swatch.is-selected {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--brand-accent, #356a9e);
}

.class-color-palette-custom {
    background: conic-gradient(from 0deg, #df641d, #cfa23a, #1f9d4d, #2f6fb0, #6f54a8, #c96b8e, #df641d);
    display: flex;
    align-items: center;
    justify-content: center;
}

.class-color-palette-custom-inner {
    width: 62%;
    height: 62%;
    border-radius: 6px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--text-secondary, #5a6a80);
}

.class-color-preview-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: var(--space-3, 12px);
    padding-top: var(--space-3, 12px);
    border-top: 1px solid var(--border-color, #dde3ea);
    flex-wrap: wrap;
}

.class-color-preview-chip {
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    border-left: 3px solid var(--preview-accent, var(--brand-accent, #356a9e));
    white-space: nowrap;
}

.project-list-item__swatch {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
    flex-shrink: 0;
}

.project-list-item {
    display: flex;
    align-items: center;
    text-align: left;
}

.companion-lesson-day .event-bar--project {
    border-left: 3px solid var(--lesson-accent, var(--brand-accent));
}

.companion-lesson-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 4px;
    vertical-align: middle;
}
