.mse-calendar {
    box-sizing: border-box;
    max-width: 705px;
    margin: 48px auto;
    padding: 0 24px 28px;
    color: #280052;
    background: #ffffff;
    font-family: Arial, sans-serif;
}

.mse-calendar * { box-sizing: border-box; }
.mse-program-title { margin: 0; padding: 44px 0 36px; font-size: 38px; color: #23004d; }
.mse-week { padding: 42px 24px 24px; border-top: 4px solid #f2ce00; }
.mse-week + .mse-week { margin-top: 38px; }
.mse-week h3 { margin: 0 0 24px; font-size: 23px; color: #29005c; }
.mse-days { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.mse-day { min-height: 410px; padding: 18px 16px; background: #f3e9ff; border-bottom: 3px solid #f2ce00; color: #25004e; }
.mse-day h4 { margin: 0 0 5px; font-size: 16px; line-height: 1.35; }
.mse-date { margin-bottom: 20px; font-weight: 700; line-height: 1.35; }
.mse-day ul { margin: 0; padding-left: 18px; }
.mse-day li { margin: 0 0 10px; font-size: 14px; line-height: 1.45; }
.mse-day strong { font-weight: 700; }

.mse-admin-week { max-width: 1240px; margin: 24px 0; padding: 18px; border: 1px solid #ccd0d4; background: #fff; }
.mse-admin-days { display: grid; grid-template-columns: repeat(4, minmax(230px, 1fr)); gap: 16px; }
.mse-admin-day { padding: 14px; background: #f6f7f7; border: 1px solid #dcdcde; }
.mse-admin-day h3, .mse-admin-day h4 { margin-top: 0; }
.mse-admin-day input { width: 100%; }
.mse-event-row { display: flex; gap: 6px; margin: 6px 0; }
.mse-event-row .mse-time { width: 64px; flex: 0 0 64px; }
.mse-event-row .mse-event-text { flex: 1; }

@media (max-width: 760px) {
    .mse-calendar { margin: 24px auto; padding: 0 14px 18px; }
    .mse-program-title { font-size: 30px; padding: 30px 0 24px; }
    .mse-week { padding: 28px 14px 18px; }
    .mse-days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mse-day { min-height: 0; }
}

@media (max-width: 430px) {
    .mse-days { grid-template-columns: 1fr; }
}

