/* My lessons page */
.my-lessons-main{background:var(--section-neutral)}
.my-lesson-detail__reservation-source>.preview-schedule{display:none!important}
.my-lessons{overflow:hidden;padding:clamp(1rem,2.25vw,2.125rem) 1rem 5rem}
.my-lessons__inner{position:relative}
.my-lessons__hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;min-height:0;padding-top:clamp(.75rem,2vw,1.5rem);padding-bottom:2.5rem}
.my-lessons__back{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-text);font-size:0;text-decoration:none}
.my-lessons__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.my-lessons__hero-copy{position:relative;z-index:1;width:100%;max-width:none;margin-top:0;min-width:0}
.my-lessons__title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;white-space:nowrap}
.my-lessons__title-row{margin-bottom:.75rem}
.my-lessons__hero h1{margin:0;font-family:var(--font-heading);font-size:clamp(2.6rem,4vw,3.8rem);font-weight:500;line-height:1.02}
.my-lessons__title-row h1{min-width:0;overflow:hidden;text-overflow:ellipsis}
.my-lessons__pass-summary{display:inline-flex;align-items:center;flex:0 0 auto;gap:.45rem;color:var(--color-text);font-family:var(--font-heading);font-size:clamp(1.43rem,2.2vw,2.09rem);font-weight:500;line-height:1}
.my-lessons__pass-summary[hidden]{display:none}
.my-lessons__pass-summary img{display:block;width:1.1em;height:1.1em;flex:0 0 auto;object-fit:contain}
.my-lessons__hero p{max-width:29rem;margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.75;color:rgba(63,59,54,.78)}
.my-lessons__decor{position:absolute;z-index:0;top:1rem;right:clamp(-3rem,4vw,2rem);width:clamp(10rem,24vw,18rem);opacity:.13;transform:rotate(-8deg);pointer-events:none}
.my-lessons__content{position:relative;z-index:1}
.my-lessons__toolbar{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:stretch;margin-bottom:2.5rem}
.my-lessons__toolbar-main{display:grid;grid-column:1 / -1;gap:.65rem;min-width:0;width:100%}
.my-lessons__admin-toggle{display:inline-flex;grid-column:1 / -1;min-height:2.75rem;align-items:center;justify-self:end;justify-content:flex-end;gap:.7rem;color:rgba(63,59,54,.7);font-size:.94rem;line-height:1.3;cursor:pointer;user-select:none}
.my-lessons__admin-toggle input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.my-lessons__admin-toggle-track{display:flex;width:2.375rem;height:1.375rem;align-items:center;padding:.15rem;border:1px solid rgba(63,59,54,.2);border-radius:999px;background:rgba(255,255,255,.75);box-sizing:border-box;transition:background-color .18s ease,border-color .18s ease}
.my-lessons__admin-toggle-track span{display:block;width:.9rem;height:.9rem;border-radius:50%;background:rgba(63,59,54,.45);box-shadow:0 1px 3px rgba(63,59,54,.18);transition:transform .18s ease,background-color .18s ease}
.my-lessons__admin-toggle input:checked+.my-lessons__admin-toggle-track{border-color:var(--color-primary);background:var(--color-primary)}
.my-lessons__admin-toggle input:checked+.my-lessons__admin-toggle-track span{background:var(--color-white);transform:translateX(1.0625rem)}
.my-lessons__admin-toggle input:focus-visible+.my-lessons__admin-toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}
.my-lessons__tabs{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:3.5rem;padding:.25rem;border:1px solid var(--color-warm-beige);border-radius:1.25rem;background:var(--color-white);box-shadow:0 2px 8px rgba(63,59,54,.03)}
.my-lessons__tab{border:0;border-radius:1rem;background:transparent;color:var(--color-text);font:inherit;font-size:1.05rem;font-weight:500;cursor:pointer;transition:background-color .18s ease,color .18s ease}
.my-lessons__tab:hover{background:rgba(216,204,188,.25)}
.my-lessons__tab.is-active{background:var(--color-warm-beige);box-shadow:none;color:var(--color-text);font-weight:600}
.my-lessons__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.my-lessons__book{display:grid;width:4.2rem;min-height:4.2rem;place-items:center;padding:0;border-radius:1.25rem;background:var(--color-primary)}
.my-lessons__calendar-icon{display:block;width:1.55rem;height:1.7rem;background-color:var(--color-white);-webkit-mask:url("../icons/booking.svg") center/contain no-repeat;mask:url("../icons/booking.svg") center/contain no-repeat}
.my-lessons__groups{display:grid;gap:1.15rem}.my-lessons__groups[hidden]{display:none}.my-lessons__groups .my-reservations__section{display:contents}.my-lessons__groups .my-reservations__section-title{display:none}
.my-lessons__groups .instructor-lessons__load-more{display:inline-flex;justify-self:center;align-items:center;gap:.45rem;width:auto;min-width:0;min-height:44px;padding:.55rem 1.05rem;border:1px solid var(--color-warm-beige);border-radius:999px;background:var(--section-warm);color:var(--color-text);font-size:.82rem;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.my-lessons__groups .instructor-lessons__load-more::after{content:"↓";font-size:.9em;line-height:1}
.my-lessons__groups .instructor-lessons__load-more:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-white);color:var(--color-primary)}
.my-lessons__groups .instructor-lessons__load-more:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.my-lessons__groups .instructor-lessons__load-more:disabled{cursor:wait;opacity:.72}
.my-lessons .my-reservations__card{position:relative;display:grid;grid-template-columns:minmax(8rem,24%) minmax(0,1fr);min-height:13rem;overflow:hidden;padding:0;border:1px solid rgba(63,59,54,.1);border-radius:1.35rem;background:rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(63,59,54,.07);color:var(--color-text);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.my-lessons .my-reservations__card:has(.my-lessons__capacity--cancelled),.my-lessons .my-reservations__card--cancelled{background:#fff5f5}
.my-lessons .my-reservations__card:hover,.my-lessons .my-reservations__card:focus-visible{transform:translateY(-2px);box-shadow:0 18px 38px rgba(63,59,54,.12)}.my-lessons .my-reservations__card--rebookable{cursor:pointer}.my-lessons .my-reservations__card--rebookable:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.my-lessons__card-media-wrap{position:relative;min-width:0;min-height:13rem;overflow:hidden}.my-lessons__card-media{display:block;width:100%;height:100%;min-height:13rem;object-fit:cover}.my-lessons__card-body{display:grid;align-content:center;gap:.7rem;padding:2rem 1.5rem 2rem clamp(1.25rem,4vw,3rem)}
.my-lessons .my-reservations__lesson{order:2;margin:0;font-family:var(--font-heading);font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:500;line-height:1.05}.my-lessons__datetime-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;order:1;min-width:0;column-gap:.75rem}.my-lessons .my-reservations__datetime{display:flex;align-items:center;gap:.65rem;min-width:0;margin:0;color:var(--color-primary);font-size:1.15rem;font-weight:600;white-space:nowrap}.my-lessons__datetime-label{min-width:0}.my-lessons__card-actions{display:flex;align-items:center;justify-content:center;min-width:1.65rem}.my-lessons__avatars{order:3}.my-lessons__capacity{order:4}
.my-lessons__promo{order:3;display:inline-flex;align-items:center;justify-self:start;max-width:100%;padding:.2rem .55rem;border:1px solid var(--color-warm-beige);border-radius:999px;background:var(--section-warm);color:var(--color-primary);font-size:.78rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.my-lessons__badges{position:absolute;top:.8rem;left:.8rem;z-index:1;display:flex;max-width:calc(100% - 1.6rem)}.my-lessons__badge{display:inline-flex;align-items:center;gap:.32rem;max-width:100%;padding:.22rem .55rem;border:1px solid rgba(63,59,54,.2);border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(63,59,54,.12);color:var(--color-primary);font-size:.78rem;font-weight:600;line-height:1.3;white-space:nowrap}.my-lessons__badge-label--mobile{display:none}.my-lessons__badge--admin{border-color:rgba(190,137,103,.52);background:rgba(255,247,240,.96);box-shadow:none;color:#a45f4c}.my-lessons__badge--reservation{border-color:rgba(190,137,103,.34);background:rgba(255,247,240,.93);color:var(--color-primary)}.my-lessons__badge--reservation-cancelled{border-color:rgba(124,57,47,.28);background:rgba(255,247,240,.96);box-shadow:none;color:#7c392f}.my-lessons__badge-icon{display:block;width:.9rem;height:.9rem;flex:0 0 .9rem;background-color:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.my-lessons .my-lessons__capacity--cancelled{color:#e54848;font-weight:700;order:4}.my-lessons__cancelled-mobile{display:none}.my-lessons__cancellation-message{order:5;margin:-.42rem 0 0;color:rgba(63,59,54,.68);font-size:.9rem;font-weight:400;line-height:1.45}
.my-lessons__avatars{display:flex;align-items:center;min-height:2.75rem;padding-block:.15rem}.my-lessons__avatar{display:flex;align-items:center;justify-content:center;flex:0 0 2.7rem;width:2.7rem;height:2.7rem;margin-right:-.45rem;padding:0;border:2px solid var(--color-white);border-radius:999px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));box-sizing:border-box;color:var(--color-white);font-size:.72rem;line-height:1;white-space:nowrap}
.my-lessons__avatar{background-position:center;background-size:cover}.my-lessons__avatar--more,.my-lessons__avatar--mobile-more{margin-left:.8rem;margin-right:0;border:0;background:rgba(63,59,54,.07);background-image:none;color:var(--color-text);font-size:.95rem}.my-lessons__avatar--mobile-more{display:none}
.my-lessons__capacity{margin:.15rem 0 0;color:rgba(63,59,54,.78);font-size:1.05rem}.my-lessons__message-icon{position:relative;display:inline-block;flex:0 0 1.65rem;width:1.65rem;height:1.35rem;background:url("../icons/text-message.svg") center/contain no-repeat;color:var(--color-text)}
.my-lessons__message-badge{position:absolute;top:-.45rem;right:-.5rem;display:grid;min-width:1.15rem;height:1.15rem;padding:0 .18rem;place-items:center;border-radius:999px;background:#B86F55;color:var(--color-white);font-size:.68rem;font-weight:700;line-height:1}.my-lessons__chevron{position:absolute;top:50%;right:1.855rem;width:1.15rem;height:1.15rem;border-top:3px solid var(--color-primary);border-right:3px solid var(--color-primary);transform:translateY(-50%) rotate(45deg)}.my-lessons__empty{padding:1rem 0;color:rgba(63,59,54,.7)}
@media(max-width:767px){.my-lessons{padding-inline:0}.my-lessons__hero{margin-inline-start:-1rem;padding-bottom:1.5rem}.my-lessons__hero h1{font-size:clamp(2.1rem,9vw,2.8rem);line-height:1.05}.my-lessons__decor{top:2rem;right:-3rem;width:12rem}.my-lessons__toolbar{grid-template-columns:1fr auto;gap:.7rem;margin-bottom:.75rem}.my-lessons__admin-toggle{justify-content:flex-end;font-size:.88rem}.my-lessons__tabs{min-height:3rem}.my-lessons__tab{font-size:.9rem}.my-lessons__book{min-height:3rem;height:3rem}.my-lessons .my-reservations__card{grid-template-columns:7.25rem minmax(0,1fr);min-height:12rem;border-radius:1rem}.my-lessons__card-media-wrap,.my-lessons__card-media{min-height:12rem}.my-lessons__badges{top:.55rem;left:.55rem;max-width:calc(100% - 1.1rem)}.my-lessons__badge{gap:.25rem;padding:.18rem .4rem;font-size:.7rem}.my-lessons__badge-label--desktop{display:none}.my-lessons__badge-label--mobile{display:inline}.my-lessons__badge-icon{width:.8rem;height:.8rem;flex-basis:.8rem}.my-lessons__card-body{gap:.45rem;padding:1.15rem 1rem 1.15rem 1rem}.my-lessons .my-reservations__lesson{font-size:1.55rem}.my-lessons .my-reservations__datetime,.my-lessons__capacity{font-size:.88rem}.my-lessons__avatar{flex-basis:2rem;width:2rem;height:2rem;font-size:.65rem}.my-lessons__message-icon{flex-basis:1.35rem;width:1.35rem;height:1.1rem}.my-lessons__card-actions{min-width:1.35rem}.my-lessons__chevron{right:1.295rem;width:.8rem;height:.8rem}.my-lessons__cancellation-message{display:none}.my-lessons__cancelled-desktop{display:none}.my-lessons__cancelled-mobile{display:inline}}

.my-lessons-browser[hidden]{display:none}
.my-lessons-browser{display:grid;gap:1.25rem}
.my-lessons-browser__day-frame{display:block}
.my-lessons-browser__days-viewport-shell{width:100%;max-width:100%;min-width:0}
.my-lessons-browser__days-viewport{min-width:0;padding-top:.72rem;padding-bottom:.35rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;box-sizing:border-box}
.my-lessons-browser__days-viewport::-webkit-scrollbar{display:none}
.my-lessons-browser__days{display:flex;justify-content:flex-start;align-items:flex-start;gap:clamp(.85rem,1.9vw,1.45rem);width:max-content;padding:0;transition:transform 240ms ease;will-change:transform}
.my-lessons-browser__day{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:4.35rem;padding:.8rem 1.3rem;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:rgba(238,232,224,.76);color:var(--color-text);font-family:var(--font-heading);font-size:clamp(1.02rem,1.5vw,1.38rem);line-height:1.06;text-align:center;cursor:pointer;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,transform 180ms ease;white-space:nowrap}
.my-lessons-browser__day strong{display:block;font-size:1em;font-weight:400;line-height:1}.my-lessons-browser__day span{display:block;font-family:var(--font-body);font-size:.74em;font-weight:600;line-height:1}
.my-lessons-browser__day.is-active{background:#777154;border-color:#777154;color:#fff}.my-lessons-browser__day:disabled{color:rgba(63,59,54,.34);cursor:default}.my-lessons-browser__day:focus-visible,.my-lessons-browser__reserve:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.my-lessons-browser__day:not(:disabled):not(.is-active):hover{border-color:rgba(140,148,115,.24);color:#777154;transform:translateY(-1px)}}
@media(min-width:781px){.my-lessons-browser__days-viewport-shell{position:relative}.my-lessons-browser__days-viewport{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-x}.my-lessons-browser__days-viewport-shell::before,.my-lessons-browser__days-viewport-shell::after{position:absolute;z-index:2;top:0;bottom:0;width:2.25rem;pointer-events:none;content:"";opacity:0;transition:opacity 180ms ease}.my-lessons-browser__days-viewport-shell::before{left:0;background:linear-gradient(to right,var(--section-neutral),rgba(250,247,242,0))}.my-lessons-browser__days-viewport-shell::after{right:0;background:linear-gradient(to left,var(--section-neutral),rgba(250,247,242,0))}.my-lessons-browser__days-viewport-shell.has-overflow-left::before,.my-lessons-browser__days-viewport-shell.has-overflow-right::after{opacity:1}.my-lessons-browser__days-viewport.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}}
@media(min-width:781px){.my-lessons-browser{width:100%;max-width:100%;min-width:0}.my-lessons-browser__day-frame,.my-lessons-browser__days-viewport-shell,.my-lessons-browser__days-viewport{width:100%;max-width:100%;min-width:0}}
.my-lessons-browser__panel{position:relative;display:grid;min-height:29rem;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius-large);background:#fbf8f3;box-shadow:0 24px 70px rgba(63,59,54,.08)}
.my-lessons-browser__status-row{display:flex;align-items:center;gap:.75rem;min-width:0;margin:0;color:rgba(63,59,54,.68);font-size:.88rem;line-height:1.35}
.my-lessons-browser__status-row .my-lessons-browser__status{flex:1 1 auto;min-width:0;margin:0;padding:.35rem 0}
.my-lessons__loading-status{font-family:var(--font-body);font-size:.88rem;font-weight:400;line-height:1.35;color:rgba(63,59,54,.7)}
.my-lessons-browser__retry{flex:0 0 auto;min-height:2rem;padding:.25rem .8rem;border:1px solid rgba(63,59,54,.25);border-radius:999px;background:transparent;color:var(--color-primary);font:inherit;font-size:.82rem;cursor:pointer}
.my-lessons-browser__retry:hover,.my-lessons-browser__retry:focus-visible{background:rgba(238,232,224,.7)}
.my-lessons-browser__retry:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.my-lessons-browser__card{position:relative;z-index:2;width:64%;min-height:29rem;padding:clamp(2rem,3.5vw,3.2rem);box-sizing:border-box}
.my-lessons-browser__heading{margin:0 0 1.55rem;color:#777154;font-size:.86rem;font-weight:700;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}.my-lessons-browser__heading::after{content:"";display:block;width:2.4rem;height:1px;margin-top:1rem;background:#777154}
.my-lessons-browser__list{min-height:19.75rem}.my-lessons-browser__empty,.my-lessons-browser__status{margin:0;padding:1rem 0;color:rgba(63,59,54,.7)}
.my-lessons-browser__lesson{position:relative;display:grid;grid-template-columns:minmax(7rem,.34fr) minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:clamp(1.1rem,2.2vw,1.55rem);row-gap:calc(.45rem + 2px);align-items:baseline;min-height:6.55rem;padding:1.05rem .65rem 1.05rem 0;border-bottom:1px solid rgba(63,59,54,.12);transition:background .18s ease,opacity .18s ease,border-color .18s ease}.my-lessons-browser__lesson:last-child{border-bottom-color:transparent}
.my-lessons-browser__time{display:block;grid-column:1;grid-row:1;align-self:baseline;box-sizing:border-box;padding-right:0;border-right:1px solid rgba(63,59,54,.12);color:#777154;font-family:var(--font-heading);font-size:clamp(2.9rem,4.8vw,4rem);font-weight:500;line-height:.95;text-align:center}.my-lessons-browser__copy{display:contents}.my-lessons-browser__title{display:block;grid-column:2;grid-row:1;margin:0;font-family:var(--font-heading);font-size:clamp(1.65rem,2.4vw,2.15rem);line-height:1.04}.my-lessons-browser__meta{grid-column:2;grid-row:2;margin:0;color:rgba(63,59,54,.68);font-size:.88rem;line-height:1.2}.my-lessons-browser__duration{display:inline-flex;grid-column:1;grid-row:2;align-items:center;justify-content:center;min-height:2rem;padding:.25rem 1.05rem;border-radius:999px;background:#eee8e0;color:rgba(63,59,54,.9);font-size:.88rem;line-height:1.2}.my-lessons-browser__actions{display:grid;grid-template-columns:8.5rem auto;grid-column:2 / 4;grid-row:2;align-self:center;align-items:center;gap:.6rem;flex-wrap:nowrap;white-space:nowrap}.my-lessons-browser__availability{align-self:center;margin:0;color:rgba(63,59,54,.68);font-size:.88rem;line-height:1.2;text-align:left}.my-lessons-browser__reserve{display:inline-flex;justify-self:start;align-items:center;justify-content:center;gap:.5rem;min-height:2rem;width:10rem;padding:.25rem .85rem;border:0;border-radius:999px;background:var(--color-primary);color:#fff;font:inherit;font-size:.88rem;font-weight:500;line-height:1.2;cursor:pointer}.my-lessons-browser__reserve:disabled{background:rgba(63,59,54,.14);color:rgba(63,59,54,.52);cursor:not-allowed;opacity:.78}.my-lessons-browser__reserve-icon{display:block;width:1rem;height:1rem;background:currentColor;-webkit-mask:url("../icons/booking.svg") center/contain no-repeat;mask:url("../icons/booking.svg") center/contain no-repeat}.my-lessons-browser__chevron{display:block;grid-column:3;grid-row:1;width:2rem;height:2rem;border-radius:50%;color:#777154;position:relative}.my-lessons-browser__chevron::before{content:"";position:absolute;top:.7rem;left:.65rem;width:.56rem;height:.56rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.my-lessons-browser__availability-mobile{display:none}.my-lessons-browser__reserve-label{display:block}.my-lessons-browser__reserve-label--compact{display:none}.my-lessons-browser__lesson.is-reserved .my-lessons-browser__reserve{background:#eef3e6;color:#5e664c}.my-lessons-browser__lesson.is-reserved .my-lessons-browser__reserve-icon{-webkit-mask-image:url("../icons/booked.svg");mask-image:url("../icons/booked.svg")}.my-lessons-browser__reserve-icon{flex:0 0 1rem}
.my-lessons-browser__lesson.is-cancelled .my-lessons-browser__availability{color:#8b554c;font-weight:600}.my-lessons-browser__cancellation-message{grid-column:2;grid-row:3;margin:0;color:rgba(63,59,54,.72);font-size:.8rem;line-height:1.35;white-space:nowrap}
.my-lessons-browser__cancelled-label{display:none}
.my-lessons-browser__duration-slot{display:flex;grid-column:1;grid-row:2;align-self:center;align-items:center;justify-content:center;min-height:2.35rem}.my-lessons-browser__duration--desktop{display:inline-flex}.my-lessons-browser__duration--mobile{display:none}
.my-lessons-browser__reserve{transition:background-color 180ms ease,color 180ms ease,transform 180ms ease}
.my-lessons-browser__detail-trigger{display:flex;grid-column:2 / 4;grid-row:1;align-items:baseline;justify-content:space-between;gap:.75rem;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.my-lessons-browser__detail-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:.2rem}.my-lessons-browser__detail-trigger .my-lessons-browser__title{grid-column:auto;grid-row:auto}.my-lessons-browser__detail-chevron{display:block;width:2rem;height:2rem;flex:0 0 2rem;border-radius:50%;color:#777154;position:relative}.my-lessons-browser__detail-chevron::before{content:"";position:absolute;top:.7rem;left:.65rem;width:.56rem;height:.56rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.my-lessons-browser__detail-panel[hidden]{display:none}.my-lessons-browser__detail-panel{position:fixed;z-index:210;inset:0;display:grid;place-items:center;padding:1rem}.my-lessons-browser__detail-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(63,59,54,.32);cursor:pointer}.my-lessons-browser__detail-dialog{position:relative;z-index:1;width:min(100%,34rem);max-height:calc(100dvh - 2rem);overflow:auto;padding:1.25rem;border:1px solid rgba(63,59,54,.12);border-radius:1.35rem;background:var(--color-white);box-shadow:0 24px 70px rgba(63,59,54,.25)}.my-lessons-browser__detail-top{display:flex;justify-content:flex-end}.my-lessons-browser__detail-close{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--color-text);font:inherit;font-size:1.7rem;cursor:pointer}.my-lessons-browser__detail-close:hover{background:var(--section-warm)}.my-lessons-browser__detail-close:focus-visible,.my-lessons-browser__detail-teacher:focus-visible,.my-lessons-browser__detail-reserve:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.my-lessons-browser__detail-body{display:grid;gap:1rem}.my-lessons-browser__detail-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.2rem,6vw,3.4rem);font-weight:500;line-height:1}.my-lessons-browser__detail-meta,.my-lessons-browser__detail-availability{margin:0;line-height:1.45}.my-lessons-browser__detail-copy p{margin:0;line-height:1.9}.my-lessons-browser__detail-profile-copy p{line-height:1.9}.my-lessons-browser__detail-meta,.my-lessons-browser__detail-availability{color:rgba(63,59,54,.7)}.my-lessons-browser__detail-status{margin:0;padding:.75rem 1rem;border-radius:.7rem;background:rgba(139,85,76,.09);color:#8b554c;font-weight:600}.my-lessons-browser__detail-facts{display:grid;gap:.7rem;padding-top:.25rem}.my-lessons-browser__detail-fact{display:flex;align-items:center;gap:.75rem}.my-lessons-browser__detail-fact small{color:rgba(63,59,54,.65)}.my-lessons-browser__detail-fact-icon{width:1.35rem;height:1.35rem;flex:0 0 1.35rem;background:var(--color-primary);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.my-lessons-browser__detail-fact-icon--lotus{-webkit-mask-image:url("../icons/lotus.svg");mask-image:url("../icons/lotus.svg")}.my-lessons-browser__detail-fact-icon--person{-webkit-mask-image:url("../icons/person.svg");mask-image:url("../icons/person.svg")}.my-lessons-browser__detail-fact-icon--shirt{-webkit-mask-image:url("../icons/shirt.svg");mask-image:url("../icons/shirt.svg")}.my-lessons-browser__detail-teacher{display:flex;align-items:center;gap:.9rem;padding:.8rem;border:1px solid rgba(63,59,54,.12);border-radius:.9rem;background:var(--color-white);color:inherit;font:inherit;text-align:left;cursor:pointer}.my-lessons-browser__detail-teacher:disabled{cursor:default;opacity:1}.my-lessons-browser__detail-teacher-avatar{display:grid;width:3.5rem;height:3.5rem;flex:0 0 3.5rem;place-items:center;border-radius:50%;background:var(--section-warm) center/cover no-repeat;font-family:var(--font-heading);font-size:1.1rem}.my-lessons-browser__detail-teacher-copy{display:grid;gap:.15rem}.my-lessons-browser__detail-teacher small{color:rgba(63,59,54,.65)}.my-lessons-browser__detail-teacher strong{font-family:var(--font-heading);font-size:1.45rem;font-weight:500}.my-lessons-browser__detail-profile{display:grid;gap:.7rem}.my-lessons-browser__detail-profile h3{margin:0;font-family:var(--font-heading);font-size:1.8rem;font-weight:500}.my-lessons-browser__detail-reserve{width:100%;min-height:2.8rem;padding:.65rem 1rem;border:0;border-radius:999px;background:var(--color-primary);color:#fff;font:inherit;font-weight:600;cursor:pointer}.my-lessons-browser__detail-reserve:disabled{background:rgba(63,59,54,.14);color:rgba(63,59,54,.52);cursor:not-allowed;opacity:.78}
.my-lessons-browser__media{position:absolute;inset:0 0 0 auto;z-index:1;width:calc(36% + 14rem);height:100%;margin:0;background:#e8dfd1;overflow:hidden;pointer-events:none}.my-lessons-browser__media::before{content:"";position:absolute;inset:0 auto 0 0;z-index:1;width:22rem;background:linear-gradient(to right,#fbf8f3 0%,rgba(251,248,243,.98) 22%,rgba(251,248,243,.78) 48%,rgba(251,248,243,.3) 75%,rgba(251,248,243,0) 100%)}.my-lessons-browser__media img{display:block;width:100%;height:100%;object-fit:cover}
@media(hover:hover) and (pointer:fine){.my-lessons-browser__lesson:hover{background:linear-gradient(to right,rgba(238,232,224,.58) 0%,rgba(238,232,224,.34) 68%,rgba(238,232,224,0) 100%)}.my-lessons-browser__lesson:hover .my-lessons-browser__chevron{background:#eee8e0;color:#676144;transform:translateX(2px)}.my-lessons-browser__lesson:hover .my-lessons-browser__reserve:not(.is-reserved):not(:disabled),.my-lessons-browser__reserve:not(.is-reserved):not(:disabled):hover{background:#777154;color:#fff}.my-lessons-browser__lesson:hover .my-lessons-browser__reserve.is-reserved,.my-lessons-browser__reserve.is-reserved:hover{background:var(--color-warm-beige);color:var(--color-primary)}.my-lessons-browser__reserve:not(:disabled):hover{transform:translateY(-1px)}}
@media(min-width:781px){.my-lessons-browser__duration{display:inline-flex;width:max-content;min-width:0;min-height:2rem;justify-self:center;align-items:center;padding:.25rem 1.05rem;border-radius:999px;line-height:1.2;box-sizing:border-box}}
@media(max-width:767px){.my-lessons-browser{gap:.7rem}.my-lessons-browser__day-frame{display:block}.my-lessons-browser__day-nav{display:none}.my-lessons-browser__days{gap:.4rem}.my-lessons-browser__day{min-width:4.65rem;min-height:3.75rem;padding:.45rem .55rem}.my-lessons-browser__panel{display:block;min-height:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.my-lessons-browser__card{width:100%;min-height:0;padding:0}.my-lessons-browser__heading,.my-lessons-browser__media{display:none}.my-lessons-browser__list{display:grid;gap:.7rem;min-height:0}.my-lessons-browser__lesson{grid-template-columns:4rem minmax(0,1fr);grid-template-rows:auto auto auto;gap:.3rem .7rem;min-height:0;padding:.9rem;border:1px solid rgba(63,59,54,.1);border-radius:1.1rem;background:rgba(255,255,255,.9);box-shadow:0 10px 26px rgba(63,59,54,.06)}.my-lessons-browser__time{grid-column:1;grid-row:1;min-width:0;border:0;font-size:1rem;text-align:left}.my-lessons-browser__detail-trigger{grid-column:2;grid-row:1}.my-lessons-browser__detail-trigger .my-lessons-browser__title{font-size:1.3rem}.my-lessons-browser__detail-chevron{display:none}.my-lessons-browser__meta{grid-column:2;grid-row:2;font-size:.8rem}.my-lessons-browser__duration{grid-column:1;grid-row:2;min-height:1.6rem;padding:.2rem .55rem;font-size:.75rem}.my-lessons-browser__actions{grid-column:2;grid-row:3 / span 2;display:grid;gap:.3rem;align-items:start}.my-lessons-browser__availability{margin:0;font-size:.8rem}.my-lessons-browser__availability-desktop,.my-lessons-browser__reserve-label--full{display:none}.my-lessons-browser__availability-mobile,.my-lessons-browser__reserve-label--compact{display:block}.my-lessons-browser__reserve{grid-column:auto;grid-row:auto;justify-self:start;width:auto;min-height:2.5rem;padding:.6rem 1rem;font-size:.88rem}.my-lessons-browser__reserve-icon{display:none}.my-lessons-browser__lesson.is-reserved .my-lessons-browser__reserve::before{content:"✓";font-weight:inherit;line-height:1}.my-lessons-browser__chevron{display:none}}

@media(max-width:780px){
    .my-lessons-browser__day-frame{display:block}
    .my-lessons-browser__day-nav{display:none}
    .my-lessons-browser__days-viewport{box-sizing:border-box;margin-inline:-2rem;padding:0 2rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
    .my-lessons-browser__days-viewport::-webkit-scrollbar{display:none}
    .my-lessons-browser__days{gap:.5rem;transition:none}
    .my-lessons-browser__day{min-width:0;min-height:3.7rem;padding:.54rem .9rem;font-size:.98rem}
    .my-lessons-browser__status-row{gap:.55rem;font-size:.8rem}
    .my-lessons__loading-status{font-size:.8rem}
    .my-lessons-browser__retry{font-size:.78rem}
}

@media(min-width:768px){.my-lessons-browser__detail-panel{display:flex;justify-content:flex-end;padding:0}.my-lessons-browser__detail-dialog{width:min(100%,34rem);height:100%;max-height:none;padding:0;border:0;border-radius:4rem 0 0;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.86),transparent 28rem),#fbf8f3;box-shadow:-28px 0 80px rgba(63,59,54,.22);overflow:hidden}.my-lessons-browser__detail-backdrop{background:rgba(63,59,54,.46);backdrop-filter:blur(5px)}.my-lessons-browser__detail-body{display:block}.my-lessons-browser__detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(2.2rem,5vw,3.8rem)}.my-lessons-browser__detail-dialog{overflow:visible}.my-lessons-browser__detail-body{height:100%;overflow-y:auto;padding:clamp(2rem,4vw,3.4rem);padding-bottom:calc(clamp(2rem,4vw,3.4rem) + var(--safe-area-bottom))}.my-lessons-browser__detail-top{position:absolute;top:clamp(2rem,4vw,3.4rem);left:clamp(2rem,4vw,3.4rem);right:clamp(2rem,4vw,3.4rem);z-index:2;margin:0}.my-lessons-browser__detail-body{padding-top:calc(clamp(2rem,4vw,3.4rem) + 5.2rem)}.my-lessons-browser__detail-back,.my-lessons-browser__detail-close{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:0;border-radius:999px;background:transparent;color:#676144;cursor:pointer;font-size:2.35rem;line-height:1}.my-lessons-browser__detail-close{font-size:2.6rem}.my-lessons-browser__detail-back:hover,.my-lessons-browser__detail-close:hover{background:rgba(238,232,224,.8)}.my-lessons-browser__detail-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.6rem,4vw,3.8rem);font-weight:500;line-height:.95}.my-lessons-browser__detail-date{margin:.7rem 0 0;color:rgba(63,59,54,.62);font-size:.86rem}.my-lessons-browser__detail-time{margin:1.35rem 0 1.15rem;color:#777154;font-family:var(--font-heading);font-size:clamp(2.9rem,4.8vw,4rem);line-height:.95}.my-lessons-browser__detail-duration{display:inline-flex;align-items:center;min-height:2.65rem;padding:.45rem 1.35rem;background:#eee8e0;border-radius:999px;font-size:.88rem}.my-lessons-browser__detail-copy{margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.7rem,3vw,2.4rem);border-top:1px solid rgba(63,59,54,.15);color:#25231f;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.9}.my-lessons-browser__detail-copy p{margin:0 0 1.25rem}.my-lessons-browser__detail-facts{display:grid;gap:.85rem;margin-top:2rem}.my-lessons-browser__detail-fact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;min-height:4.5rem;padding:.8rem 1rem;background:rgba(238,232,224,.72);border-radius:1.35rem}.my-lessons-browser__detail-fact-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:rgba(217,214,178,.52);border-radius:999px;color:#676144;font-size:1.45rem}.my-lessons-browser__detail-fact-icon--lotus{-webkit-mask:url("../icons/lotus-clean.svg") center/contain no-repeat;mask:url("../icons/lotus-clean.svg") center/contain no-repeat;background-color:#676144}.my-lessons-browser__detail-fact-icon--person{-webkit-mask:url("../icons/person.svg") center/contain no-repeat;mask:url("../icons/person.svg") center/contain no-repeat;background-color:#676144}.my-lessons-browser__detail-fact-icon--shirt{-webkit-mask:url("../icons/shirt.svg") center/contain no-repeat;mask:url("../icons/shirt.svg") center/contain no-repeat;background-color:#676144}.my-lessons-browser__detail-teacher{grid-template-columns:auto minmax(0,1fr) auto;width:100%;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.my-lessons-browser__detail-teacher:disabled{cursor:default}.my-lessons-browser__detail-teacher:not(:disabled):hover,.my-lessons-browser__detail-teacher:not(:disabled):focus-visible{background:rgba(217,214,178,.42)}.my-lessons-browser__detail-teacher-avatar{padding:0;overflow:hidden;background-position:center;background-repeat:no-repeat;background-size:cover;-webkit-mask:none;mask:none}.my-lessons-browser__detail-teacher-chevron{margin-left:auto;color:#676144;font-size:2rem;line-height:1}.my-lessons-browser__detail-fact small{display:block;margin-bottom:.15rem;color:rgba(63,59,54,.72);font-family:var(--font-body);font-size:.9rem}.my-lessons-browser__detail-availability{margin:1.5rem 0 0;color:rgba(63,59,54,.7);font-size:.9rem}.my-lessons-browser__detail-reserve{display:flex;align-items:center;justify-content:center;width:100%;min-height:4.25rem;margin-top:2rem;border-radius:1.15rem;font-family:var(--font-heading);font-size:1.75rem;line-height:1}.my-lessons-browser__detail-reserve:disabled{cursor:not-allowed}.my-lessons-browser__detail-text-close{display:block;margin:1.25rem auto 0;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#676144;font:inherit;font-size:1.1rem;line-height:1.4;cursor:pointer}.my-lessons-browser__detail-profile{padding-bottom:2rem}.my-lessons-browser__detail-profile-avatar{display:flex;align-items:center;justify-content:center;width:8rem;height:8rem;margin:0 auto 2rem;background:rgba(217,214,178,.52) center/cover no-repeat;border-radius:999px;overflow:hidden;color:#676144;font-size:2rem}.my-lessons-browser__detail-profile h2{text-align:center;margin:0;font-family:var(--font-heading);font-size:clamp(2.6rem,4vw,3.8rem);font-weight:500;line-height:.95}.my-lessons-browser__detail-profile-copy{margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.7rem,3vw,2.4rem);border-top:1px solid rgba(63,59,54,.15);color:#25231f;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.9}.my-lessons-browser__detail-profile-copy p{margin:0 0 1.25rem}}
@media(max-width:560px){.my-lessons .my-reservations__card{grid-template-columns:6.525rem minmax(0,1fr);min-height:10.8rem}.my-lessons__card-media-wrap,.my-lessons__card-media{min-height:10.8rem}.my-lessons .my-reservations__lesson{position:relative;top:-.4rem;font-size:1.4rem}.my-lessons .my-reservations__datetime,.my-lessons__capacity{font-size:.8rem}.my-lessons .my-reservations__datetime{position:relative;top:-.6rem}.my-lessons__avatar:nth-child(n+4):not(.my-lessons__avatar--mobile-more),.my-lessons__avatar--more{display:none}.my-lessons__avatar--mobile-more{display:grid}.my-lessons__capacity-separator,.my-lessons__capacity-availability{display:none}}

.my-lessons-browser__lesson--recommended{background:linear-gradient(to right,rgba(200,158,108,.3) 0%,rgba(200,158,108,.13) 68%,rgba(200,158,108,0) 100%);border-bottom-color:rgba(200,158,108,.3)}.my-lessons-browser__lesson--muted{opacity:.58}.my-lessons-browser__lesson.my-lessons-browser__lesson--recommended:hover{background:linear-gradient(to right,rgba(200,158,108,.38) 0%,rgba(200,158,108,.17) 68%,rgba(200,158,108,0) 100%)}
.my-lessons-browser__lesson--muted .my-lessons-browser__reserve:not(.is-reserved):not(:disabled){background:#b8bda7;color:#fff}
@media(hover:hover) and (pointer:fine){.my-lessons-browser__lesson--muted:hover{opacity:.78}}

/* Narrow mobile lesson overview: keep the desktop sidebar rows, full-bleed. */
.my-lesson-mobile-users{display:none}
.lesson-qr-payment-modal__overlay{position:fixed;z-index:1004;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(63,59,54,.28);cursor:pointer}
.lesson-qr-payment-modal{position:fixed;z-index:1005;top:50%;left:50%;width:min(calc(100vw - 2rem),29rem);max-height:calc(100dvh - 2rem);overflow-y:auto;box-sizing:border-box;padding:0 1.25rem 1.25rem;border:1px solid var(--color-warm-beige);border-radius:1.25rem;background:var(--color-white);box-shadow:0 24px 70px rgba(63,59,54,.25);transform:translate(-50%,-50%);text-align:center}
.lesson-qr-payment-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 -1.25rem 1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--color-warm-beige);text-align:left}
.lesson-qr-payment-modal__header h2{margin:0;font-family:var(--font-heading);font-size:1.65rem;font-weight:500;line-height:1.1}
.lesson-qr-payment-modal__close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;font-size:1.7rem;line-height:1;cursor:pointer}
.lesson-qr-payment-modal__close:hover{background:var(--section-warm)}
.lesson-qr-payment-modal__close:focus-visible,.lesson-qr-payment-modal__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.lesson-qr-payment-modal__body{display:flex;flex-direction:column;align-items:center;gap:.55rem}
.lesson-qr-payment-modal__amount{margin:0;font-family:var(--font-heading);font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.1}
.lesson-qr-payment-modal__qr-wrap{display:grid;width:230px;min-height:230px;place-items:center}
.lesson-qr-payment-modal__qr{display:block;width:230px;height:230px;aspect-ratio:1/1;object-fit:contain}
.lesson-qr-payment-modal__payment-label,.lesson-qr-payment-modal__account,.lesson-qr-payment-modal__instruction,.lesson-qr-payment-modal__error{margin:0;line-height:1.25}
.lesson-qr-payment-modal__payment-label{color:rgba(63,59,54,.64);font-size:.82rem}
.lesson-qr-payment-modal__account{color:#777154;font-size:1.08rem;font-weight:600;letter-spacing:.02em}
.lesson-qr-payment-modal__instruction{color:rgba(63,59,54,.68);font-size:.72rem}
.lesson-qr-payment-modal__error{color:#a45f4c;font-size:.82rem}
.lesson-qr-payment-modal__action{display:block;width:100%;min-height:44px;margin:1rem 0 0;padding:.65rem 1rem;border:1px solid var(--color-primary);border-radius:.65rem;background:var(--color-primary);color:var(--color-white);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.lesson-qr-payment-modal__action:disabled{opacity:.62;cursor:wait}
@media(max-width:560px){
	.my-lesson-mobile-users{position:relative;display:block;margin:0;padding:0;border-top:0;background:#faf7f2}
	.lesson-users-trigger{display:flex;width:100%;height:4.3rem;align-items:center;justify-content:space-between;padding:0 var(--lesson-detail-content-inset);box-sizing:border-box;border:0;border-bottom:1px solid var(--color-warm-beige);background:var(--color-white);color:var(--color-text);cursor:pointer}
	.lesson-users-trigger__avatars{display:flex;align-items:center;padding-left:.45rem}
	.lesson-users-trigger__avatars .lesson-chat__avatar{width:2rem;height:2rem;flex:0 0 2rem;margin-left:-.45rem;border:2px solid var(--color-white);font-size:.72rem}
	.lesson-users-trigger__more{display:grid;width:2rem;height:2rem;flex:0 0 2rem;margin-left:-.45rem;place-items:center;border:2px solid var(--color-white);border-radius:50%;background:var(--section-warm);font-size:.7rem;font-weight:600}
	.lesson-users-trigger__chevron{display:block;width:.55rem;height:.55rem;flex:0 0 .55rem;margin-right:.15rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;color:rgba(63,59,54,.65);font-size:0;line-height:0;transform:rotate(45deg)}
	.my-lesson-mobile-users .lesson-participants-panel--management{position:fixed;z-index:20;top:5rem;right:0;bottom:0;left:0;width:auto;max-height:none;overflow-y:auto;border:0;border-radius:1.25rem 1.25rem 0 0;background:var(--color-white);box-shadow:0 -12px 30px rgba(63,59,54,.16);padding-bottom:max(1rem,env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .22s ease}
	.my-lesson-mobile-users.has-participants .lesson-participants-panel--management{transform:translateY(0)}
	.lesson-participant--attendance{display:grid;grid-template-columns:var(--chat-avatar-participant-size) minmax(0,1fr) 44px;gap:0 .85rem;align-items:center;min-height:3.7rem;padding:.45rem .4rem;border-radius:.65rem;transition:background-color .18s ease,transform .18s ease}
	.lesson-participant--attendance.is-checked-in{background:rgba(140,180,130,.13)}
	.lesson-participant--attendance>.lesson-chat__avatar{grid-column:1;grid-row:1}
	.lesson-participant__copy{grid-column:2;min-width:0;display:grid;gap:.15rem}
	.lesson-participant__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:500}
	.lesson-participant__copy span{overflow:hidden;color:rgba(63,59,54,.65);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
	.lesson-participant__attendance-control{display:grid;width:44px;height:44px;grid-column:3;grid-row:1;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
	.lesson-participant__attendance-control:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.lesson-participant__attendance-control img{width:1.45rem;height:1.45rem;object-fit:contain}
	.lesson-participant__empty-control{display:block;width:1.375rem;height:1.375rem;background-color:var(--section-warm);-webkit-mask:url('../icons/chat/check-box.svg') center/contain no-repeat;mask:url('../icons/chat/check-box.svg') center/contain no-repeat}
	.lesson-attendance-sheet__overlay{position:fixed;z-index:1002;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(63,59,54,.18);cursor:pointer}
	.lesson-attendance-sheet{--lesson-detail-content-inset:1rem;position:fixed;z-index:1003;right:0;bottom:0;left:0;width:100%;max-height:min(82dvh,38rem);overflow-y:auto;padding:0 0 max(1rem,env(safe-area-inset-bottom));border:1px solid var(--color-warm-beige);border-bottom:0;border-radius:1.25rem 1.25rem 0 0;background:var(--color-white);box-shadow:0 -12px 30px rgba(63,59,54,.16)}
	.lesson-attendance-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem var(--lesson-detail-content-inset);border-bottom:1px solid var(--color-warm-beige)}
	.lesson-attendance-sheet__header h2{margin:0;font-family:var(--font-heading);font-size:1.35rem;font-weight:500;line-height:1.1}
	.lesson-attendance-sheet__participant-name{font-weight:600}
	.lesson-attendance-sheet__participant{margin:.9rem var(--lesson-detail-content-inset) 0;font-size:1rem;font-weight:600}
	.lesson-attendance-sheet__reversal-copy{padding:0 var(--lesson-detail-content-inset);color:rgba(63,59,54,.72);font-size:.86rem;line-height:1.4}
	.lesson-attendance-sheet__reversal-copy p{margin:.35rem 0}
	.lesson-attendance-sheet__error{margin:.75rem var(--lesson-detail-content-inset) 0;color:#a45f4c;font-size:.82rem}
	.lesson-attendance-sheet__actions{display:grid;gap:.55rem;margin:1rem var(--lesson-detail-content-inset) 0;padding-bottom:.25rem}
	.lesson-attendance-sheet__action{display:flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:1px solid var(--color-warm-beige);border-radius:.65rem;background:var(--color-white);color:var(--color-text);font:inherit;font-size:.9rem;cursor:pointer}
	.lesson-attendance-sheet__action--cancel{background:var(--section-warm);font-weight:600}
	.lesson-attendance-sheet__action--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white);font-weight:600}
	.lesson-attendance-sheet__action:disabled{opacity:.62;cursor:wait}
	.lesson-attendance-sheet__close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;font-size:1.7rem;line-height:1;cursor:pointer}
	.lesson-attendance-sheet__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.lesson-attendance-sheet__label{margin:.9rem 0 0;padding:0 var(--lesson-detail-content-inset) .45rem;border-bottom:1px solid var(--color-warm-beige);color:rgba(63,59,54,.62);font-size:.78rem}
	.lesson-attendance-sheet__options{display:grid}
	.lesson-attendance-sheet__option{display:flex;align-items:center;gap:.85rem;min-height:3.5rem;padding:.45rem var(--lesson-detail-content-inset);border:0;border-bottom:1px solid var(--color-warm-beige);background:var(--color-white);color:var(--color-text);text-align:left;cursor:pointer}
	.lesson-attendance-sheet__option:disabled{cursor:default;opacity:.62}
	.lesson-attendance-sheet__option:not(:disabled):focus-visible,.lesson-attendance-sheet__purchase:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}
	.lesson-attendance-sheet__icon{display:block;width:1.4rem;height:1.4rem;flex:0 0 1.4rem;color:var(--color-primary)}
	.lesson-attendance-sheet__icon img{display:block;width:100%;height:100%;object-fit:contain}
	.lesson-attendance-sheet__copy{display:grid;align-content:center;gap:.15rem;min-width:0;font-size:.92rem;line-height:1.2}
	.lesson-attendance-sheet__option small{margin:0;color:rgba(63,59,54,.62);font-size:.76rem;line-height:1.2}
	.lesson-attendance-sheet__passes{display:grid}
	.lesson-attendance-sheet__loading,.lesson-attendance-sheet__unavailable{margin:.5rem var(--lesson-detail-content-inset);color:rgba(63,59,54,.62);font-size:.8rem}
	.lesson-attendance-sheet__purchase{display:block;width:calc(100% - 2 * var(--lesson-detail-content-inset));min-height:44px;box-sizing:border-box;margin:1rem var(--lesson-detail-content-inset) 0;padding:.65rem 1rem;border:1px solid rgba(140,148,115,.48);border-radius:.65rem;background:rgba(140,148,115,.1);color:var(--color-primary);font:inherit;font-size:.9rem;text-align:center;cursor:pointer}
	.lesson-add-pass-sheet>.lesson-attendance-sheet__action{width:calc(100% - 2 * var(--lesson-detail-content-inset));box-sizing:border-box;margin:1rem var(--lesson-detail-content-inset) 0}
	.lesson-attendance-sheet__purchase:disabled{opacity:.62;cursor:default}
	.my-lessons .lesson-participant__attendance-status--desktop{display:none}
	.lesson-add-pass-sheet__type,.lesson-add-pass-sheet__payment{position:relative}
	.lesson-add-pass-sheet__radio{width:1.25rem;flex:0 0 1.25rem;color:var(--color-primary);font-size:1.35rem;line-height:1;text-align:center}
	.lesson-add-pass-sheet__type.is-selected,.lesson-add-pass-sheet__payment.is-selected{background:rgba(140,148,115,.1)}
	.my-lesson-mobile-users .lesson-participants-panel__management-list .lesson-participants-panel__section{padding:.9rem var(--lesson-detail-content-inset)}
	.my-lesson-mobile-users .lesson-participants-panel__management-list h3{margin-bottom:.5rem;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--color-text);font-weight:500}
	.my-lesson-mobile-chat-list .lesson-chat-list-item{background:var(--color-white)}
	.my-lessons-main .my-lessons--detail{--lesson-detail-content-inset:1rem}
	.my-lessons-main .my-lessons--detail{padding:0}
	.my-lessons-main .my-lessons--detail .my-lessons__inner{width:100%;max-width:none}
	.my-lessons-main .my-lessons--detail .my-lesson-detail{padding:0}
	.my-lesson-mobile-header{margin:0;padding:max(.75rem,env(safe-area-inset-top)) var(--lesson-detail-content-inset) 1.875rem;border-bottom:1px solid rgba(63,59,54,.12);background:var(--color-white)}
	.my-lesson-mobile-header__back{border:0;border-radius:0;background:transparent}
	.my-lesson-mobile-header__state .my-lesson-mobile-header__manage{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
	.my-lesson-mobile-header__manage .lesson-detail__icon{width:1.05rem;height:1.05rem;flex:0 0 1.05rem;background:var(--color-primary)}
	.my-lesson-mobile-header__fact .lesson-detail__icon--group{-webkit-mask-image:url('../icons/chat/person-outlined.svg');mask-image:url('../icons/chat/person-outlined.svg')}
	.my-lesson-mobile-chat-list{position:relative;z-index:1;margin-top:0;padding:1rem 0 0;border-top:1px solid var(--color-warm-beige);background:#faf7f2}
	.my-lesson-mobile-chat-list .lesson-detail__messages-grid{display:block;padding:0;background:transparent;border-radius:0;box-shadow:none}
	.my-lesson-mobile-chat-list .lesson-chat-list-item{width:100%;height:4.3rem;box-sizing:border-box;padding:0 var(--lesson-detail-content-inset)}
	.my-lesson-mobile-chat-list .lesson-chat-list-item+.lesson-chat-list-item{border-top:1px solid var(--color-warm-beige)}
}

/* Mobile lesson list mirrors the homepage row geometry at its 780px breakpoint. */
@media (max-width: 780px) {
	.my-lessons-browser { width: 100%; min-width: 0; box-sizing: border-box; grid-template-columns: minmax(0, 1fr); }
	.my-lessons-browser__panel { width: 100%; max-width: 100%; min-width: 0; min-height: 28rem; box-sizing: border-box; overflow: hidden; border: 1px solid rgba(255,255,255,.72); border-radius: var(--radius-large); background: #fbf8f3; box-shadow: 0 24px 70px rgba(63,59,54,.08); }
	.my-lessons-browser__card { width: 100%; min-width: 0; min-height: 28rem; box-sizing: border-box; padding: 2rem; }
	.my-lessons-browser__heading { display: block; margin-bottom: 1.55rem; }
	.my-lessons-browser__list { display: block; width: 100%; min-width: 0; min-height: 19.75rem; }
	.my-lessons-browser__media { position: relative; inset: auto; display: block; width: 100%; height: 12rem; border-radius: 0 0 var(--radius-large) var(--radius-large); }
	.my-lessons-browser__media::before { content: none; }
	.my-lessons-browser__lesson { width: 100%; min-width: 0; box-sizing: border-box; grid-template-columns: minmax(5.9rem,.36fr) 1px minmax(0,1fr) auto; grid-template-rows: auto minmax(2.35rem,auto); align-items: baseline; column-gap: .75rem; row-gap: .55rem; min-height: 6.55rem; padding: 1.05rem .65rem 1.05rem 0; border: 0; border-bottom: 1px solid rgba(63,59,54,.12); border-radius: var(--radius-small); background: transparent; box-shadow: none; }
	.my-lessons-browser__lesson:last-child { border-bottom-color: transparent; }
	.my-lessons-browser__lesson::before { content: ""; grid-column: 2; grid-row: 1 / 3; align-self: stretch; width: 1px; background: rgba(63,59,54,.12); }
	.my-lessons-browser__time { grid-column: 1; grid-row: 1; align-self: baseline; justify-self: center; padding: 0; border-right: 0; font-size: clamp(2.35rem,10vw,3.05rem); line-height: 1; text-align: center; }
	.my-lessons-browser__time-value { display: block; line-height: 1; }
	.my-lessons-browser__duration-slot { grid-column: 1; grid-row: 2; display: flex; align-self: center; align-items: center; justify-content: flex-start; min-width: 0; min-height: 2.35rem; }
	.my-lessons-browser__duration--desktop { display: none; }
	.my-lessons-browser__duration--mobile { display: inline-flex; justify-content: center; min-height: 2.35rem; padding: .25rem .82rem; font-size: .8rem; }
	.my-lessons-browser__copy { display: contents; }
	.my-lessons-browser__detail-trigger { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-column: 3 / 5; grid-row: 1; align-items: start; justify-self: stretch; width: 100%; min-width: 0; box-sizing: border-box; }
	.my-lessons-browser__detail-trigger .my-lessons-browser__title { grid-column: 1; grid-row: 1; align-self: baseline; justify-self: start; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: clamp(1.45rem,6vw,1.85rem); font-weight: 400; line-height: 1.05; }
	.my-lessons-browser__detail-chevron { display: block; grid-column: 2; grid-row: 1; align-self: start; width: 2rem; height: 2rem; }
	.my-lessons-browser__actions { display: flex; flex-direction: row; grid-column: 3 / 5; grid-row: 2; align-self: center; align-items: center; justify-content: flex-start; gap: .45rem; min-height: 2.35rem; min-width: 0; max-width: 100%; white-space: normal; }
	.my-lessons-browser__availability { margin: 0; }
	.my-lessons-browser__availability--desktop { display: none; }
	.my-lessons-browser__availability--mobile { display: block; align-self: center; flex: 0 1 auto; min-width: 0; font-size: .8rem; line-height: 1.2; white-space: nowrap; }
	.my-lessons-browser__availability--mobile.is-full, .my-lessons-browser__availability--cancelled { color: #8a4e43; }
	.my-lessons-browser__cancelled-label { display: block; grid-column: 3; grid-row: 2; color: #8b554c; font-size: .82rem; font-weight: 600; }
	.my-lessons-browser__cancellation-message { grid-column: 3; grid-row: 3; white-space: normal; }
	.my-lessons-browser__reserve { align-self: center; flex: 0 1 auto; width: auto; min-width: 0; max-width: 100%; box-sizing: border-box; min-height: 2.35rem; padding: .5rem 1rem; font-size: .9rem; font-weight: 700; line-height: 1.1; text-align: left; white-space: nowrap; }
	.my-lessons-browser__reserve-icon { display: none; }
	.my-lessons-browser__reserve--closed { display: none; }
	.my-lessons-browser__reserve-label--full { display: block; }
	.my-lessons-browser__reserve-label--compact { display: none; }
	.my-lessons-browser__lesson.is-reserved .my-lessons-browser__reserve::before { content: "✓"; flex: 0 0 auto; font-size: 1em; font-weight: inherit; line-height: 1; }
	.my-lessons-browser__lesson.is-reserved .my-lessons-browser__reserve { background: #eef3e6; color: #5e664c; }
	.my-lessons-browser__lesson.my-lessons-browser__lesson--recommended { isolation: isolate; background: transparent; border-bottom-color: rgba(200,158,108,.3); }
	.my-lessons-browser__lesson.my-lessons-browser__lesson--recommended::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 -10px; border-radius: inherit; background: linear-gradient(to right,rgba(200,158,108,.3) 0%,rgba(200,158,108,.13) 68%,rgba(200,158,108,0) 100%); pointer-events: none; }
}

@media (max-width: 560px) {
	.my-lessons-browser__card { min-height: 34rem; padding: 1.35rem; }
	.my-lessons-browser__list { min-height: 25.5rem; }
	.my-lessons-browser__lesson { min-height: 8.25rem; grid-template-columns: minmax(5.65rem,.37fr) 1px minmax(0,1fr) auto; padding: 1rem 0; }
	.my-lessons-browser__detail-trigger .my-lessons-browser__title { font-size: 1.55rem; }
	.my-lessons-browser__detail-chevron { width: 1.8rem; height: 1.8rem; }
	.my-lessons-browser__duration--mobile { min-height: 2rem; font-size: .82rem; }
	.my-lessons-browser__reserve { min-height: 2rem; padding: .48rem .82rem; font-size: .84rem; }
	.my-lessons-browser__reserve-label--full { display: none; }
	.my-lessons-browser__reserve-label--compact { display: block; }
}

/* Keep the two renderer variants mutually exclusive at the existing responsive breakpoint. */
@media (min-width: 781px) {
	.my-lessons-browser__duration--desktop { display: inline-flex; }
	.my-lessons-browser__duration--mobile { display: none; }
}

/* The cancellation status is separated from the duration pill in both detail layouts. */
.my-lessons-browser__detail-status { margin: 1rem 0 0; }

/* Phase 3: desktop lesson detail follows the homepage side-panel structure. */
.my-lessons-browser__detail-profile[hidden],.my-lessons-browser__detail-view[hidden]{display:none!important}
@media(min-width:768px){
	.my-lessons-browser__detail-panel{display:flex;justify-content:flex-end;padding:0}
	.my-lessons-browser__detail-dialog{display:flex;flex-direction:column;width:min(100%,34rem);height:100%;max-height:none;padding:0;border:0;border-radius:4rem 0 0;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.86),transparent 28rem),#fbf8f3;box-shadow:-28px 0 80px rgba(63,59,54,.22);overflow-y:auto;overflow-x:hidden}
	.my-lessons-browser__detail-backdrop{background:rgba(63,59,54,.46);backdrop-filter:blur(5px)}
	.my-lessons-browser__detail-body{height:auto;box-sizing:border-box;overflow:visible;padding:clamp(2rem,4vw,3.4rem) clamp(2rem,4vw,3.4rem) calc(clamp(2rem,4vw,3.4rem) + var(--safe-area-bottom))}
	.my-lessons-browser__detail-top{position:sticky;top:0;z-index:2;flex:0 0 auto;box-sizing:border-box;min-height:2.6rem;margin:0;padding:clamp(2rem,4vw,3.4rem) clamp(2rem,4vw,3.4rem) 1.2rem;background:inherit}
	.my-lessons-browser__detail-back,.my-lessons-browser__detail-close{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:0;border-radius:999px;background:transparent;color:#676144;cursor:pointer;font-size:2.35rem;line-height:1}
	.my-lessons-browser__detail-close{font-size:2.6rem}
	.my-lessons-browser__detail-back:hover,.my-lessons-browser__detail-close:hover{background:rgba(238,232,224,.8)}
	.my-lessons-browser__detail-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.6rem,4vw,3.8rem);font-weight:500;line-height:.95}
	.my-lessons-browser__detail-date{margin:.7rem 0 0;color:rgba(63,59,54,.62);font-size:.86rem}
	.my-lessons-browser__detail-time{margin:1.35rem 0 1.15rem;color:#777154;font-family:var(--font-heading);font-size:clamp(2.9rem,4.8vw,4rem);line-height:.95}
	.my-lessons-browser__detail-duration{display:inline-flex;align-items:center;min-height:2.65rem;padding:.45rem 1.35rem;background:#eee8e0;border-radius:999px;font-size:.88rem}
	.my-lessons-browser__detail-copy{margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.7rem,3vw,2.4rem);border-top:1px solid rgba(63,59,54,.15);color:#25231f;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.9}
	.my-lessons-browser__detail-copy p{margin:0 0 1.25rem}
	.my-lessons-browser__detail-facts{display:grid;gap:.85rem;margin-top:2rem}
	.my-lessons-browser__detail-fact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;min-height:4.5rem;padding:.8rem 1rem;background:rgba(238,232,224,.72);border-radius:1.35rem}
	.my-lessons-browser__detail-fact-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:rgba(217,214,178,.52);border-radius:999px;color:#676144;font-size:1.45rem}
	.my-lessons-browser__detail-fact-icon--lotus,.my-lessons-browser__detail-fact-icon--person,.my-lessons-browser__detail-fact-icon--shirt{position:relative;background:rgba(217,214,178,.52);-webkit-mask:none;mask:none}
	.my-lessons-browser__detail-fact-icon--lotus::before,.my-lessons-browser__detail-fact-icon--person::before,.my-lessons-browser__detail-fact-icon--shirt::before{content:"";display:block;width:1.4rem;height:1.4rem;background:currentColor}
	.my-lessons-browser__detail-fact-icon--lotus::before{-webkit-mask:url("../icons/lotus-clean.svg") center/contain no-repeat;mask:url("../icons/lotus-clean.svg") center/contain no-repeat}
	.my-lessons-browser__detail-fact-icon--person::before{-webkit-mask:url("../icons/person.svg") center/contain no-repeat;mask:url("../icons/person.svg") center/contain no-repeat}
	.my-lessons-browser__detail-fact-icon--shirt::before{-webkit-mask:url("../icons/shirt.svg") center/contain no-repeat;mask:url("../icons/shirt.svg") center/contain no-repeat}
	.my-lessons-browser__detail-teacher{grid-template-columns:auto minmax(0,1fr) auto;width:100%;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
	.my-lessons-browser__detail-teacher:disabled{cursor:default}
	.my-lessons-browser__detail-teacher:not(:disabled):hover,.my-lessons-browser__detail-teacher:not(:disabled):focus-visible{background:rgba(217,214,178,.42)}
	.my-lessons-browser__detail-teacher-avatar{padding:0;overflow:hidden;background-position:center;background-repeat:no-repeat;background-size:cover;-webkit-mask:none;mask:none}
	.my-lessons-browser__detail-teacher-chevron{margin-left:auto;color:#676144;font-size:2rem;line-height:1}
	.my-lessons-browser__detail-fact small{display:block;margin-bottom:.15rem;color:rgba(63,59,54,.72);font-family:var(--font-body);font-size:.9rem}
	.my-lessons-browser__detail-availability{margin:1.5rem 0 0;color:rgba(63,59,54,.7);font-size:.9rem}
	.my-lessons-browser__detail-reserve{display:flex;align-items:center;justify-content:center;width:100%;min-height:4.25rem;margin-top:2rem;border-radius:1.15rem;font-family:var(--font-heading);font-size:1.75rem;line-height:1}
	.my-lessons-browser__detail-reserve.is-reserved{background:#eef3e6;color:#5e664c}
	.my-lessons-browser__detail-text-close{display:block;margin:1.25rem auto 0;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#676144;font:inherit;font-size:1.1rem;line-height:1.4;cursor:pointer}
	.my-lessons-browser__detail-profile{padding-bottom:2rem}
	.my-lessons-browser__detail-profile-avatar{display:flex;align-items:center;justify-content:center;width:8rem;height:8rem;margin:0 auto 2rem;background:rgba(217,214,178,.52) center/cover no-repeat;border-radius:999px;overflow:hidden;color:#676144;font-size:2rem}
	.my-lessons-browser__detail-profile h2{text-align:center;margin:0;font-family:var(--font-heading);font-size:clamp(2.6rem,4vw,3.8rem);font-weight:500;line-height:.95}
	.my-lessons-browser__detail-profile-copy{margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.7rem,3vw,2.4rem);border-top:1px solid rgba(63,59,54,.15);color:#25231f;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.9}
	.my-lessons-browser__detail-profile-copy p{margin:0 0 1.25rem}
}

/* Mobile lesson detail follows the homepage side-panel layout. */
@media (max-width: 780px) {
	.my-lessons-browser__detail-panel {
		display: flex;
		justify-content: flex-end;
		padding: 0;
	}
	.my-lessons-browser__detail-dialog {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100dvh;
		max-height: none;
		padding: 0;
		border: 0;
		border-radius: 2.25rem 0 0;
		background: radial-gradient(circle at 18% 16%, rgba(255,255,255,.86), transparent 28rem), #fbf8f3;
		box-shadow: -28px 0 80px rgba(63,59,54,.22);
		overflow-y: auto;
		overflow-x: hidden;
	}
	.my-lessons-browser__detail-backdrop {
		background: rgba(63,59,54,.46);
		backdrop-filter: blur(5px);
	}
	.my-lessons-browser__detail-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex: 0 0 auto;
		min-height: 2.6rem;
		margin: 0 0 clamp(2.2rem, 5vw, 3.8rem);
		padding: 1.55rem 1.55rem 0;
		background: transparent;
	}
	.my-lessons-browser__detail-body {
		display: block;
		height: auto;
		box-sizing: border-box;
		overflow: visible;
		padding: 0 1.55rem calc(1.55rem + var(--safe-area-bottom));
	}
	.my-lessons-browser__detail-back,
	.my-lessons-browser__detail-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.6rem;
		height: 2.6rem;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: #676144;
		cursor: pointer;
		font-size: 2.35rem;
		line-height: 1;
	}
	.my-lessons-browser__detail-close { font-size: 2.6rem; }
	.my-lessons-browser__detail-title {
		font-size: clamp(2.1rem, 9vw, 2.8rem);
		line-height: 1.05;
	}
	.my-lessons-browser__detail-date {
		margin: .65rem 0 0;
		color: rgba(63,59,54,.62);
		font-size: .82rem;
		line-height: 1.35;
	}
	.my-lessons-browser__detail-time {
		margin: 1.15rem 0 1rem;
		color: #777154;
		font-family: var(--font-heading);
		font-size: clamp(2.35rem, 10vw, 3.05rem);
		line-height: .95;
	}
	.my-lessons-browser__detail-duration {
		display: inline-flex;
		align-items: center;
		min-height: 2.65rem;
		padding: .45rem 1.35rem;
		border-radius: 999px;
		background: #eee8e0;
		font-size: .8rem;
		line-height: 1.2;
	}
	.my-lessons-browser__detail-copy {
		margin-top: 2rem;
		padding-top: 1.7rem;
		border-top: 1px solid rgba(63,59,54,.15);
		color: #25231f;
		font-size: 1rem;
		line-height: 1.9;
	}
	.my-lessons-browser__detail-copy p { margin: 0 0 1.25rem; }
	.my-lessons-browser__detail-facts {
		display: grid;
		gap: .85rem;
		margin-top: 2rem;
		padding-top: 0;
	}
	.my-lessons-browser__detail-fact {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 1rem;
		min-height: 4.5rem;
		padding: .8rem 1rem;
		border: 0;
		border-radius: 1rem;
		background: rgba(238,232,224,.72);
	}
	.my-lessons-browser__detail-fact-icon {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 3rem;
		border-radius: 999px;
		background: rgba(217,214,178,.52);
		color: #676144;
		font-size: 1.45rem;
	}
	.my-lessons-browser__detail-fact-icon--lotus,
	.my-lessons-browser__detail-fact-icon--person,
	.my-lessons-browser__detail-fact-icon--shirt {
		position: relative;
		background: rgba(217,214,178,.52);
		-webkit-mask: none;
		mask: none;
	}
	.my-lessons-browser__detail-fact-icon--lotus::before,
	.my-lessons-browser__detail-fact-icon--person::before,
	.my-lessons-browser__detail-fact-icon--shirt::before {
		content: "";
		display: block;
		box-sizing: border-box;
		width: 1.4rem;
		height: 1.4rem;
		background-color: currentColor;
	}
	.my-lessons-browser__detail-fact-icon--lotus::before {
		-webkit-mask: url("../icons/lotus-clean.svg") center / contain no-repeat;
		mask: url("../icons/lotus-clean.svg") center / contain no-repeat;
	}
	.my-lessons-browser__detail-fact-icon--person::before {
		-webkit-mask: url("../icons/person.svg") center / contain no-repeat;
		mask: url("../icons/person.svg") center / contain no-repeat;
	}
	.my-lessons-browser__detail-fact-icon--shirt::before {
		-webkit-mask: url("../icons/shirt.svg") center / contain no-repeat;
		mask: url("../icons/shirt.svg") center / contain no-repeat;
	}
	.my-lessons-browser__detail-teacher {
		grid-template-columns: auto minmax(0, 1fr) auto;
		width: 100%;
		text-align: left;
	}
	.my-lessons-browser__detail-teacher-avatar {
		padding: 0;
		overflow: hidden;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		-webkit-mask: none;
		mask: none;
	}
	.my-lessons-browser__detail-teacher-chevron {
		margin-left: auto;
		color: #676144;
		font-size: 2rem;
		line-height: 1;
	}
	.my-lessons-browser__detail-fact small {
		display: block;
		margin-bottom: .15rem;
		font-family: var(--font-body);
		font-size: .9rem;
	}
	.my-lessons-browser__detail-availability {
		margin: 1.5rem 0 0;
		font-size: .9rem;
	}
	.my-lessons-browser__detail-reserve {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 4.25rem;
		margin-top: 2rem;
		border-radius: 1.15rem;
		font-family: var(--font-heading);
		font-size: 1.75rem;
		font-weight: 400;
		line-height: 1;
	}
	.my-lessons-browser__detail-reserve.is-reserved {
		background: #eef3e6;
		color: #5e664c;
	}
	.my-lessons-browser__detail-text-close {
		display: block;
		margin: 1.25rem auto 0;
		padding: 0;
		border: 0;
		border-bottom: 1px solid currentColor;
		background: transparent;
		color: #676144;
		font: inherit;
		font-size: 1.1rem;
		line-height: 1.4;
		cursor: pointer;
		appearance: none;
		-webkit-appearance: none;
	}
	.my-lessons-browser__detail-profile {
		padding-bottom: 2rem;
	}
	.my-lessons-browser__detail-profile-avatar {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 8rem;
		height: 8rem;
		margin: 0 auto 2rem;
		border-radius: 999px;
		background: rgba(217,214,178,.52) center/cover no-repeat;
		color: #676144;
		font-size: 2rem;
		overflow: hidden;
	}
	.my-lessons-browser__detail-profile h2 {
		margin: 0;
		text-align: center;
		font-family: var(--font-heading);
		font-size: clamp(2.1rem, 9vw, 2.8rem);
		font-weight: 500;
		line-height: 1.05;
	}
	.my-lessons-browser__detail-profile-copy {
		margin-top: 2rem;
		padding-top: 1.7rem;
		border-top: 1px solid rgba(63,59,54,.15);
		color: #25231f;
		font-size: 1rem;
		line-height: 1.9;
	}
	.my-lessons-browser__detail-profile-copy p { margin: 0 0 1.25rem; }
	.my-lessons-browser__detail-copy,
	.my-lessons-browser__detail-profile-copy {
		font-family: var(--font-body);
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.9;
		letter-spacing: normal;
	}
	.my-lessons-browser__detail-copy p,
	.my-lessons-browser__detail-profile-copy p {
		margin: 0 0 1.25rem;
	}
}

/* Keep booked CTAs on the shared disabled appearance when the lesson is closed. */
.my-lessons-browser__lesson.is-reserved .my-lessons-browser__reserve:disabled {
	background: rgba(63,59,54,.14);
	color: rgba(63,59,54,.52);
}

@media(max-width:560px){
	/* Match the chat row's effective content inset, including its active-state border. */
	.lesson-users-trigger{padding-left:calc(var(--lesson-detail-content-inset) + 3px)}
	/* The group SVG already contains its own circular motif. */
	.my-lesson-mobile-chat-list .lesson-chat-list-item__visual--group{position:relative;border:0;border-radius:50%;background:transparent;box-shadow:0 0 0 1px rgba(63,59,54,.1)}
	.my-lesson-mobile-chat-list .lesson-chat-list-item__visual--group::after{position:absolute;z-index:1;inset:0;border:2px solid var(--color-white);border-radius:inherit;content:"";pointer-events:none}
	.my-lesson-mobile-chat-list .lesson-chat-list-item__visual--group img{width:2.5rem;height:2.5rem;object-fit:contain}
}

/* Reserved lesson detail */
.my-lesson-detail__status.my-lessons__loading-status,.instructor-lesson-detail__status.my-lessons__loading-status{padding-inline:clamp(1rem,4vw,3.4rem)}
.my-lesson-detail{padding:1.25rem 0 5rem}.my-lesson-detail__status{padding:3rem 0}.my-lesson-detail__back{display:inline-flex;align-items:center;margin-bottom:2.5rem;color:var(--color-text);font-weight:600;text-decoration:none}.lesson-detail__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,40%);gap:clamp(2rem,6vw,5.5rem);align-items:center}.lesson-detail__title{margin:0 0 2rem;font-family:var(--font-heading);font-size:clamp(3rem,6vw,5.3rem);font-weight:500;line-height:.95}.lesson-detail__facts{display:grid;gap:.95rem}.lesson-detail__fact{display:flex;align-items:center;gap:1rem;margin:0;font-size:clamp(1rem,1.6vw,1.35rem)}.lesson-detail__icon{display:inline-block;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;background:var(--color-primary);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}.lesson-detail__icon--calendar{-webkit-mask-image:url('../icons/calendar.svg');mask-image:url('../icons/calendar.svg')}.lesson-detail__icon--clock{-webkit-mask-image:url('../icons/calendar-star.svg');mask-image:url('../icons/calendar-star.svg')}.lesson-detail__icon--location{-webkit-mask-image:url('../icons/location.svg');mask-image:url('../icons/location.svg')}.lesson-detail__icon--person{-webkit-mask-image:url('../icons/person.svg');mask-image:url('../icons/person.svg')}.lesson-detail__icon--check{-webkit-mask-image:url('../icons/booked.svg');mask-image:url('../icons/booked.svg')}.lesson-detail__booked{display:flex;align-items:center;gap:1rem;margin-top:2.25rem;padding:1.25rem 1.5rem;border-radius:1.35rem;background:var(--section-warm)}.lesson-detail__booked div{display:grid;gap:.1rem}.lesson-detail__booked span{color:rgba(63,59,54,.7)}.lesson-detail__image{width:100%;aspect-ratio: .86;object-fit:cover;border-radius:2rem;box-shadow:var(--shadow-soft)}.lesson-detail__teacher{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;margin-top:2.75rem;padding:1.5rem 2rem;border:1px solid rgba(63,59,54,.1);border-radius:1.5rem;background:var(--color-white);box-shadow:var(--shadow-soft);text-decoration:none}.lesson-detail__teacher-avatar{display:grid;width:6.5rem;height:6.5rem;place-items:center;border-radius:50%;background:var(--section-warm) center/cover no-repeat;font-family:var(--font-heading);font-size:2rem}.lesson-detail__teacher-copy{display:grid;gap:.1rem}.lesson-detail__teacher-copy small{font-size:1rem}.lesson-detail__teacher-copy strong{font-family:var(--font-heading);font-size:2rem;font-weight:500}.lesson-detail__arrow{font-size:3rem;color:var(--color-primary)}.lesson-detail__participants{margin-top:2.5rem}.lesson-detail__section-heading,.lesson-detail__panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lesson-detail__section-heading h2,.lesson-detail__panel h2{margin:0;font-family:var(--font-heading);font-size:2rem;font-weight:500}.lesson-detail__link{border:0;background:none;color:var(--color-primary);font-weight:600;cursor:pointer}.lesson-detail__people{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.25rem}.lesson-detail__person{display:grid;width:4.4rem;height:4.4rem;place-items:center;border:3px solid var(--color-white);border-radius:50%;background:var(--section-warm) center/cover;color:var(--color-text);font-weight:600;box-shadow:0 0 0 1px rgba(63,59,54,.1)}.lesson-detail__panel{margin-top:2.5rem;padding:1.5rem;border:1px solid rgba(63,59,54,.1);border-radius:1.5rem;background:var(--color-white);box-shadow:var(--shadow-soft)}.lesson-detail__badge{padding:.3rem .7rem;border-radius:.5rem;background:var(--section-warm);font-size:.85rem}.lesson-detail__empty{margin:1.25rem 0;color:rgba(63,59,54,.7)}.lesson-detail__panel-link{display:block;padding-top:1rem;border-top:1px solid var(--color-warm-beige);color:var(--color-primary);font-weight:600;text-decoration:none}
@media(max-width:767px){.my-lesson-detail{padding-top:.75rem}.my-lesson-detail__back{margin-bottom:1.5rem}.lesson-detail__hero{grid-template-columns:1fr;gap:1.75rem}.lesson-detail__title{font-size:clamp(2.8rem,13vw,4rem);margin-bottom:1.5rem}.lesson-detail__image{grid-row:1;aspect-ratio:1.15}.lesson-detail__summary{grid-row:2}.lesson-detail__booked{margin-top:1.5rem}.lesson-detail__teacher{grid-template-columns:auto 1fr auto;margin-top:1.75rem;padding:1rem}.lesson-detail__teacher-avatar{width:4.5rem;height:4.5rem}.lesson-detail__teacher-copy strong{font-size:1.6rem}.lesson-detail__participants,.lesson-detail__panel{margin-top:1.75rem}.lesson-detail__person{width:3.5rem;height:3.5rem}}

/* Match the registration control and the homepage section-heading scale. */
.my-lesson-detail__back{justify-content:center;gap:.35rem;min-width:2.75rem;min-height:2.75rem;padding:0 .75rem;border:1px solid rgba(63,59,54,.12);border-radius:999px;background:var(--color-white);color:rgba(63,59,54,.78);font-size:.88rem;line-height:1;transition:border-color 180ms ease,color 180ms ease,background-color 180ms ease}
.my-lesson-detail__back:hover{border-color:rgba(140,148,115,.42);color:var(--color-primary)}
.my-lesson-detail__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}
.my-lesson-detail__back-chevron,.my-lessons__back-chevron{display:block;width:.9rem;height:.9rem;flex:0 0 .9rem;border:0;background-color:currentColor;-webkit-mask:url('../icons/back-chevron.svg') center/contain no-repeat;mask:url('../icons/back-chevron.svg') center/contain no-repeat;transform:none}
.lesson-detail__title{font-size:clamp(2.6rem,4vw,3.8rem);line-height:1.02}
@media(max-width:767px){.lesson-detail__title{font-size:clamp(2.1rem,9vw,2.8rem);line-height:1.05}}
.my-lessons__back{display:grid;width:44px;min-width:44px;height:44px;min-height:44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:rgba(63,59,54,.78);font-size:0;line-height:1;text-decoration:none;transition:color 180ms ease,background-color 180ms ease}
.my-lessons__back:hover{border-color:rgba(140,148,115,.42);color:var(--color-primary)}
.my-lessons__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}
.lesson-detail__hero{align-items:start}
.my-lesson-detail{padding-top:clamp(.75rem,2vw,1.5rem)}
.lesson-detail__fact{color:rgba(63,59,54,.76)}
.lesson-detail__booked>.lesson-detail__icon--check{position:relative;display:grid;width:4.5rem;height:4.5rem;flex:0 0 4.5rem;place-items:center;border:2px solid var(--color-accent);border-radius:50%;background:var(--color-white);-webkit-mask:none;mask:none}
.lesson-detail__booked>.lesson-detail__icon--check::after{content:"✓";color:var(--color-accent);font-size:2.2rem;font-weight:500;line-height:1}
.lesson-detail__booked{padding:1.19rem 1.425rem}
.lesson-detail__booked>.lesson-detail__icon--check{width:4.275rem;height:4.275rem;flex-basis:4.275rem}
.lesson-detail__booked>.lesson-detail__icon--check::after{font-size:2.09rem}
.lesson-detail__booked{padding:1.13rem 1.35rem}
.lesson-detail__booked>.lesson-detail__icon--check{width:4.06rem;height:4.06rem;flex-basis:4.06rem}
.lesson-detail__booked>.lesson-detail__icon--check::after{font-size:1.99rem}
.lesson-detail__image{height:auto;aspect-ratio:.86;object-fit:cover}
@media(min-width:768px){.lesson-detail__image{aspect-ratio:auto;align-self:start}}

/* Lesson chats: one responsive data/component structure for overview and conversation. */
.my-lessons{--chat-avatar-list-size:40px;--chat-avatar-header-size:48px;--chat-avatar-message-size:36px;--chat-avatar-participant-size:36px}
.lesson-detail__messages{margin-top:2.5rem}.lesson-detail__section-title{margin:0 0 1.25rem;font-family:var(--font-heading);font-size:2rem;font-weight:500}.lesson-detail__messages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.lesson-chat-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.15rem;align-items:center;min-height:11rem;padding:1.65rem 1.5rem;border:1px solid rgba(63,59,54,.1);border-radius:1.35rem;background:var(--color-white);box-shadow:var(--shadow-soft);color:var(--color-text);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}.lesson-chat-card:hover,.lesson-chat-card:focus-visible{border-color:rgba(140,148,115,.45);box-shadow:0 16px 34px rgba(63,59,54,.1)}.lesson-chat-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.lesson-chat-card__visual{display:flex;align-items:center;min-width:4.2rem}.lesson-chat__avatar{display:grid;width:4.1rem;height:4.1rem;flex:0 0 4.1rem;place-items:center;border:2px solid var(--color-white);border-radius:50%;background:var(--section-warm) center/cover no-repeat;color:var(--color-text);font-weight:600;box-shadow:0 0 0 1px rgba(63,59,54,.1)}.lesson-chat-card__visual .lesson-chat__avatar+.lesson-chat__avatar{margin-left:-1.1rem}.lesson-chat-card__copy{display:grid;min-width:0;gap:.28rem}.lesson-chat-card__title{font-family:var(--font-heading);font-size:1.75rem;font-weight:500;line-height:1.05}.lesson-chat-card__subtitle,.lesson-chat-card__date{font-size:.9rem;color:rgba(63,59,54,.66)}.lesson-chat-card__preview{overflow:hidden;margin-top:.45rem;color:rgba(63,59,54,.86);font-size:1rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.lesson-chat-card__meta{display:flex;align-items:center;gap:.85rem}.lesson-chat-card__badge{display:grid;min-width:1.45rem;height:1.45rem;padding:0 .35rem;place-items:center;border-radius:999px;background:#B86F55;color:var(--color-white);font-size:.75rem;font-weight:700}.lesson-chat-card__chevron{font-size:2.35rem;line-height:1;color:var(--color-primary);transition:transform .18s ease}.lesson-chat-card:hover .lesson-chat-card__chevron,.lesson-chat-card:focus-visible .lesson-chat-card__chevron{transform:translateX(3px)}
.lesson-chat-screen{display:grid;grid-template-rows:auto minmax(16rem,1fr) auto auto;min-height:clamp(32rem,70vh,48rem);margin-top:.25rem;border:1px solid rgba(63,59,54,.1);border-radius:1.5rem;background:var(--color-white);box-shadow:var(--shadow-soft);overflow:hidden}.lesson-chat-screen__header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-warm-beige)}.lesson-chat-screen__back{display:grid;width:2.7rem;height:2.7rem;place-items:center;border:1px solid rgba(63,59,54,.12);border-radius:50%;color:var(--color-text);font-size:1.8rem;line-height:1;text-decoration:none}.lesson-chat-screen__identity{display:flex;align-items:center;min-width:0}.lesson-chat-screen__identity>.lesson-chat__avatar{width:3rem;height:3rem;flex-basis:3rem}.lesson-chat-screen__identity>.lesson-chat__avatar--stacked{width:2.35rem;height:2.35rem;flex-basis:2.35rem;margin-left:-.75rem}.lesson-chat-screen__identity>.lesson-chat__avatar--stacked:first-child{margin-left:0}.lesson-chat-screen__heading{display:grid;margin-left:.75rem;gap:.15rem}.lesson-chat-screen__heading strong{font-family:var(--font-heading);font-size:1.45rem;font-weight:500}.lesson-chat-screen__heading span{font-size:.85rem;color:rgba(63,59,54,.68)}.lesson-chat-screen__messages{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;padding:1.5rem;overflow:auto;background:linear-gradient(180deg,rgba(250,247,242,.35),rgba(255,255,255,0))}.lesson-chat-screen__date{align-self:center;padding:.3rem .7rem;border:1px solid var(--color-warm-beige);border-radius:999px;background:var(--color-white);font-size:.78rem;color:rgba(63,59,54,.65)}.lesson-chat-screen__empty,.lesson-chat-screen__availability{color:rgba(63,59,54,.68);text-align:center}.lesson-chat-message{display:grid;align-self:flex-start;max-width:min(75%,32rem);gap:.2rem}.lesson-chat-message--mine{align-self:flex-end;text-align:right}.lesson-chat-message__author{font-size:.78rem;color:rgba(63,59,54,.72)}.lesson-chat-message__bubble{margin:0;padding:.75rem 1rem;border-radius:1rem 1rem 1rem .3rem;background:var(--section-warm);line-height:1.55}.lesson-chat-message--mine .lesson-chat-message__bubble{border-radius:1rem 1rem .3rem 1rem;background:rgba(216,204,188,.45)}.lesson-chat-message__time{font-size:.72rem;color:rgba(63,59,54,.58)}.lesson-chat-message__sent{margin-left:.3rem;color:var(--color-primary)}.lesson-chat-message__reaction{justify-self:start;padding:.2rem .5rem;border:1px solid var(--color-warm-beige);border-radius:999px;background:var(--color-white);font-size:.78rem}.lesson-chat-message--mine .lesson-chat-message__reaction{justify-self:end}.lesson-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin:0 1rem 1rem;padding:.35rem;border:1px solid rgba(63,59,54,.14);border-radius:999px}.lesson-chat-composer__input{min-width:0;border:0;background:transparent;padding:.65rem .85rem;color:var(--color-text);font:inherit}.lesson-chat-composer__input:focus{outline:0}.lesson-chat-composer__send{display:grid;width:2.65rem;height:2.65rem;place-items:center;border:0;border-radius:50%;background:var(--color-primary);color:var(--color-white);font-size:1.15rem}.lesson-chat-composer__input:disabled,.lesson-chat-composer__send:disabled{opacity:.55;cursor:not-allowed}.lesson-chat-screen__availability{margin:.1rem 1rem 1rem;font-size:.78rem}
@media(max-width:767px){.lesson-detail__messages{margin-top:1.75rem}.lesson-detail__section-title{font-size:1.8rem}.lesson-detail__messages-grid{display:block;padding:0 1rem;border-radius:1.25rem;background:var(--color-white);box-shadow:var(--shadow-soft)}.lesson-chat-card{min-height:0;padding:1.25rem 0;border:0;border-radius:0;box-shadow:none}.lesson-chat-card+.lesson-chat-card{border-top:1px solid var(--color-warm-beige)}.lesson-chat-card:hover,.lesson-chat-card:focus-visible{box-shadow:none}.lesson-chat-card__visual{min-width:3.6rem}.lesson-chat__avatar{width:3.45rem;height:3.45rem;flex-basis:3.45rem}.lesson-chat-card__title{font-size:1.45rem}.lesson-chat-card__preview{font-size:.95rem}.lesson-chat-screen{min-height:calc(100svh - 6rem);margin-inline:-1rem;border-radius:1.25rem;border-inline:0}.lesson-chat-screen__messages{padding:1rem}.lesson-chat-message{max-width:84%}.lesson-chat-composer{margin-bottom:.4rem}.lesson-chat-screen__availability{padding-bottom:calc(.75rem + var(--safe-area-bottom))}}

/* Connected chat screen: the existing tokens stay shared with the lesson detail. */
.lesson-chat-screen__messages{scroll-behavior:smooth}.lesson-chat-message{position:relative;display:flex;align-items:flex-start;gap:.65rem;max-width:min(78%,42rem)}.lesson-chat-message__avatar{display:grid;width:2.35rem;height:2.35rem;flex:0 0 2.35rem;place-items:center;border:2px solid var(--color-white);border-radius:50%;background:var(--section-warm) center/cover no-repeat;color:var(--color-text);font-size:.72rem;font-weight:600;box-shadow:0 0 0 1px rgba(63,59,54,.1)}.lesson-chat-message__content{display:grid;min-width:0;gap:.2rem}.lesson-chat-message__author{font-size:.82rem;color:rgba(63,59,54,.78)}.lesson-chat-message__author-status{font-size:.74rem;color:rgba(63,59,54,.58)}.lesson-chat-message__bubble{display:flex;flex-direction:column;overflow-wrap:anywhere}.lesson-chat-message__meta{display:flex;align-items:center;gap:.35rem}.lesson-chat-message--mine .lesson-chat-message__content{margin-left:auto}.lesson-chat-message__actions{position:absolute;top:-.15rem;right:-.4rem;display:flex;gap:.25rem;opacity:0;transform:translateY(-100%);transition:opacity .15s ease}.lesson-chat-message:hover .lesson-chat-message__actions,.lesson-chat-message:focus-within .lesson-chat-message__actions{opacity:1}.lesson-chat-message__action{border:1px solid var(--color-warm-beige);border-radius:999px;background:var(--color-white);padding:.25rem .5rem;color:var(--color-text);font:inherit;font-size:.75rem;cursor:pointer}.lesson-chat-message__reaction{border:1px solid var(--color-warm-beige);border-radius:999px;background:var(--color-white);color:var(--color-text);cursor:pointer;font:inherit}.lesson-chat-message__reaction.is-active{background:var(--section-warm);border-color:var(--color-accent)}.lesson-chat-message__reply-reference{padding:.35rem .55rem;border-left:2px solid var(--color-accent);border-radius:.3rem;background:rgba(216,204,188,.2);font-size:.76rem;color:rgba(63,59,54,.68)}.lesson-chat-message--announcement .lesson-chat-message__bubble{border-radius:.75rem;background:var(--section-warm);border:1px solid var(--color-warm-beige)}.lesson-chat-message--system{align-self:center;max-width:90%;justify-content:center;text-align:center}.lesson-chat-message--system .lesson-chat-message__bubble{border-radius:999px;background:rgba(216,204,188,.22);font-size:.88rem}.lesson-chat-screen__empty{display:grid;gap:.35rem;place-items:center;min-height:12rem;padding:2rem;text-align:center}.lesson-chat-screen__empty strong{font-family:var(--font-heading);font-size:1.45rem;font-weight:500}.lesson-chat-screen__empty span{max-width:24rem;color:rgba(63,59,54,.68)}.lesson-chat-screen__availability{margin:.1rem 1rem 1rem;color:rgba(63,59,54,.68);font-size:.82rem;text-align:center}.lesson-chat-screen__availability.is-read-only{padding:.7rem 1rem;border-radius:.75rem;background:var(--section-warm);color:var(--color-text)}.lesson-chat-composer{position:relative}.lesson-chat-composer__reply{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .65rem;border-radius:.65rem;background:rgba(216,204,188,.22);font-size:.78rem;color:rgba(63,59,54,.8)}.lesson-chat-composer__reply-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-chat-composer__reply-close{border:0;background:transparent;color:var(--color-primary);font-size:1.2rem;cursor:pointer}.lesson-chat-composer__input{resize:none;max-height:7rem;overflow:auto}.lesson-chat-composer__send:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:767px){.lesson-chat-screen{min-height:calc(100svh - 5rem);margin-top:0;padding-top:var(--safe-area-top)}.lesson-chat-screen__header{padding-top:max(1rem,var(--safe-area-top));}.lesson-chat-screen__messages{padding:1rem .8rem}.lesson-chat-message{max-width:92%}.lesson-chat-message__actions{right:0;opacity:1;transform:translateY(-100%)}.lesson-chat-message__action{padding:.3rem .55rem}.lesson-chat-composer{margin-bottom:.4rem;padding-bottom:.35rem}.lesson-chat-composer__send{margin-right:.1rem}}

/* Keep the composer geometry independent from inherited form control styles. */
.lesson-chat-composer{align-items:center;padding:.35rem .55rem .35rem .35rem}
.lesson-chat-composer__input{display:block;align-self:center;min-height:2.65rem;border:0;border-top:0;box-shadow:none;outline:0;line-height:1.35;padding:.55rem .85rem}
.lesson-chat-composer__input:focus{border:0;box-shadow:none;outline:0}
.lesson-chat-composer__send{align-self:center;padding:0;line-height:1}
@media(max-width:767px){.lesson-chat-composer{margin-bottom:.4rem;padding-bottom:.35rem}}

.lesson-chat-screen__availability-mobile{display:none}
.lesson-chat-screen .lesson-chat-screen__availability{margin-bottom:0}
@media(max-width:767px){.lesson-chat-screen__availability-desktop{display:none}.lesson-chat-screen__availability-mobile{display:inline}}

/* Shared v2 conversation skin; the type modifier is reserved for real chat-type differences. */
.lesson-chat-screen--group .lesson-chat-message{align-self:flex-start;max-width:calc(78% - 1.5rem);margin-right:1.5rem;text-align:left}
.lesson-chat-screen--group .lesson-chat-message--mine{align-self:flex-end;max-width:calc(78% - 3rem);margin-right:1.5rem;margin-left:auto;text-align:left}
.lesson-chat-screen--group .lesson-chat-message--mine .lesson-chat-message__content{margin-left:0}
.lesson-chat-screen--private .lesson-chat-message{max-width:min(78%,42rem);margin-right:0}
.lesson-chat-screen--private .lesson-chat-message--mine{max-width:min(78%,42rem);margin-right:0;margin-left:auto}
.lesson-chat-screen--private .lesson-chat-message__author,.lesson-chat-screen--private .lesson-chat-message__author-status{display:none}
.lesson-chat-screen--private .lesson-chat-message--group-continuation{margin-top:0}
.lesson-chat-screen--group .lesson-chat-message__reply-reference{margin-bottom:.2rem}
.lesson-chat-screen--group .lesson-chat-message__bubble{display:block}
.lesson-chat-screen--group .lesson-chat-message__author{display:block;margin:0 0 .2rem;font:inherit;font-size:.88em;font-weight:600;color:var(--color-primary)}
.lesson-chat-screen--group .lesson-chat-message__author-status{display:block;margin:0 0 .2rem;font-size:.76em;color:rgba(63,59,54,.62)}
.lesson-chat-screen--group .lesson-chat-message__author--admin{color:#B86F5A}
.lesson-chat-screen--group .lesson-chat-message--group-continuation{margin-top:-.42rem}
.lesson-chat-screen--group .lesson-chat-message--group-continuation .lesson-chat-message__author[hidden],.lesson-chat-screen--group .lesson-chat-message--group-continuation .lesson-chat-message__author-status[hidden]{display:none}
.lesson-chat-screen--group .lesson-chat-message--group-end .lesson-chat-message__avatar{align-self:flex-end}
.lesson-chat-screen--group .lesson-chat-message__bubble{display:flex;flex-direction:column;overflow-wrap:anywhere}
.lesson-chat-screen--group .lesson-chat-message--foreign .lesson-chat-message__bubble{background:rgba(214,204,188,.32)}
.lesson-chat-screen .lesson-chat-message--mine .lesson-chat-message__bubble{background:#E3E7D9}
.lesson-chat-screen .lesson-chat-message__bubble-meta{display:flex;align-self:flex-end;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.72rem;line-height:1;color:rgba(63,59,54,.58)}
.lesson-chat-screen .lesson-chat-message__bubble-meta .lesson-chat-message__sent{margin-left:0;color:var(--color-primary)}
.lesson-chat-screen .lesson-chat-message__meta:empty{display:none}
.lesson-chat-screen--group .lesson-chat-message__reply-reference{display:grid;align-self:stretch;gap:.12rem;width:100%;margin:0 0 .2rem;padding:.35rem .55rem;border-left:2px solid var(--color-accent);border-radius:.3rem;background:rgba(216,204,188,.2);color:var(--color-text);text-align:left}
.lesson-chat-screen--group .lesson-chat-message__reply-author{font-size:.78rem;font-weight:600;line-height:1.2}
.lesson-chat-screen--group .lesson-chat-message__reply-excerpt{overflow:hidden;font-size:.76rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;color:rgba(63,59,54,.7)}

.lesson-chat-screen .lesson-chat-message__meta{position:relative;height:0;margin:0;pointer-events:none}
.lesson-chat-screen--group{--chat-bubble-padding-x:1rem}
.lesson-chat-screen--group .lesson-chat-message__bubble{padding-inline:var(--chat-bubble-padding-x)}
.lesson-chat-screen--group .lesson-chat-message__reaction{position:absolute;top:calc(-.55rem - 2px);left:var(--chat-bubble-padding-x);z-index:1;display:flex;align-items:center;gap:.45rem;padding:.3rem .6rem;border:1px solid rgba(63,59,54,.12);background-color:#fff;font-size:.74rem;line-height:1.05;white-space:nowrap;pointer-events:auto}
.lesson-chat-screen--group .lesson-chat-message__reaction-item{display:inline-flex;align-items:center;gap:.12rem}
.lesson-chat-screen--group .lesson-chat-message__reaction-emoji{font-size:.78rem;line-height:1}
.lesson-chat-screen--group .lesson-chat-message__reaction-count{font-size:.72rem;line-height:1}
.lesson-chat-screen--group .lesson-chat-message__actions{z-index:4;max-width:calc(100vw - 2rem)}
@media(min-width:768px){.lesson-chat-screen--group .lesson-chat-message__actions{pointer-events:none}.lesson-chat-screen--group .lesson-chat-message:hover .lesson-chat-message__actions,.lesson-chat-screen--group .lesson-chat-message:focus-within .lesson-chat-message__actions{pointer-events:auto}}
@media(max-width:767px){.lesson-chat-screen--group .lesson-chat-message__actions{right:0}.lesson-chat-screen--group .lesson-chat-message.is-context-below .lesson-chat-message__actions{transform:translateY(.35rem)}}

.lesson-chat-screen--group .lesson-chat-screen__messages{gap:1.25rem}
.lesson-chat-screen--group .lesson-chat-message--group-continuation{margin-top:-.95rem}
@media(min-width:768px){.lesson-chat-screen--group .lesson-chat-message__actions{display:grid;grid-auto-rows:30px;gap:.25rem;top:50%;right:auto;left:calc(100% + .5rem);transform:translateY(-50%);opacity:0;pointer-events:none}.lesson-chat-screen--group .lesson-chat-message--mine .lesson-chat-message__actions{right:calc(100% + .5rem);left:auto}.lesson-chat-screen--group .lesson-chat-message:hover .lesson-chat-message__actions,.lesson-chat-screen--group .lesson-chat-message:focus-within .lesson-chat-message__actions{opacity:1;pointer-events:auto}.lesson-chat-screen--group .lesson-chat-message__action{display:flex;width:30px;height:30px;align-items:center;justify-content:center;padding:0;font-size:0;line-height:0}.lesson-chat-screen--group .lesson-chat-message__action .lesson-chat-icon{width:16px;height:16px}}
.lesson-chat-screen--group .lesson-chat-message.is-context-closing .lesson-chat-message__actions{opacity:0;pointer-events:none}
.lesson-chat-screen--group .lesson-chat-message__action{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;font-size:0;line-height:0}
.lesson-chat-screen--group .lesson-chat-message__action::before{content:none;display:none}
.lesson-chat-screen--group .lesson-chat-icon{display:block;width:16px;height:16px;flex:0 0 auto;background-color:currentColor;color:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.lesson-chat-screen--group{--chat-reaction-thumb:#d6a94f;--chat-reaction-heart:#c65f50;--chat-toolbar-heart:#b97868}
.lesson-chat-screen--group .lesson-chat-message__reaction-icon{width:16px;height:16px;color:var(--chat-reaction-thumb)}
.lesson-chat-screen--group .lesson-chat-message__reaction-icon--heart{color:var(--chat-reaction-heart)}
.lesson-chat-screen--group .lesson-chat-screen__messages .lesson-chat-message__reaction-item{display:inline-flex;align-items:center;gap:.16rem}
.lesson-chat-screen--group .lesson-chat-screen__messages .lesson-chat-message__reaction-count{line-height:1}
.lesson-chat-screen .lesson-chat-composer__send{display:flex;align-items:center;justify-content:center;color:#fff}
.lesson-chat-screen .lesson-chat-composer__send .lesson-chat-icon{display:block;width:1.45rem;height:1.45rem;flex:0 0 auto;background-color:currentColor;color:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.lesson-chat-screen--group .lesson-chat-message__action .lesson-chat-icon{color:var(--color-primary)}
.lesson-chat-screen--group .lesson-chat-message__action[data-reaction-type="heart"] .lesson-chat-icon{color:var(--chat-toolbar-heart)}
@media(max-width:767px){.lesson-chat-screen--group .lesson-chat-message__action{width:auto;min-width:30px;font-size:.75rem;line-height:1;gap:.3rem}.lesson-chat-screen--group .lesson-chat-message__action .lesson-chat-icon{width:16px;height:16px}}
.lesson-chat-screen--group .lesson-chat-message--mine .lesson-chat-message__reaction{right:auto;left:var(--chat-bubble-padding-x)}
.lesson-chat-screen--group .lesson-chat-message.has-reaction{margin-bottom:.75rem}
.lesson-chat-screen--group .lesson-chat-message.has-reply{margin-bottom:.55rem}
.lesson-chat-screen .lesson-chat-composer__send{display:flex;align-items:center;justify-content:center;padding:0;line-height:0}

/* Keep the desktop toolbar reachable across its small visual gap. */
@media(min-width:768px){
	.lesson-chat-screen--group .lesson-chat-message::after{content:"";position:absolute;top:50%;z-index:3;width:.5rem;height:7rem;transform:translateY(-50%);pointer-events:auto}
	.lesson-chat-screen--group .lesson-chat-message--foreign::after{right:-.5rem}
	.lesson-chat-screen--group .lesson-chat-message--mine::after{left:-.5rem}
}

/* Desktop lesson detail is a full-width workspace below the site header. */
@media(min-width:768px){
 .my-lessons-main .my-lessons--detail{height:calc(100dvh - 6.25rem);min-height:0;overflow:hidden;padding:0}
 .my-lessons-main .my-lessons--detail .my-lessons__inner{height:100%;width:min(calc(100% - 2rem),calc(var(--container-wide) + 3rem));max-width:calc(var(--container-wide) + 3rem);margin-inline:auto;padding:0}
 .my-lessons-main .my-lessons--detail .my-lesson-detail{display:flex;height:100%;min-height:0;max-height:100%;overflow:hidden;padding:0}
 .my-lessons-main .my-lessons--detail [data-my-lesson-detail-content]{display:block;flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
 .my-lessons-main .my-lessons--detail .lesson-detail-desktop{display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0;padding:0}
 .my-lessons-main .my-lessons--detail .lesson-detail-desktop__header{flex:0 0 auto;margin:0;padding:.8rem 1.5rem .8rem 0;border:0;border-bottom:1px solid rgba(63,59,54,.12);border-radius:0;box-shadow:none}
 .my-lessons-main .my-lessons--detail .lesson-chat-module{flex:1 1 auto;width:100%;height:auto;min-height:0;margin:0;border:0;border-top:1px solid rgba(63,59,54,.08);border-radius:0;box-shadow:none}
}
@media(min-width:768px){
	html.has-two-column-lesson-chat .my-lessons-main .my-lessons--detail{height:var(--chat-visible-height,calc(100dvh - 6.25rem))}
	html.has-two-column-lesson-chat .lesson-chat-screen{min-height:0;grid-template-rows:auto minmax(0,1fr) auto auto}
	html.has-two-column-lesson-chat .lesson-chat-screen__messages{min-height:0;overscroll-behavior:contain}
	html.has-two-column-lesson-chat .lesson-chat-screen__messages::before{content:"";flex:1 0 auto}
	html.has-two-column-lesson-chat .lesson-chat-screen.is-keyboard-open .lesson-chat-screen__availability.is-routine{display:none;padding:0}
	html.has-two-column-keyboard-open .site-header,
	html.has-two-column-keyboard-open .my-lessons-main .lesson-detail-desktop__header{display:none}
	html.has-two-column-keyboard-open .my-lessons-main .my-lessons--detail{position:fixed;z-index:90;top:var(--chat-visible-top,0px);right:0;left:0;width:100%;box-sizing:border-box;padding-top:var(--safe-area-top)}
}
html.has-two-column-lesson-chat,html.has-two-column-lesson-chat body{overflow:hidden}

/* Shared chat-list row component. The container/layout remains responsive below. */
.lesson-chat-list-item{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto auto;gap:.7rem;align-items:center;padding:1rem 1.05rem;border-left:3px solid transparent;color:var(--color-text);text-decoration:none}
.lesson-chat-list-item:hover,.lesson-chat-list-item:focus-visible,.lesson-chat-list-item.is-active{background:rgba(216,204,188,.24);border-left-color:var(--color-accent)}
.lesson-chat-list-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}
.lesson-chat-list-item__visual{display:grid;width:2.55rem;height:2.55rem;place-items:center;border-radius:50%;background:var(--section-warm)}
.lesson-chat-list-item__visual .lesson-chat__avatar{width:2.55rem;height:2.55rem;flex-basis:2.55rem;font-family:var(--font-body);font-size:1rem;font-weight:600}
.lesson-chat-list-item__visual img{width:1.85rem;height:1.85rem}
.lesson-chat-list-item__copy{display:grid;min-width:0;gap:.2rem}
.lesson-chat-list-item__copy strong{overflow:hidden;font-size:.9rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.lesson-chat-list-item__copy span,.lesson-chat-list-item__preview{overflow:hidden;color:rgba(63,59,54,.65);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}
.lesson-chat-list-item__preview{margin-top:.1rem;color:rgba(63,59,54,.8)}
.lesson-chat-list-item.is-unread .lesson-chat-list-item__copy strong,.lesson-chat-list-item.is-unread .lesson-chat-list-item__preview{font-weight:600}
.lesson-chat-list-item__badge{display:grid;grid-column:3;min-width:1.3rem;height:1.3rem;place-items:center;border-radius:50%;background:#B86F55;color:#fff;font-size:.7rem}
.lesson-chat-list-item__chevron{display:block;grid-column:4;width:.55rem;height:.55rem;flex:0 0 .55rem;justify-self:end;margin-right:.15rem;border-top:1.5px solid rgba(63,59,54,.65);border-right:1.5px solid rgba(63,59,54,.65);transform:rotate(45deg)}
.lesson-guest-reservations{border-top:1px solid var(--color-warm-beige)}
.lesson-guest-reservations__title{display:flex;align-items:center;min-height:var(--lesson-chat-header-min-height);margin:0;padding:1rem 1.25rem;box-sizing:border-box;font-family:var(--font-heading);font-size:1.4rem;font-weight:500;border-bottom:1px solid var(--color-warm-beige)}
.lesson-guest-reservations__list{display:grid}
.lesson-guest-reservation-list-item .lesson-chat-list-item__visual{overflow:hidden}
.lesson-guest-reservation-list-item .lesson-chat-list-item__copy{min-width:0;overflow:hidden}
.lesson-guest-reservation-list-item .lesson-chat-list-item__preview{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
.lesson-guest-reservation-list-item.has-reservation-message .lesson-chat-list-item__copy>strong{font-weight:600}
.lesson-guest-reservation-list-item .lesson-chat-list-item__preview>strong{font-weight:600;color:inherit}
.lesson-guest-reservation-screen__body{min-width:0;overflow:auto;padding:1rem 1.35rem 2rem}
.lesson-guest-reservation-screen__metadata{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1rem;margin:0 0 2rem;color:rgba(63,59,54,.78);font-family:var(--font-body);font-size:.95rem;line-height:1.4}
.lesson-guest-reservation-screen__metadata-promo{color:var(--color-primary)}
.lesson-guest-reservation-screen__section-heading{margin:0 0 .35rem;font-family:var(--font-heading);font-size:1.35rem;font-weight:500;line-height:1.2;color:var(--color-text)}
.lesson-guest-reservation-screen__value{margin:0;font-family:var(--font-body);font-size:.95rem;font-weight:400;line-height:1.55;color:var(--color-text)}
.lesson-guest-reservation-screen__creator,.lesson-guest-reservation-screen__message,.lesson-guest-reservation-screen__contact{margin:0;padding-top:0}
.lesson-guest-reservation-screen__creator + .lesson-guest-reservation-screen__message,.lesson-guest-reservation-screen__creator + .lesson-guest-reservation-screen__contact,.lesson-guest-reservation-screen__message + .lesson-guest-reservation-screen__contact{margin-top:1.2rem}
.lesson-guest-reservation-screen__message p{white-space:pre-wrap}
.lesson-guest-reservation-screen__contact{display:grid;gap:.35rem}
.lesson-guest-reservation-screen__contact-row{display:flex;align-items:center;min-width:0}
.lesson-guest-reservation-screen__contact-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:.95rem;text-decoration:none}
.lesson-guest-reservation-screen__contact-link:hover{color:var(--color-olive);text-decoration:underline}
.lesson-guest-reservation-screen .lesson-chat-screen__header{gap:0}
.lesson-guest-reservation-screen .lesson-chat-screen__back{width:2.75rem;height:2.75rem;border:0;background:transparent;font-size:0}
.lesson-guest-reservation-screen .lesson-chat-screen__heading{grid-template-columns:minmax(0,1fr);row-gap:.125rem;margin-left:.75rem;line-height:1.1}
.lesson-guest-reservation-screen .lesson-chat-screen__back{display:none}
@media(max-width:767px){
	.lesson-guest-reservations{border-top:0}
	.lesson-guest-reservations__title{height:2.45rem;min-height:2.45rem;padding:2px var(--lesson-detail-content-inset) 0;background:#faf7f2;font-size:1.22rem;border-bottom:1px solid var(--color-warm-beige)}
	.lesson-guest-reservation-screen{height:calc(100dvh - 6rem);min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}
	.lesson-guest-reservation-screen .lesson-chat-screen__back{display:grid;width:44px;min-width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:50%;font-size:0}
	.lesson-guest-reservation-screen .lesson-chat-screen__header{padding:.7rem 1rem}
	.lesson-guest-reservation-screen__body{padding:1rem var(--lesson-detail-content-inset) 2rem}
	.lesson-guest-reservation-screen__metadata{margin-bottom:1.75rem}
	.lesson-guest-reservation-screen__contact-row{align-items:flex-start}
}

/* Desktop lesson detail: communication is the primary workspace. */
@media(min-width:768px){
	.lesson-attendance-sheet__overlay{position:fixed;z-index:1000;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(63,59,54,.28);cursor:pointer}
	.lesson-attendance-sheet{position:fixed;z-index:1001;top:50%;left:50%;width:min(calc(100vw - 3rem),30rem);max-height:min(calc(100vh - 3rem),42rem);overflow-y:auto;box-sizing:border-box;padding:0 0 1.5rem;border:1px solid var(--color-warm-beige);border-radius:1.25rem;background:var(--color-white);box-shadow:0 24px 70px rgba(63,59,54,.25);transform:translate(-50%,-50%)}
	.lesson-attendance-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-warm-beige)}
	.lesson-attendance-sheet__header h2{margin:0;font-family:var(--font-heading);font-size:1.65rem;font-weight:500;line-height:1.1}
	.lesson-attendance-sheet__participant-name{font-weight:600}
	.lesson-attendance-sheet__participant{margin:1.25rem 1.5rem 0;font-size:1rem;font-weight:600}
	.lesson-attendance-sheet__reversal-copy{padding:0 1.5rem;color:rgba(63,59,54,.72);font-size:.92rem;line-height:1.5}
	.lesson-attendance-sheet__reversal-copy p{margin:.5rem 0}
	.lesson-attendance-sheet__error{margin:.9rem 1.5rem 0;color:#a45f4c;font-size:.85rem}
	.lesson-attendance-sheet__actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 1.5rem 0;padding-bottom:0}
	.lesson-attendance-sheet__action{display:flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1rem;border:1px solid var(--color-warm-beige);border-radius:.65rem;background:var(--color-white);color:var(--color-text);font:inherit;font-size:.9rem;cursor:pointer}
	.lesson-attendance-sheet__action--cancel{background:var(--section-warm);font-weight:600}
	.lesson-attendance-sheet__action--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white);font-weight:600}
	.lesson-attendance-sheet__action:disabled{opacity:.62;cursor:wait}
	.lesson-attendance-sheet__close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;font-size:1.7rem;line-height:1;cursor:pointer}
	.lesson-attendance-sheet__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.lesson-attendance-sheet__label{margin:1.25rem 0 0;padding:0 1.5rem .5rem;border-bottom:1px solid var(--color-warm-beige);color:rgba(63,59,54,.62);font-size:.78rem}
	.lesson-attendance-sheet__options{display:grid}
	.lesson-attendance-sheet__option{display:flex;align-items:center;gap:.85rem;min-height:3.5rem;padding:.55rem 1.5rem;border:0;border-bottom:1px solid var(--color-warm-beige);background:var(--color-white);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}
	.lesson-attendance-sheet__option:disabled{cursor:default;opacity:.62}
	.lesson-attendance-sheet__option:not(:disabled):focus-visible,.lesson-attendance-sheet__purchase:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}
	.lesson-attendance-sheet__icon{display:block;width:1.4rem;height:1.4rem;flex:0 0 1.4rem;color:var(--color-primary)}
	.lesson-attendance-sheet__icon img{display:block;width:100%;height:100%;object-fit:contain}
	.lesson-attendance-sheet__copy{display:grid;align-content:center;gap:.15rem;min-width:0;font-size:.92rem;line-height:1.2}
	.lesson-attendance-sheet__option small{margin:0;color:rgba(63,59,54,.62);font-size:.76rem;line-height:1.2}
	.lesson-attendance-sheet__passes{display:grid}
	.lesson-attendance-sheet__loading,.lesson-attendance-sheet__unavailable{margin:.6rem 1.5rem;color:rgba(63,59,54,.62);font-size:.8rem}
	.lesson-attendance-sheet__purchase{display:block;width:calc(100% - 3rem);min-height:44px;box-sizing:border-box;margin:1.25rem 1.5rem 0;padding:.65rem 1rem;border:1px solid rgba(140,148,115,.48);border-radius:.65rem;background:rgba(140,148,115,.1);color:var(--color-primary);font:inherit;font-size:.9rem;text-align:center;cursor:pointer}
	.lesson-add-pass-sheet>.lesson-attendance-sheet__action{width:calc(100% - 3rem);box-sizing:border-box;margin:1.25rem 1.5rem 0}
	.lesson-attendance-sheet__purchase:disabled{opacity:.62;cursor:default}
	.lesson-qr-payment-modal__overlay{position:fixed;z-index:1004;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(63,59,54,.28);cursor:pointer}
	.lesson-qr-payment-modal{position:fixed;z-index:1005;top:50%;left:50%;width:min(calc(100vw - 2rem),29rem);max-height:calc(100dvh - 2rem);overflow-y:auto;box-sizing:border-box;padding:0 1.25rem 1.25rem;border:1px solid var(--color-warm-beige);border-radius:1.25rem;background:var(--color-white);box-shadow:0 24px 70px rgba(63,59,54,.25);transform:translate(-50%,-50%);text-align:center}
	.lesson-qr-payment-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 -1.25rem 1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--color-warm-beige);text-align:left}
	.lesson-qr-payment-modal__header h2{margin:0;font-family:var(--font-heading);font-size:1.65rem;font-weight:500;line-height:1.1}
	.lesson-qr-payment-modal__close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;font-size:1.7rem;line-height:1;cursor:pointer}
	.lesson-qr-payment-modal__close:hover{background:var(--section-warm)}
	.lesson-qr-payment-modal__close:focus-visible,.lesson-qr-payment-modal__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.lesson-qr-payment-modal__body{display:flex;flex-direction:column;align-items:center;gap:.55rem}
	.lesson-qr-payment-modal__amount{margin:0;font-family:var(--font-heading);font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.1}
	.lesson-qr-payment-modal__qr-wrap{display:grid;width:230px;min-height:230px;place-items:center}
	.lesson-qr-payment-modal__qr{display:block;width:230px;height:230px;aspect-ratio:1/1;object-fit:contain}
	.lesson-qr-payment-modal__payment-label,.lesson-qr-payment-modal__account,.lesson-qr-payment-modal__instruction{margin:0;line-height:1.25}
	.lesson-qr-payment-modal__payment-label{color:rgba(63,59,54,.64);font-size:.82rem}
	.lesson-qr-payment-modal__account{color:#777154;font-size:1.08rem;font-weight:600;letter-spacing:.02em}
	.lesson-qr-payment-modal__instruction{color:rgba(63,59,54,.68);font-size:.72rem}
	.lesson-qr-payment-modal__action{display:block;width:100%;min-height:44px;margin:1rem 0 0;padding:.65rem 1rem;border:1px solid var(--color-primary);border-radius:.65rem;background:var(--color-primary);color:var(--color-white);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
	.lesson-add-pass-sheet__type,.lesson-add-pass-sheet__payment{position:relative}
	.lesson-add-pass-sheet__radio{width:1.25rem;flex:0 0 1.25rem;color:var(--color-primary);font-size:1.35rem;line-height:1;text-align:center}
	.lesson-add-pass-sheet__type.is-selected,.lesson-add-pass-sheet__payment.is-selected{background:rgba(140,148,115,.1)}
	.lesson-detail-desktop{padding:1.25rem 0 0}
	.lesson-detail-desktop__header{display:grid;grid-template-columns:3.35rem minmax(10rem,1fr) minmax(11rem,auto) 10.75rem;align-items:center;gap:1.25rem;margin-bottom:1rem;padding:.8rem 1.25rem;border:1px solid rgba(63,59,54,.1);border-radius:1.35rem;background:var(--color-white);box-shadow:var(--shadow-soft)}
	.lesson-detail-desktop__header .my-lesson-detail__back{display:grid;width:2.5rem;height:2.5rem;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:rgba(63,59,54,.72)}
	.lesson-detail-desktop__header .my-lesson-detail__back{margin-left:max(1rem,calc((100% - var(--container-wide))/2))}
	.lesson-detail-desktop__header .my-lesson-detail__back:hover{background:var(--section-warm);color:var(--color-primary)}
	.lesson-detail-desktop__header .my-lesson-detail__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
	.lesson-detail-desktop__header .my-lesson-detail__back span:last-child{display:none}
	.lesson-detail-desktop__header .my-lessons__back-chevron{width:.9rem;height:.9rem;flex-basis:.9rem;transform:none}
	.lesson-detail-desktop__title{margin:0;font-family:var(--font-heading);font-size:44px;font-weight:500;line-height:.98}
	.lesson-detail-desktop__facts{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1rem;margin-top:.6rem;color:rgba(63,59,54,.75);font-size:.94rem}
	.lesson-detail-desktop__fact{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}
	.lesson-detail-desktop__separator{display:inline-flex;align-items:center;color:rgba(63,59,54,.75);line-height:1}
	.lesson-detail-desktop__fact .lesson-detail__icon{width:1.15rem;height:1.15rem;flex-basis:1.15rem}
	.lesson-detail-desktop__fact .lesson-detail__icon--group{-webkit-mask-image:url('../icons/chat/person-outlined.svg');mask-image:url('../icons/chat/person-outlined.svg')}
	.lesson-detail-desktop__relationship{position:relative;display:flex;align-items:center;gap:.7rem;min-width:13rem;padding-left:1.25rem;border-left:0;white-space:nowrap}
	.lesson-detail-desktop__relationship:before{content:"";position:absolute;left:0;top:50%;width:1px;height:2.75rem;transform:translateY(-50%);background:var(--color-warm-beige)}
	.lesson-detail-desktop__relationship>.lesson-detail__icon{display:grid;width:2.25rem;height:2.25rem;flex:0 0 2.25rem;place-items:center;border:1px solid var(--color-accent);border-radius:50%;background:none;-webkit-mask:none;mask:none;color:var(--color-accent)}
	.lesson-detail-desktop__relationship>.lesson-detail__icon:after{content:"✓";font-size:1.25rem}
	.lesson-detail-desktop__relationship.is-admin>.lesson-detail__icon:after{content:"i";font-family:serif;font-weight:700}
	.lesson-detail-desktop__relationship>.lesson-detail__icon--role-admin,.lesson-detail-desktop__relationship>.lesson-detail__icon--role-instructor{border:0;border-radius:0;background:var(--color-accent);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;color:var(--color-accent)}
	.lesson-detail-desktop__relationship>.lesson-detail__icon--role-admin{-webkit-mask-image:url('../icons/chat/admin-access.svg');mask-image:url('../icons/chat/admin-access.svg')}
	.lesson-detail-desktop__relationship>.lesson-detail__icon--role-instructor{-webkit-mask-image:url('../icons/yoga.svg');mask-image:url('../icons/yoga.svg')}
	.lesson-detail-desktop__relationship>.lesson-detail__icon--role-admin:after,.lesson-detail-desktop__relationship>.lesson-detail__icon--role-instructor:after{content:none}
	.lesson-detail-desktop__relationship div{display:grid;gap:.15rem;font-size:.86rem}
	.lesson-detail-desktop__relationship strong{color:var(--color-primary);font-size:.96rem}
	.lesson-detail-desktop__relationship span{color:rgba(63,59,54,.68)}
	.lesson-detail-desktop__actions{position:relative;display:grid;align-content:center;gap:.35rem;min-width:10.75rem;padding-left:.25rem;border-left:0}
	.lesson-detail-desktop__actions .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.15rem;padding:.4rem .7rem;border:1px solid rgba(63,59,54,.18);border-radius:.65rem;background:transparent;color:var(--color-text);font-size:.76rem;white-space:nowrap;text-decoration:none}
	.lesson-detail-desktop__actions .button:hover,.lesson-detail-desktop__actions .button:focus-visible{border-color:var(--color-primary);background:var(--section-warm);color:var(--color-primary)}
	.lesson-detail-desktop__actions .button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.lesson-detail-desktop__actions .button--primary{background:transparent;color:var(--color-text)}
	.lesson-detail-desktop__actions .button--primary{border-color:rgba(139,85,76,.5);color:#8b554c;background:rgba(139,85,76,.035)}
	.lesson-detail-desktop__actions .button--primary:hover{border-color:#8b554c;background:rgba(139,85,76,.1);color:#8b554c}
	.lesson-detail-desktop__actions .lesson-detail-desktop__manage{display:flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.45rem .8rem;white-space:normal;text-align:center}
	.lesson-detail-desktop__actions .lesson-detail-desktop__manage{border-color:rgba(111,118,86,.58);background:rgba(140,148,115,.14);color:var(--color-primary);font-size:.88rem;font-weight:600;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
	.lesson-detail-desktop__actions .lesson-detail-desktop__manage:hover{border-color:var(--color-primary);background:rgba(140,148,115,.22);color:var(--color-primary)}
	.lesson-detail-desktop__manage-label{display:grid;line-height:1.08}
	.lesson-detail-desktop__manage-title{font-size:1em;font-weight:600}
	.lesson-detail-desktop__manage-count{margin-top:.2rem;color:rgba(63,59,54,.62);font-size:.76em;font-weight:400}
	.lesson-detail-desktop__header:has(> .lesson-detail-desktop__actions[hidden]) .lesson-detail-desktop__relationship{grid-column:3 / -1;justify-self:end;width:max-content}
	.lesson-chat-module{--lesson-chat-header-min-height:5.1rem;display:grid;grid-template-columns:16rem minmax(0,1fr);height:clamp(34rem,72dvh,50rem);min-height:0;overflow:hidden;border:1px solid rgba(63,59,54,.1);border-radius:1.5rem;background:var(--color-white);box-shadow:var(--shadow-soft)}
	.lesson-chat-module.has-participants{grid-template-columns:16rem minmax(0,1fr) 24rem}
	.lesson-chat-module.has-participants>.lesson-participants-panel{grid-column:3;grid-row:1}
	.lesson-chat-module>.lesson-participants-panel__overlay{display:none}
 .lesson-chat-module__sidebar{min-height:0;overflow:auto;overscroll-behavior:contain;border-right:1px solid var(--color-warm-beige);background:rgba(250,247,242,.5)}
	.lesson-chat-module__sidebar-title{position:sticky;top:0;z-index:1;display:flex;align-items:center;min-height:var(--lesson-chat-header-min-height);margin:0;padding:1rem 1.25rem;box-sizing:border-box;font-family:var(--font-heading);font-size:1.4rem;font-weight:500;border-bottom:1px solid var(--color-warm-beige);background:rgba(250,247,242,.98)}
	.lesson-chat-module__conversation{min-width:0;min-height:0}
	.lesson-chat-switch-loading{display:grid;height:100%;place-items:center;color:rgba(63,59,54,.62);font-size:.9rem;background:linear-gradient(180deg,rgba(250,247,242,.35),rgba(255,255,255,0))}
	.lesson-chat-module__conversation>.lesson-chat-screen{height:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}
	.lesson-chat-module__conversation .lesson-chat-screen__back{display:none}
	.lesson-chat-module__conversation .lesson-chat-screen__header{min-height:var(--lesson-chat-header-min-height);padding:1rem 1.35rem;box-sizing:border-box}
	.lesson-chat-module__conversation .lesson-chat-screen__header{position:relative}
	.lesson-chat-module__conversation .lesson-chat-screen__availability{min-height:1.1rem;line-height:1.3}
	.lesson-chat-module__conversation .lesson-chat-screen__participant-toggle{display:inline-flex;align-items:center;gap:.7rem;margin-left:auto;padding:.7rem .35rem .7rem .8rem;border:0;border-radius:.6rem;background:transparent;color:var(--color-text);font:inherit;font-size:.9em;cursor:pointer}
	.lesson-chat-module__conversation .lesson-chat-screen__participant-toggle{position:absolute;right:1.1rem;top:1rem}
	.lesson-chat-module__conversation .lesson-chat-screen__participant-toggle:hover,.lesson-chat-module__conversation .lesson-chat-screen__participant-toggle:focus-visible{background:var(--section-warm);outline:2px solid transparent}
	.lesson-chat-module__conversation .lesson-chat-screen__participant-toggle > .lesson-chat-screen__participant-chevron{display:block;width:.55rem;height:.55rem;flex:0 0 .55rem;margin:0;line-height:0;vertical-align:middle;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .18s ease}
	.lesson-chat-module.has-participants .lesson-chat-screen__participant-toggle > .lesson-chat-screen__participant-chevron{transform:rotate(135deg)}
	.lesson-participants-panel{min-width:0;overflow:auto;border-left:1px solid var(--color-warm-beige);background:var(--color-white)}
	.lesson-participants-panel__header{display:flex;align-items:center;justify-content:space-between;min-height:var(--lesson-chat-header-min-height);padding:1rem 1.35rem;box-sizing:border-box;border-bottom:1px solid var(--color-warm-beige)}
	.lesson-participants-panel__identity{display:flex;align-items:flex-start;gap:.65rem;min-width:0}
	.lesson-participants-panel__icon{display:block;width:1.35rem;height:1.35rem;flex:0 0 1.35rem;margin-top:.035rem;color:var(--color-primary)}
	.lesson-participants-panel__icon--check{display:grid;place-items:center;font-size:1.15rem;font-weight:600;line-height:1}
	.lesson-participants-panel__icon--chat{object-fit:contain}
	.lesson-participants-panel__copy{display:grid;gap:.15rem;min-width:0}
	.lesson-participants-panel h2{margin:0;font-family:var(--font-heading);font-size:1.35rem;font-weight:500;line-height:1.05}
	.lesson-participants-panel__description{margin:0;color:rgba(63,59,54,.62);font-size:.78rem;line-height:1.25}
	.lesson-participants-panel__close{width:2rem;height:2rem;border:0;background:transparent;color:var(--color-text);font-size:1.6rem;line-height:1;cursor:pointer}
	.lesson-participants-panel__section{padding:1.25rem 1.35rem;border-bottom:1px solid var(--color-warm-beige)}
	.lesson-participants-panel h3{margin:0 0 .85rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(63,59,54,.58);font-size:.72rem}
	.lesson-participant{display:flex;align-items:center;gap:.7rem;padding:.35rem 0}
	.lesson-participant .lesson-chat__avatar{width:2.25rem;height:2.25rem;flex-basis:2.25rem}
	.lesson-participant>div{display:grid;gap:.1rem;min-width:0}
	.lesson-participant strong{overflow:hidden;font-size:.88rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
	.lesson-participant span{color:rgba(63,59,54,.6);font-size:.76rem}
	.my-lessons .lesson-participants-panel--management .lesson-participant--attendance{display:grid;grid-template-columns:var(--chat-avatar-participant-size) minmax(0,1fr) 44px;gap:0 .85rem;align-items:center;min-height:3.7rem;padding:.45rem .4rem;border-radius:.65rem;transition:background-color .18s ease,transform .18s ease}
	.my-lessons .lesson-participants-panel--management .lesson-participant--attendance.is-checked-in{background:rgba(140,180,130,.13)}
	.my-lessons .lesson-participants-panel--management .lesson-participant--attendance.is-checked-in::before{content:none}
	.my-lessons .lesson-participants-panel--management .lesson-participant--attendance>.lesson-chat__avatar{grid-column:1;grid-row:1}
	.my-lessons .lesson-participants-panel--management .lesson-participant__copy{grid-column:2;grid-row:1 / 3;align-self:center;display:grid;gap:.15rem;min-width:0}
	.my-lessons .lesson-participants-panel--management .lesson-participant__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:.92rem;font-weight:500}
	.my-lessons .lesson-participants-panel--management .lesson-participant__copy span{overflow:hidden;color:rgba(63,59,54,.65);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
	.my-lessons .lesson-participants-panel--management .lesson-participant__attendance-control{display:grid;width:44px;height:44px;grid-column:3;grid-row:1;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
	.my-lessons .lesson-participants-panel--management .lesson-participant__attendance-control:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.my-lessons .lesson-participants-panel--management .lesson-participant__attendance-control img{width:1.45rem;height:1.45rem;object-fit:contain}
	.my-lessons .lesson-participants-panel--management .lesson-participant__empty-control{display:block;width:1.375rem;height:1.375rem;background-color:var(--section-warm);-webkit-mask:url('../icons/chat/check-box.svg') center/contain no-repeat;mask:url('../icons/chat/check-box.svg') center/contain no-repeat}
	.my-lessons .lesson-participant__attendance-status--mobile{display:none}
	.my-lessons .lesson-participant__attendance-status--desktop{display:block}
}

/* On touch screens the same actions stay an overlay, beside the message. */
@media(max-width:767px){
	.lesson-chat-screen .lesson-chat-message__actions{top:50%;right:auto;left:calc(100% + .5rem);display:grid;grid-auto-rows:34px;gap:.25rem;transform:translateY(-50%);opacity:0;pointer-events:none}
	.lesson-chat-screen .lesson-chat-message--mine .lesson-chat-message__actions{right:calc(100% + .5rem);left:auto}
	.lesson-chat-screen .lesson-chat-message.is-context-below .lesson-chat-message__actions{transform:translateY(-50%)}
	.lesson-chat-screen .lesson-chat-message__action{display:flex;width:34px;height:34px;align-items:center;justify-content:center;padding:0;border-radius:50%;font-size:0;line-height:0}
	.lesson-chat-screen .lesson-chat-message__action .lesson-chat-icon{display:block;width:17px;height:17px;flex:0 0 auto;background-color:currentColor;color:var(--color-primary);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
	.lesson-chat-screen .lesson-chat-message__action[data-reaction-type="heart"] .lesson-chat-icon{color:#b97868}
}

/* Group composer: keep the input row stable while allowing only the textarea to grow. */
.lesson-chat-screen .lesson-chat-composer{align-items:center;border-radius:1.6rem;padding:.35rem .4375rem .35rem .35rem}
.lesson-chat-screen .lesson-chat-composer__reply[hidden]{display:none}
.lesson-chat-screen .lesson-chat-composer__reply{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:.1rem .75rem;min-width:0;margin:0;padding:.35rem .65rem;border-radius:.65rem;background:rgba(216,204,188,.22);text-align:left}
.lesson-chat-screen .lesson-chat-composer__reply-author{grid-column:1;grid-row:1;font-size:.78rem;font-weight:600;line-height:1.2;color:var(--color-text)}
.lesson-chat-screen .lesson-chat-composer__reply-excerpt{grid-column:1;grid-row:2;min-width:0;overflow:hidden;font-size:.76rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;color:rgba(63,59,54,.7)}
.lesson-chat-screen .lesson-chat-composer__reply-close{grid-column:2;grid-row:1/3;align-self:center}
.lesson-chat-screen .lesson-chat-composer__input{align-self:center;box-sizing:border-box;width:100%;height:2.65rem;min-height:2.65rem;max-height:calc(1.35em * 3 + 1.1rem);padding:.55rem .85rem;line-height:1.35;overflow-y:hidden}
.lesson-chat-screen .lesson-chat-composer__send{align-self:center;padding:0;line-height:1}
.lesson-chat-screen .lesson-chat-composer__send{margin-right:0}

@media (hover: hover) and (pointer: fine){
	.lesson-chat-screen--group .lesson-chat-message__action{transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}
	.lesson-chat-screen--group .lesson-chat-message__action .lesson-chat-icon{transition:color 150ms ease,transform 150ms ease;transform-origin:center}
	.lesson-chat-screen--group .lesson-chat-message__action:hover,
	.lesson-chat-screen--group .lesson-chat-message__action:focus-visible{background-color:var(--section-warm);border-color:rgba(140,148,115,.5)}
	.lesson-chat-screen--group .lesson-chat-message__action:hover .lesson-chat-icon,
	.lesson-chat-screen--group .lesson-chat-message__action:focus-visible .lesson-chat-icon{transform:scale(1.05)}
	.lesson-chat-screen--group .lesson-chat-message__action:hover .lesson-chat-icon,
	.lesson-chat-screen--group .lesson-chat-message__action:focus-visible .lesson-chat-icon{color:color-mix(in srgb,var(--color-primary) 82%,var(--color-text))}
	.lesson-chat-screen--group .lesson-chat-message__action[data-reaction-type="heart"]:hover .lesson-chat-icon,
	.lesson-chat-screen--group .lesson-chat-message__action[data-reaction-type="heart"]:focus-visible .lesson-chat-icon{color:color-mix(in srgb,var(--chat-toolbar-heart) 82%,var(--color-text))}
	.lesson-chat-screen--group .lesson-chat-message__action:focus-visible{outline:2px solid rgba(140,148,115,.55);outline-offset:2px}
}

@media (hover: none), (pointer: coarse){
	.lesson-chat-screen--group .lesson-chat-message__action:active{background-color:var(--section-warm);border-color:rgba(140,148,115,.45)}
}

.lesson-chat-screen .lesson-chat-composer.is-multiline{align-items:end}
.lesson-chat-screen .lesson-chat-composer.is-multiline .lesson-chat-composer__input,.lesson-chat-screen .lesson-chat-composer.is-multiline .lesson-chat-composer__send{align-self:end}

/* Keep only the message area scrollable inside the chat grid. */
.lesson-chat-screen--group{grid-template-rows:auto minmax(0,1fr) auto auto}
.lesson-chat-screen--group .lesson-chat-screen__messages{min-height:0}
.lesson-chat-screen--group .lesson-chat-screen__messages.is-initializing{visibility:hidden}
.lesson-chat-screen--group .lesson-chat-screen__messages{overflow-anchor:none}
.lesson-chat-screen--group{height:clamp(32rem,70dvh,48rem);min-height:0}
@media(max-width:767px){.lesson-chat-screen--group{height:auto;min-height:calc(100svh - 5rem)}}

/* Focused mobile chat occupies the visible browser viewport, including while the virtual keyboard is open. */
@media(max-width:767px), (pointer:coarse) and (max-height:600px){
	.has-mobile-lesson-chat .lesson-chat-screen{position:fixed;z-index:100;top:var(--chat-visual-top,0px);right:0;left:0;width:100%;height:var(--chat-visual-height,100dvh);min-height:0;box-sizing:border-box;margin:0;padding-top:0;border-radius:0;border-inline:0;grid-template-rows:auto minmax(0,1fr) auto auto}
	.has-mobile-lesson-chat .lesson-chat-screen__messages{min-height:0;overscroll-behavior:contain}
	.has-mobile-lesson-chat .lesson-chat-screen__header{padding-top:max(1rem,var(--safe-area-top))}
	.has-mobile-lesson-chat .lesson-chat-screen__availability{padding-bottom:calc(.75rem + var(--safe-area-bottom))}
	.has-mobile-lesson-chat .lesson-chat-screen.is-keyboard-open .lesson-chat-screen__availability.is-routine{display:none;padding:0}
	.has-mobile-lesson-chat .lesson-chat-screen.is-keyboard-open .lesson-chat-composer{margin-bottom:.4rem}
	.has-mobile-lesson-chat .lesson-chat-screen__messages{padding:1rem .8rem}
	.has-mobile-lesson-chat .lesson-chat-message{max-width:92%}
}
@media (min-width:768px) and (pointer:coarse) and (max-height:600px){
	.has-mobile-lesson-chat .my-lessons-main .my-lessons--detail,
	.has-mobile-lesson-chat .my-lessons-main .my-lessons--detail .my-lesson-detail,
	.has-mobile-lesson-chat .my-lessons-main .my-lessons--detail [data-my-lesson-detail-content]{height:auto;min-height:0;max-height:none;overflow:visible}
}
html.has-lesson-chat-active .site-footer{display:none}

/* Keep the detail-to-footer gap compact without affecting the chat screen. */
.my-lesson-detail{padding-bottom:0}
.my-lessons{padding-bottom:4rem}
@media(max-width:767px){.my-lesson-detail{padding-bottom:0}.my-lessons{padding-bottom:3rem}}

/* Group chat header: one neutral group mark and responsive metadata rows. */
.lesson-chat-screen--group .lesson-chat-screen__header{gap:0}
.lesson-chat-screen--group .lesson-chat-screen__back{width:2.75rem;height:2.75rem;border:0;background:transparent;font-size:0}
.lesson-chat-screen--group .lesson-chat-screen__back:hover{color:var(--color-primary)}
.lesson-chat-screen--group .lesson-chat-screen__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.lesson-chat-screen--group .lesson-chat-screen__back::before{content:none}
.lesson-chat-screen--group .lesson-chat-screen__back .my-lessons__back-chevron{display:block}
.lesson-chat-screen--group .lesson-chat-screen__group-icon{display:block;width:3rem;height:3rem;flex:0 0 3rem;object-fit:contain}
.lesson-chat-screen--group .lesson-chat-screen__identity{align-items:center}
.lesson-chat-screen--group .lesson-chat-screen__heading{grid-template-columns:minmax(0,auto) minmax(0,auto);column-gap:.35rem;row-gap:.125rem;margin-left:.75rem;line-height:1.1}
.lesson-chat-screen--group .lesson-chat-screen__heading strong{grid-column:1/-1}
.lesson-chat-screen--group .lesson-chat-screen__mobile-context{display:none}
.lesson-chat-screen--group .lesson-chat-screen__lesson-name{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lesson-chat-screen--group .lesson-chat-screen__participant-count{grid-column:2;grid-row:2;white-space:nowrap}
.lesson-chat-screen--group .lesson-chat-screen__participant-count::before{content:"·";margin-right:.35rem}
@media(max-width:767px){
	.lesson-chat-screen--group .lesson-chat-screen__header{padding:.7rem 1rem}
	.lesson-chat-screen--group .lesson-chat-screen__header{gap:0}
	.lesson-chat-screen--group .lesson-chat-screen__heading{margin-left:.75rem}
	.lesson-chat-screen--group .lesson-chat-screen__group-icon{width:2.7rem;height:2.7rem;flex-basis:2.7rem}
	.lesson-chat-screen--group .lesson-chat-screen__header-avatar{width:2.7rem;height:2.7rem;flex-basis:2.7rem}
	.lesson-chat-screen--group .lesson-chat-screen__heading{grid-template-columns:minmax(0,1fr);row-gap:.125rem;line-height:1.1}
	.lesson-chat-screen--group .lesson-chat-screen__heading strong{margin-bottom:0}
	.lesson-chat-screen--group .lesson-chat-screen__lesson-name{grid-column:1;grid-row:2}
	.lesson-chat-screen--group .lesson-chat-screen__participant-count{grid-column:1;grid-row:3;font-size:.82rem;color:rgba(63,59,54,.62)}
	.lesson-chat-screen--group .lesson-chat-screen__participant-count::before{content:none}
}

@media(max-width:560px){
	.lesson-chat-screen--group .lesson-chat-screen__lesson-name,
	.lesson-chat-screen--group .lesson-chat-screen__participant-count{display:none}
	.lesson-chat-screen--group .lesson-chat-screen__mobile-context{display:block;grid-column:1;grid-row:2;min-width:0;overflow-wrap:anywhere;white-space:normal}
}

/* Chat avatar sizes are fixed by context; mobile keeps the same chat scale. */
.my-lessons .lesson-chat-card__visual .lesson-chat__avatar,
.my-lessons .lesson-chat-list-item__visual .lesson-chat__avatar{width:var(--chat-avatar-list-size);height:var(--chat-avatar-list-size);flex-basis:var(--chat-avatar-list-size)}
.my-lessons .lesson-chat-screen__identity>.lesson-chat__avatar{width:var(--chat-avatar-header-size);height:var(--chat-avatar-header-size);flex-basis:var(--chat-avatar-header-size)}
.my-lessons .lesson-chat-message__avatar{width:var(--chat-avatar-message-size);height:var(--chat-avatar-message-size);flex-basis:var(--chat-avatar-message-size)}
.my-lessons .lesson-participant .lesson-chat__avatar{width:var(--chat-avatar-participant-size);height:var(--chat-avatar-participant-size);flex-basis:var(--chat-avatar-participant-size)}
.my-lessons .lesson-chat__avatar--companion{background-size:62% 62%}
.my-lessons .lesson-chat-list-item__visual{width:var(--chat-avatar-list-size);height:var(--chat-avatar-list-size)}
.my-lessons .lesson-chat-list-item__visual img{width:1.85rem;height:1.85rem}
.my-lessons .lesson-chat-list-item__visual--group{position:relative;border:0;border-radius:50%;background:transparent;box-shadow:0 0 0 1px rgba(63,59,54,.1)}
.my-lessons .lesson-chat-list-item__visual--group::after{position:absolute;z-index:1;inset:0;border:2px solid var(--color-white);border-radius:inherit;content:"";pointer-events:none}
.my-lessons .lesson-chat-list-item__visual--group>img{width:40px!important;height:40px!important;object-fit:contain}
.my-lessons .lesson-chat-screen--group .lesson-chat-screen__group-icon{width:var(--chat-avatar-header-size);height:var(--chat-avatar-header-size);flex-basis:var(--chat-avatar-header-size)}

/* Mobile detail uses the existing lesson/chat renderers as a two-step view. */
.my-lesson-mobile-header{display:none}
.lesson-chat-screen__back-label{display:none}
@media(max-width:767px){
	.my-lesson-detail{padding-top:.75rem}
	.my-lessons__content:has(.my-lesson-mobile-users.has-participants .lesson-participants-panel--management){z-index:130}
	.my-lesson-mobile-header{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;margin-bottom:1.5rem;padding: max(.75rem,env(safe-area-inset-top)) 0 0}
	.my-lesson-mobile-header__back{display:grid;width:2.75rem;height:2.75rem;place-items:center;margin-top:.1rem;border:1px solid rgba(63,59,54,.12);border-radius:50%;background:var(--color-white);color:var(--color-text);text-decoration:none}
	.my-lesson-mobile-header__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.my-lesson-mobile-header>.my-lessons__back-chevron{transform:translateY(-.2rem)}
	.my-lesson-mobile-header__summary{position:relative;display:grid;min-width:0;gap:.55rem}
	.my-lesson-mobile-header__title{position:relative;z-index:1;margin:0;font-family:var(--font-heading);font-size:clamp(1.8rem,8vw,2.5rem);font-weight:500;line-height:1.02;overflow-wrap:anywhere}
	.my-lesson-mobile-header__candle{position:absolute;z-index:0;top:max(.75rem,env(safe-area-inset-top));right:0;width:6.336rem;height:11.088rem;object-fit:contain;opacity:.24;pointer-events:none}
	.my-lesson-mobile-header__facts{position:relative;z-index:1;display:grid;gap:.2rem;color:rgba(63,59,54,.72);font-size:.84rem;line-height:1.35}
	.my-lesson-mobile-header__fact{display:flex;align-items:center;gap:.45rem;min-width:0;overflow-wrap:anywhere}
	.my-lesson-mobile-header__fact .lesson-detail__icon{width:.95rem;height:.95rem;flex-basis:.95rem}
	.my-lesson-mobile-header__state{position:relative;z-index:1;grid-column:2;display:flex;align-items:center;gap:.65rem;min-width:0;margin-top:.15rem;color:var(--color-primary);font-size:.88rem;font-weight:600}
	.my-lesson-mobile-header__state .lesson-detail__icon{width:1.2rem;height:1.2rem;flex-basis:1.2rem}
	.my-lesson-mobile-header__state .lesson-detail__icon--role-admin{-webkit-mask-image:url('../icons/chat/admin-access.svg');mask-image:url('../icons/chat/admin-access.svg')}
	.my-lesson-mobile-header__state .lesson-detail__icon--role-instructor{-webkit-mask-image:url('../icons/yoga.svg');mask-image:url('../icons/yoga.svg')}
	.my-lesson-mobile-header__state-label{min-width:0;overflow-wrap:anywhere}
	.my-lesson-mobile-header__manage{width:fit-content;max-width:100%;min-height:3rem;box-sizing:border-box;padding:0 .8rem;border-color:color-mix(in srgb,var(--color-warm-beige) 55%,var(--color-primary) 45%);border-radius:var(--radius-medium);background:rgba(250,247,242,.5);color:var(--color-text);font-size:.85rem;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}
	.my-lesson-mobile-header__manage:hover{border-color:var(--color-primary);background:var(--section-warm);color:var(--color-text)}
	.my-lesson-mobile-header__manage:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.my-lesson-mobile-header__state.is-admin,.my-lesson-mobile-header__state.is-instructor{width:max-content;max-width:100%;box-sizing:border-box;gap:.45rem;margin-top:.15rem;padding:.28rem .65rem;border:1px solid rgba(190,137,103,.34);border-radius:999px;background:rgba(255,247,240,.96);font-size:.82rem;line-height:1.3}
	.my-lesson-mobile-header__state.is-admin{color:#a45f4c}
	.my-lesson-mobile-header__state.is-instructor{color:var(--color-accent)}
	.my-lesson-mobile-header__state.is-admin .lesson-detail__icon--role-admin,.my-lesson-mobile-header__state.is-instructor .lesson-detail__icon--role-instructor{background-color:currentColor}
	.lesson-chat-screen__back-label{display:none}
	.my-lessons .lesson-chat-screen__back{display:grid;grid-template-columns:1fr;gap:0;width:44px;min-width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:50%;font-size:0}
	.lesson-chat-screen__back .my-lessons__back-chevron{display:block}
	.my-lessons .lesson-chat-screen__back:hover{background:var(--section-warm)}
	.my-lessons .lesson-chat-screen__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__header{position:relative}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle{position:static;right:auto;bottom:auto;grid-column:1;grid-row:3;justify-self:start;display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.35rem .25rem .35rem 0;border:0;border-radius:.5rem;background:transparent;color:rgba(63,59,54,.72);font:inherit;font-size:.82rem;line-height:1.2;cursor:pointer}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle:hover,
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle:focus-visible{background:var(--section-warm);color:var(--color-primary)}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle > .lesson-chat-screen__participant-chevron{display:block;width:.5rem;height:.5rem;flex:0 0 .5rem;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
	.my-lessons [data-my-lesson-detail-content].has-participants{overflow:hidden}
	.my-lessons [data-my-lesson-detail-content].has-participants .lesson-chat-screen__messages{overflow:hidden}
	.my-lessons .lesson-participants-panel__overlay{position:fixed;z-index:19;top:5rem;right:0;bottom:0;left:0;width:auto;height:auto;padding:0;border:0;background:rgba(63,59,54,.18);cursor:pointer;touch-action:none}
	.my-lessons .lesson-participants-panel{position:fixed;z-index:20;top:5rem;right:0;bottom:0;width:min(86vw,340px);max-width:100vw;max-height:none;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-warm-beige);border-right:0;border-bottom:0;border-radius:1.25rem 0 0 0;background:var(--color-white);box-shadow:-12px 0 30px rgba(63,59,54,.16);padding-bottom:max(1rem,env(safe-area-inset-bottom));transform:translateX(100%);transition:transform .22s ease}
	.my-lessons .my-lesson-mobile-users .lesson-participants-panel__overlay{z-index:1000;inset:0;width:100vw;height:100dvh}
	.my-lessons .my-lesson-mobile-users .lesson-participants-panel--management{z-index:1001;top:0;right:0;bottom:0;left:0;width:100vw;max-width:none;height:100dvh;min-height:100vh;max-height:none;box-sizing:border-box;overflow-y:auto;border:0;border-radius:0;background:var(--color-white);box-shadow:none;padding-bottom:max(1rem,env(safe-area-inset-bottom))}
	.my-lessons .my-lesson-mobile-users .lesson-participants-panel--management .lesson-participants-panel__header{padding-top:calc(1.25rem + env(safe-area-inset-top))}
	.my-lessons [data-my-lesson-detail-content].has-participants .lesson-participants-panel{transform:translateX(0)}
	.my-lessons .lesson-participants-panel__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--color-white);padding:1.25rem 1.35rem;border-bottom:1px solid var(--color-warm-beige)}
	.my-lessons .lesson-participants-panel__identity{display:flex;align-items:center;flex:1 1 auto;gap:.55rem;min-width:0}
	.my-lessons .lesson-participants-panel__icon{width:1.2rem;height:1.2rem;flex:0 0 1.2rem}
	.my-lessons .lesson-participants-panel__icon--check{font-size:1rem}
	.my-lessons .lesson-participants-panel__icon--chat{object-fit:contain}
	.my-lessons .lesson-participants-panel__copy{display:block;min-width:0}
	.my-lessons .lesson-participants-panel__header h2{margin:0;font-family:var(--font-heading);font-size:1.35rem;font-weight:500;line-height:1.05}
	.my-lessons .lesson-participants-panel__description{display:none}
	.my-lessons .lesson-participants-panel__close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;padding:0;border:0;background:transparent;border-radius:50%;font-size:1.7rem;line-height:1}
	.my-lessons .lesson-participants-panel__close:hover{background:var(--section-warm)}
	.my-lessons .lesson-participants-panel__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
	.my-lessons .lesson-participants-panel__section{padding:1.25rem 1.35rem;border-bottom:1px solid var(--color-warm-beige)}
	.my-lessons .lesson-participants-panel h3{margin:0 0 .85rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(63,59,54,.58);font-size:.72rem;line-height:1.2}
	.my-lessons .lesson-participants-panel .lesson-participant{display:grid;grid-template-columns:var(--chat-avatar-participant-size) minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 .85rem;padding:.35rem 0}
	.my-lessons .lesson-participants-panel .lesson-participant--attendance.is-checked-in{position:relative;background:transparent}
	.my-lessons .lesson-participants-panel .lesson-participant--attendance.is-checked-in::before{position:absolute;z-index:0;inset:0 -0.05rem 0 -1rem;border-radius:0 .65rem .65rem 0;background:rgba(140,180,130,.13);content:""}
	.my-lessons .lesson-participants-panel .lesson-participant--attendance.is-checked-in>*{position:relative;z-index:1}
	.my-lessons .lesson-participants-panel .lesson-participant>.lesson-chat__avatar{grid-column:1;grid-row:1 / 3}
	.my-lessons .lesson-participants-panel .lesson-participant>div{display:grid;grid-column:2;grid-row:1 / 3;align-self:center;gap:.1rem;min-width:0}
	.my-lessons .lesson-participants-panel .lesson-participant strong{color:var(--color-text);font-size:.88rem;font-weight:500}
	.my-lessons .lesson-participants-panel .lesson-participant span{color:rgba(63,59,54,.6);font-size:.76rem}
}

/* Touch/coarse input owns the message-menu state regardless of viewport width. */
@media(pointer:coarse){
	.lesson-chat-screen .lesson-chat-message__actions,
	.lesson-chat-screen .lesson-chat-message:hover .lesson-chat-message__actions,
	.lesson-chat-screen .lesson-chat-message:focus-within .lesson-chat-message__actions{visibility:hidden;opacity:0;pointer-events:none}
	.lesson-chat-screen .lesson-chat-message.is-context-open .lesson-chat-message__actions{visibility:visible;opacity:1;pointer-events:auto}
	.lesson-chat-screen .lesson-chat-message.is-context-closing .lesson-chat-message__actions{visibility:hidden;opacity:0;pointer-events:none}
}

/* On desktop, mouse focus must not keep the toolbar open; keyboard focus
 * remains accessible through :focus-visible. */
@media(min-width:768px){
	.lesson-chat-screen--group .lesson-chat-message:not(:hover):focus-within .lesson-chat-message__actions{opacity:0;pointer-events:none}
	.lesson-chat-screen--group .lesson-chat-message:has(.lesson-chat-message__action:focus-visible) .lesson-chat-message__actions{opacity:1;pointer-events:auto}
	.lesson-chat-screen--group .lesson-chat-message.is-actions-dismissed .lesson-chat-message__actions{visibility:hidden;opacity:0;pointer-events:none}
}

/* Desktop hover uses a short leave tolerance instead of enlarging the hit area. */
@media(min-width:768px) and (pointer:fine){
	.lesson-chat-screen--group .lesson-chat-message.is-actions-hover .lesson-chat-message__actions{visibility:visible;opacity:1;pointer-events:auto}
	.lesson-chat-screen--group .lesson-chat-message.is-actions-dismissed .lesson-chat-message__actions{visibility:hidden;opacity:0;pointer-events:none}
}

/* Narrow mobile only: the back control keeps its touch target without a visible button chrome. */
@media(max-width:560px){
	.my-lessons-main .my-lessons--detail .lesson-chat-screen{margin-inline:0}
	.my-lessons-main .my-lessons--detail .lesson-chat-screen__header,
	.my-lessons-main .my-lessons--detail .lesson-chat-screen__messages{padding-inline:var(--lesson-detail-content-inset)}
	.my-lessons-main .my-lessons--detail .lesson-chat-composer,
	.my-lessons-main .my-lessons--detail .lesson-chat-screen__availability{margin-inline:var(--lesson-detail-content-inset)}
	.my-lesson-mobile-header{margin-bottom:0;padding-bottom:1.875rem;border-bottom:1px solid var(--color-warm-beige)}
	.my-lesson-mobile-header__back{border:0;border-radius:0;background:transparent}
	.my-lesson-mobile-users{margin:0}
	.my-lesson-mobile-chat-list{margin:0;padding:0;border-top:0}
	.my-lessons .my-lesson-mobile-users .lesson-participants-panel--management{right:0;left:0;width:100vw;max-width:100vw;box-sizing:border-box;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);padding-bottom:max(1rem,env(safe-area-inset-bottom));transform:translateX(100%)}
	.my-lessons .my-lesson-mobile-users.has-participants .lesson-participants-panel--management{transform:translateX(0)}
	.my-lessons-main .my-lessons--detail .my-lesson-mobile-section-title{display:flex;align-items:center;box-sizing:border-box;height:2.45rem;margin:0;padding:2px var(--lesson-detail-content-inset) 0;background:#faf7f2;font-family:var(--font-heading);font-size:1.22rem;font-weight:500;line-height:1.1;border-bottom:1px solid var(--color-warm-beige)}
}

@media(max-width:560px){
	/* Keep this tied to the group asset as well, so cached/legacy markup cannot fall back to the generic 1.85rem rule. */
	.my-lesson-mobile-chat-list .lesson-chat-list-item__visual:has(> img[src*="group-full-border.svg"]){position:relative;border:0;border-radius:50%;background:transparent;box-shadow:0 0 0 1px rgba(63,59,54,.1)}
	.my-lesson-mobile-chat-list .lesson-chat-list-item__visual:has(> img[src*="group-full-border.svg"])::after{position:absolute;z-index:1;inset:0;border:2px solid var(--color-white);border-radius:inherit;content:"";pointer-events:none}
	.my-lesson-mobile-chat-list .lesson-chat-list-item__visual:has(> img[src*="group-full-border.svg"])>img{width:40px!important;height:40px!important;object-fit:contain}
}

@media(min-width:768px){
	/* Keep the title copy on the content axis; the back control sits outside it. */
	.my-lessons__hero{display:block}
	.my-lessons__back{position:absolute;top:clamp(.75rem,2vw,1.5rem);left:-1.625rem}
	.my-lessons__back>.my-lessons__back-chevron{width:1.1rem;height:1.1rem;flex-basis:1.1rem;transform:translate(-1.25rem,calc((clamp(2.6rem,4vw,3.8rem) - 44px) / 2))}
	.my-lessons__title-row h1{overflow:visible;text-overflow:clip}
	.my-lessons__hero p{max-width:none}
}

/* Private messages keep counterpart identity in the chat header only. */
.lesson-chat-screen__title-mobile{display:none}
.lesson-chat-screen--group .lesson-chat-screen__participant-toggle-title{display:none}
.lesson-chat-screen--group .lesson-chat-screen__participant-count-label{width:auto;height:auto;flex:0 1 auto;margin:0;border:0;transform:none}
.lesson-chat-screen--group .lesson-chat-screen__participant-chevron{display:block;width:.55rem;height:.55rem;flex:0 0 .55rem;margin:0;line-height:0;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
@media(min-width:768px){
	.lesson-chat-screen--group .lesson-chat-screen__lesson-name,
	.lesson-chat-screen--group .lesson-chat-screen__mobile-context,
	.lesson-chat-screen--private .lesson-chat-screen__lesson-name,
	.lesson-chat-screen--private .lesson-chat-screen__mobile-context{display:none}
	.lesson-chat-screen--private .lesson-chat-screen__title-mobile{display:block;grid-column:1;grid-row:1;line-height:1.1}
	.lesson-chat-screen--private .lesson-chat-screen__title-desktop{display:block;grid-column:1;grid-row:2;font-family:var(--font-body);font-size:.85rem;font-weight:400;line-height:1.2;color:rgba(63,59,54,.68)}
}
@media(min-width:768px){.lesson-chat-screen--group .lesson-chat-screen__participant-pill{display:contents}}
@media(max-width:767px){
	.lesson-chat-screen--private .lesson-chat-screen__title-desktop{display:none}
	.lesson-chat-screen--private .lesson-chat-screen__title-mobile{display:block}
	.lesson-chat-screen--private .lesson-chat-screen__heading{row-gap:.2rem}
	.lesson-chat-screen--private .lesson-chat-screen__lesson-name{display:none}
	.lesson-chat-screen--private .lesson-chat-screen__mobile-context{display:block;min-width:0;overflow-wrap:anywhere;white-space:normal}
	.lesson-chat-screen--group .lesson-chat-screen__heading{display:grid;flex:1 1 auto;min-width:0;grid-template-columns:minmax(0,1fr);row-gap:.2rem;line-height:1.1}
	.lesson-chat-screen--group .lesson-chat-screen__heading>strong{display:none}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle{position:static;grid-column:1;grid-row:1;display:flex;width:100%;min-height:0;align-items:center;justify-content:space-between;gap:.8rem;margin:0;padding:0;border:0;border-radius:.65rem;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle>.lesson-chat-screen__participant-toggle-title{display:block;width:auto;height:auto;min-width:0;flex:1 1 auto;margin:0;overflow:hidden;border:0;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-heading);font-size:1.45rem;font-weight:500;line-height:1.1;transform:none}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle>.lesson-chat-screen__participant-pill{display:inline-flex;align-items:center;gap:.35rem;min-width:0;height:28px;flex:0 0 auto;margin:0;padding:0 .55rem;border:0;border-radius:999px;background-color:rgba(140,148,115,.12);color:rgba(63,59,54,.72);font:inherit;font-size:.78rem;line-height:1;text-align:left;cursor:pointer;transform:none}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle .lesson-chat-screen__participant-count-label{display:inline;width:auto;height:auto;flex:0 1 auto;margin:0;overflow:visible;border:0;transform:none;white-space:nowrap;font:inherit}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle .lesson-chat-screen__participant-chevron{display:block;width:.45rem;height:.45rem;flex:0 0 .45rem;margin:0;line-height:0;border:0;border-top:1.25px solid currentColor;border-right:1.25px solid currentColor;transform:rotate(45deg)}
	.lesson-chat-screen--group .lesson-chat-screen__lesson-name{grid-column:1;grid-row:2}
}
@media(max-width:560px){
	.lesson-chat-screen--group .lesson-chat-screen__lesson-name{display:none}
	.lesson-chat-screen--group .lesson-chat-screen__mobile-context{display:block;grid-column:1;grid-row:2;min-width:0;overflow-wrap:anywhere;white-space:normal}
}
@media(max-width:767px){
	.lesson-chat-screen .lesson-chat-screen__header{gap:0;padding:.7rem 1rem}
	.lesson-chat-screen--private .lesson-chat-screen__heading{line-height:1.1;row-gap:.2rem}
	.my-lessons .lesson-chat-screen--group .lesson-chat-screen__participant-toggle .lesson-chat-screen__participant-count-label{background:transparent;background-color:transparent;background-image:none;border:0;border-radius:0;box-shadow:none}
}
.my-lessons .lesson-chat-screen--private .lesson-chat-message__author,
.my-lessons .lesson-chat-screen--private .lesson-chat-message__author-status{display:none}

.my-lessons-browser__occurrence-action{appearance:none;width:100%;margin-top:1rem;padding:.35rem 0;border:0;background:transparent;color:inherit;font:inherit;font-size:1.05rem;cursor:pointer}
.my-lessons-browser__occurrence-action--cancel{color:#8b554c}
.my-lessons-browser__occurrence-action--restore{color:var(--color-primary)}
.my-lessons-browser__occurrence-action:hover,.my-lessons-browser__occurrence-action:focus-visible{text-decoration:underline}

/* Registered participant actions: purchase stays independent from attendance. */
.lesson-participant--attendance{grid-template-columns:var(--chat-avatar-participant-size) minmax(0,1fr) 88px}
.lesson-participant__actions{display:flex;grid-column:3;grid-row:1;align-items:center;justify-content:flex-end;width:88px;height:44px}
.lesson-participant__pass-control{display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--section-warm);cursor:pointer}
.lesson-participant__pass-control--indicator{cursor:default}
.lesson-participant__pass-control:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.lesson-participant__pass-icon{display:block;width:1.375rem;height:1.375rem;background-color:currentColor;opacity:.72;-webkit-mask:url('../icons/payments/cart-plus.svg') center/contain no-repeat;mask:url('../icons/payments/cart-plus.svg') center/contain no-repeat}
.lesson-participant__pass-control--indicator .lesson-participant__pass-icon{-webkit-mask-image:url('../icons/payments/promo.svg');mask-image:url('../icons/payments/promo.svg')}
.my-lessons .lesson-participants-panel--management .lesson-participant--attendance{grid-template-columns:var(--chat-avatar-participant-size) minmax(0,1fr) 88px}
.my-lessons .lesson-participants-panel--management .lesson-participant__actions{display:flex;grid-column:3;grid-row:1;align-items:center;justify-content:flex-end;width:88px;height:44px}

@media(max-width:767px){
	.lesson-participants-panel--management .lesson-participant--attendance{display:grid!important;grid-template-columns:var(--chat-avatar-participant-size) minmax(0,1fr) 88px!important;grid-template-rows:auto auto;min-width:0}
	.lesson-participants-panel--management .lesson-participant--attendance>.lesson-chat__avatar{grid-column:1!important;grid-row:1 / 3!important}
	.lesson-participants-panel--management .lesson-participant__copy{display:grid;grid-column:2!important;grid-row:1 / 3!important;min-width:0}
	.lesson-participants-panel--management .lesson-participant__actions{display:flex;grid-column:3!important;grid-row:1 / 3!important;align-items:center;justify-content:flex-end;width:88px;min-width:88px;height:44px}
	.lesson-participants-panel--management .lesson-participant__pass-control,.lesson-participants-panel--management .lesson-participant__attendance-control{flex:0 0 44px}
}
