/* Student design tokens and components. Operator and login styles stay in style.css. */
.member-workspace {
 --student-primary:#246b50; --student-deep:#173f35; --student-ink:#1f3028;
 --student-muted:#5e6b62; --student-canvas:#ffffff; --student-line:#e1e8e1;
 --student-tint:#eaf2eb; --student-gold:#b79b62; --student-radius:20px;
 --student-section-gap:24px; --student-card-padding:28px;
 color:var(--student-ink); font-size:16px; line-height:1.65;
}
body.student-session { background:#ffffff; }
.student-session>header { background:#fff; border-color:#e1e8e1; }
main.member-workspace { max-width:1200px; width:100%; margin:0 auto; padding:24px 32px 72px; }
.member-workspace :is(h1,h2,h3,h4,p) { overflow-wrap:anywhere; }
.member-workspace h1 { font-size:clamp(26px,3vw,34px); font-weight:700; line-height:1.4; letter-spacing:-.045em; margin:8px 0 12px; }
.member-workspace h2 { font-size:21px; line-height:1.5; letter-spacing:-.035em; margin:0 0 12px; }
.member-workspace h3 { font-size:18px; line-height:1.55; margin:12px 0 8px; }
.member-workspace h4 { font-size:16px; line-height:1.5; margin:24px 0 10px; }
.member-workspace p { margin:0 0 16px; }
.member-workspace .eyebrow { font-size:12px; font-weight:650; letter-spacing:.09em; color:var(--student-primary); margin:0 0 8px; }
.member-workspace .muted,.member-workspace .student-meta { color:var(--student-muted); }
.member-workspace .student-meta { font-size:13px; margin:12px 0; line-height:1.65; }
.member-workspace :is(a,button) { -webkit-tap-highlight-color:transparent; }
.member-workspace :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--student-primary); outline-offset:4px; }
.member-workspace button { margin:0; font:inherit; font-size:14px; font-weight:600; min-height:44px; }
.member-workspace button:disabled { background:#edf0eb; color:#5e6b62; cursor:default; }
.member-workspace .error { font-size:14px; margin:0; padding:0; }
.member-workspace .error:not(:empty) { background:#fff1ed; border:1px solid #e3b8ab; padding:12px 16px; border-radius:12px; margin:12px 0; color:#8a3025; }
.member-workspace .student-icon { display:block; flex:none; }
.member-workspace .student-nav { display:flex; justify-content:flex-end; gap:8px; flex-wrap:nowrap; margin:0 0 24px; }
.member-workspace .student-nav a { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 18px; border-radius:999px; color:var(--student-muted); text-decoration:none; font-size:14px; font-weight:600; }
.member-workspace .student-nav a[aria-current=page] { background:var(--student-tint); color:var(--student-primary); }
.member-workspace .student-nav .student-icon { width:20px; height:20px; }
.student-page-heading { margin:0 0 32px; }
.student-page-heading .muted { margin:0; font-size:15px; }
.student-greeting { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.student-monogram { display:flex; align-items:center; justify-content:center; border:1px solid var(--student-line); background:#fff; color:var(--student-primary); border-radius:50%; width:76px; height:76px; flex:none; }
.student-monogram img { display:block; width:64px; height:64px; }
.student-card { background:#fff; padding:var(--student-card-padding); border:1px solid var(--student-line); border-radius:var(--student-radius); min-width:0; }
.student-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.student-section-heading :is(h2,h3,.eyebrow) { margin:0; }
.student-pill { display:inline-flex; align-items:center; min-height:26px; border-radius:999px; background:var(--student-tint); color:var(--student-primary); padding:4px 10px; font-size:12px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.student-home-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:var(--student-section-gap); }
.student-home-main,.student-home-aside { display:flex; flex-direction:column; gap:var(--student-section-gap); min-width:0; }
.student-practice { background:var(--student-deep); border-color:var(--student-deep); color:#fff; position:relative; overflow:hidden; isolation:isolate; }
.member-workspace .student-practice h2 { font-size:27px; max-width:90%; margin:22px 0 6px; }
.member-workspace .student-practice .eyebrow { color:#e5eee8; }
.student-practice .student-pill { background:#31594c; color:#f6f8f5; }
.member-workspace .student-practice-caption { color:#e0e9e2; font-size:13px; margin-bottom:24px; }
.member-workspace .student-practice-text { font-size:17px; line-height:1.85; margin-bottom:28px; position:relative; }
.student-practice-decoration { position:absolute; right:-100px; bottom:-20px; width:480px; height:160px; max-width:none; opacity:.2; z-index:-1; pointer-events:none; }
.member-workspace .student-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:12px 22px; border-radius:999px; background:var(--student-primary); color:#fff; font-size:14px; font-weight:650; text-decoration:none; }
.member-workspace .student-button-light { background:#fff; color:var(--student-deep); }
.member-workspace .student-button .student-icon { width:18px; height:18px; }
.member-workspace .student-text-link { display:inline-flex; align-items:center; gap:6px; color:var(--student-primary); text-decoration:none; font-size:14px; font-weight:600; min-height:44px; }
.student-text-link .student-icon { width:17px; height:17px; }
.student-summary-preview { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.student-recent .student-section-heading { margin-bottom:4px; }
.member-workspace .student-recent .student-meta { margin-top:8px; }
.student-goal { background:#ffffff; border-color:var(--student-line); }
.student-small-symbol { display:flex; width:44px; height:44px; align-items:center; justify-content:center; background:#fff; border-radius:50%; color:var(--student-primary); margin-bottom:20px; }
.student-goal>p:last-child { margin-bottom:0; }
.student-studio { position:relative; min-height:190px; overflow:hidden; border-radius:var(--student-radius); background:#ffffff; isolation:isolate; }
.student-studio>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 50%; z-index:-2; }
.student-studio:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#ffffffef,#ffffffc9 55%,#ffffff10); z-index:-1; }
.student-studio>div { padding:var(--student-card-padding); }
.student-studio-banner { min-height:200px; margin-bottom:var(--student-section-gap); }
.student-studio-banner>div { display:flex; align-items:center; min-height:inherit; }
.member-workspace .student-studio-banner h2 { max-width:55%; margin:0; font-size:25px; }
.student-welcome { min-height:220px; }
.student-studio-banner>.student-welcome-copy { flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; width:65%; }
.member-workspace .student-welcome-copy :is(h1,p) { margin:0; }
.member-workspace .student-welcome-copy h1 { font-size:32px; line-height:1.4; }
.member-workspace .student-welcome-caption { color:var(--student-muted); font-size:16px; }
.member-workspace .student-studio .eyebrow { color:#465b4d; font-size:10px; }
.student-details { margin:0; }
.student-details>div { padding:16px 0; border-bottom:1px solid var(--student-line); }
.student-details>div:last-child { border-bottom:0; }
.student-details dt { font-size:13px; color:var(--student-muted); margin-bottom:6px; }
.student-details dd { margin:0; font-size:15px; overflow-wrap:anywhere; }
.student-video-section { min-width:0; }
.student-performance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.student-performance-card { display:flex; flex-direction:column; padding:0; margin:0; background:#fff; border:1px solid var(--student-line); border-radius:18px; overflow:hidden; min-width:0; }
.student-performance-art { flex:none; aspect-ratio:3/2; background:#ffffff; color:var(--student-primary); position:relative; overflow:hidden; }
.student-performance-card:nth-child(even) .student-performance-art { background:#ffffff; color:#645437; }
.student-performance-copy { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:18px; }
.member-workspace .student-performance-copy .student-meta { margin:0 0 8px; }
.member-workspace .student-performance-copy h3 { margin:0 0 16px; }
.member-workspace .instagram-link { display:inline-flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:10px 14px; border:1px solid var(--student-line); border-radius:999px; background:#fff; color:var(--student-primary); font-size:13px; font-weight:600; text-decoration:none; max-width:100%; }
.student-performance-copy .instagram-link { width:100%; margin-top:auto; }
.student-video-intro { display:flex; align-items:center; gap:16px; padding:20px 24px; border-radius:16px; background:var(--student-tint); margin-bottom:24px; }
.student-video-intro>.student-icon { width:32px; height:32px; color:var(--student-primary); }
.member-workspace .student-video-intro p { margin:0; font-size:15px; }
.member-workspace .student-video-intro .muted { font-size:13px; }
.member-workspace .student-text-button { background:transparent; color:var(--student-primary); padding:10px 0; text-decoration:underline; text-underline-offset:4px; border-radius:4px; font-size:13px; }
.member-workspace .student-text-button[hidden] { display:none; }
.student-pagination { display:flex; align-items:center; justify-content:center; gap:16px; margin:24px 0 8px; font-size:13px; }
.member-workspace .student-outline-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border:1px solid var(--student-line); border-radius:999px; background:#fff; color:var(--student-primary); }
.member-workspace .student-empty { text-align:center; padding:32px 16px; color:var(--student-muted); font-size:14px; }
.student-performance-grid>.student-empty { grid-column:1/-1; }
.member-workspace .student-empty p { margin:0 0 8px; font-size:16px; font-weight:600; color:var(--student-ink); }
.student-empty span { display:block; font-size:13px; }
.student-history-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr); gap:24px; align-items:start; }
.student-calendar-card { position:sticky; top:24px; }
.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:20px; }
.calendar-toolbar>div { min-width:0; }
.member-workspace .calendar-toolbar input { width:100%; max-width:210px; padding:8px; border:1px solid var(--student-line); border-radius:10px; min-height:44px; font-size:17px; font-weight:650; color:var(--student-ink); }
.member-workspace .student-icon-button { display:flex; align-items:center; justify-content:center; border-radius:50%; flex:none; width:44px; height:44px; padding:0; font-size:24px; background:var(--student-tint); color:var(--student-primary); }
.member-workspace .calendar-legend { font-size:12px; color:var(--student-primary); margin:0 0 16px; }
.calendar-legend .student-meta { font-size:11px; }
.calendar-week,.calendar-dates { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.calendar-week span { text-align:center; padding:8px 0 12px; color:var(--student-muted); font-size:12px; }
.calendar-day,.calendar-blank,.member-workspace .lesson-day { min-width:0; min-height:52px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:0; border:1px solid transparent; padding:4px 0; border-radius:14px; line-height:1.5; font-size:14px; }
.calendar-day { color:var(--student-muted); background:transparent; }
.member-workspace .lesson-day { background:var(--student-tint); color:var(--student-primary); font-weight:650; }
.member-workspace .lesson-day small { font-size:8px; line-height:1; }
.member-workspace .lesson-day.selected { background:var(--student-primary); color:#fff; border-color:var(--student-primary); }
.calendar-day.is-today,.member-workspace .lesson-day.is-today { border-color:var(--student-primary); }
.member-workspace .lesson-day.selected:focus-visible { outline-color:var(--student-deep); outline-offset:2px; }
.member-workspace #calendar-count { margin:20px 0 4px; }
.lesson-notes { scroll-margin-top:24px; }
.student-day-heading { padding-bottom:16px; border-bottom:1px solid var(--student-line); }
.member-workspace .student-day-heading h2 { font-size:17px; margin:0; font-variant-numeric:tabular-nums; }
.student-day-heading h2 span { display:block; font-size:24px; margin-top:6px; }
.member-workspace .student-day-heading .student-meta { margin:8px 0 0; }
.lesson-note { padding:24px 0; border-bottom:1px solid var(--student-line); }
.lesson-note:last-child { padding-bottom:0; border-bottom:0; }
.lesson-note .student-section-heading { align-items:flex-start; }
.lesson-note .student-section-heading h3 { flex:1; min-width:100px; }
.lesson-note .student-section-heading .student-pill { flex:none; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.student-practice-note { padding:20px; background:var(--student-tint); border-radius:14px; margin:24px 0; }
.member-workspace .student-practice-note h4 { display:flex; align-items:center; gap:8px; margin:0 0 12px; color:var(--student-primary); }
.student-practice-note .student-icon { width:18px; height:18px; }
.member-workspace .student-practice-note p { margin:0; }
.student-profile-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; align-items:start; }
.student-profile-identity { display:flex; gap:16px; align-items:center; border-bottom:1px solid var(--student-line); padding-bottom:24px; margin-bottom:24px; }
.student-profile-identity h2 { margin:0 0 8px; }
.student-avatar { display:flex; align-items:center; justify-content:center; background:var(--student-tint); color:var(--student-primary); border-radius:50%; height:64px; width:64px; flex:none; }
.student-avatar .student-icon { width:28px; height:28px; }
.member-workspace .student-account-action { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:18px 0; margin:16px 0; border-top:1px solid var(--student-line); border-bottom:1px solid var(--student-line); background:#fff; color:var(--student-ink); border-radius:0; text-align:left; }
.student-account-card .student-outline-button { margin-top:12px; }
.member-workspace>.login { margin:32px auto; }
@media(min-width:1200px) { .member-workspace:has(.student-page-heading+.student-video-section) .student-performance-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:899px) {
 main.member-workspace { padding:24px 24px calc(112px + env(safe-area-inset-bottom,0px)); }
 .member-workspace .student-nav { position:fixed; z-index:20; left:0; bottom:0; width:100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; gap:0; padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--student-line); background:#fff; box-shadow:0 -4px 24px #173f3506; }
 .member-workspace .student-nav a { flex-direction:column; gap:4px; padding:8px 2px; min-height:60px; border-radius:12px; font-size:12px; }
 .member-workspace .student-nav .student-icon { width:22px; height:22px; }
 .student-home-grid,.student-history-grid,.student-profile-grid { grid-template-columns:1fr; gap:24px; }
 .student-home-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .student-home-aside .student-enrollment { grid-column:1/-1; }
 .student-calendar-card { position:static; }
 .student-monogram { width:64px; height:64px; }
 .calendar-day,.calendar-blank,.member-workspace .lesson-day { min-height:48px; }
}
@media(max-width:480px) {
 .student-session>header { padding:16px 20px; }
 .student-session>header small { font-size:11px; }
 main.member-workspace { padding:28px 20px calc(112px + env(safe-area-inset-bottom,0px)); }
 .student-page-heading { margin-bottom:24px; }
 .member-workspace h1 { font-size:27px; }
 .member-workspace h2 { font-size:19px; }
 .member-workspace .student-greeting h1 { font-size:26px; }
 .student-monogram { display:none; }
 .student-card { padding:24px 20px; border-radius:18px; }
 .student-home-main,.student-home-aside { gap:20px; }
 .student-home-aside { display:flex; }
 .student-practice { padding:26px 24px; }
 .member-workspace .student-practice h2 { font-size:25px; margin-top:18px; }
 .member-workspace .student-practice-text { font-size:16px; margin-bottom:24px; }
 .student-section-heading { gap:8px; }
 .student-performance-grid { gap:12px; }


 .student-performance-copy { padding:16px 12px; }
 .member-workspace .student-performance-copy h3 { font-size:16px; }
 .member-workspace .instagram-link { padding:10px 12px; font-size:12px; }
 .student-performance-copy .instagram-link { flex-wrap:wrap; justify-content:center; text-align:center; }
 .student-performance-copy .instagram-link .sr-only { flex:none; }
 .student-calendar-card { padding:20px 12px; }
 .calendar-week,.calendar-dates { gap:2px; }
 .calendar-toolbar { margin:0 4px 16px; gap:6px; }
 .calendar-toolbar input { font-size:16px; }
 .member-workspace .calendar-legend { padding:0 4px; font-size:12px; }
 .calendar-legend .student-meta { display:block; margin:4px 0 0; font-size:12px; }
 .member-workspace #calendar-count { padding:0 4px; }
 .member-workspace #calendar-retry { margin-left:4px; }
 .student-video-intro { padding:16px; gap:12px; }
 .student-practice-note { padding:16px; }
 .student-enrollment .student-section-heading { flex-wrap:nowrap; }
}
@media(max-width:350px) {
 main.member-workspace { padding-left:16px; padding-right:16px; }
 .student-performance-grid { grid-template-columns:1fr; }
 .student-performance-art { min-height:130px; }
 .member-workspace .student-greeting h1 { font-size:24px; }
 .member-workspace .student-nav a { font-size:11px; }
}
@media(prefers-reduced-motion:no-preference) {
 .member-workspace :is(.student-button,.student-nav a,.lesson-day) { transition:background-color .16s ease,color .16s ease; }
}
@media(hover:hover) {
 .member-workspace .student-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
 .member-workspace .student-nav a:hover { background:var(--student-tint); }
 .member-workspace .instagram-link:hover { background:var(--student-tint); }
}

/* Shared production artwork: decorative images never contain lesson data. */
.student-performance-art>img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.student-performance-art>span { position:absolute; left:16px; bottom:12px; font-size:9px; font-weight:700; letter-spacing:.1em; }
.member-workspace .student-empty>img { display:block; width:128px; height:96px; margin:0 auto 16px; }
.member-workspace .instagram-link .student-icon { width:16px; height:16px; }
.student-action-label { display:inline-flex; align-items:center; gap:10px; }
.student-account-card .student-outline-button { gap:8px; }
.student-account-card .student-outline-button .student-icon { width:18px; height:18px; }

/* Consistent section headings and a shared row rhythm across the home columns. */
.member-workspace .student-section-title { display:flex; align-items:center; gap:12px; min-width:0; margin:0; }
.student-section-title>span:last-child { min-width:0; }
.student-heading-icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; border:1px solid var(--student-line); border-radius:10px; background:#fff; color:var(--student-primary); }
.student-heading-icon .student-icon { width:20px; height:20px; }
.member-workspace .student-icon-label { display:flex; align-items:center; gap:8px; min-width:0; }
.student-icon-label>.student-icon { width:20px; height:20px; }
.student-icon-label>span { min-width:0; }
.student-details dt { display:flex; align-items:center; gap:8px; }
.student-details dt .student-icon { width:18px; height:18px; color:var(--student-primary); }
.student-details dd { padding-left:26px; }
.student-goal h3 { margin-top:24px; }
.student-home-grid .student-video-section .student-empty { border:0; padding:24px 0; }
.student-home-grid .student-section-heading { min-height:44px; }
.student-practice>.student-button { width:fit-content; max-width:100%; }
.student-calendar-card>.student-section-heading { margin-bottom:24px; }
.student-account-card>.student-section-title { margin-bottom:16px; }
.student-profile-identity+h3.student-section-title { margin-bottom:12px; }
@supports(grid-template-rows:subgrid) {
 @media(min-width:900px) {
  .student-home-grid { grid-template-rows:auto auto auto; align-items:stretch; }
  .student-home-main,.student-home-aside { display:grid; grid-template-rows:subgrid; grid-row:span 3; }
  .student-home-main { grid-column:1; }
  .student-home-aside { grid-column:2; grid-row:1 / span 2; }
 }
}
@media(max-width:899px) {
 .member-workspace { --student-card-padding:24px; }
 .student-home-main,.student-home-aside { gap:var(--student-section-gap); }
 .student-home-aside { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .student-home-aside .student-enrollment { grid-column:auto; }
 .student-home-aside .student-studio { min-height:220px; }
}
@media(max-width:480px) {
 .member-workspace { --student-section-gap:20px; --student-card-padding:20px; }
 .student-card,.student-practice { padding:var(--student-card-padding); }
 .student-calendar-card { padding:20px 12px; }
 .student-home-grid,.student-history-grid,.student-profile-grid { gap:var(--student-section-gap); }
 .student-heading-icon { width:32px; height:32px; border-radius:9px; }
 .member-workspace .student-section-title { gap:10px; }
 .student-home-aside .student-studio { min-height:190px; }
 .student-studio-banner { min-height:150px; }
 .member-workspace .student-studio-banner h2 { font-size:20px; }
 .student-welcome { min-height:190px; }
 .student-studio-banner>.student-welcome-copy { width:78%; gap:6px; }
 .member-workspace .student-welcome-copy h1 { font-size:26px; }
 .member-workspace .student-welcome-caption { font-size:14px; }
 .student-calendar-card>.student-section-heading { margin-inline:4px; }
 .student-practice>.student-button { width:100%; justify-content:space-between; }
 .student-enrollment .student-section-heading { flex-wrap:wrap; }
}

/* Compact copy, visual navigation cues and directly playable performance covers. */
.member-workspace .student-page-title { display:flex; align-items:center; gap:12px; }
.student-page-title>.student-icon { width:30px; height:30px; color:var(--student-primary); }
.member-workspace .student-greeting h1 { margin:0 0 4px; }
.member-workspace .student-practice h2 { max-width:100%; margin:20px 0 18px; }
.member-workspace .student-practice-text { margin-bottom:24px; }
.student-goal>.preserve-lines { font-size:20px; line-height:1.75; margin:20px 0 0; }
.student-details>div { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:start; gap:12px; }
.student-details dt { margin:2px 0 0; }
.student-details dd { padding:0; font-size:16px; font-weight:600; }
.student-performance-link { display:flex; flex-direction:column; flex:1; width:100%; color:var(--student-ink); text-decoration:none; }
.student-performance-card:focus-within { outline:3px solid var(--student-primary); outline-offset:4px; }
.student-performance-art>.student-play-icon { display:flex; align-items:center; justify-content:center; left:50%; top:50%; bottom:auto; transform:translate(-50%,-50%); width:52px; height:52px; border-radius:50%; background:#fff; color:var(--student-primary); box-shadow:0 4px 16px #173f351a; }
.student-play-icon>.student-icon { width:26px; height:26px; }
.member-workspace .student-performance-copy h3 { margin:0 0 12px; }
.student-video-platform { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; margin-top:auto; font-size:12px; font-weight:600; color:var(--student-primary); }
.student-video-platform>.student-icon { width:16px; height:16px; }
.student-video-intro { gap:12px; background:#fff; border:1px solid var(--student-line); padding:14px 18px; }
.student-video-intro>.student-icon { width:24px; height:24px; }
.student-video-intro>.student-pill { margin-left:auto; }
.member-workspace .student-help { border-top:1px solid var(--student-line); margin-top:20px; font-size:13px; color:var(--student-muted); }
.student-help>summary { padding:12px 0; min-height:44px; }
.member-workspace .student-help p { margin:0 0 14px; font-size:13px; }
.member-workspace .calendar-legend { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.student-legend-item { display:inline-flex; align-items:center; gap:7px; }
.student-lesson-dot { width:8px; height:8px; border-radius:50%; background:var(--student-primary); }
.student-today-ring { width:14px; height:14px; border:1px solid var(--student-primary); border-radius:50%; }
.member-workspace .student-day-heading h2 { font-size:24px; margin:10px 0; }
.student-day-heading>.student-icon-label { color:var(--student-primary); letter-spacing:0; font-size:14px; }
.student-practice-note { background:#fff; border:1px solid var(--student-primary); border-left-width:4px; }
.lesson-note>.student-icon-label { color:var(--student-primary); }
@media(max-width:480px) {
 .student-page-title>.student-icon { width:26px; height:26px; }
 .member-workspace .student-practice h2 { margin:16px 0; }
 .student-goal>.preserve-lines { font-size:18px; }
 .student-details>div { grid-template-columns:88px minmax(0,1fr); gap:8px; }
 .student-play-icon>.student-icon { width:22px; height:22px; }
 .student-performance-art>.student-play-icon { width:44px; height:44px; }
 .student-video-intro { flex-wrap:wrap; padding:14px; }
}

@media(max-width:899px){.member-workspace .student-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.member-workspace .student-nav a{font-size:11px;padding-inline:1px}}
