/* Back means left, on every screen. */
main>#page-back-arrow{left:2%;right:auto;width:28px}
#daily-quote .motivation-page-heading{font-size:clamp(22px,2.5vw,30px)!important;line-height:1.4!important;font-weight:500!important;letter-spacing:-.3px!important;text-transform:none!important}
.teacher-voice-note{display:flex;align-items:center;gap:15px;padding:16px 18px;margin:22px 0 0;border:1px solid #c2cfb8;border-radius:24px 24px 24px 5px;background:#edf0e6;color:#193c32;transform:rotate(-1deg)}
.teacher-voice-note svg{width:76px;height:90px;flex:none}.teacher-voice-note p{margin:0!important;font-size:16px!important;line-height:1.5!important}.teacher-voice-note em{display:block;font-size:21px;font-weight:600}
@media(max-width:760px){
 main>#page-back-arrow{left:0;width:17px}main>#page-back-arrow svg{width:17px}
 body{overflow-x:clip}main{min-width:0}
 .instructor-app .app-header{padding:12px 16px;gap:10px;flex-wrap:nowrap}.instructor-app .app-header>div{min-width:0;flex:1}.instructor-app .app-header strong{font-size:17px}.instructor-app .app-header img{width:32px;height:32px}.instructor-app .app-header .button,.instructor-app .app-portals-link{padding:9px 12px;font-size:12px;min-height:40px}
 #admin-dashboard .instructor-tool-cards{gap:12px;align-items:start}
 #admin-dashboard .instructor-tool-cards>details>summary,#admin-dashboard .instructor-review-card{min-height:132px!important;padding:17px!important;font-size:13px!important;border-radius:20px!important;line-height:1.45!important}
 #admin-dashboard .instructor-tool-cards>details[open]{grid-column:1/-1}
 #admin-dashboard .instructor-tool-cards>details[open]>summary{min-height:64px!important}
 #admin-dashboard .instructor-tool-cards .panel-symbol svg,#admin-dashboard .instructor-review-card>svg{width:28px!important;height:28px!important}
 .admin-dashboard-heading{gap:12px!important}.admin-dashboard-heading>h3{font-size:25px!important;line-height:1.25!important}
 .instructor-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.instructor-shortcuts>.button{flex:1;min-width:100px;font-size:13px}
 .calendar-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.calendar-toolbar>*{max-width:100%;min-width:0}.calendar-toolbar button{min-height:40px;font-size:12px;padding:8px 12px}
 .admin-client-form{grid-template-columns:1fr!important}.admin-client-form label{min-width:0}
 .admin-detail input:not([type=checkbox]):not([type=radio]),.admin-detail select,.admin-detail textarea{font-size:16px!important;width:100%;box-sizing:border-box}
 .instructor-app .app-nav{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}.instructor-app .app-nav button{min-height:44px;font-size:12px}
 #students-portal .learning-space-destinations>.learning-space-card:nth-child(n){align-items:flex-start!important;text-align:left!important;padding:16px!important}
 #students-portal .learning-space-card-title{font-size:15px!important}.learning-space-heading h3{font-size:28px!important;line-height:1.25!important}
 #daily-quote .motivation-page-heading{font-size:23px!important;max-width:100%}
 .teacher-voice-note{gap:10px;padding:13px}.teacher-voice-note svg{width:58px;height:76px}.teacher-voice-note em{font-size:19px}
}

@media(max-width:760px){
 .motivation-freeze-body{padding:0 16px 18px;min-width:0}.motivation-freeze-body .detail-actions{display:grid;grid-template-columns:1fr;gap:10px}.motivation-freeze-body button{width:100%;min-height:44px;white-space:normal}
 #admin-dashboard .instructor-tool-cards>details[open]>*:not(summary){width:auto!important;max-width:100%!important;margin-left:0;margin-right:0;box-sizing:border-box}
 #admin-dashboard .instructor-tool-cards>details[open]{overflow:visible}
 .admin-metrics{gap:10px!important}.admin-metrics>article{padding:14px!important;min-width:0!important}.admin-metrics strong{font-size:26px!important}.instructor-teaching-quote{font-size:19px!important;line-height:1.5!important;margin:12px 0 22px!important}
 .admin-clients-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-clients-heading h4{flex:1;min-width:130px}.admin-client-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-client-actions button{min-height:40px}
 #admin-calendar .calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}
 #admin-calendar .calendar-toolbar h4{min-width:0!important;font-size:17px!important;text-align:center;margin:0!important}
 #admin-calendar .calendar-view-switch,#admin-calendar .calendar-jump-label{grid-column:1/-1;width:100%;box-sizing:border-box}
 #admin-calendar .calendar-view-switch{display:flex;justify-content:space-between}#admin-calendar .calendar-view-switch button{flex:1;min-height:40px}
 #admin-calendar .calendar-toolbar>button{min-width:0;padding:8px!important}
 .calendar-day{min-width:0}.calendar-session,.calendar-slot{max-width:100%;overflow-wrap:anywhere;white-space:normal}
 dialog.action-popup{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;box-sizing:border-box;padding:24px 18px!important;margin:auto;max-height:calc(100dvh - 36px);overflow-y:auto}
 dialog.action-popup h2{font-size:23px!important;line-height:1.35!important;padding-right:26px}
 .client-authorization-actions{display:grid;grid-template-columns:1fr;gap:10px}.client-authorization-actions button{width:100%;min-height:44px;white-space:normal}
 .confirmation-session-details{display:grid;grid-template-columns:1fr!important;gap:5px;margin:18px 0}.confirmation-session-details dd{margin:0 0 10px;overflow-wrap:anywhere}
 #client-authorization-name{overflow-wrap:anywhere;font-size:14px;line-height:1.6}
 #portal-content .portal-panel:not([hidden]){min-width:0;max-width:100%}#portal-content .portal-panel iframe,#portal-content .portal-panel canvas{max-width:100%}
}

/* Phone navigation uses a deliberate horizontal swipe instead of back arrows. */
@media(max-width:760px){main>#page-back-arrow,#students-portal #portal-content [data-learning-back]:not([hidden]),.plain-back-arrow{display:none!important}}
@media(max-width:680px){
 main #home .home-picture-and-reviews .coaching-photo img{height:86%!important;max-height:none!important;object-fit:cover!important;object-position:64% center!important;transform:none!important;top:0;bottom:auto}
}

/* A small, consistent breath before each page heading. */
main>[data-view]:not(#home){padding-top:30px!important}
@media(max-width:760px){
 main>[data-view]:not(#home){padding-top:28px!important;padding-left:6%!important;padding-right:6%!important}
 main>[data-view]>.eyebrow:first-child{margin-bottom:12px!important}
 #how .how-hero-copy>h2,#courses .courses-heading>h2{line-height:1.2!important}
 #how .how-guide{gap:18px!important}.how-step>p{line-height:1.8!important}
 #students-portal .learning-space-heading{margin-bottom:24px!important}
 #students-portal .learning-space-heading>p:last-child{font-size:14px!important;line-height:1.7!important}
 #students-portal .learning-space-destinations{gap:14px!important}
}
#portal-content .learning-space-heading{position:relative;padding-right:60px}
#portal-content .dashboard-help-circle{position:absolute;right:0;top:0;display:grid;place-items:center;width:48px;height:48px;min-height:48px;border:1px solid #bdcbb1;border-radius:50%;background:#edf0e6;color:#193c32;font-family:inherit;font-size:21px;font-weight:500;cursor:pointer}
.dashboard-guide-popup dl{margin:20px 0 0}.dashboard-guide-popup dt{font-size:15px;font-weight:600;margin:20px 0 5px}.dashboard-guide-popup dd{margin:0;font-size:14px;line-height:1.8;color:#53685b}
#daily-mission>.daily-idiom{padding:0!important;border:0!important;background:transparent!important;min-height:0!important;border-radius:0!important;width:100%;max-width:245px;margin:0!important;grid-column:2;grid-row:1 / span 5}
#daily-mission>.daily-idiom>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:144px;height:144px;padding:16px;box-sizing:border-box;margin:0 auto 16px;border:1px solid #bdcbb1;border-radius:50%;background:#edf0e6;list-style:none;font-size:14px!important;text-align:center;line-height:1.5}
#daily-mission>.daily-idiom>summary::-webkit-details-marker{display:none}
#daily-mission>.daily-idiom>summary .idiom-symbol{margin:0!important}
#daily-mission>.daily-idiom>summary svg{margin:0!important;width:34px;height:34px}
#daily-mission>.daily-idiom[open]{padding-bottom:16px!important}
#daily-mission>.daily-idiom>h4{padding:16px 16px 0;margin:0!important;border-top:1px solid #c2cfb8}
#daily-mission>.daily-idiom>p{padding:0 16px;margin:12px 0!important}
@media(max-width:760px){
 #portal-content .dashboard-help-circle{width:44px;height:44px;min-height:44px;font-size:19px}
 #daily-mission:not([hidden]){display:flex!important;flex-direction:column;align-items:stretch;gap:0}
 #daily-mission>h3{order:0}
 #daily-mission>.daily-idiom{order:1;align-self:flex-end;width:100%;max-width:100%;margin:0 0 14px!important}
 #daily-mission>.daily-idiom>summary{width:112px;height:112px;margin:0 0 0 auto;padding:13px;font-size:12px!important;gap:6px}
 #daily-mission>.daily-idiom>summary svg{width:27px;height:27px}
 #daily-mission>.daily-task-intro{order:2}
 #daily-mission>*:not(h3):not(.daily-idiom):not(.daily-task-intro){order:3;width:100%}
}
@media(min-width:761px){
 #students-portal #daily-mission:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;column-gap:28px;align-items:start}
 #students-portal #daily-mission>*{grid-column:1;min-width:0}
 #students-portal #daily-mission>.daily-idiom{grid-column:2!important;grid-row:1 / span 5!important;align-self:start;width:100%;max-width:220px}
 #students-portal #daily-mission>h3{grid-row:1}
}

/* Hidden portal panels must stay hidden, regardless of their internal layout. */
#students-portal #portal-content [data-portal-panel][hidden]{display:none!important}

