    .sfm-filters {
        margin-bottom: 16px;
    }

    .sfm-year {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
    }

    @media screen and (max-width: 600px) {
        .sfm-year {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media screen and (max-width: 350px) {
        .sfm-year {
            grid-template-columns: repeat(1, 1fr);
        }
    }

    .sfm-month {
        border: 1px solid #ddd;
        padding: 8px;
        border-radius: 4px;
        background: #fff;
    }

    .sfm-month.past-month {
        opacity: 0.45;
    }

    .sfm-month-list {
        list-style: none;
        padding-left: 0;
    }

    .sfm-session {
        margin-bottom: 8px;
        padding: 6px;
        border-radius: 4px;
        background: #f9f9f9;
    }

    .sfm-session.session-expired {
        opacity: 0.5;
    }

    .sfm-badge {
        background: #ff5b5b;
        color: #fff;
        padding: 2px 6px;
        border-radius: 3px;
        font-size: 12px;
        margin-right: 6px;
    }