/* Student Portal 3.3.29 — teacher cabinet. */
body .sp-teacher-dashboard:not(.sp-teacher-library) {
    --spt-black: #151515;
    --spt-emerald: #123b37;
    --spt-mint: #b8dcd8;
    --spt-cream: #fff6e7;
    --spt-lilac: #e8e0f2;
    --spt-yellow: #f1da89;
    --spt-white: #fff;
    --spt-line: rgba(21,21,21,.16);
    position: static !important;
    left: auto !important;
    box-sizing: border-box !important;
    width: min(1220px, calc(100vw - 32px)) !important;
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding: clamp(18px,3vw,36px) 0 48px !important;
    color: var(--spt-black) !important;
    transform: none !important;
    font-family: "Google Sans", Arial, sans-serif !important;
    display: flex !important;
    flex-direction: column !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) > .sp-teacher-cabinet-hero { order: 1 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > .sp-teacher-sections { order: 2 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > .sp-teacher-notice { order: 3 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > .sp-teacher-next { order: 4 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > #sp-teacher-students { order: 5 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > #sp-teacher-classes { order: 6 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > .sp-teacher-attention { order: 7 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > .sp-marketing-summary { order: 8 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > #sp-booking-limits { order: 9 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > #sp-activity-log { order: 10 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) > #sp-legal-analytics { order: 11 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) *,
body .sp-teacher-dashboard:not(.sp-teacher-library) *::before,
body .sp-teacher-dashboard:not(.sp-teacher-library) *::after { box-sizing: border-box !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(h1,h2,h3,h4,p,span,strong,small,label,legend,summary,li,dt,dd,a,b,em) {
    color: var(--spt-black) !important;
    -webkit-text-fill-color: var(--spt-black) !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(h1,h2,h3,h4) {
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
}

.sp-teacher-cabinet-hero {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    margin: 0 0 20px !important;
    padding: clamp(28px,4vw,48px) !important;
    border: 0 !important;
    border-radius: 25px !important;
    background: var(--spt-cream) !important;
    box-shadow: none !important;
}
.sp-teacher-cabinet-hero h1 {
    margin: 8px 0 10px !important;
    font-size: clamp(38px,5vw,60px) !important;
    line-height: 1 !important;
}
.sp-teacher-cabinet-hero p { max-width: 620px !important; margin: 0 !important; font-size: 17px !important; line-height: 1.5 !important; }
.sp-teacher-cabinet-hero .sp-teacher-eyebrow {
    display: inline-flex !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    background: var(--spt-yellow) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.sp-teacher-cabinet-actions { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.sp-teacher-cabinet-actions a,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-primary,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-custom-price-form button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 11px 18px !important;
    border: 1.5px solid var(--spt-emerald) !important;
    border-radius: 999px !important;
    background: var(--spt-white) !important;
    color: var(--spt-black) !important;
    -webkit-text-fill-color: var(--spt-black) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    transform: none !important;
    transition: none !important;
}
.sp-teacher-cabinet-actions .sp-teacher-cabinet-primary,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-primary,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-custom-price-form button {
    background: var(--spt-emerald) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
.sp-teacher-cabinet-actions a:hover,
.sp-teacher-cabinet-actions a:focus,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-primary:hover,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-primary:focus,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-custom-price-form button:hover,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-custom-price-form button:focus {
    filter: none !important;
    box-shadow: none !important;
    transform: none !important;
}
.sp-teacher-cabinet-actions .sp-teacher-cabinet-primary:hover,
.sp-teacher-cabinet-actions .sp-teacher-cabinet-primary:focus,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-primary:hover,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-primary:focus,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-custom-price-form button:hover,
.sp-teacher-dashboard:not(.sp-teacher-library) .sp-custom-price-form button:focus {
    background: var(--spt-emerald) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections {
    display: grid !important;
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    gap: 12px !important;
    margin: 0 0 22px !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a {
    display: grid !important;
    grid-template-rows: 50px auto auto !important;
    align-content: start !important;
    min-height: 170px !important;
    padding: 20px !important;
    border: 0 !important;
    border-radius: 25px !important;
    background: var(--spt-lilac) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
    transition: none !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a:nth-child(2) { background: var(--spt-yellow) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a:nth-child(3) { background: var(--spt-mint) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a:nth-child(4) { background: var(--spt-cream) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a:nth-child(5) { background: var(--spt-lilac) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a:hover,
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a:focus { box-shadow: none !important; filter: none !important; transform: none !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a > span {
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 0 14px !important;
    border: 1.5px solid var(--spt-black) !important;
    border-radius: 15px !important;
    background: #fff !important;
    font: 500 23px/1 Arial,sans-serif !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections strong { font-size: 18px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections small { margin-top: 5px !important; font-size: 13px !important; line-height: 1.4 !important; }

body .sp-teacher-dashboard:not(.sp-teacher-library) :is(.sp-teacher-next,.sp-teacher-students,.sp-teacher-limits,.sp-activity-log) {
    margin: 0 0 22px !important;
    padding: clamp(22px,3vw,32px) !important;
    border: 0 !important;
    border-radius: 25px !important;
    box-shadow: none !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-next { background: var(--spt-lilac) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) #sp-teacher-students { background: var(--spt-cream) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) #sp-teacher-classes { background: var(--spt-mint) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-attention { background: var(--spt-yellow) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-marketing-summary { background: var(--spt-lilac) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) #sp-booking-limits,
body .sp-teacher-dashboard:not(.sp-teacher-library) #sp-legal-analytics { background: var(--spt-cream) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-section-title { margin-bottom: 20px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-section-title > span,
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-section-title > div > span { font-size: clamp(24px,2.6vw,32px) !important; font-weight: 600 !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-section-title p { margin-top: 5px !important; font-size: 15px !important; }

body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-next-row,
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-weekday-limits > :is(div,label),
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-class-groups > section,
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-student-list > a,
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-pair-list > article {
    border: 1px solid var(--spt-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: none !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-next-row { padding: 16px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-date { flex: 0 0 68px !important; background: var(--spt-mint) !important; color: var(--spt-black) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-secondary,
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-back,
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-profile-class-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 9px 15px !important;
    border: 1.5px solid var(--spt-black) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--spt-black) !important;
    -webkit-text-fill-color: var(--spt-black) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-weekday-limits { gap: 12px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-weekday-limits > :is(div,label) { min-height: 96px !important; padding: 16px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-weekday-limits > div strong { display: block !important; margin-bottom: 5px !important; font-size: 25px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(input,select,textarea) {
    min-height: 46px !important;
    padding: 10px 13px !important;
    border: 1px solid var(--spt-line) !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: var(--spt-black) !important;
    box-shadow: none !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(input,select,textarea):focus { border-color: var(--spt-emerald) !important; outline: 3px solid rgba(18,59,55,.1) !important; }

body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-class-groups { gap: 16px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-class-groups > section { padding: 18px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-student-list > a { min-height: 72px !important; padding: 13px !important; transform: none !important; transition: none !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-student-list > a:hover { border-color: var(--spt-line) !important; background: #fff !important; transform: none !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-avatar { background: var(--spt-lilac) !important; color: var(--spt-black) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-student-profile { border: 0 !important; border-radius: 20px !important; background: #fff !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-student-profile > header { background: var(--spt-lilac) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-profile-grid { gap: 12px !important; padding: 12px !important; background: #fff !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-profile-grid > section { border: 1px solid var(--spt-line) !important; border-radius: 16px !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-custom-price-form { margin: 12px !important; border: 1px solid var(--spt-line) !important; border-radius: 17px !important; background: var(--spt-cream) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-pair-list details { border-color: var(--spt-line) !important; }
body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-notice { border: 1px solid var(--spt-line) !important; background: #fff !important; color: var(--spt-black) !important; }

@media (max-width: 1050px) {
    body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 760px) {
    body .sp-teacher-dashboard:not(.sp-teacher-library) { width: min(100% - 20px,1220px) !important; padding-top: 10px !important; }
    .sp-teacher-cabinet-hero { align-items: stretch !important; flex-direction: column !important; padding: 26px 22px !important; }
    .sp-teacher-cabinet-actions { align-items: stretch !important; flex-direction: column !important; }
    .sp-teacher-cabinet-actions a { width: 100% !important; }
    body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-next-row { align-items: stretch !important; flex-direction: column !important; }
    body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-next-row .sp-teacher-secondary { margin-left: 0 !important; }
}
@media (max-width: 480px) {
    body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections { grid-template-columns: 1fr !important; }
    body .sp-teacher-dashboard:not(.sp-teacher-library) .sp-teacher-sections > a { min-height: 140px !important; }
}

/* 3.3.30 — absolute cabinet text-colour contract: never purple. */
body .sp-teacher-dashboard:not(.sp-teacher-library),
body .sp-teacher-dashboard:not(.sp-teacher-library) *,
body .sp-teacher-dashboard:not(.sp-teacher-library) *::before,
body .sp-teacher-dashboard:not(.sp-teacher-library) *::after,
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(a,a:visited,a:hover,a:focus,a:active,button,input,select,textarea,option) {
    color: #151515 !important;
    -webkit-text-fill-color: #151515 !important;
    text-decoration-color: #151515 !important;
}
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(input,textarea)::placeholder {
    color: #151515 !important;
    -webkit-text-fill-color: #151515 !important;
    opacity: .62 !important;
}

/* The only light copy is on the deliberately dark emerald actions. */
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(
    .sp-teacher-cabinet-primary,
    .sp-teacher-primary,
    .sp-custom-price-form button
),
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(
    .sp-teacher-cabinet-primary,
    .sp-teacher-primary,
    .sp-custom-price-form button
) *,
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(
    .sp-teacher-cabinet-primary,
    .sp-teacher-primary,
    .sp-custom-price-form button
):is(:hover,:focus,:focus-visible,:active),
body .sp-teacher-dashboard:not(.sp-teacher-library) :is(
    .sp-teacher-cabinet-primary,
    .sp-teacher-primary,
    .sp-custom-price-form button
):is(:hover,:focus,:focus-visible,:active) * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration-color: #fff !important;
}
