/* Compact teacher-only controls for the schedule and per-student access. */
.sp-teacher-tools {
    margin: 0 0 14px !important;
    border: 1px solid #cfdedb !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.sp-teacher-tools > summary {
    min-height: 50px !important;
    padding: 11px 48px 11px 16px !important;
}

.sp-teacher-tools > summary > span {
    color: #002f2b !important;
    font-size: 16px !important;
    font-weight: 750 !important;
}

.sp-teacher-tools > summary > small {
    color: #5b716e !important;
    font-size: 12px !important;
}

.sp-teacher-tools[open] > summary {
    border-bottom-color: #cfdedb !important;
    background: #f7fbfa !important;
}

.sp-teacher-tools-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 10px !important;
}

.sp-teacher-tools-content > .sp-obsolete-subscription-calculator,
.sp-teacher-tools-content > .sp-obsolete-student-activation,
.sp-teacher-tools-content > .sp-teacher-tool-action,
.sp-teacher-tools-content > .sp-teacher-month-slot-list {
    display: none !important;
}

.sp-teacher-tool-action,
.sp-teacher-slot-list {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d8e4e2;
    border-radius: 14px;
    background: #fff6e7;
}

.sp-teacher-slot-list { background: #e8e0f2; }

.sp-teacher-tool-action > summary,
.sp-teacher-slot-list > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 45px;
    padding: 10px 13px;
    color: #002f2b;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
    list-style: none;
}

.sp-teacher-tool-action > summary::-webkit-details-marker,
.sp-teacher-slot-list > summary::-webkit-details-marker { display: none; }

.sp-teacher-tool-action > summary::after { content: '+'; font-size: 20px; font-weight: 400; }
.sp-teacher-tool-action[open] > summary::after { content: '−'; }

.sp-teacher-slot-list > summary small {
    display: grid;
    place-items: center;
    min-width: 27px;
    height: 27px;
    padding: 0 7px;
    border-radius: 999px;
    background: #fff;
    color: #002f2b;
    font-size: 12px;
}

.sp-teacher-tool-action > form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin: 0 !important;
    padding: 0 12px 12px;
}

.sp-teacher-tool-action > form label {
    display: grid;
    gap: 4px;
    color: #496763;
    font-size: 12px;
    font-weight: 700;
}

.sp-teacher-tool-action > form button {
    align-self: end;
    min-height: 42px;
    padding: 9px 14px;
    border: 0;
    border-radius: 999px;
    background: #002f2b;
    color: #fff;
    font-weight: 750;
}

.sp-teacher-slot-list > div {
    padding: 0 10px 10px;
    color: #193f3b;
    font-size: 13px;
    line-height: 1.55;
}

.sp-teacher-slot-rows {
    display: grid;
    gap: 6px;
}

.sp-teacher-slot-row {
    display: grid;
    grid-template-columns: 48px 100px minmax(135px, 170px) minmax(140px, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 8px 9px;
    border-radius: 12px;
    background: #fff6e7;
    color: #151515;
}

.sp-teacher-slot-row:nth-child(even) { background: #fff; }
.sp-teacher-slot-row > * { min-width: 0; }
.sp-teacher-slot-row strong {
    overflow-wrap: anywhere;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
    font-size: 13px;
}
.sp-teacher-slot-row time {
    padding: 5px 8px;
    border-radius: 9px;
    background: #b8dcd8;
    color: #123b37;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
}

.sp-teacher-slot-day {
    display: grid;
    place-items: center;
    width: 38px;
    height: 30px;
    border-radius: 10px;
    background: #f1da89;
    color: #123b37;
    font-weight: 850;
}

.sp-teacher-slot-type {
    padding: 5px 8px;
    border-radius: 9px;
    background: #e8e0f2;
    color: #151515;
    font-weight: 750;
    text-align: center;
}

.sp-teacher-slot-row form { margin: 0 !important; }
.sp-teacher-slot-row button {
    min-height: 32px !important;
    padding: 5px 10px !important;
    border: 1px solid #123b37 !important;
    border-radius: 999px !important;
    background: #dceeed !important;
    color: #123b37 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    white-space: nowrap;
}

.sp-teacher-freeze-week-notice {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #c9e1de !important;
    border-radius: 17px !important;
    background: #dceeed !important;
}

.sp-teacher-freeze-week-notice > summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 8px 14px;
    cursor: pointer;
    list-style: none;
}

.sp-teacher-freeze-week-notice > summary::-webkit-details-marker { display: none; }
.sp-teacher-freeze-week-notice > summary strong { flex: 1; font-size: 15px; }
.sp-teacher-freeze-week-notice > summary small {
    display: grid;
    place-items: center;
    min-width: 27px;
    height: 27px;
    padding: 0 7px;
    border-radius: 999px;
    background: #fff;
    color: #002f2b;
    font-weight: 800;
}

.sp-teacher-freeze-week-notice .sp-teacher-freeze-week-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 11px;
    font-size: 16px;
}

.sp-teacher-freeze-week-content { padding: 0 14px 12px; }

.sp-teacher-calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
}

.sp-teacher-calendar-toolbar > .student-calendar-nav {
    flex: 0 0 auto;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    max-width: 720px;
    min-height: 58px;
    margin: 0 !important;
    padding: 7px 9px !important;
    border-radius: 18px !important;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar > summary {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 4px 7px;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar > summary strong {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar .sp-teacher-freeze-week-content {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar .sp-teacher-freeze-week-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar .sp-teacher-freeze-week-list > span {
    min-height: 28px;
    padding: 4px 8px;
    border-radius: 10px;
    font-size: 11px;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar .sp-teacher-freeze-week-list small {
    font-size: 10px;
}

.sp-teacher-subscription-access {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 12px;
    padding: 17px;
    border: 1px solid #c9e1de;
    border-radius: 17px;
    background: #dceeed;
}

.sp-teacher-subscription-access h3 { margin: 0 0 4px; }
.sp-teacher-subscription-access p { margin: 0; color: #496763; }
.sp-teacher-subscription-access form { flex: 0 0 auto; margin: 0; }
.sp-teacher-access-status {
    flex: 0 0 auto;
    padding: 8px 12px;
    border-radius: 999px;
    background: #002f2b;
    color: #fff;
    font-size: 13px;
    font-weight: 750;
}

@media (max-width: 760px) {
    .sp-teacher-tools-content { grid-template-columns: 1fr !important; }
    .sp-teacher-tool-action > form { grid-template-columns: 1fr 1fr; }
    .sp-teacher-subscription-access { align-items: stretch; flex-direction: column; }
    .sp-teacher-subscription-access form,
    .sp-teacher-subscription-access button { width: 100%; }
    .sp-teacher-access-status { align-self: flex-start; }
    .sp-teacher-slot-row {
        grid-template-columns: 42px 92px minmax(0, 1fr) auto;
    }
    .sp-teacher-slot-row strong { grid-column: 2 / 4; }
    .sp-teacher-slot-row form { grid-column: 4; grid-row: 1 / 3; }
}

@media (max-width: 1180px) {
    .sp-teacher-calendar-toolbar {
        align-items: stretch;
        flex-direction: column;
    }
    .sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar {
        width: 100% !important;
        max-width: none;
    }
}

/* 3.14.41 — one continuous weekday bar and compact white dialogs. */
.student-calendar .student-calendar-corner,
.student-calendar .student-calendar-grid-day-header,
.student-calendar .student-calendar-grid-day-header:nth-child(3n),
.student-calendar .student-calendar-grid-day-header:nth-child(3n + 1) {
    border-radius: 0 !important;
    background: #e9e0f2 !important;
    box-shadow: none !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) {
    background: rgba(18, 59, 55, .2) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) > div {
    width: min(620px, calc(100vw - 28px)) !important;
    padding: 20px !important;
    border: 1px solid #d9dfdd !important;
    border-radius: 20px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 0 22px 65px rgba(18, 59, 55, .2) !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div {
    width: min(760px, calc(100vw - 28px)) !important;
    gap: 9px !important;
    padding: 20px !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) :is(h2, h3, h4) {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > h3 {
    margin-bottom: 4px !important;
    font-size: 23px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > h4 {
    margin: 4px 0 0 !important;
    font-size: 18px !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) :is(input:not([type="hidden"]), select, textarea) {
    min-height: 40px !important;
    padding: 8px 11px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) button:not([onclick^="spClose"]):not([style*="position:absolute"]),
body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) a[id] {
    min-height: 39px !important;
    padding: 8px 14px !important;
    box-shadow: none !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) button[onclick^="spClose"] {
    top: 11px !important;
    right: 11px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
    grid-template-columns: minmax(165px, 1.2fr) minmax(100px, .7fr) minmax(100px, .7fr) minmax(150px, .9fr) !important;
    gap: 9px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) > button {
    width: min(210px, 100%) !important;
}

@media (max-width: 760px) {
    body.sp-design-system-page :is(
        #sp-block-modal,
        #sp-open-slot-modal,
        #sp-manual-free-slot-modal,
        #sp-delete-modal,
        #sp-delete-open-slot-modal,
        #sp-lesson-actions-modal,
        #sp-student-lesson-modal,
        #sp-student-reschedule-modal,
        #sp-pending-reschedule-modal,
        #sp-freeze-workoff-modal,
        #sp-lesson-modal,
        #sp-subscription-conflicts-modal,
        #sp-trial-booking-notice-modal
    ) > div {
        width: calc(100vw - 12px) !important;
        padding: 17px 15px !important;
        border-radius: 17px !important;
    }

    body.sp-design-system-page #sp-lesson-actions-modal > div {
        gap: 7px !important;
    }

    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        grid-template-columns: 1fr !important;
    }
}

/* High-specificity finish: legacy design-system rules must not flatten dialogs. */
body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) > div {
    border: 1px solid #d8cce4 !important;
    background:
        radial-gradient(circle at 100% 0, rgba(233, 224, 242, .8), transparent 31%),
        #fffaf1 !important;
    box-shadow: 0 30px 90px rgba(18, 59, 55, .24) !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(1) > button {
    border-color: #8fbfba !important;
    background: #dceeed !important;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
    box-shadow: none !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(2) > button,
body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) > button,
body.sp-design-system-page #sp-delete-modal button[type="submit"],
body.sp-design-system-page #sp-delete-open-slot-modal button[type="submit"] {
    border-color: #d7a7a0 !important;
    background: #f7e4e0 !important;
    color: #743b34 !important;
    -webkit-text-fill-color: #743b34 !important;
    box-shadow: none !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(3) > button {
    border-color: #c5b4d6 !important;
    background: #e9e0f2 !important;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
    box-shadow: none !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) > button,
body.sp-design-system-page #sp-manual-free-slot-modal button[type="button"] {
    border-color: #bfaed0 !important;
    background: #fff !important;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
    box-shadow: none !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) button[onclick^="spClose"] {
    border-color: #c9b8d8 !important;
    background: #f1eaf6 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div {
    width: min(840px, calc(100vw - 32px)) !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(180px, 1.25fr) minmax(110px, .75fr) minmax(110px, .75fr) minmax(170px, 1fr) !important;
    gap: 12px !important;
    align-items: end !important;
    width: 100% !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) label {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) :is(input, button) {
    width: 100% !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) {
    grid-column: 1 / -1 !important;
    display: flex !important;
    justify-content: flex-end !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) > button {
    width: min(240px, 100%) !important;
}

@media (max-width: 760px) {
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        grid-template-columns: 1fr !important;
    }

    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) > button {
        width: 100% !important;
    }
}

@media (max-width: 520px) {
    .sp-teacher-tools > summary { align-items: flex-start !important; }
    .sp-teacher-tool-action > form { grid-template-columns: 1fr; }
    .sp-teacher-freeze-week-list { display: grid; }
    .sp-teacher-slot-row {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 7px;
    }
    .sp-teacher-slot-row time,
    .sp-teacher-slot-type { text-align: left; }
    .sp-teacher-slot-row strong { grid-column: 2; }
    .sp-teacher-slot-row form { grid-column: 1 / -1; grid-row: auto; }
    .sp-teacher-slot-row button { width: 100%; }
}

/* 3.14.36 — softer blue freezes and a polished weekly calendar. */
.sp-teacher-freeze-week-notice,
.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar {
    border-color: #bfd8ea !important;
    background: linear-gradient(135deg, #edf7fd 0%, #e1f0fa 100%) !important;
    box-shadow: 0 10px 26px rgba(61, 116, 151, .09) !important;
}

.sp-teacher-freeze-week-notice .sp-teacher-freeze-week-icon {
    display: grid;
    place-items: center;
    background: #cfe5f4 !important;
    color: #24546f !important;
}

.sp-teacher-calendar-toolbar .sp-teacher-freeze-week-notice.is-toolbar .sp-teacher-freeze-week-list > span {
    border: 1px solid rgba(83, 137, 171, .16);
    background: rgba(255, 255, 255, .82) !important;
    color: #173f57 !important;
    box-shadow: 0 3px 9px rgba(61, 116, 151, .06);
}

.student-calendar {
    background:
        radial-gradient(circle at 96% 4%, rgba(207, 229, 244, .38), transparent 22%),
        linear-gradient(145deg, #fff 0%, #fffaf1 100%) !important;
    box-shadow: 0 22px 60px rgba(18, 59, 55, .08) !important;
}

.student-calendar-header {
    margin-bottom: 26px !important;
}

.student-calendar-week {
    border: 1px solid rgba(241, 218, 137, .34);
    box-shadow: 0 5px 14px rgba(18, 59, 55, .04);
}

.student-calendar-nav > a,
.sp-calendar-date-form {
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

.student-calendar-nav > a:hover,
.student-calendar-nav > a:focus-visible,
.sp-calendar-date-form:focus-within {
    transform: translateY(-2px);
    border-color: #7faeaa !important;
    box-shadow: 0 9px 20px rgba(18, 59, 55, .1) !important;
}

.student-calendar-nav > a[href*="week=0"] {
    border-color: #9ac8c4 !important;
    background: #dceeed !important;
    color: #123b37 !important;
}

.student-calendar-grid-view {
    border-color: #c8d8d5 !important;
    background: #fffdfa !important;
    box-shadow: 0 16px 38px rgba(18, 59, 55, .08) !important;
}

.student-calendar-corner,
.student-calendar-grid-day-header {
    border-color: #d9e3e1 !important;
}

.student-calendar-grid-day-header {
    padding: 15px 8px !important;
    background: #fff6e7 !important;
    color: #123b37 !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
}

.student-calendar-grid-day-header:nth-child(3n) { background: #edf7fd !important; }
.student-calendar-grid-day-header:nth-child(3n + 1) { background: #f3eef8 !important; }

.student-calendar-time-column {
    border-color: #d9e3e1 !important;
    background: #f7fbfa !important;
}

.student-calendar-time-row {
    border-color: #e4ebe9 !important;
    color: #55706d !important;
    font-weight: 700 !important;
}

.student-calendar-grid-day {
    border-color: #e1e8e6 !important;
    background: rgba(255, 255, 255, .76) !important;
}

.student-calendar-grid-day:nth-of-type(even) {
    background: rgba(252, 249, 244, .72) !important;
}

.student-calendar-hour-line { border-color: #e8eeec !important; }

.student-slot-positioned {
    left: 7px !important;
    right: 7px !important;
    border-width: 1px 1px 1px 3px !important;
    border-radius: 13px !important;
    box-shadow: 0 5px 13px rgba(18, 59, 55, .08) !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
}

.student-slot-positioned:hover {
    z-index: 4;
    transform: translateY(-1px);
    box-shadow: 0 9px 20px rgba(18, 59, 55, .13) !important;
}

.student-calendar .student-slot-lesson {
    border-color: #aa98c7 !important;
    background: linear-gradient(145deg, #eee7f5, #e4d9ef) !important;
}

.student-calendar .student-slot-free {
    border-color: #77aaa5 !important;
    background: linear-gradient(145deg, #dff1ef, #cce7e4) !important;
}

.student-calendar .student-slot-google-event,
.student-calendar .student-slot-manual-block {
    border-color: #d1b75b !important;
    background: linear-gradient(145deg, #fff9eb, #f7e9bb) !important;
    color: #4a4020 !important;
}

.student-slot-positioned .student-slot-time {
    margin-top: 5px !important;
    font-weight: 750 !important;
}

@media (max-width: 760px) {
    .student-calendar { box-shadow: 0 14px 34px rgba(18, 59, 55, .07) !important; }
    .student-calendar-header { margin-bottom: 20px !important; }
    .student-calendar-grid-day-header { padding: 12px 7px !important; }
    .student-slot-positioned { left: 5px !important; right: 5px !important; }
}

/* 3.14.38 — calm lilac weekday bar and unified schedule dialogs. */
.student-calendar .student-calendar-grid-day-header,
.student-calendar .student-calendar-grid-day-header:nth-child(3n),
.student-calendar .student-calendar-grid-day-header:nth-child(3n + 1) {
    border-color: #d4c7e2 !important;
    background: #e9e0f2 !important;
    color: #123b37 !important;
}

.student-calendar .student-calendar-corner {
    border-color: #d4c7e2 !important;
    background: #e9e0f2 !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) {
    background: rgba(18, 59, 55, .27) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) > div {
    border: 1px solid #d8cce4 !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(233, 224, 242, .78), transparent 30%),
        #fffaf1 !important;
    box-shadow: 0 30px 90px rgba(18, 59, 55, .24) !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) :is(h2, h3, h4) {
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
    letter-spacing: -.02em !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) :is(input:not([type="hidden"]), select, textarea) {
    min-height: 46px !important;
    padding: 10px 13px !important;
    border: 1.5px solid #cfc1dc !important;
    border-radius: 13px !important;
    outline: 0 !important;
    background: rgba(255, 255, 255, .9) !important;
    color: #123b37 !important;
    box-shadow: 0 4px 12px rgba(18, 59, 55, .04) !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) :is(input:not([type="hidden"]), select, textarea):focus {
    border-color: #8d71a9 !important;
    box-shadow: 0 0 0 4px rgba(196, 178, 215, .25) !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) button:not([onclick^="spClose"]):not([style*="position:absolute"]),
:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) a[id] {
    min-height: 44px !important;
    padding: 10px 17px !important;
    border: 1px solid #123b37 !important;
    border-radius: 999px !important;
    background: #123b37 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 7px 16px rgba(18, 59, 55, .14) !important;
    font-weight: 750 !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) button:not([onclick^="spClose"]):not([style*="position:absolute"]):hover,
:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) a[id]:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(18, 59, 55, .19) !important;
}

:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) button[onclick^="spClose"],
:is(
    #sp-block-modal,
    #sp-open-slot-modal,
    #sp-manual-free-slot-modal,
    #sp-delete-modal,
    #sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,
    #sp-student-lesson-modal,
    #sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,
    #sp-freeze-workoff-modal,
    #sp-lesson-modal,
    #sp-subscription-conflicts-modal,
    #sp-trial-booking-notice-modal
) > div > button[style*="position:absolute"] {
    border-color: #c9b8d8 !important;
    background: #f1eaf6 !important;
    color: transparent !important;
}

#sp-lesson-actions-modal > div > form:nth-of-type(1) > button {
    border-color: #8fbfba !important;
    background: #dceeed !important;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
}

#sp-lesson-actions-modal > div > form:nth-of-type(2) > button,
#sp-lesson-actions-modal > div > form:nth-of-type(5) > button,
#sp-delete-modal button[type="submit"],
#sp-delete-open-slot-modal button[type="submit"] {
    border-color: #d7a7a0 !important;
    background: #f7e4e0 !important;
    color: #743b34 !important;
    -webkit-text-fill-color: #743b34 !important;
    box-shadow: none !important;
}

#sp-lesson-actions-modal > div > form:nth-of-type(3) > button {
    border-color: #c5b4d6 !important;
    background: #e9e0f2 !important;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
}

#sp-lesson-actions-modal > div > form:nth-of-type(4) > button,
#sp-manual-free-slot-modal button[type="button"] {
    border-color: #bfaed0 !important;
    background: #fff !important;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
    box-shadow: none !important;
}

#sp-lesson-actions-modal hr {
    border: 0 !important;
    border-top: 1px solid #d9cde4 !important;
}

@media (max-width: 760px) {
    :is(
        #sp-block-modal,
        #sp-open-slot-modal,
        #sp-manual-free-slot-modal,
        #sp-delete-modal,
        #sp-delete-open-slot-modal,
        #sp-lesson-actions-modal,
        #sp-student-lesson-modal,
        #sp-student-reschedule-modal,
        #sp-pending-reschedule-modal,
        #sp-freeze-workoff-modal,
        #sp-lesson-modal,
        #sp-subscription-conflicts-modal,
        #sp-trial-booking-notice-modal
    ) > div {
        border-radius: 21px !important;
    }
}

/* 3.14.42 final overrides — intentionally last in the stylesheet. */
body.sp-design-system-page .student-calendar :is(.student-calendar-corner,.student-calendar-grid-day-header),
body.sp-design-system-page .student-calendar .student-calendar-grid-day-header:nth-child(3n),
body.sp-design-system-page .student-calendar .student-calendar-grid-day-header:nth-child(3n + 1) {
    border-radius: 0 !important;
    background: #e9e0f2 !important;
    box-shadow: none !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,
    #sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,
    #sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,
    #sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) > div {
    width: min(620px, calc(100vw - 28px)) !important;
    padding: 20px !important;
    border: 1px solid #d9dfdd !important;
    border-radius: 20px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: 0 22px 65px rgba(18,59,55,.2) !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div {
    width: min(760px, calc(100vw - 28px)) !important;
    gap: 9px !important;
    padding: 20px !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,
    #sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,
    #sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,
    #sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) :is(input:not([type="hidden"]),select,textarea) {
    min-height: 40px !important;
    padding: 8px 11px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,
    #sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,
    #sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,
    #sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) button:not([onclick^="spClose"]):not([style*="position:absolute"]),
body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,
    #sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,
    #sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,
    #sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) a[id] {
    min-height: 39px !important;
    padding: 8px 14px !important;
    box-shadow: none !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
    grid-template-columns: minmax(155px,1.2fr) minmax(92px,.7fr) minmax(92px,.7fr) minmax(142px,.9fr) !important;
    gap: 9px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) > button {
    width: min(200px,100%) !important;
}

@media (max-width:760px) {
    body.sp-design-system-page :is(
        #sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,
        #sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,
        #sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,
        #sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
    ) > div {
        width: calc(100vw - 12px) !important;
        padding: 17px 15px !important;
        border-radius: 17px !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        grid-template-columns: 1fr !important;
    }
}

/* 3.14.45 — keep status actions compact while giving the reschedule form full width. */
body.sp-design-system-page #sp-lesson-actions-modal > div {
    grid-template-columns: repeat(3, 155px) minmax(0, 1fr) !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(1) { grid-column: 1 !important; }
body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(2) { grid-column: 2 !important; }
body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(3) { grid-column: 3 !important; }

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(180px,1.2fr) minmax(105px,.7fr) minmax(105px,.7fr) 160px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) > button {
    min-width: 160px !important;
    white-space: nowrap !important;
}

@media (max-width:760px) {
    body.sp-design-system-page #sp-lesson-actions-modal > div {
        grid-template-columns: 1fr 1fr !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(1),
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(2),
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(3),
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        grid-column: auto !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(3),
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        grid-column: 1 / -1 !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        grid-template-columns: 1fr !important;
    }
}

/* 3.14.44 — white calendar columns and dialog layout based on the manual-lesson reference. */
body.sp-design-system-page .student-calendar .student-calendar-grid-day,
body.sp-design-system-page .student-calendar .student-calendar-grid-day:nth-of-type(even),
body.sp-design-system-page .student-calendar .student-calendar-grid-day:nth-of-type(odd) {
    background: #fff !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,
    #sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) > div {
    width: min(560px, calc(100vw - 28px)) !important;
    padding: 24px !important;
    border-color: #dfd1eb !important;
    border-radius: 24px !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,
    #sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) :is(h2,h3):first-of-type {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: 0 50px 20px 0 !important;
    color: #123b37 !important;
    font-size: clamp(21px, 3vw, 27px) !important;
    font-weight: 650 !important;
    line-height: 1.18 !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,
    #sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) :is(h2,h3):first-of-type::before {
    content: "✦";
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    margin-right: 12px;
    border-radius: 14px;
    background: #8064a2;
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-size: 19px;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,
    #sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) :is(form,#sp-student-lesson-content) {
    gap: 14px !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,
    #sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) label {
    gap: 6px !important;
    color: #123b37 !important;
    font-weight: 750 !important;
}

body.sp-design-system-page :is(
    #sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,
    #sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,
    #sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,
    #sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
) :is(input:not([type="hidden"]),select,textarea) {
    border-color: #d9cce4 !important;
    background: #fff !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div {
    grid-template-columns: repeat(3, minmax(120px, 170px)) !important;
    justify-content: start !important;
    width: min(720px, calc(100vw - 28px)) !important;
    gap: 11px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > #sp-actions-open-class {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 170px !important;
    margin: 0 0 4px !important;
    padding-inline: 22px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:not(:nth-of-type(4)):not(:nth-of-type(5)) {
    width: auto !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:not(:nth-of-type(4)):not(:nth-of-type(5)) > button {
    width: 100% !important;
    min-width: 0 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > hr {
    margin: 5px 0 2px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > h4 {
    margin: 0 !important;
    font-size: 18px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
    grid-template-columns: minmax(165px,1.15fr) minmax(95px,.65fr) minmax(95px,.65fr) auto !important;
    gap: 10px !important;
    padding: 14px !important;
    border: 1px solid #eadff2 !important;
    border-radius: 16px !important;
    background: #faf7fc !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) > button {
    width: auto !important;
    min-width: 145px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) {
    margin-top: 1px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) > button {
    width: auto !important;
    min-width: 150px !important;
}

body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal) .sp-modal-content form > button[type="submit"],
body.sp-design-system-page :is(#sp-delete-modal,#sp-delete-open-slot-modal) form > button[type="submit"] {
    align-self: end !important;
    width: auto !important;
    min-width: 150px !important;
    margin-top: 2px !important;
}

body.sp-design-system-page #sp-block-modal .sp-manual-free-open {
    width: auto !important;
    min-width: 190px !important;
    margin: 5px 0 0 !important;
    padding: 10px 17px !important;
    background: #8064a2 !important;
}

@media (max-width:760px) {
    body.sp-design-system-page :is(
        #sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,
        #sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,
        #sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,
        #sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal
    ) > div {
        padding: 19px 16px !important;
        border-radius: 20px !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div {
        grid-template-columns: 1fr 1fr !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div > h3,
    body.sp-design-system-page #sp-lesson-actions-modal > div > #sp-actions-open-class,
    body.sp-design-system-page #sp-lesson-actions-modal > div > hr,
    body.sp-design-system-page #sp-lesson-actions-modal > div > h4,
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4),
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) {
        grid-column: 1 / -1 !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        grid-template-columns: 1fr !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) > button,
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(5) > button,
    body.sp-design-system-page #sp-block-modal .sp-manual-free-open {
        width: 100% !important;
    }
}

/* 3.14.46 final alignment — the reschedule card uses the available dialog width. */
body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
    width: min(620px, 100%) !important;
    grid-template-columns: minmax(180px,1.2fr) minmax(105px,.7fr) minmax(105px,.7fr) 160px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) > button {
    min-width: 160px !important;
    white-space: nowrap !important;
}

@media (max-width:760px) {
    body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
        width: 100% !important;
        grid-template-columns: 1fr !important;
    }
}

/* 3.14.47 — no partial card behind the reschedule controls. */
body.sp-design-system-page #sp-lesson-actions-modal > div > form:nth-of-type(4) {
    padding: 5px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* 3.14.48 — semantic, designer-led lesson dialog. */
body.sp-design-system-page #sp-lesson-actions-modal > div {
    display: block !important;
    width: min(680px, calc(100vw - 28px)) !important;
    padding: 26px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-actions-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding-right: 44px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-actions-head h3 {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    color: #123b37 !important;
    font-size: 25px !important;
    font-weight: 650 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-actions-head h3::before {
    content: "✦" !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    margin-right: 12px !important;
    border-radius: 14px !important;
    background: #8064a2 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 19px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal #sp-actions-open-class {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 15px !important;
    border-color: #8064a2 !important;
    background: #8064a2 !important;
    white-space: nowrap !important;
}

body.sp-design-system-page #sp-lesson-actions-modal :is(.sp-lesson-status-section,.sp-lesson-reschedule-section) {
    margin-top: 18px !important;
    padding-top: 18px !important;
    border-top: 1px solid #e6e9e8 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal :is(.sp-lesson-status-section,.sp-lesson-reschedule-section) h4 {
    margin: 0 0 4px !important;
    color: #123b37 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section > p {
    margin: 0 0 13px !important;
    color: #6a7775 !important;
    font-size: 13px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-top: 11px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions form {
    margin: 0 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions button {
    width: auto !important;
    min-width: 130px !important;
    min-height: 40px !important;
    padding: 8px 16px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions form:nth-child(1) button {
    border-color: #a9ceca !important;
    background: #e6f3f1 !important;
    color: #123b37 !important;
    -webkit-text-fill-color: #123b37 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions form:nth-child(2) button {
    border-color: #dfc6c1 !important;
    background: #f8ece9 !important;
    color: #70443e !important;
    -webkit-text-fill-color: #70443e !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions form:nth-child(3) button {
    border-color: #d3c5df !important;
    background: #f0eaf5 !important;
    color: #4f3b61 !important;
    -webkit-text-fill-color: #4f3b61 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section form {
    display: grid !important;
    grid-template-columns: minmax(180px,1.25fr) minmax(100px,.7fr) minmax(100px,.7fr) auto !important;
    gap: 10px !important;
    align-items: end !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section form label {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
    font-size: 12px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section form button {
    width: auto !important;
    min-width: 150px !important;
    min-height: 40px !important;
    border-color: #123b37 !important;
    background: #123b37 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    white-space: nowrap !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-danger-zone {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 16px !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-danger-zone form {
    margin: 0 !important;
}

body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-danger-zone button {
    width: auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 7px 12px !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #9a5f58 !important;
    -webkit-text-fill-color: #9a5f58 !important;
    font-size: 12px !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

@media (max-width:760px) {
    body.sp-design-system-page #sp-lesson-actions-modal > div {
        padding: 20px 16px !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-actions-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        padding-right: 42px !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal #sp-actions-open-class {
        width: 100% !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions form:nth-child(3) {
        grid-column: 1 / -1 !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-status-actions button {
        width: 100% !important;
        min-width: 0 !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section form {
        grid-template-columns: 1fr 1fr !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section form label:first-of-type,
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section form button {
        grid-column: 1 / -1 !important;
    }
    body.sp-design-system-page #sp-lesson-actions-modal .sp-lesson-reschedule-section form button {
        width: 100% !important;
    }
}
/* 3.14.50 — private recurring availability shown only to its student. */
body.sp-design-system-page .sp-personal-slot-offer{border:1.5px solid #8064a2!important;border-left:5px solid #8064a2!important;background:#f1eaf7!important;color:#123b37!important;box-shadow:0 8px 20px rgba(128,100,162,.13)!important;cursor:pointer}.sp-personal-slot-offer strong{display:block;font-size:12px;font-weight:850}.sp-personal-slot-offer .student-slot-time{color:#5e4775!important;font-weight:800!important}
/* 3.14.51 — compact fixed and dynamic availability controls. */
body.sp-design-system-page .sp-rest-rule-card{position:relative;margin:0;padding:18px;border:1px solid #d9cde5;border-radius:20px;background:#fbf8fd}.sp-rest-rule-card>div{display:flex;align-items:flex-start;gap:11px}.sp-rest-rule-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#8064a2;color:#fff;font-size:19px}.sp-rest-rule-card h3{margin:0 0 3px!important;color:#123b37!important;font-size:17px!important}.sp-rest-rule-card p{margin:0!important;color:#687673!important;font-size:12px!important}.sp-rest-rule-card>form{display:grid!important;grid-template-columns:1.2fr 1fr 1fr auto!important;gap:9px!important;align-items:end!important;margin-top:14px!important}.sp-rest-rule-card form label{display:grid!important;gap:5px!important;margin:0!important}.sp-rest-rule-card form label>span{font-size:11px!important;font-weight:800!important;color:#123b37!important}.sp-rest-rule-card .sp-rest-rule-switch{display:flex!important;align-items:center!important;gap:8px!important;min-height:42px!important}.sp-rest-rule-switch input{width:18px!important;height:18px!important;min-height:0!important}.sp-rest-rule-card :is(select,button){min-height:42px!important}.sp-rest-rule-card button{width:auto!important;min-width:145px!important;padding:8px 14px!important;background:#123b37!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.sp-rest-rule-card>details{margin-top:12px;padding-top:12px;border-top:1px solid #e4dce9}.sp-rest-rule-card>details summary{cursor:pointer;color:#5e4775;font-size:12px;font-weight:800}.sp-rest-rule-card>details p{padding-top:8px!important}.sp-rest-rule-saved{position:absolute;top:18px;right:18px;padding:4px 8px;border-radius:999px;background:#e6f3f1;color:#123b37;font-size:10px;font-weight:800}@media(max-width:820px){.sp-rest-rule-card>form{grid-template-columns:1fr 1fr!important}.sp-rest-rule-card .sp-rest-rule-switch,.sp-rest-rule-card button{grid-column:1/-1!important}.sp-rest-rule-card button{width:100%!important}}@media(max-width:520px){.sp-rest-rule-card>form{grid-template-columns:1fr!important}.sp-rest-rule-card>form>*{grid-column:1!important}}
/* 3.14.53 — one calm modal system and readable blue blocked-time cards. */
body.sp-design-system-page .student-calendar .student-slot-manual-block{border:1px solid #b8d6e8!important;border-left:5px solid #78afd0!important;background:#eaf5fb!important;background-image:none!important;color:#244d63!important;padding:7px 8px!important;box-shadow:0 5px 14px rgba(67,126,158,.11)!important;overflow:hidden!important}.student-slot-manual-block>strong{display:block!important;margin:0!important;color:#244d63!important;font-size:11px!important;font-weight:850!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.student-slot-manual-block .sp-block-reason{display:flex!important;align-items:baseline!important;gap:5px!important;margin-top:3px!important;min-width:0!important;line-height:1.12!important}.student-slot-manual-block .sp-block-reason span{flex:0 0 auto!important;color:#59859c!important;font-size:8px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.04em!important}.student-slot-manual-block .sp-block-reason b{min-width:0!important;color:#244d63!important;font-size:10px!important;font-weight:750!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.student-slot-manual-block .student-slot-time{margin-top:3px!important;color:#356b86!important;font-size:10px!important;line-height:1.1!important}.student-slot-manual-block>small{display:none!important}

body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal)>div{width:min(620px,calc(100vw - 28px))!important;max-height:min(86vh,760px)!important;overflow-y:auto!important;padding:24px!important;border:1px solid #dfe4e2!important;border-radius:24px!important;background:#fff!important;background-color:#fff!important;background-image:none!important;box-shadow:0 28px 80px rgba(18,59,55,.20)!important}
body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal)>div>h3{display:flex!important;align-items:center!important;min-height:42px!important;margin:0 46px 18px 0!important;color:#123b37!important;font-size:23px!important;font-weight:700!important;line-height:1.15!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal)>div>h3:before{content:"✦"!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;flex:0 0 42px!important;margin-right:12px!important;border-radius:13px!important;background:#8064a2!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:16px!important}
body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal) form{gap:12px!important;margin:0!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal) form label{gap:6px!important;margin:0!important;color:#123b37!important;font-size:12px!important;font-weight:800!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal) form label small{display:block!important;color:#75817f!important;font-size:10px!important;font-weight:500!important;line-height:1.35!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal) :is(input:not([type=hidden]),select,textarea){min-height:44px!important;border:1px solid #d1c6dd!important;border-radius:12px!important;background:#fff!important;color:#123b37!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal) button:not([onclick^=spClose]):not([style*="position:absolute"]){width:auto!important;min-width:0!important;min-height:42px!important;padding:9px 16px!important;border-radius:999px!important;background:#123b37!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important}
body.sp-design-system-page #sp-block-modal>div{width:min(650px,calc(100vw - 28px))!important}body.sp-design-system-page #sp-block-modal .sp-manual-free-open{margin:0 0 6px!important;border-color:#8064a2!important;background:#8064a2!important}body.sp-design-system-page #sp-block-modal .sp-slot-action-separator{margin:7px 0 13px!important;color:#7b8583!important;font-size:11px!important;text-align:left!important}body.sp-design-system-page #sp-block-modal form{display:grid!important;grid-template-columns:1fr 1fr!important}body.sp-design-system-page #sp-block-modal form>label:nth-of-type(1),body.sp-design-system-page #sp-block-modal form>label:nth-of-type(6){grid-column:1/-1!important}body.sp-design-system-page #sp-block-modal form>button{grid-column:1/-1!important;justify-self:end!important}
body.sp-design-system-page #sp-open-slot-modal form{display:grid!important;grid-template-columns:1fr 1fr!important}body.sp-design-system-page #sp-open-slot-modal form>label:nth-of-type(1),body.sp-design-system-page #sp-open-slot-modal form>label:nth-of-type(4){grid-column:1/-1!important}body.sp-design-system-page #sp-open-slot-modal form>button{grid-column:1/-1!important;justify-self:end!important}
body.sp-design-system-page :is(#sp-delete-modal,#sp-delete-open-slot-modal)>div{width:min(480px,calc(100vw - 28px))!important}body.sp-design-system-page :is(#sp-delete-modal,#sp-delete-open-slot-modal) form>button{background:#9a5f58!important}body.sp-design-system-page #sp-delete-block-scope{gap:8px!important;margin:12px 0!important;padding:12px!important;border-radius:14px!important;background:#f8f5fa!important}body.sp-design-system-page #sp-delete-block-scope label{display:flex!important;align-items:center!important;gap:8px!important}
body.sp-design-system-page #sp-lesson-modal>div{width:min(590px,calc(100vw - 28px))!important}body.sp-design-system-page #sp-lesson-modal form>button{justify-self:end!important;background:#8064a2!important}body.sp-design-system-page #sp-student-lesson-modal form,body.sp-design-system-page #sp-student-reschedule-modal form{display:grid!important;gap:10px!important}
@media(max-width:680px){body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal)>div{width:calc(100vw - 12px)!important;padding:18px 15px!important;border-radius:20px!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal) form{grid-template-columns:1fr!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal) form>*{grid-column:1!important}body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal) form>button{width:100%!important;justify-self:stretch!important}}
/* 3.14.54 — booking limits live with the schedule; blocked-time reason is visible in its dialog. */
.sp-booking-limit-card{position:relative;margin-top:10px;padding:0 15px;border:1px solid #dfe4e2;border-radius:16px;background:#fff}.sp-booking-limit-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;color:#123b37}.sp-booking-limit-card>summary span{font-size:13px;font-weight:850}.sp-booking-limit-card>summary small{color:#77827f;font-size:11px}.sp-booking-limit-card>form{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:12px;align-items:end;padding:2px 0 15px}.sp-booking-limit-days{display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));gap:6px}.sp-booking-limit-card label{display:grid;gap:4px}.sp-booking-limit-card label span{color:#123b37;font-size:10px;font-weight:850;text-align:center}.sp-booking-limit-card input{width:100%;min-height:38px;padding:6px 8px;border:1px solid #d5ccdf;border-radius:10px;background:#fff;text-align:center}.sp-booking-limit-card button{min-height:40px;padding:8px 14px;border:0;border-radius:999px;background:#123b37;color:#fff;font-weight:800}.sp-booking-limit-card form>small{grid-column:1/-1;color:#75817f;font-size:10px}.sp-booking-limit-saved{position:absolute;right:14px;top:50px;margin:0;padding:4px 8px;border-radius:999px;background:#e6f3f1;color:#123b37;font-size:10px;font-weight:800}.sp-delete-block-reason{display:grid;gap:4px;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#eaf5fb;color:#244d63}.sp-delete-block-reason[hidden]{display:none!important}.sp-delete-block-reason span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#59859c}.sp-delete-block-reason strong{font-size:14px}.sp-delete-block-reason+#sp-delete-block-scope{margin-top:0!important}@media(max-width:760px){.sp-booking-limit-card>form{grid-template-columns:1fr}.sp-booking-limit-days{grid-template-columns:repeat(4,minmax(48px,1fr))}.sp-booking-limit-week{max-width:110px}.sp-booking-limit-card button{width:100%}}
/* 3.14.61 — schedule buttons stay within the lilac, yellow, mint, cream and blue palette. */
body.sp-design-system-page :is(.sp-rest-rule-card,.sp-booking-limit-card) button{border:1px solid #c9b6da!important;background:#e8e0f2!important;background-color:#e8e0f2!important;color:#3f3150!important;-webkit-text-fill-color:#3f3150!important;box-shadow:none!important}
body.sp-design-system-page :is(#sp-block-modal,#sp-open-slot-modal,#sp-manual-free-slot-modal,#sp-delete-modal,#sp-delete-open-slot-modal,#sp-lesson-actions-modal,#sp-student-lesson-modal,#sp-student-reschedule-modal,#sp-pending-reschedule-modal,#sp-freeze-workoff-modal,#sp-lesson-modal,#sp-subscription-conflicts-modal,#sp-trial-booking-notice-modal) button:not([onclick^="spClose"]):not([style*="position:absolute"]){border:1px solid #c9b6da!important;background:#e8e0f2!important;background-color:#e8e0f2!important;color:#3f3150!important;-webkit-text-fill-color:#3f3150!important;box-shadow:none!important}
body.sp-design-system-page #sp-block-modal .sp-manual-free-open,
body.sp-design-system-page #sp-lesson-modal form>button{border-color:#d5b94f!important;background:#f1da89!important;background-color:#f1da89!important;color:#3c351c!important;-webkit-text-fill-color:#3c351c!important}
body.sp-design-system-page :is(#sp-delete-modal,#sp-delete-open-slot-modal) form>button{border-color:#dfd1b7!important;background:#fff6e7!important;background-color:#fff6e7!important;color:#594a34!important;-webkit-text-fill-color:#594a34!important}
body.sp-design-system-page #sp-freeze-workoff-modal form>button{border-color:#9fcac5!important;background:#b8dcd8!important;background-color:#b8dcd8!important;color:#263b39!important;-webkit-text-fill-color:#263b39!important}
