/* Next Class Lesson hero. Keep shared mobile navigation below unchanged.
   Scope includes the header/history only while this page is rendered; no global
   token, permission, selection, or other screen is restyled. */
.workspace:has(.next-class-shell,.next-class-empty) .topbar{align-items:center;gap:20px;margin-bottom:32px;padding-top:0;padding-bottom:24px;border-bottom:1px solid var(--divider)}
.workspace:has(.next-class-shell,.next-class-empty) .topbar .page-header-copy #page-title{width:auto;margin:0;padding:0;border:0;background:none;clip-path:none;text-shadow:none;font:800 calc(2.25rem * var(--text-display-scale))/1.15 var(--font-body);letter-spacing:-.045em;white-space:normal;overflow-wrap:anywhere}
.workspace:has(.next-class-shell,.next-class-empty) #page-title::after{display:none}
.workspace:has(.next-class-shell,.next-class-empty) .page-identity-visual{border:0;background:none;box-shadow:none;clip-path:none}
.workspace:has(.next-class-shell,.next-class-empty) .page-identity-visual::after{display:none}
.workspace:has(.next-class-shell,.next-class-empty) :is(a,button):focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;box-shadow:none}
.workspace .next-class-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:32px 48px;max-width:1040px;margin:0 auto;color:var(--text-primary)}
.workspace :is(.next-class-hero,.next-class-plan){min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--text-primary)}
.workspace .next-class-hero{grid-column:1;grid-row:1}
.workspace .next-class-hero>.eyebrow{margin:0 0 16px;color:var(--accent-pink);font:600 calc(.75rem * var(--text-metadata-scale))/1.5 var(--font-body);text-transform:none;letter-spacing:.02em}
.workspace .next-class-heading-row{display:flex;align-items:flex-start;gap:20px}
.workspace .next-class-when{min-width:0;flex:1}
.workspace .next-class-hero h2{margin:0 0 20px;color:var(--text-primary);font:800 calc(2rem * var(--text-display-scale))/1.15 var(--font-body);letter-spacing:-.045em;overflow-wrap:anywhere}
.workspace .next-class-time{margin:0 0 10px;color:var(--text-primary);font:700 calc(1.625rem * var(--text-reading-scale))/1.3 var(--font-body);letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.workspace .next-class-date{margin:0;color:var(--text-secondary);font:400 calc(.875rem * var(--text-reading-scale))/1.6 var(--font-body)}
/* The assigned Lesson is the visual focus; suppress only this screen’s character. */
.workspace .next-class-sage{display:none}
.workspace .next-class-sage img{display:block;width:100%;height:100%;object-fit:contain;transform:scaleX(-1);filter:none}
.workspace .next-class-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px}
.workspace .next-class-badges .audience-badge{padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--text-secondary);font:500 calc(.75rem * var(--text-metadata-scale))/1.5 var(--font-body);letter-spacing:0;text-transform:none}
.workspace .next-class-badges .audience-badge+.audience-badge{padding-left:8px;border-left:1px solid var(--divider)}
.workspace .next-class-context{margin:28px 0 0;padding-top:24px;border-top:1px solid var(--divider)}
.workspace .next-class-context div{display:grid;gap:10px}
.workspace .next-class-context dt{color:var(--text-muted);font:500 calc(.75rem * var(--text-metadata-scale))/1.5 var(--font-body);text-transform:none;letter-spacing:0}
.workspace .next-class-context dd{margin:0;color:var(--text-primary);font:700 calc(1.25rem * var(--text-reading-scale))/1.35 var(--font-body);letter-spacing:-.025em;overflow-wrap:anywhere}
.workspace :is(.next-class-intention,.next-class-note){margin:16px 0 0;color:var(--text-secondary);font:400 calc(.875rem * var(--text-reading-scale))/1.7 var(--font-body);overflow-wrap:anywhere;white-space:pre-line}
.workspace .next-class-plan{grid-column:2;grid-row:1}
.workspace .next-class-lesson-overview{min-width:0}
.workspace .next-class-lesson-overview.has-artwork{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.workspace .next-class-lesson-artwork{min-width:0;width:100%}
.workspace .next-class-lesson-artwork>.lesson-artwork--hero{width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:6px;box-shadow:none}
.workspace .next-class-lesson-artwork>.lesson-artwork--hero::after{display:none}
/* Use the artwork’s own palette, matching the Libraries rather than the legacy Light wash. */
.workspace .next-class-lesson-artwork img{opacity:1;filter:none}
.workspace .next-class-lesson-link{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-decoration-color:var(--border-primary);text-underline-offset:.2em}
.workspace .next-class-lesson-link:hover{text-decoration-color:currentColor}
.workspace .next-class-plan-heading{display:flex;flex-wrap:wrap;align-items:start;gap:16px;justify-content:space-between}
.workspace .next-class-plan-heading>div{min-width:0;flex:1 1 180px}
.workspace .next-class-plan-heading .eyebrow{margin:0 0 10px;color:var(--text-muted);font:500 calc(.75rem * var(--text-metadata-scale))/1.5 var(--font-body);text-transform:none;letter-spacing:0}
.workspace .next-class-plan-heading h3{margin:0;color:var(--text-primary);font:700 calc(1.375rem * var(--text-display-scale))/1.3 var(--font-body);letter-spacing:-.025em;overflow-wrap:anywhere}
/* Match the existing light-theme status priority while retaining semantic roles. */
.workspace .next-class-plan .next-class-state{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--status-success)!important;font:600 calc(.75rem * var(--text-metadata-scale))/1.5 var(--font-body);text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.workspace .next-class-state::before{content:'●';font-size:.65em}
.workspace .next-class-plan .next-class-state.is-unassigned{color:var(--status-warning)!important}
.workspace .next-class-games{display:grid;gap:0;margin:24px 0 0;padding:0;list-style:none}
.workspace .next-class-games li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline;gap:4px 12px;min-width:0;padding:16px 0;border:0;border-top:1px solid var(--divider);border-radius:0;background:none;box-shadow:none}
.workspace .next-class-games li>span{width:auto;height:auto;border:0;border-radius:0;background:none;color:var(--accent-violet);font:500 calc(.75rem * var(--text-metadata-scale))/1.5 'DM Mono',monospace}
.workspace .next-class-games strong{color:var(--text-primary);font:600 calc(.9375rem * var(--text-reading-scale))/1.5 var(--font-body);overflow-wrap:anywhere}
.workspace .next-class-games small{grid-column:2;color:var(--text-muted);font:400 calc(.75rem * var(--text-metadata-scale))/1.5 var(--font-body);overflow-wrap:anywhere}
.workspace .next-class-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding-top:0;border:0}
.workspace .next-class-actions :is(.primary-button,.secondary-button),.workspace .next-class-empty .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;max-width:100%;padding:12px 18px;border:1px solid var(--border-primary);border-radius:6px;background:transparent;color:var(--text-primary);box-shadow:none;font:700 var(--text-control)/1.4 var(--font-body);text-transform:none;white-space:normal;overflow-wrap:anywhere;transform:none}
.workspace .next-class-actions .primary-button,.workspace .next-class-empty .secondary-button{background:var(--accent-pink);border-color:var(--accent-pink);color:var(--control-on-accent)}
.workspace .next-class-actions .secondary-button{background:transparent;border-color:var(--border-primary);color:var(--text-primary)}
.workspace .next-class-actions :is(.primary-button,.secondary-button):hover,.workspace .next-class-empty .secondary-button:hover{border-color:var(--focus-ring)}
.workspace .next-class-week-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;margin-left:auto;padding:10px 12px;color:var(--text-secondary);font:600 var(--text-control)/1.4 var(--font-body);text-decoration:none}
.workspace .next-class-empty{max-width:720px;margin:0 auto;padding:40px 0;border:0;border-radius:0;background:none;box-shadow:none;text-align:left}
.workspace .next-class-empty>span{display:block;margin-bottom:20px;color:var(--accent-violet);font:500 32px 'DM Mono',monospace}
.workspace .next-class-empty h2{margin:0 0 16px;font:700 calc(1.75rem * var(--text-display-scale))/1.2 var(--font-body);color:var(--text-primary);letter-spacing:-.035em;overflow-wrap:anywhere}
.workspace .next-class-empty p{margin:0 0 24px;color:var(--text-secondary);font:400 calc(.9375rem * var(--text-reading-scale))/1.7 var(--font-body)}
@media(max-width:900px){
 .workspace .next-class-shell{grid-template-columns:1fr;gap:32px;max-width:720px}
 .workspace :is(.next-class-hero,.next-class-actions,.next-class-plan){grid-column:1;grid-row:auto}
}
@media(max-width:620px){
 .workspace:has(.next-class-shell,.next-class-empty) .topbar .page-header-copy #page-title{font-size:calc(1.75rem * var(--text-display-scale))}
 .workspace:has(.next-class-shell,.next-class-empty) .topbar{margin-bottom:24px;padding-bottom:16px}
 .workspace .next-class-shell{gap:12px}
 .workspace .next-class-hero>.eyebrow{margin-bottom:8px}
 .workspace .next-class-hero h2{margin-bottom:8px}
 .workspace .next-class-time{margin-bottom:4px}
 .workspace .next-class-badges{margin-top:12px}
 .workspace .next-class-context{margin-top:12px;padding-top:0;border:0}
 .workspace .next-class-context div{gap:4px}
 .workspace .next-class-intention{margin-top:12px}
 .workspace .next-class-plan-heading{gap:8px}
 .workspace .next-class-lesson-overview.has-artwork .next-class-plan-heading{display:grid;gap:4px}
 .workspace .next-class-lesson-overview.has-artwork .next-class-plan-heading .eyebrow{display:none}
 .workspace .next-class-plan-heading .eyebrow{margin-bottom:4px}
 .workspace .next-class-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px;padding-top:0}
 .workspace .next-class-actions a{width:100%;margin:0}
 .workspace .next-class-empty{padding-block:24px}
}
html[data-text-scale-level="accessibility"] .workspace .next-class-shell{grid-template-columns:1fr}
html[data-text-scale-level="accessibility"] .workspace :is(.next-class-hero,.next-class-actions,.next-class-plan){grid-column:1;grid-row:auto}
html[data-text-scale-level="accessibility"] .workspace .next-class-lesson-overview.has-artwork{grid-template-columns:1fr}
html[data-text-scale-level="accessibility"] .workspace .next-class-lesson-artwork{max-width:720px}
html[data-text-scale-level="accessibility"] .workspace .next-class-sage{display:none}
.mobile-next-class-shortcut{display:none}
@media(max-width:620px){.mobile-primary-navigation{grid-template-columns:1fr 1.14fr 1fr;gap:6px}.mobile-primary-navigation .mobile-schedule-shortcut,.mobile-primary-navigation .mobile-chat-shortcut,.mobile-primary-navigation .mobile-next-class-shortcut{position:relative;display:flex;grid-row:1;min-width:0;min-height:44px;padding:8px 7px;font-size:10px}.mobile-primary-navigation .mobile-chat-shortcut{grid-column:1;--mobile-active-accent:var(--accent-pink)}.mobile-primary-navigation .mobile-next-class-shortcut{grid-column:2;align-items:center;justify-content:center;gap:6px;border:1px solid color-mix(in srgb,#b47cff 48%,var(--line));border-radius:8px;background:linear-gradient(145deg,rgba(74,43,96,.36),rgba(22,18,28,.95));box-shadow:0 7px 18px rgba(0,0,0,.14);color:#ddc5ff;font:800 10px Manrope;text-decoration:none;white-space:nowrap;--mobile-active-accent:#b47cff}.mobile-primary-navigation .mobile-schedule-shortcut{grid-column:3;--mobile-active-accent:var(--accent-blue)}.mobile-primary-navigation>a.active{border-color:color-mix(in srgb,var(--mobile-active-accent) 82%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--mobile-active-accent) 20%,transparent),0 7px 18px rgba(0,0,0,.18);color:var(--text)}.mobile-primary-navigation>a.active:after{position:absolute;right:calc(50% - 9px);bottom:4px;width:18px;height:2px;border-radius:99px;background:var(--mobile-active-accent);content:''}}

@media(max-width:350px){.mobile-primary-navigation{gap:4px}.mobile-primary-navigation .mobile-schedule-shortcut,.mobile-primary-navigation .mobile-chat-shortcut,.mobile-primary-navigation .mobile-next-class-shortcut{gap:4px;padding:7px 4px;font-size:9px}}

.workspace:has(.next-class-shell,.next-class-empty) .top-action[hidden]{display:none}
