/* Student Portal 3.3.9 — exact final cabinet targets. */
.sp-student-dashboard {
    --sp-brand-cream: #fff6e7 !important;
    --sp32-cream: #fff6e7 !important;
    --sp329-beige: #fff6e7 !important;
}

/* Every surface intended as beige uses the exact beige of the upper navigation plate. */
body .sp-student-dashboard .sp-dashboard-jump,
body .sp-student-dashboard #sp-waitlist,
body .sp-student-dashboard .sp-waitlist,
body .sp-student-dashboard .sp-pair-choice,
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(3) {
    background-color: #fff6e7 !important;
}

/* A real spacer node guarantees a visible mint gap before the important notice. */
body .sp-student-dashboard #sp-dashboard-hours .sp-dashboard-payment-notice-gap {
    display: block !important;
    width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body .sp-student-dashboard #sp-dashboard-hours .sp-dashboard-payment-notice {
    margin: 0 !important;
}

/* Statistic cards need real breathing room; this overrides the legacy 13×14 px rule. */
body .sp-student-dashboard #sp-dashboard-hours .sp-dashboard-subscription-stats > div {
    box-sizing: border-box !important;
    min-height: 104px !important;
    padding: 22px 24px !important;
}

/* Buttons remain visually identical on hover, keyboard focus and press. */
body .sp-student-dashboard :is(button,[type="submit"]),
body .sp-student-dashboard :is(button,[type="submit"]):is(:hover,:focus,:focus-visible,:active) {
    border-color: #123b37 !important;
    background: #123b37 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
}

body .sp-student-dashboard :is(button,[type="submit"]) *,
body .sp-student-dashboard :is(button,[type="submit"]):is(:hover,:focus,:focus-visible,:active) * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Emerald controls and every nested label are always pure white. */
body .sp-student-dashboard :is(button,[type="submit"],.sp-calendar-sync-button--copy,.sp-pair-class-link),
body .sp-student-dashboard :is(button,[type="submit"],.sp-calendar-sync-button--copy,.sp-pair-class-link) :is(span,strong,small,b,em,i),
body .sp-student-dashboard :is(button,[type="submit"],.sp-calendar-sync-button--copy,.sp-pair-class-link):is(:hover,:focus,:focus-visible,:active),
body .sp-student-dashboard :is(button,[type="submit"],.sp-calendar-sync-button--copy,.sp-pair-class-link):is(:hover,:focus,:focus-visible,:active) * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body .sp-student-dashboard .sp-dashboard-jump > a,
body .sp-student-dashboard .sp-dashboard-jump > a:is(:hover,:focus,:focus-visible,:active) {
    border-color: transparent !important;
    background: #f1da89 !important;
    color: #151515 !important;
    -webkit-text-fill-color: #151515 !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transition: none !important;
}

body .sp-student-dashboard .sp-dashboard-navigation-grid > a,
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:is(:hover,:focus,:focus-visible,:active) {
    color: #151515 !important;
    -webkit-text-fill-color: #151515 !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transition: none !important;
}

body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(1),
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(1):is(:hover,:focus,:focus-visible,:active) { background:#e8e0f2 !important; }
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(2),
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(2):is(:hover,:focus,:focus-visible,:active) { background:#f1da89 !important; }
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(3),
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(3):is(:hover,:focus,:focus-visible,:active) { background:#fff6e7 !important; }
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(4),
body .sp-student-dashboard .sp-dashboard-navigation-grid > a:nth-child(4):is(:hover,:focus,:focus-visible,:active) { background:#b8dcd8 !important; }

body .sp-student-dashboard :is(.sp-calendar-sync-button--apple,.sp-calendar-sync-button--google),
body .sp-student-dashboard :is(.sp-calendar-sync-button--apple,.sp-calendar-sync-button--google):is(:hover,:focus,:focus-visible,:active) {
    border-color: #123b37 !important;
    background: #fff !important;
    color: #151515 !important;
    -webkit-text-fill-color: #151515 !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transition: none !important;
}

body .sp-student-dashboard :is(.sp-calendar-sync-button--copy,.sp-pair-class-link),
body .sp-student-dashboard :is(.sp-calendar-sync-button--copy,.sp-pair-class-link):is(:hover,:focus,:focus-visible,:active),
body .sp-student-dashboard :is(.sp-calendar-sync-button--copy,.sp-pair-class-link) * {
    background-color: #123b37 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    transition: none !important;
}

/* Exact requested cream surfaces. */
body .sp-student-dashboard #sp-dashboard-useful .sp-dashboard-navigation-grid > a:nth-child(3),
body .sp-student-dashboard #sp-dashboard-useful .sp-dashboard-navigation-grid > a:nth-child(3):is(:hover,:focus,:focus-visible,:active),
body .sp-student-dashboard section#sp-waitlist,
body .sp-student-dashboard section#sp-waitlist:is(:hover,:focus,:focus-visible,:active) {
    background: #fff6e7 !important;
    background-color: #fff6e7 !important;
}

/* Exact requested emerald actions: identical normal, hover, focus and pressed states. */
body .sp-student-dashboard #sp-dashboard-payment > .sp-month-payment > form > button,
body .sp-student-dashboard #sp-dashboard-payment > .sp-month-payment > form > button:is(:hover,:focus,:focus-visible,:active),
body .sp-student-dashboard .sp-calendar-sync-button--copy,
body .sp-student-dashboard .sp-calendar-sync-button--copy:is(:hover,:focus,:focus-visible,:active),
body .sp-student-dashboard .sp-calendar-sync-reset > button,
body .sp-student-dashboard .sp-calendar-sync-reset > button:is(:hover,:focus,:focus-visible,:active),
body .sp-student-dashboard section#sp-waitlist > form > button,
body .sp-student-dashboard section#sp-waitlist > form > button:is(:hover,:focus,:focus-visible,:active) {
    border-color: #123b37 !important;
    background: #123b37 !important;
    background-color: #123b37 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    animation: none !important;
    transition: none !important;
}

body .sp-student-dashboard #sp-dashboard-payment > .sp-month-payment > form > button *,
body .sp-student-dashboard .sp-calendar-sync-button--copy *,
body .sp-student-dashboard .sp-calendar-sync-reset > button *,
body .sp-student-dashboard section#sp-waitlist > form > button * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
