:root{--sp-ink:#172033;--sp-muted:#5b6578;--sp-blue:#2d5bff;--sp-paper:#f7f4ef;--sp-lilac:#dcd8ff;--sp-lime:#dff3b4;--sp-line:#dde1e8}
.sp-student-dashboard,.sp-profile-page,.student-calendar{color:var(--sp-ink);font-family:inherit}
.sp-student-dashboard,.sp-profile-page{width:min(1180px,calc(100vw - 32px));margin:34px auto 80px!important}
.sp-student-dashboard .student-dashboard-card,.sp-profile-page>.student-dashboard-card{padding:30px!important;border:1px solid var(--sp-line)!important;border-radius:28px!important;background:#fff!important;box-shadow:none!important;margin-bottom:18px!important}
.sp-student-dashboard .sp-dashboard-overview{padding:38px!important;background:linear-gradient(145deg,#f7f4ef 0%,#fff 66%)!important}
.sp-student-dashboard h2,.sp-student-dashboard h3,.sp-profile-page h3{color:var(--sp-ink)!important;letter-spacing:-.025em}.sp-student-dashboard h3,.sp-profile-page>div>h3{font-size:clamp(25px,3vw,36px)!important}
.sp-dashboard-summary{gap:14px!important}.sp-dashboard-summary>div{padding:20px!important;border:0!important;border-radius:20px!important}.sp-dashboard-summary>div:nth-child(1){background:var(--sp-lilac)!important}.sp-dashboard-summary>div:nth-child(2){background:var(--sp-lime)!important}.sp-dashboard-summary>div:nth-child(3){background:#e8edf8!important}.sp-dashboard-summary strong{font-size:15px!important}.sp-dashboard-summary span{display:inline-block;margin-top:8px;color:var(--sp-ink)!important;font-size:18px!important}
.sp-dashboard-lesson{border:1px solid var(--sp-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:none!important}.sp-dashboard-lesson:hover{border-color:var(--sp-blue)!important;transform:translateY(-2px)}
.sp-dashboard-navigation-grid>a,.sp-dashboard-navigation-grid>div,.sp-dashboard-learning-grid>a,.sp-dashboard-learning-grid>div{border:1px solid var(--sp-line)!important;border-radius:20px!important;background:#f7f8fb!important}.sp-dashboard-navigation-grid>a:hover,.sp-dashboard-learning-grid>a:hover{border-color:var(--sp-blue)!important;background:#fff!important}
.sp-dashboard-details{border:0!important}.sp-dashboard-details>summary{border-radius:18px!important;background:var(--sp-paper)!important}
.sp-profile-page>.student-dashboard-card{padding:clamp(24px,4vw,48px)!important;background:linear-gradient(145deg,#fff 0%,#f7f4ef 100%)!important}.sp-profile-page form:first-of-type{max-width:none!important}.sp-profile-page input,.sp-profile-page select,.sp-profile-page textarea{min-height:48px!important;border:1px solid #cbd2dd!important;border-radius:14px!important;background:#fff!important;padding:11px 14px!important}.sp-profile-page textarea{min-height:120px!important}.sp-profile-page button[type=submit],.sp-profile-page #sp-add-language,.sp-profile-page #sp-avatar-crop-apply{min-height:48px!important;padding:12px 22px!important;border:0!important;border-radius:999px!important;background:var(--sp-ink)!important;color:#fff!important;font-weight:800!important}.sp-profile-page button:hover{background:var(--sp-blue)!important}.sp-profile-page #sp-avatar-initials,.sp-profile-page #sp-avatar-preview{box-shadow:0 0 0 10px var(--sp-lilac)!important}
.student-calendar{width:min(1440px,calc(100vw - 30px));margin:30px auto 80px!important;padding:26px!important;border:1px solid var(--sp-line);border-radius:32px;background:#f7f8fb;box-shadow:none!important}.student-calendar-header{padding:8px 6px 24px!important;border-bottom:0!important}.student-calendar-title{color:var(--sp-ink)!important;font-size:clamp(28px,4vw,44px)!important;letter-spacing:-.04em!important}.student-calendar-week{color:var(--sp-muted)!important}.student-calendar-nav{gap:8px!important}.student-calendar-nav a{padding:10px 15px!important;border:1px solid #ccd2dc!important;border-radius:999px!important;background:#fff!important;color:var(--sp-ink)!important;text-decoration:none!important;font-weight:750!important}.student-calendar-nav a:hover{border-color:var(--sp-blue)!important;color:var(--sp-blue)!important}.student-calendar-grid-view{overflow:hidden;border:1px solid var(--sp-line)!important;border-radius:24px!important;background:#fff!important}.student-calendar-grid-day-header{background:var(--sp-paper)!important;color:var(--sp-ink)!important}.student-slot-free{border-color:#b9d982!important;background:var(--sp-lime)!important;color:#26351c!important}.student-slot-lesson{border-color:#b7b0f1!important;background:var(--sp-lilac)!important;color:#292742!important}.student-slot-google-event,.student-slot-manual-block{border-color:#cfd5df!important;background:#edf0f5!important;color:#3d4759!important}.sp-teacher-tools{margin-bottom:22px!important;border:1px solid var(--sp-line)!important;border-radius:22px!important;background:#fff!important}.sp-teacher-tools>summary{padding:18px 20px!important}.sp-book-modal>div,#sp-student-reschedule-modal>div,#sp-pending-reschedule-modal>div{border-radius:26px!important;box-shadow:0 24px 70px rgba(23,32,51,.2)!important}
@media(max-width:760px){.sp-student-dashboard,.sp-profile-page{width:calc(100vw - 20px)!important;margin-top:18px!important}.sp-student-dashboard .student-dashboard-card,.sp-profile-page>.student-dashboard-card{padding:20px!important;border-radius:22px!important}.student-calendar{width:calc(100vw - 12px)!important;padding:10px!important;border-radius:22px!important}.student-calendar-header{align-items:flex-start!important;gap:14px!important}.student-calendar-nav{width:100%;overflow-x:auto;padding-bottom:4px}.student-calendar-nav a{white-space:nowrap}.student-calendar-grid-view{border-radius:17px!important}}

.sp-pair-centre{background:linear-gradient(145deg,#fff 0%,#f5f3ff 100%)!important}.sp-pair-centre h3{margin-top:0}.sp-pair-auto-form{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:18px;background:#fff;border:1px solid #ddd6fe}.sp-pair-auto-form label{display:flex;gap:10px;align-items:flex-start}.sp-pair-centre button{border:0;border-radius:999px;padding:10px 18px;background:#312e81;color:#fff;font-weight:750;cursor:pointer}.sp-pair-list{display:grid;gap:12px;margin-top:18px}.sp-pair-item{display:grid;gap:5px;padding:18px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}.sp-pair-item em{color:#6d28d9;font-style:normal;font-weight:700}.sp-pair-item form{display:flex;gap:8px;margin-top:8px}.sp-pair-item .is-secondary{background:#e2e8f0;color:#334155}.sp-pair-success{padding:12px 15px;border-radius:14px;background:#dcfce7;color:#166534}.sp-pair-freeze{margin-top:16px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #ddd6fe}.sp-pair-freeze summary{font-weight:800;cursor:pointer}.sp-pair-freeze form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:14px}.sp-pair-freeze label{display:grid;gap:5px}.sp-pair-freeze input,.sp-pair-freeze select{min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:8px 10px}@media(max-width:700px){.sp-pair-auto-form{align-items:stretch;flex-direction:column}.sp-pair-freeze form{grid-template-columns:1fr}}

.sp-month-payment{background:linear-gradient(145deg,#fff 0%,#eef2ff 100%)!important}.sp-card-kicker{color:#6d5fc7;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.sp-month-payment h3,.sp-waitlist h3,.sp-notifications h3{margin:6px 0 12px}.sp-month-total{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:20px;border-radius:20px;background:#fff;border:1px solid #ddd6fe;margin:14px 0}.sp-month-total strong{font-size:34px}.sp-month-total span{color:#64748b}.sp-month-payment button,.sp-waitlist button{border:0;border-radius:999px;background:#312e81;color:#fff;padding:11px 18px;font-weight:800}.sp-month-payment .is-paid{padding:15px;border-radius:15px;background:#dcfce7;color:#166534;font-weight:750}.sp-waitlist>form{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr 1fr auto;gap:10px;align-items:end}.sp-waitlist label{display:grid;gap:5px;font-size:13px;font-weight:700}.sp-waitlist input,.sp-waitlist select{min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:8px 10px;background:#fff}.sp-waitlist-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;margin-top:10px;border-radius:15px;background:#f8fafc}.sp-waitlist-item button{background:#e2e8f0;color:#334155;padding:7px 13px}.sp-notifications article{padding:15px 0;border-top:1px solid #e2e8f0}.sp-notifications article:first-of-type{border-top:0}.sp-notifications article p{margin:5px 0}.sp-notifications article a{color:#5b4bb7;font-weight:800}@media(max-width:850px){.sp-waitlist>form{grid-template-columns:1fr 1fr}.sp-month-total{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.sp-waitlist>form{grid-template-columns:1fr}}
.sp-waitlist-saved{margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.sp-waitlist-saved h4{margin:0 0 10px;font-size:17px}.sp-waitlist-empty{margin:0;color:#64748b}.sp-waitlist-item>span{display:grid;gap:3px}.sp-waitlist-item small{color:#64748b}.sp-waitlist-item form{margin:0}
#sp-dashboard-learning,#sp-dashboard-lessons,#sp-dashboard-hours,#sp-dashboard-payment,#sp-dashboard-freezes,#sp-dashboard-calendar,#sp-waitlist,#sp-dashboard-useful{scroll-margin-top:110px}
.sp-invoice-list{display:grid;gap:10px;margin:16px 0}.sp-invoice-list article{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:16px;border-radius:18px;background:#fff;border:1px solid #ddd6fe}.sp-invoice-list article>div{display:grid;gap:3px}.sp-invoice-list span,.sp-invoice-list small{color:#64748b}.sp-invoice-list b{font-size:22px}.sp-invoice-list em{color:#166534;font-style:normal;font-weight:800}@media(max-width:650px){.sp-invoice-list article{grid-template-columns:1fr auto}.sp-invoice-list article form,.sp-invoice-list article small,.sp-invoice-list article em{grid-column:1/-1}}
.sp-faq-contact{display:grid!important;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr)!important;align-items:start!important;padding:clamp(24px,4vw,44px)!important;border-radius:30px!important}.sp-faq-question-form{display:grid;gap:14px;padding:22px;border-radius:22px;background:#fff;color:var(--sp-ink)}.sp-faq-question-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sp-faq-question-form label{display:grid;gap:7px;font-weight:750}.sp-faq-question-form input,.sp-faq-question-form textarea{width:100%;border:1px solid #cbd2dd;border-radius:14px;background:#f8f9fb;padding:12px 14px;color:var(--sp-ink)}.sp-faq-question-form textarea{resize:vertical}.sp-faq-question-form button{justify-self:start;min-height:48px;padding:12px 21px;border:0;border-radius:999px;background:var(--sp-blue);color:#fff;font-weight:850;cursor:pointer}.sp-faq-form-message{margin:0!important;padding:11px 13px;border-radius:12px;font-weight:750}.sp-faq-form-message.is-success{background:#dcfce7;color:#166534}.sp-faq-form-message.is-error{background:#fee2e2;color:#991b1b}@media(max-width:760px){.sp-faq-contact{grid-template-columns:1fr!important}.sp-faq-question-row{grid-template-columns:1fr}.sp-faq-question-form{padding:17px}}
.sp-trial-checkout{width:min(720px,calc(100vw - 30px));margin:54px auto 90px;padding:clamp(28px,6vw,58px);border-radius:34px;background:var(--sp-paper);color:var(--sp-ink)}.sp-trial-checkout>span{color:#3150ca;font-size:13px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.sp-trial-checkout h2{margin:12px 0 28px;font-size:clamp(34px,6vw,58px);line-height:1;letter-spacing:-.045em}.sp-trial-checkout-summary{padding:22px;border-radius:20px;background:var(--sp-lilac)}.sp-trial-checkout-summary strong{font-size:20px}.sp-trial-checkout-summary p{margin:8px 0 0}.sp-trial-checkout-notice{margin-top:18px;padding:20px;border:1px solid #cbd2dd;border-radius:18px;background:#fff}.sp-trial-checkout-notice p{margin:7px 0 0;color:var(--sp-muted)}.sp-trial-checkout-button,.sp-trial-checkout-back{display:inline-flex;margin-top:20px;text-decoration:none!important;font-weight:850}.sp-trial-checkout-button{padding:13px 21px;border-radius:999px;background:var(--sp-blue);color:#fff!important}.sp-trial-checkout-back{color:var(--sp-ink)!important}
.sp-trial-checkout-summary b{display:block;margin-top:12px;font-size:25px}.sp-trial-checkout-button{border:0;cursor:pointer}.sp-trial-checkout-notice.is-error{border-color:#fecaca;background:#fff1f2;color:#991b1b}.sp-trial-checkout-notice a{display:inline-block;margin-top:10px;color:inherit;font-weight:850}
.sp-privacy-policy{width:min(960px,calc(100vw - 32px));margin:20px auto 90px;padding:clamp(26px,5vw,54px);border-radius:34px;background:var(--sp-paper);color:var(--sp-ink)}.sp-privacy-lead{max-width:760px;margin:0 0 34px;color:var(--sp-muted);font-size:20px;line-height:1.65}.sp-privacy-policy section{padding:24px 0;border-top:1px solid #d8d2c8}.sp-privacy-policy section h2{margin:0 0 10px;color:var(--sp-ink);font-size:22px;letter-spacing:-.02em}.sp-privacy-policy section p{margin:0;color:var(--sp-muted);line-height:1.7}.sp-privacy-policy a{color:var(--sp-blue);font-weight:750}.sp-privacy-updated{margin:28px 0 0;color:#757d8b;font-size:14px}@media(max-width:600px){.sp-privacy-policy{width:calc(100vw - 20px);padding:24px 19px;border-radius:24px}.sp-privacy-lead{font-size:17px}.sp-privacy-policy section h2{font-size:19px}}
.sp-calendar-jump{position:relative;display:inline-grid!important;place-items:center;width:48px;height:48px;border:2px solid #c7d7ef;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(35,52,82,.08)}.sp-calendar-jump:hover{border-color:#745fd0;background:#f7f4ff}.sp-calendar-jump>span{pointer-events:none;font-size:24px;line-height:1}
.sp-dashboard-jump{position:sticky;z-index:20;top:12px;display:flex;gap:9px;margin:0 0 20px;padding:10px;overflow-x:auto;border:1px solid #dfe7f2;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(34,48,75,.08);backdrop-filter:blur(10px)}.sp-dashboard-jump a{display:inline-flex;min-width:max-content;padding:10px 15px;border-radius:12px;background:#f0f5ff;color:#31415d!important;font-weight:750;text-decoration:none!important}.sp-dashboard-jump a:hover{background:#745fd0;color:#fff!important}.sp-student-dashboard [id^="sp-dashboard-"]{scroll-margin-top:100px}
@media(max-width:680px){.sp-auth-intro h1{white-space:normal}.sp-calendar-jump{width:44px;height:44px}.sp-dashboard-jump{top:6px}}
