
/* One next lesson, placed before pending administrative tasks. */
.teacher-next-class{margin-bottom:24px;border-top:2px solid var(--orange)}.teacher-next-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.teacher-next-heading h2{margin:0}.teacher-next-heading .attendance-status{flex-shrink:0}.teacher-next-student{display:flex;align-items:center;gap:14px;margin:20px 0 14px;min-width:0}.teacher-next-student .avatar{flex-shrink:0}.teacher-next-student h3{margin:0;font-size:1.25rem;overflow-wrap:anywhere}.teacher-next-when{font-size:clamp(1.1rem,3vw,1.4rem);font-weight:650;line-height:1.5;color:var(--text,#f5f5f5);margin:0 0 14px;overflow-wrap:anywhere}.teacher-next-plan,.teacher-next-address{margin:8px 0;overflow-wrap:anywhere}.teacher-next-actions{margin-top:20px;gap:12px;align-items:center}.teacher-next-actions button{min-height:44px;white-space:normal;max-width:100%}
@media(max-width:640px){.teacher-next-class{margin-bottom:22px}.teacher-next-heading{gap:10px}.teacher-next-actions{align-items:stretch}.teacher-next-actions .primary,.teacher-next-actions .secondary{flex:1 1 140px;min-height:48px}.teacher-next-actions .link{padding:8px 12px}.teacher-next-student h3{font-size:1.125rem}}
/* Home hierarchy: current cycle, next lesson, then lifetime reward. */
.student-home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:"plan next" "reward next";gap:22px;align-items:start}
.student-home-grid>.plan-journey{grid-area:plan}
.student-home-grid>.next-training-card{grid-area:next;min-width:0;border-top:2px solid var(--orange)}
.student-home-grid>.home-reward-card{grid-area:reward;min-width:0}
.plan-summary-top{display:grid;grid-template-columns:minmax(0,1fr) 152px;align-items:center;gap:18px}
.plan-summary-top>div:first-child{min-width:0}
.plan-journey .plan-summary-top .trophy{width:152px;height:152px;transform:none;justify-self:center}
.plan-summary-top .month-total{margin-top:18px}
.plan-summary-top h2{overflow-wrap:anywhere}
.home-plan-status{display:inline-block;margin-top:12px}
.plan-journey .monthly-remaining{margin-bottom:0}
.home-reward-card .reward-journey{margin:0;padding:0;border:0}
.home-reward-card .home-lifetime-total{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.home-reward-card .between{gap:12px;flex-wrap:wrap}
.next-training-card .dateblock{margin:16px 0 18px;align-items:flex-start}
.next-training-card .dateblock>div:last-child{min-width:0}
.next-training-card h2{font-size:1.25rem;overflow-wrap:anywhere}
.next-training-card .dateblock p{margin:4px 0}
.next-training-card>p:last-child{margin-bottom:0}
.next-training-card .compact-rsvp{padding:16px 0 0;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.compact-rsvp .rsvp-participants{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.compact-rsvp .rsvp-person{padding:10px;gap:3px}
.compact-rsvp .rsvp-person strong{font-size:1rem}
.compact-rsvp button{max-width:100%;white-space:normal}
.rsvp-cancellation-info{margin:4px 0 0;font-size:.875rem;color:var(--muted);line-height:1.45}
.teacher-pending-panel{margin-bottom:24px}
.teacher-pending-panel .section-title{gap:12px;align-items:center;flex-wrap:wrap}
.teacher-pending-panel .section-title h2{margin:0}
.pending-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pending-group{min-width:0;border:1px solid var(--line);border-radius:12px;background:#11121440}
.pending-group>summary{cursor:pointer;padding:14px;min-height:50px;font-size:1rem;font-weight:650;display:flex;align-items:center;gap:8px;list-style:none}
.pending-group>summary::-webkit-details-marker{display:none}
.pending-group>summary::before{content:"›";font-size:1.25rem;line-height:1;color:var(--orange);transform:rotate(0deg)}
.pending-group[open]>summary::before{transform:rotate(90deg)}
.pending-count{margin-left:auto;flex-shrink:0;min-width:25px;padding:1px 7px;border-radius:7px;background:#ff762e16;color:var(--orange);text-align:center;font-size:.875rem}
.pending-items{padding:0 14px 14px}
.pending-items>p{margin:0}
.pending-student{padding:14px 0;border-top:1px solid var(--line);display:grid;gap:10px;min-width:0}
.pending-student:last-child{padding-bottom:0}
.pending-student strong{font-size:1rem;overflow-wrap:anywhere}
.pending-student p{margin:5px 0 0;overflow-wrap:anywhere}
.pending-student button{justify-self:start;max-width:100%;white-space:normal;min-height:44px}
.pending-empty{margin:0}
@media(max-width:1200px){.pending-groups{grid-template-columns:1fr}.pending-student{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}}
@media(max-width:1100px){.student-home-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"plan" "next" "reward"}}
@media(max-width:640px){.student-home-grid{gap:18px}.plan-summary-top{gap:14px}.pending-student{grid-template-columns:1fr;gap:10px}.pending-student button{justify-self:stretch}.next-training-card .dateblock{gap:12px}}
@media(max-width:380px){.plan-summary-top{grid-template-columns:minmax(0,1fr) clamp(96px,31vw,122px);gap:8px}.plan-journey .plan-summary-top .trophy{width:100%;height:auto;aspect-ratio:1}.compact-rsvp .rsvp-person{padding:8px}.compact-rsvp .rsvp-person strong{overflow-wrap:anywhere}}
.student-home-grid:not(:has(.next-training-card)){grid-template-columns:minmax(0,1fr);grid-template-areas:"plan" "reward"}
