.action-confirmation-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.action-confirmation{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:12px 0 18px;border:1px solid var(--line);border-inline-start:5px solid var(--accent-line, var(--accent));border-radius:8px;background:var(--panel);color:var(--ink);overflow-wrap:anywhere}.action-confirmation:focus-visible{outline:3px solid var(--accent-line, var(--accent));outline-offset:3px}.action-confirmation-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;border:2px solid currentColor;border-radius:50%;font-size:19px;font-weight:700}.action-confirmation--attention{background:var(--accent-soft, var(--panel))}.action-confirmation--attention .action-confirmation-icon{border-radius:5px}.action-confirmation--uncertain{border-inline-start-style:dashed}.action-confirmation--uncertain .action-confirmation-icon{border-style:dashed}.action-confirmation-content{min-width:0;flex:1}.action-confirmation h3{margin:0;font-size:1.15rem;line-height:1.4}.action-confirmation-description,.action-confirmation-details,.action-confirmation-actions{margin-top:8px}.action-confirmation-details{display:grid;gap:5px}.action-confirmation-actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 480px){.action-confirmation{gap:9px;padding:12px}}.slot.purchase-claim-card{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-block:1rem;overflow-wrap:anywhere;scroll-margin-top:6rem}.purchase-claim-card>*{min-width:0}.purchase-claim-paid{margin:0;font-size:1rem}.purchase-claim-age{margin-top:.25rem}.purchase-claim-next{padding-inline-start:.75rem;border-inline-start:3px solid currentColor}.purchase-claim-next--info{color:var(--accent-text, #315ea8)}.purchase-claim-next--warning{color:var(--accent-text, #8a5100)}.purchase-claim-actions{display:flex;flex-direction:column;gap:.65rem}.purchase-claim-actions>button,.purchase-claim-actions>a{box-sizing:border-box;width:100%;min-height:44px;white-space:normal;text-align:center;display:grid;place-content:center}.purchase-claim-details{grid-column:1 / -1}.purchase-claim-details summary{cursor:pointer;padding-block:.5rem;min-height:44px;box-sizing:border-box}.purchase-claim-details summary:focus-visible,.purchase-claim-actions :focus-visible{outline:2px solid var(--accent-line, #315ea8);outline-offset:3px}.purchase-claim-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem .75rem;font-size:.875rem}.purchase-claim-facts dt{font-weight:600}.purchase-claim-facts dd{margin:0 0 .6rem;min-width:0}.purchase-claim-facts code{font-family:monospace;white-space:normal;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.purchase-claim-assignment>label{min-width:0}.purchase-claim-assignment select{width:100%;min-width:0;max-width:100%}@media (min-width: 480px){.purchase-claim-facts{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.purchase-claim-facts dd{margin:0}}@media (min-width: 800px){.slot.purchase-claim-card{grid-template-columns:minmax(0,1fr) minmax(12rem,16rem)}}.brand .brand-subtitle{font-size:13px;font-weight:550;line-height:1.25;letter-spacing:.025em;text-transform:capitalize}.brand.sidebar-brand .brand-subtitle{margin-top:10px;font-size:20px;font-weight:600;line-height:1.1}.brand.sidebar-brand{padding-bottom:8px}.family-shell .brand.sidebar-brand{padding-bottom:12px}.brand .brand-logo{display:block}.brand .brand-mark.brand-mark--light-bg{display:var(--brand-mark-light-display, block)}.brand .brand-mark.brand-mark--dark-bg{display:var(--brand-mark-dark-display, none)}@media (prefers-color-scheme: dark){.brand .brand-mark.brand-mark--light-bg{display:var(--brand-mark-light-display, none)}.brand .brand-mark.brand-mark--dark-bg{display:var(--brand-mark-dark-display, block)}}.credit-booking h2{margin:0}.credit-booking .credit-booking-lede{margin:6px 0 20px;color:var(--muted)}.credit-booking-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-card);margin-bottom:20px}.credit-booking-eyebrow{display:block;font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.045em;text-transform:uppercase}.credit-booking-balance{display:block;font-size:1.55rem;line-height:1.3;margin:6px 0}.credit-booking-choices{margin:0 0 20px}.credit-booking-choices summary{cursor:pointer;color:var(--accent-text);font-weight:600;min-height:44px;display:flex;align-items:center;gap:8px}.credit-booking-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}.credit-booking-choice-grid button{text-align:left;display:flex;align-items:flex-start;flex-direction:column;gap:4px;white-space:normal;min-height:64px}.credit-booking-choice-grid .small{opacity:.9}.credit-booking-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}.credit-booking-calendar,.credit-booking-times{padding:18px;border:1px solid var(--line);border-radius:var(--radius-card);min-width:0}.credit-booking h3{margin:0 0 16px;font-size:1.1rem}.credit-calendar-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;text-align:center;gap:8px;margin-bottom:14px}.credit-calendar-navigation button{padding:0;min-height:44px}.credit-calendar-weekdays,.credit-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.credit-calendar-weekdays{font-size:.8rem;color:var(--muted);margin-bottom:8px}.credit-booking .credit-calendar-day{background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:5px 0;min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.credit-booking .credit-calendar-day:disabled{opacity:.6}.credit-booking .credit-calendar-day.has-times{background:var(--accent-soft);color:var(--ink)}.credit-booking .credit-calendar-day[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-line);font-weight:700}.credit-calendar-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-text);flex:0 0 auto}.credit-calendar-day:not(.has-times) .credit-calendar-dot{visibility:hidden}.credit-calendar-day[aria-pressed=true] .credit-calendar-dot{background:var(--accent-ink)}.credit-calendar-legend{display:flex;align-items:center;gap:8px;margin:14px 0 0}.credit-booking-times .availability-day .day-heading{margin-top:0}.credit-booking-times .slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:8px}.credit-booking-times .slot-grid button{min-height:44px;padding-inline:8px}.credit-booking-secondary{margin-top:14px}.credit-booking-secondary>summary{cursor:pointer;color:var(--accent-text);min-height:44px;display:flex;align-items:center}.credit-booking-secondary>summary:before{content:"▸";margin-right:8px}.credit-booking-secondary[open]>summary:before{content:"▾"}.credit-booking-summary{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);margin:18px 0 12px}.credit-booking .booking-checkout{padding:0;background:transparent;border:0;margin-top:14px}.credit-booking-confirm{display:grid;gap:8px}.credit-booking-confirm>button{width:100%;min-height:48px;justify-content:center}.credit-booking-confirm .small{margin:0}.credit-booking-waitlist{margin-top:18px}.credit-booking .notice[role=status]{margin-bottom:14px}.credit-booking-selected-list{padding-left:20px;margin:8px 0}.credit-booking-selected-list li{margin-bottom:6px}.credit-booking-summary+.booking-checkout{margin-top:0}@media (max-width: 720px){.credit-booking-layout{grid-template-columns:minmax(0,1fr);gap:16px}.credit-booking-header{padding:14px;align-items:flex-start}.credit-booking-balance{font-size:1.35rem}.credit-booking-calendar,.credit-booking-times{padding:14px}.credit-booking.panel:has(.credit-booking-confirm){padding-bottom:160px}.credit-booking-confirm{position:fixed;z-index:8;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -4px 16px #0000000f}}@media (max-width: 430px){.credit-booking.panel{padding:16px 12px}.credit-booking-header{gap:8px}.credit-booking-header>button{padding-inline:8px;flex:0 0 auto}.credit-booking-header>div{min-width:0}.credit-calendar-days,.credit-calendar-weekdays{gap:4px}.credit-booking .credit-calendar-day{min-height:44px}.credit-booking-confirm{padding-inline:16px}}.credit-booking-selected{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3-5);border:1px solid var(--line);border-radius:var(--radius-card);margin-bottom:var(--space-5)}.credit-booking-selected>button{padding-inline:var(--space-2);flex:0 0 auto}.credit-booking-selected>div{min-width:0}.change-lesson-availability-retry{margin-top:var(--space-2)}.family-shell .lesson-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:flex-end;margin-left:auto}.family-lessons{max-width:920px}.family-lessons-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.family-lessons-heading h1{margin-bottom:4px}.family-lessons-heading p{margin:0}.family-lessons-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.family-lessons-tabs button{min-width:112px}.family-lessons-tabs button.is-active{background:var(--accent);color:var(--accent-ink);border-color:transparent}.family-lessons-list{display:grid;gap:10px}.family-lesson-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;margin:0}.family-lesson-row-main{display:grid;grid-template-columns:minmax(9rem,.7fr) minmax(0,1.5fr);gap:16px;min-width:0}.family-lesson-date{display:grid;align-content:start;gap:4px}.family-lesson-date strong{font-size:1.12rem}.family-lesson-details{display:grid;align-content:start;gap:4px;min-width:0}.family-lesson-statuses{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.family-lesson-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:7px}.family-lesson-change{grid-column:1 / -1;min-width:0}.family-lesson-change .change-lesson{margin:0}.change-lesson .cancellation-preview-status,.change-lesson .cancellation-preview-error{margin-top:var(--space-3)}.change-lesson .cancellation-final-action{scroll-margin-block-end:calc(var(--space-6) * 3)}.change-lesson .cancellation-preview-retry{margin-top:var(--space-2)}.family-lessons-pagination-summary{margin-top:16px;text-align:center}.family-lessons-empty{margin-top:4px}.late-cancellation-warning{border-color:var(--danger-line);border-left:4px solid var(--danger);background:var(--danger-soft)}.family-shell .calendar-copy-note{margin-top:-6px;margin-bottom:10px}@media (max-width: 520px){.family-shell .lesson-actions{grid-column:2;justify-content:flex-start;margin-left:0}.family-lesson-row{grid-template-columns:1fr}.family-lesson-row-main{grid-template-columns:minmax(7.5rem,.8fr) minmax(0,1.5fr)}.family-lesson-actions{justify-content:flex-start}.family-lesson-actions button{flex:1 1 10rem}}@media (max-width: 420px){.family-lessons-tabs{display:flex}.family-lessons-tabs button{flex:1 1 8rem;min-width:0}.family-lesson-row-main{grid-template-columns:1fr;gap:8px}.family-lesson-actions{flex-direction:column;align-items:stretch}.family-lesson-actions button{width:100%;flex:0 1 auto}}.family-shell .history-workspace{max-width:860px}.family-shell .history-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line);scrollbar-width:thin}.family-shell .history-tab{flex:0 0 auto;min-height:var(--control-min-height);padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);box-shadow:none;white-space:nowrap}.family-shell .history-tab:hover{color:var(--ink);border-color:var(--accent)}.family-shell .history-tab[aria-selected=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-soft)}.family-shell .history-section>h2{margin:0 0 4px}.family-shell .history-section-intro{margin:0 0 14px;max-width:70ch}.family-shell .history-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);align-items:start}.family-shell .history-entry-main,.family-shell .history-entry-main>*{min-width:0;overflow-wrap:anywhere}.family-shell .history-entry-title{font-weight:700}.family-shell .history-credit-block h3{margin-top:0;overflow-wrap:anywhere}.family-shell .history-credit-counts{display:grid;gap:var(--space-1-5);margin:var(--space-3) 0}.family-shell .history-credit-counts>div{display:flex;justify-content:space-between;gap:var(--space-3)}.family-shell .history-credit-counts dt{min-width:0}.family-shell .history-credit-counts dd{margin:0;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.family-shell .history-credit-activity{margin-top:var(--space-4)}.family-shell .history-credit-activity-pages{display:flex;align-items:center;gap:var(--space-2-5);flex-wrap:wrap;margin-top:var(--space-3)}.family-shell .history-credit-activity-list{display:grid;gap:var(--space-2);padding-left:var(--space-5)}.family-shell .history-credit-activity-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3)}.family-shell .history-credit-activity-list li>span{grid-column:1 / -1}.family-shell .history-entry-state{max-width:100%;white-space:normal;overflow-wrap:anywhere;justify-self:end}@media (max-width: 520px){.family-shell .history-entry{grid-template-columns:minmax(0,1fr)}.family-shell .history-entry-state{justify-self:start}}.booking-times-feedback{margin-top:var(--space-3-5)}.inbox-heading-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:0 0 var(--space-4)}.inbox-heading{margin:0}.inbox-heading-row>.inbox-message-alerts{flex-basis:100%;margin-bottom:0}.inbox-message-alerts{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.inbox-message-alerts>div{flex:1 1 220px;min-width:0}.inbox-message-alerts p{margin:var(--space-1) 0 0}.inbox-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:var(--space-5);align-items:start}.inbox-filters{margin-bottom:var(--space-3)}.inbox-rows{list-style:none;margin:0;padding:0}.inbox-row{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin-bottom:6px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);color:inherit;text-decoration:none}.inbox-row:hover{border-color:var(--accent-line)}.inbox-row.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.inbox-row.is-unread .inbox-row-title{font-weight:650}.inbox-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.inbox-row-title{min-width:0;overflow-wrap:anywhere}.inbox-row-head time{white-space:nowrap}.inbox-row-people,.inbox-row-subject,.inbox-row-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-row-latest{display:block;margin-top:4px}.inbox-important{margin-left:var(--space-2)}.inbox-nothing-selected{margin-top:var(--space-6)}.inbox-conversation-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.inbox-conversation-head h2{margin:0}.inbox-conversation-head p{margin:2px 0 0}.inbox-conversation-head>div{flex:1;min-width:0}.inbox-back{display:none}.inbox-messages{display:flex;flex-direction:column;gap:var(--space-4)}.inbox-chat{display:flex;flex-direction:column;min-height:0}.inbox-chat .inbox-conversation-head,.inbox-chat .inbox-reply,.inbox-chat .inbox-no-reply{flex:0 0 auto}.inbox-chat-history{flex:1 1 0;min-height:80px;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--bg)}.inbox-chat .inbox-reply{margin-top:var(--space-3);gap:var(--space-2)}.inbox-load-earlier,.inbox-jump-latest{align-self:center;flex-shrink:0}.inbox-message{align-self:flex-start;max-width:88%;min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.inbox-message.is-mine{align-self:flex-end;border-color:var(--accent-line);background:var(--accent-soft)}.inbox-message-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.inbox-message-subject{color:var(--muted)}.inbox-message-body p{margin:var(--space-2) 0 0;overflow-wrap:anywhere}.inbox-link-editor{position:relative;min-width:0}.inbox-link-editor textarea{width:100%;box-sizing:border-box}.inbox-link-menu{position:absolute;bottom:100%;left:0;right:0;z-index:20;max-height:min(20rem,45vh);overflow-y:auto;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.inbox-link-menu [role=option]{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:44px;border:0;background:transparent;color:inherit;text-align:left;overflow-wrap:anywhere}.inbox-link-menu [aria-selected=true]{background:var(--accent-soft);color:var(--ink)}.inbox-reply-actions{justify-content:space-between}.inbox-no-reply{margin-top:var(--space-3)}@media (max-width: 900px){.inbox-layout{grid-template-columns:minmax(0,1fr)}.inbox.has-selection .inbox-list,.inbox.has-selection .inbox-heading-row{display:none}.inbox:not(.has-selection) .inbox-detail{display:none}.inbox-back{display:inline-block;text-decoration:none;color:var(--muted)}.inbox-back:hover{color:var(--accent-text)}.inbox-conversation-head{flex-direction:column;align-items:stretch}}.inbox-new{margin-bottom:var(--space-3)}.inbox-staff-picker{margin-top:var(--space-2);padding:var(--space-2)}.inbox-staff-option{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;text-align:left}.announcement-audience{border:0;margin:0;padding:0}.announcement-audience legend{padding:0;margin-bottom:var(--space-2)}.announcement-audience p{margin:var(--space-2) 0 0}.announcement-sent{align-items:flex-start}.notification-bell{position:relative;flex:0 0 auto}.notification-trigger{position:relative;display:inline-flex;min-height:var(--control-min-height);align-items:center;justify-content:center;padding:4px 8px;color:var(--ink);font-size:18px;line-height:1}.notification-bell-icon{width:20px;height:20px;color:currentColor}@media (min-width: 901px){.notification-trigger{border-color:transparent}.notification-trigger:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}}.notification-count{position:absolute;top:2px;right:0;min-width:18px;padding:1px 4px;border-radius:var(--radius-pill);background:var(--accent-line);color:#fff;font-size:11px;font-weight:650;line-height:1.4;text-align:center}.notification-banner{position:fixed;z-index:45;top:16px;right:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;width:min(430px,calc(100vw - 32px));align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);color:var(--ink);box-shadow:0 8px 28px #00000029}.notification-banner-glyph{align-self:start;font-size:18px;line-height:1.4}.notification-banner-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.notification-banner-body{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.notification-banner-view{font-weight:650}.notification-banner-dismiss{min-width:var(--control-min-height);min-height:var(--control-min-height);padding:4px 8px;font-size:20px;line-height:1}@media (max-width: 900px){.notification-banner{top:68px;right:10px;width:min(430px,calc(100vw - 20px))}}@media (max-width: 430px){.notification-banner{grid-template-columns:auto minmax(0,1fr) auto}.notification-banner-view{grid-column:2;justify-self:start}.notification-banner-dismiss{grid-column:3;grid-row:1 / span 2}}.notification-panel{position:fixed;z-index:40;top:64px;left:8px;width:min(340px,calc(100vw - 16px));max-height:min(70vh,520px);overflow-y:auto;margin:0;padding:12px}.notification-panel-head{margin-bottom:var(--space-2)}.notification-panel-foot{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.notification-rows{list-style:none;margin:0;padding:0}.notification-row{display:flex;gap:var(--space-3);align-items:flex-start;padding:8px;border-radius:var(--radius-control);color:inherit;text-decoration:none}.notification-row:hover{background:var(--accent-soft)}.notification-row.is-unread .notification-title{font-weight:650}.notification-glyph{flex:0 0 auto;font-size:15px;line-height:1.5}.notification-text{display:flex;flex-direction:column;gap:1px;min-width:0}.notification-title,.notification-body{overflow-wrap:anywhere}.mobile-nav-actions{display:flex;align-items:center;gap:var(--space-2)}.message-alert-prompt{display:grid;gap:var(--space-3);min-width:0;margin-bottom:var(--space-4)}.message-alert-prompt h2{margin:0}.message-alert-prompt p{margin:var(--space-2) 0 0}.message-alert-prompt-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.message-alert-prompt-actions>a,.message-alert-prompt-actions>button{display:inline-flex;align-items:center;min-height:44px}.message-alert-toggle{position:relative;display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.message-alert-bell{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0}.message-alert-bell[aria-pressed=true]{color:var(--accent-text);border-color:var(--accent-line);background:var(--accent-soft)}.message-alert-feedback{position:absolute;pointer-events:none}.message-alert-feedback:not(:empty){display:block;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);font-size:var(--font-size-small)}.message-alert-toggle .message-alert-feedback:not(:empty),.message-alert-toggle>.error{position:absolute;inset-inline-end:0;top:calc(100% + var(--space-2));z-index:2;width:max-content;max-width:min(280px,calc(100vw - 48px));margin:0;box-shadow:var(--shadow)}.message-alert-toggle>.error{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.account-profile-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.account-profile-header-copy{min-width:0}.account-profile-header h1{margin:0}.account-profile-header .lede{margin:4px 0 0;overflow-wrap:anywhere}.tutor-avatar{position:relative;display:inline-grid;flex:0 0 76px;width:76px;height:76px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--accent-soft);color:var(--ink);font-size:1.15rem;font-weight:750}.tutor-avatar-compact{flex-basis:52px;width:52px;height:52px;font-size:.92rem}.tutor-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.student-home-tutors{margin-top:22px}.tutor-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.tutor-card{display:flex;align-items:flex-start;gap:16px;margin:0}.tutor-card-copy{min-width:0}.tutor-card-copy h3{margin:2px 0 0}.tutor-card-context{margin-top:3px}.tutor-card-biography p{max-width:62ch;margin:10px 0 0;white-space:pre-line}.tutor-card-biography-toggle{margin-top:8px}.tutor-chip-row{display:flex;flex-wrap:wrap;gap:10px 22px}.tutor-chip{display:flex;align-items:center;gap:12px;min-width:0}.tutor-chip .tutor-avatar{flex-basis:64px;width:64px;height:64px;font-size:1rem}.tutor-chip-copy{min-width:0}.tutor-chip-name{display:block;font-size:1.02em}.tutor-chip-context{margin-top:1px}.tutor-chip-more{margin-top:4px;font-weight:650}.tutor-dialog-body{display:flex;align-items:flex-start;gap:16px}.tutor-dialog-body .tutor-card-biography p:first-child{margin-top:0}@media (max-width: 520px){.tutor-dialog-body{flex-direction:column}.account-profile-header{align-items:flex-start;gap:12px}.tutor-avatar{flex-basis:62px;width:62px;height:62px}.tutor-avatar-compact{flex-basis:48px;width:48px;height:48px}.tutor-card-grid{grid-template-columns:1fr}.tutor-card{gap:13px}}.usage-consent{min-width:0;overflow-wrap:anywhere}.usage-consent-notice{padding:var(--space-4);border-bottom:1px solid var(--line);background:var(--panel)}.usage-consent h2{margin-top:0;font-size:inherit}.usage-consent p{max-width:72ch}.usage-consent summary{cursor:pointer}.usage-consent-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.usage-consent-actions button{min-height:44px}.group-activities{display:grid;gap:var(--space-5);max-width:72rem}.group-activities>header p{max-width:48rem}.group-activities section{display:grid;gap:var(--space-3)}.group-activity-list{display:grid;gap:var(--space-3)}.group-activity-card{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel)}.group-activity-copy{min-width:0}.group-activity-copy h3{margin:var(--space-1) 0 var(--space-2)}.group-activity-eligibility{margin-top:var(--space-3);padding-left:var(--space-3);border-left:3px solid var(--line)}.group-activity-eligibility p:last-child{margin-bottom:0}.group-activity-actions,.group-activity-confirm{display:grid;justify-items:start;gap:var(--space-2);max-width:20rem}.group-activity-actions p,.group-activity-confirm p{margin:0}.group-activity-confirm{min-width:14rem}.group-activity-state{font-weight:var(--font-weight-semibold)}@media (max-width: 720px){.group-activity-card{display:grid}.group-activity-actions,.group-activity-confirm{max-width:none;width:100%}}.progress-meta,.progress-meta-small{margin-top:var(--space-1)}.repertoire-list{gap:var(--space-3)}.repertoire-pagination{justify-content:space-between;margin-top:var(--space-3);flex-wrap:wrap}.repertoire-editor-actions{justify-content:space-between;flex-wrap:wrap}.repertoire-form-row,.repertoire-archive-choice{flex-wrap:wrap}.exam-projects-card{gap:var(--space-2)}.exam-projects-title{margin:0}.exam-projects-meta{margin:var(--space-1) 0 0}.exam-projects-copy{margin:0}.exam-projects-form{gap:var(--space-3)}.exam-projects-fieldset{border:0;margin:var(--space-2-5) 0 0;padding:0}.exam-projects-choice{align-items:flex-start;gap:var(--space-2)}.exam-projects-form-fields{align-items:flex-end;flex-wrap:wrap}.exam-projects-actions{flex-wrap:wrap}.exam-projects-card-heading{align-items:flex-start;flex-wrap:wrap;gap:var(--space-3)}.exam-projects-form-note{margin:0}.exam-projects-section{gap:var(--space-3-5)}.exam-projects-current-tasks{display:grid;gap:var(--space-1)}.exam-projects-current-tasks h4{margin:0}.exam-projects-task-list{display:grid;gap:var(--space-1);margin:0;padding-inline-start:var(--space-4)}.groove-scope{color-scheme:dark;--bg: #16181d;--panel: #1e2128;--panel-2: #262a33;--border: #343945;--text: #e8eaf0;--muted: #9aa1b0;--accent: #4f8ef7;--accent-2: #56c17a;--playhead: #f7c04f}.groove-scope,.groove-scope *{box-sizing:border-box}.groove-scope{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.groove-scope .app{max-width:960px;margin:0 auto;padding:20px 16px 40px}.groove-scope header h1{margin:0 0 4px;font-size:24px}.groove-scope .tagline{margin:0 0 16px;color:var(--muted);font-size:14px}.groove-scope .controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:13px}.groove-scope .controls label{display:flex;align-items:center;gap:6px;color:var(--muted)}.groove-scope .controls label.disabled{opacity:.45}.groove-scope .controls .title-input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:13px;width:150px}.groove-scope .controls select,.groove-scope .controls input[type=number]{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:13px}.groove-scope .controls input[type=number]{width:56px}.groove-scope .controls input[type=range]{width:110px;accent-color:var(--accent)}.groove-scope .controls .unit{min-width:34px}.groove-scope button.play{background:var(--accent-2);color:#10231a;font-weight:700;font-size:14px;border:none;border-radius:8px;padding:8px 18px;cursor:pointer}.groove-scope button.play.stop{background:#e0665c;color:#2b100e}.groove-scope .live-bpm{color:var(--playhead);font-weight:700;min-width:52px}.groove-scope button.toms-toggle{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 12px;cursor:pointer}.groove-scope button.share{margin-left:auto;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 12px;cursor:pointer}.groove-scope button.share:active{background:var(--accent)}.groove-scope .grid-editor{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px;overflow-x:auto}.groove-scope .lane{display:flex;align-items:center;gap:10px;margin-bottom:6px}.groove-scope .lane:last-child{margin-bottom:0}.groove-scope .lane-label{width:56px;flex-shrink:0;font-size:12px;color:var(--muted);text-align:right}.groove-scope .lane-cells{display:flex}.groove-scope .cell{width:34px;height:34px;flex-shrink:0;background:var(--panel-2);border:1px solid var(--border);border-left-width:1px;color:var(--text);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:15px;font-weight:700;cursor:pointer;padding:0;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (pointer: coarse){.groove-scope .cell{width:44px;height:44px;font-size:17px}.groove-scope .cell-menu-item{padding:11px 10px;font-size:16px}}.groove-scope .cell.beat-start{border-left:2px solid #4a5162}.groove-scope .cell.measure-start{border-left:3px solid var(--accent)}.groove-scope .cell.on{background:#31415f;border-color:var(--accent);color:#cfe0ff}.groove-scope .cell.playhead{outline:2px solid var(--playhead);outline-offset:-2px}.groove-scope .cell:hover{filter:brightness(1.25)}.groove-scope .rec-status{background:#3a2020;border:1px solid #7a3a3a;color:#ffd0d0;border-radius:8px;padding:8px 14px;margin-bottom:16px;font-size:13px;font-weight:600}.groove-scope .saved-grooves{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:16px;font-size:13px}.groove-scope .saved-grooves summary{cursor:pointer;color:var(--muted);font-weight:600}.groove-scope .saved-grooves ul{list-style:none;margin:10px 0 4px;padding:0}.groove-scope .saved-grooves li{display:flex;align-items:center;gap:10px;padding:4px 0;border-top:1px solid var(--border)}.groove-scope .saved-load{background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;padding:4px 0;text-align:left;flex:1}.groove-scope .saved-load:hover{text-decoration:underline}.groove-scope .saved-date{color:var(--muted);font-size:12px}.groove-scope .saved-delete{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px}.groove-scope .saved-delete:hover{color:#e0665c}.groove-scope .saved-empty{color:var(--muted);margin:8px 0 2px}.groove-scope .embed{padding:8px}.groove-scope .embed-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px}.groove-scope .embed-bar .play{padding:6px 14px}.groove-scope .embed-title{font-size:14px;font-weight:600}.groove-scope .embed-open{margin-left:auto;color:var(--accent);font-size:12px;text-decoration:none}.groove-scope .embed-open:hover{text-decoration:underline}.groove-scope .menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.groove-scope .cell-menu{position:fixed;z-index:50;min-width:176px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 10px 30px #00000080}.groove-scope .cell-menu-title{font-size:11px;color:var(--muted);padding:4px 8px 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.groove-scope .cell-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;color:var(--text);font-size:13px;padding:6px 8px;border-radius:6px;cursor:pointer}.groove-scope .cell-menu-item:hover{background:#31415f}.groove-scope .cell-menu-item.active{color:var(--accent);font-weight:700}.groove-scope .cell-menu-char{display:inline-block;width:18px;text-align:center;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700;color:var(--muted)}.groove-scope .notation{background:#f6f4ee;color:#16181d;border-radius:10px;padding:10px 14px;min-height:120px}.groove-scope .notation svg{max-width:100%}.groove-scope footer{margin-top:18px;color:var(--muted);font-size:12px}.groove-scope footer a{color:var(--accent)}@media print{@page{margin:0}.groove-scope{background:#fff}.groove-scope header,.groove-scope .controls,.groove-scope .grid-editor,.groove-scope footer{display:none}.groove-scope .app{max-width:none;padding:16mm 14mm}.groove-scope .notation{background:#fff;color:#000;border-radius:0;padding:0}.groove-scope .notation.single-measure{padding:0 14%}}.groove-editor,.lesson-groove,.public-groove{--groove-host-bg: var(--bg);--groove-host-panel: var(--panel);--groove-host-line: var(--line);--groove-host-ink: var(--ink);--groove-host-muted: var(--muted);--groove-host-accent: var(--accent);--groove-host-accent-soft: var(--accent-soft)}.groove-editor .groove-scope,.lesson-groove .groove-scope,.public-groove .groove-scope{--bg: var(--groove-host-bg);--panel: var(--groove-host-panel);--panel-2: var(--groove-host-bg);--border: var(--groove-host-line);--text: var(--groove-host-ink);--muted: var(--groove-host-muted);--accent: var(--groove-host-accent);--accent-2: var(--groove-host-accent);--playhead: var(--groove-host-accent);color-scheme:normal}.groove-transport-button{min-height:44px;padding-inline:18px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:650}.lesson-groove-snapshot-editor{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius)}.lesson-groove-editor-fields{padding:0;margin:0 0 12px;border:0;min-width:0}.lesson-groove-editor-fields>label{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.lesson-groove-snapshot-editor .groove-setting-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.lesson-groove-snapshot-editor .groove-scope{overflow-x:auto}.groove-transport-button[aria-pressed=true]:before{content:"■"}.groove-transport-button[aria-pressed=false]:before{content:"▶"}.groove-space-hint{color:var(--muted);font-size:.86em}.public-groove .groove-scope .groove-notation-playhead{stroke:var(--groove-playhead-color, #dc2626)}@media (forced-colors: active){.public-groove .groove-scope .groove-notation-playhead{stroke:Highlight}}@media print{.public-groove .groove-scope .groove-notation-playhead{display:none}}.groove-settings.groove-setting-grid{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:10px;align-items:stretch}.groove-setting{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.groove-settings .groove-setting{display:flex;flex-direction:column;align-items:stretch;gap:5px}.groove-setting.groove-setting--preset{min-width:180px}.groove-setting>span:first-child,.groove-setting-label{color:var(--muted);font-size:.86em;font-weight:600}.groove-setting input,.groove-setting select{width:100%!important;min-width:0!important;min-height:38px}.groove-setting input[type=range]{min-height:28px;accent-color:var(--accent)}.groove-setting .groove-setting-value{min-height:auto;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.groove-toggle-settings{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.groove-toggle-settings .groove-toggle{min-height:44px;display:inline-flex;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer}.groove-toggle input{width:18px!important;height:18px;margin:0;accent-color:var(--accent)}.groove-sound-picker{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px 12px;margin:0 0 12px}.groove-sound-picker legend{padding-inline:4px;font-weight:650}.groove-sound-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px}.groove-sound-picker-grid label{display:flex;flex-direction:column;gap:4px;min-width:0}.groove-sound-picker-grid select{width:100%;min-height:40px}.groove-scope .grid-count-row{margin-bottom:5px}.groove-scope .grid-count{width:34px;min-width:34px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;font-weight:600;border-left:1px solid transparent}.groove-scope .grid-count.beat-start{color:var(--text);font-weight:800;border-left-color:var(--border)}.groove-scope .grid-count.measure-start{color:var(--accent);font-weight:800;border-left:2px solid var(--accent)}.groove-scope .cell{border-color:var(--border)}:is(.groove-editor,.lesson-groove,.public-groove) .groove-scope .cell.beat-start{border-left-color:var(--text)}:is(.groove-editor,.lesson-groove,.public-groove) .groove-scope .cell.on{background:var(--groove-host-accent-soft);border-color:var(--accent);color:var(--text)}:is(.groove-editor,.lesson-groove,.public-groove) .groove-scope .cell.playhead{outline:3px solid var(--accent);outline-offset:-3px;box-shadow:inset 0 0 0 1px var(--text)}:is(.groove-editor,.lesson-groove,.public-groove) .groove-scope .cell:hover{filter:none;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.groove-scope .cell:focus-visible{outline:3px solid var(--accent);outline-offset:2px;position:relative;z-index:1}:is(.groove-editor,.lesson-groove,.public-groove,.lesson-tool-groove-attachment) .groove-scope .notation{background:var(--panel);color:var(--text);border:1px solid var(--border)}.groove-student-picker{position:relative;min-width:min(360px,100%)}.groove-student-picker input[type=search]{width:100%}.groove-student-results{list-style:none;padding:4px;margin:4px 0 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);max-height:280px;overflow:auto}.groove-student-results button{width:100%;display:flex;justify-content:space-between;gap:8px;text-align:left;background:transparent;color:var(--ink);border:0}.groove-student-results button:hover,.groove-student-results button:focus-visible{background:var(--accent-soft)}.groove-selected-student{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.groove-practice-instructions{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-soft)}.groove-practice-instructions h4{margin:0 0 4px}.groove-practice-instruction-row{display:grid;grid-template-columns:minmax(0,1fr) 132px 42px;gap:10px;align-items:start;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.groove-practice-note,.groove-practice-tempo{display:flex;flex-direction:column;gap:4px;min-width:0}.groove-practice-note textarea{box-sizing:border-box;width:100%;min-height:70px;resize:none;overflow:hidden}.groove-practice-tempo input{width:100%;min-height:40px;font-variant-numeric:tabular-nums}.groove-practice-remove{width:40px;min-width:40px;min-height:40px;padding:0;border-color:var(--line)}.groove-practice-add{width:100%;min-height:42px;margin-top:10px;background:transparent;color:var(--accent);border:1px solid var(--accent)}.public-groove-practice{margin-top:16px}.public-groove-practice-list{display:grid;gap:8px}.public-groove-practice-step{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;text-align:left;background:var(--panel);color:var(--ink);border:1px solid var(--line)}.public-groove-practice-step[aria-pressed=true]{border:2px solid var(--accent);background:var(--accent-soft)}.public-groove-practice-step[aria-pressed=true]:before{content:"✓";color:var(--accent);font-weight:800}.public-groove-practice-step[aria-pressed=true]{grid-template-columns:auto minmax(0,1fr) auto}.public-groove-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;margin:8px 0 12px}.public-groove-tempo{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.public-groove-controls .public-groove-tempo{margin:0}.public-groove-tempo input{width:88px}.public-groove-ramp-controls{min-width:0;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.public-groove-ramp-controls legend{padding-inline:4px;font-weight:600}.public-groove-ramp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}.public-groove-ramp-setting{display:flex;flex-direction:column;gap:6px;min-width:0}.public-groove-ramp-setting>div{display:flex;align-items:center;gap:6px}.public-groove-ramp-setting input{box-sizing:border-box;width:88px;max-width:100%;min-height:44px}.public-groove-ramp-summary{margin:12px 0 0}.public-groove-ramp-controls .public-groove-live-bpm{margin:8px 0 0}.public-groove-live-bpm{font-variant-numeric:tabular-nums;font-weight:600;opacity:.85}@media (pointer: coarse){.groove-scope .grid-count{width:44px;min-width:44px}}@media (max-width: 1050px){.groove-settings.groove-setting-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (max-width: 680px){.groove-head{align-items:stretch}.groove-actions{width:100%}.groove-actions button,.groove-transport-button{flex:1}.groove-space-hint{display:none}.groove-settings.groove-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.groove-setting{padding:8px}.groove-toggle-settings .groove-toggle{flex:1 1 135px}.lesson-groove-builder-actions{flex-direction:column;align-items:stretch}.lesson-groove-builder-actions button{width:100%}.groove-practice-instruction-row{grid-template-columns:minmax(0,1fr) 42px}.groove-practice-note{grid-column:1}.groove-practice-tempo{grid-column:1;width:min(160px,100%)}.groove-practice-remove{grid-column:2;grid-row:1}}@media (max-width: 360px){.groove-settings.groove-setting-grid{grid-template-columns:1fr}}.lesson-inline-player{margin-top:10px}.lesson-inline-player-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.groove-editor .groove-actions>button:first-child{min-height:44px;min-width:92px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.groove-editor .groove-actions>button:first-child:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.groove-editor .groove-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;align-items:stretch;margin-bottom:12px}.groove-editor .groove-settings>label:not(.todo-check){box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--muted);font-size:.88em;font-weight:650}.groove-editor .groove-settings>label:not(.todo-check)>input,.groove-editor .groove-settings>label:not(.todo-check)>select{box-sizing:border-box;width:100%;min-width:0;min-height:40px;margin:0;color:var(--ink);font-size:1rem;font-weight:500}.groove-editor .groove-settings>label:not(.todo-check)>input[type=range]{min-height:28px;accent-color:var(--accent)}.groove-editor .groove-settings>.todo-check{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;align-self:stretch;justify-content:flex-start;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer}.groove-editor .groove-settings>.todo-check input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.groove-editor .groove-settings>button{min-height:44px;align-self:end}.groove-editor .groove-scope .grid-editor{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}@media (pointer: coarse){.groove-editor .groove-scope .cell{min-width:44px;min-height:44px}}@media (max-width: 720px){.groove-editor .groove-head{align-items:stretch}.groove-editor .groove-title{flex-basis:100%}.groove-editor .groove-actions{width:100%}.groove-editor .groove-actions button{flex:1 1 0;min-height:46px}.groove-editor .groove-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.groove-editor .groove-settings>.todo-check{min-height:48px}}@media (max-width: 360px){.groove-editor .groove-settings{grid-template-columns:1fr}}.groove-learn-dialog.ui-dialog-surface{--ui-dialog-width: 1120px;display:flex;flex-direction:column;gap:16px;min-width:0}.groove-learn-help,.groove-learn-navigation{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.groove-learn-dialog .ui-dialog-close{min-width:72px;min-height:44px;padding:8px 14px;font-size:1rem;font-weight:650;line-height:1.2}.groove-learn-help{color:var(--muted);font-size:.95rem}.groove-learn-help kbd{display:inline-block;padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit}.groove-learn-score{min-height:220px;min-width:0;max-height:56dvh;overflow:auto;overscroll-behavior:contain;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;scroll-padding:40px}.groove-learn-score:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.groove-learn-notation{min-width:760px;padding:8px}.groove-learn-notation svg{display:block;width:100%;height:auto}.groove-learn-current,.groove-learn-current path{fill:#1d4ed8;color:#1d4ed8}.groove-learn-marker{pointer-events:none;scroll-margin:40px}.groove-learn-arrow{animation:groove-learn-bounce .65s ease-in-out infinite alternate}@keyframes groove-learn-bounce{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.groove-learn-controls p{margin:0 0 12px;font-weight:650}.groove-learn-navigation button,.groove-learn-button{min-height:44px}.groove-learn-tempo{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--panel)}.groove-learn-tempo>div{flex:1 1 240px;min-width:0}.groove-learn-bpm{display:block;font-size:2rem;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums}.groove-learn-bpm small{font-size:1rem;font-weight:600}.groove-learn-tempo p{margin:4px 0 0}.groove-learn-tempo-actions{display:flex;flex-wrap:wrap;gap:8px}.groove-learn-tempo-actions button{min-height:44px}.groove-learn-tempo .groove-learn-tempo-message{flex-basis:100%}@media (max-width: 620px){.groove-learn-dialog.ui-dialog-surface{padding:14px;gap:12px}.groove-learn-score{min-height:180px}.groove-learn-navigation{gap:8px}.groove-learn-navigation button{flex:1 1 auto}}@media (prefers-reduced-motion: reduce){.groove-learn-arrow{animation:none}}@media (max-width: 360px){.groove-learn-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.groove-learn-navigation button{min-width:0;padding:6px;font-size:.85rem}}@media (max-height: 520px) and (min-width: 621px){.groove-learn-dialog.ui-dialog-surface{gap:8px;padding:12px}.groove-learn-dialog .ui-dialog-description{display:none}.groove-learn-score{min-height:160px}.groove-learn-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.groove-learn-controls p{margin:0}}@media (forced-colors: active){.groove-learn-score{border-color:CanvasText}.groove-learn-current,.groove-learn-current path{fill:Highlight}.groove-learn-arrow path{fill:Highlight;stroke:CanvasText}}.family-purchase-notice{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;margin-bottom:20px;padding:20px;border:2px solid var(--accent-line);border-radius:var(--radius);background:var(--accent-soft)}.family-purchase-notice>div{min-width:0}.family-purchase-notice h2{margin:4px 0 8px}.family-purchase-notice p{margin:0}.family-purchase-notice-label{color:var(--accent-text);font-weight:750}.family-purchase-notice .button{flex-shrink:0;text-align:center}.family-purchase-notice-compact{align-items:center;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border-width:1px;font-size:var(--font-size-small)}.family-purchase-notice-compact h2{margin:0 0 var(--space-1);font-size:inherit}.family-purchase-notice-compact .family-purchase-notice-label{font-size:var(--font-size-caption)}.family-purchase-notice-compact a,.family-purchase-notice-compact button{flex-shrink:0}@media (max-width: 700px){.family-purchase-notice{align-items:stretch;flex-direction:column;padding:16px}.family-purchase-notice .button{width:100%}}.metronome-assignment{display:grid;gap:4px;padding:14px 16px;border-left:4px solid var(--accent-line);background:var(--accent-soft)}.metronome-assignment strong{color:var(--ink)}@media (max-width: 480px){.metronome-assignment{padding:12px 14px}}.teaching-tools-metronome{margin-bottom:20px}.tutor-metronome .metronome-controls{grid-template-columns:minmax(0,1fr)}.tutor-metronome .metronome-choice-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.tutor-metronome-practice{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:16px}.tutor-metronome-practice>summary{cursor:pointer;font-weight:650}.tutor-metronome-practice[open]>summary{margin-bottom:14px}.metronome-page{width:min(100%,980px);margin:0}.metronome-heading-row{margin-bottom:18px}.metronome-heading-row h1,.metronome-section h2{margin:0}.metronome-heading-row p,.metronome-section-heading p{margin:4px 0 0}.metronome-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metronome-section{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.metronome-tempo-section,.metronome-beat-section,.metronome-control-section,.metronome-controls>.error,.metronome-controls>.notice{grid-column:1 / -1}.metronome-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metronome-tempo-primary-controls{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.metronome-session-time{flex:0 0 auto;min-width:68px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-weight:700;text-align:center}.metronome-tempo-row{display:grid;grid-template-columns:52px minmax(130px,1fr) 52px;align-items:center;gap:10px;max-width:440px;width:100%;margin:0 auto}.metronome-bpm{display:flex;align-items:baseline;justify-content:center;gap:8px}.metronome-bpm-number{font-size:clamp(4.2rem,13vw,7rem);font-weight:350;letter-spacing:-.07em;line-height:.92}.metronome-bpm-label{color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.08em}button.metronome-flat-step{min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;font-size:2.1rem;line-height:1}button.metronome-flat-step:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.metronome-tempo-section input[type=range]{width:min(100%,560px);margin:0 auto;accent-color:var(--accent-line)}.metronome-tempo-term{display:grid;justify-items:center;gap:2px;padding:10px 14px;border-top:1px solid var(--line);text-align:center}.metronome-tempo-term strong{color:var(--accent-text);font-size:1.05rem}.metronome-tempo-term span{color:var(--muted);font-size:.88rem}.metronome-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metronome-choice-grid.compact{grid-template-columns:repeat(6,minmax(46px,1fr))}.metronome-choice-grid button{min-height:44px}.metronome-choice-grid button.is-selected{border-color:transparent;background:var(--accent);color:var(--accent-ink)}.metronome-beat-grid{display:grid;align-items:start;gap:clamp(8px,2vw,18px);overflow-x:auto;padding:8px 2px 4px}.metronome-beat-column{display:grid;justify-items:center;gap:10px;min-width:54px}button.metronome-beat{display:grid;place-items:center;width:clamp(48px,9vw,70px);min-width:48px;aspect-ratio:1;padding:0;border:2px solid var(--accent-line);border-radius:50%;box-shadow:none;font-size:.8rem;font-weight:800;line-height:1;transition:transform 90ms ease,box-shadow 90ms ease,background .12s ease}button.metronome-beat.is-normal,button.metronome-subdivision-dot.is-normal{background:var(--panel);color:var(--accent-text)}button.metronome-beat.is-accent,button.metronome-subdivision-dot.is-accent{border-color:transparent;background:var(--accent);color:var(--accent-ink)}button.metronome-beat.is-muted,button.metronome-subdivision-dot.is-muted{border-style:dashed;border-color:var(--line);background:color-mix(in srgb,var(--panel) 74%,var(--bg));color:var(--muted)}button.metronome-beat.is-current{transform:scale(1.06);box-shadow:0 0 0 3px var(--panel),0 0 0 6px var(--accent-line)}.metronome-subdivision-markers{display:flex;justify-content:center;gap:8px;min-height:24px}button.metronome-subdivision-dot{width:22px;min-width:22px;height:22px;min-height:22px;padding:0;border:2px solid var(--accent-line);border-radius:50%;box-shadow:none}.metronome-control-section{grid-template-columns:auto minmax(220px,1fr);align-items:center}.metronome-tempo-section .metronome-play-inline{justify-self:center;margin:0}.metronome-speed-up{grid-column:1 / -1;display:grid;gap:12px;min-width:0}.metronome-speed-toggle{display:flex;align-items:center;gap:12px}.metronome-speed-toggle select{width:auto;min-width:90px}.metronome-speed-settings{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.metronome-speed-settings legend{padding:0 6px;font-weight:650}.metronome-speed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metronome-speed-grid>div{display:grid;gap:6px;min-width:0}.metronome-speed-grid>div>span{display:flex;align-items:center;gap:6px}.metronome-speed-grid input{min-width:0;width:100%}.metronome-live-bpm{font-weight:700;color:var(--accent-text)}@media (max-width: 480px){.metronome-speed-grid{grid-template-columns:1fr}}button.metronome-play{display:grid;place-items:center;width:86px;min-width:86px;aspect-ratio:1;padding:0;border:2px solid var(--accent-line);border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:2rem;line-height:1}button.metronome-play.is-playing{background:var(--panel);color:var(--accent-text)}.metronome-tap-area button.metronome-tap{display:grid;place-items:center;justify-content:center;width:100%;min-height:72px;border:2px dashed var(--accent-line);border-radius:12px;background:var(--panel);color:var(--accent-text);font-size:1.1em;font-weight:700;text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.metronome-tap-area button.metronome-tap:active{background:var(--accent);color:var(--accent-ink)}.metronome-tap-area{--control-min-height: 72px;display:grid;gap:6px;width:min(100%,560px);margin:0 auto;text-align:center}.metronome-tap-area p{margin:0}.metronome-tap-feedback{color:var(--accent-text)}.metronome-options{display:grid;gap:12px}.metronome-save-option{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px}.metronome-save-option input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent-line)}.metronome-save-option>span{display:grid;gap:3px}.practice-metronome-launcher{position:static;display:block;width:fit-content;margin:var(--space-3) 0 0 auto;z-index:20;min-height:46px;padding-inline:18px;border-color:transparent;background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 18%,transparent)}.practice-metronome-mini{position:fixed;right:24px;bottom:max(calc(var(--hub-family-shortcut-clearance, 0px) + 8px),max(24px,env(safe-area-inset-bottom,0px)));z-index:20;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 14px 36px color-mix(in srgb,var(--ink) 20%,transparent)}.metronome-mini-controls{display:flex;align-items:center;gap:8px}.metronome-mini-controls>.small{max-width:100px}button.metronome-mini-play{width:42px;min-width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;background:var(--accent);color:var(--accent-ink)}.practice-metronome-expand{min-height:42px}.practice-metronome-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:grid;grid-template-columns:1fr minmax(340px,min(560px,92vw))}.practice-metronome-backdrop{width:100%;height:100%;padding:0;border:0;border-radius:0;background:color-mix(in srgb,var(--ink) 34%,transparent)}.practice-metronome-drawer{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:20px;border-left:1px solid var(--line);background:var(--bg);box-shadow:-16px 0 38px color-mix(in srgb,var(--ink) 16%,transparent)}.practice-metronome-drawer:focus{outline:none}.practice-metronome-drawer-heading{position:sticky;top:-20px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -20px 16px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--bg)}.practice-metronome-drawer-heading>div{display:grid;gap:2px}.practice-metronome-drawer .metronome-controls{grid-template-columns:1fr}.practice-metronome-drawer .metronome-section,.practice-metronome-drawer .metronome-tempo-section,.practice-metronome-drawer .metronome-beat-section,.practice-metronome-drawer .metronome-control-section{grid-column:auto}.practice-metronome-drawer .metronome-control-section{grid-template-columns:auto minmax(0,1fr)}.practice-metronome-drawer .metronome-options{grid-column:1 / -1}.metronome-controls button:focus-visible,.practice-metronome-launcher:focus-visible,.practice-metronome-mini button:focus-visible,.practice-metronome-drawer-heading button:focus-visible{outline:3px solid var(--accent-line);outline-offset:3px}@media (max-width: 760px){.metronome-controls{grid-template-columns:1fr}.metronome-tempo-section,.metronome-beat-section,.metronome-control-section,.metronome-controls>.error,.metronome-controls>.notice{grid-column:auto}.metronome-choice-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metronome-choice-grid.subdivisions{grid-template-columns:repeat(2,minmax(0,1fr))}.metronome-control-section{grid-template-columns:auto minmax(0,1fr)}.metronome-options{grid-column:1 / -1}.practice-metronome-launcher,.practice-metronome-mini{right:12px;bottom:max(calc(var(--hub-family-shortcut-clearance, 0px) + 8px),max(12px,env(safe-area-inset-bottom,0px)))}.practice-metronome-mini{max-width:calc(100vw - 24px)}.metronome-mini-controls>.small{display:none}.practice-metronome-drawer-layer{grid-template-columns:1fr}.practice-metronome-backdrop{display:none}.practice-metronome-drawer{width:100%;border-left:0}}@media (max-width: 480px){.metronome-section{padding:14px}.metronome-bpm-number{font-size:clamp(3.8rem,23vw,5.4rem)}.metronome-tempo-row{grid-template-columns:44px 1fr 44px}button.metronome-beat{width:48px}.practice-metronome-mini{gap:4px;padding:6px}.practice-metronome-mini strong{font-size:.9rem}.practice-metronome-expand{padding-inline:8px}}@media (prefers-reduced-motion: reduce){button.metronome-beat{transition:none}button.metronome-beat.is-current{transform:none}}.practice-task-materials{display:grid;gap:8px;margin-top:8px;min-width:0;max-width:100%}.practice-task-materials>div{min-width:0;overflow-wrap:anywhere}.neck-sheet-attachment{margin:1rem 0;padding:1rem;border:1px solid #ddd;border-radius:12px;background:#fff;color:#222}.neck-sheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.neck-diagram{margin:0;min-width:0;color:#222;background:#fff}.neck-diagram-horizontal{grid-column:1 / -1}.neck-diagram-horizontal svg{min-width:var(--neck-diagram-width)}.neck-diagram figcaption{display:grid;gap:.3rem;text-align:center}.neck-diagram figcaption span{font-size:.75rem;overflow-wrap:anywhere}.neck-diagram svg{display:block;width:100%;height:auto}.neck-diagram-scroll{overflow-x:auto}.neck-diagram-interactive svg{max-width:none}.neck-diagram-interactive [role=button]{cursor:pointer}.neck-editor{display:grid;gap:1rem}.neck-editor label{display:grid;gap:.35rem}.neck-editor-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.neck-editor input,.neck-editor select,.neck-editor button,.neck-sheet-attachment button{min-height:44px}.neck-editor input,.neck-editor select{max-width:100%}.neck-editor fieldset{min-width:0;border:1px solid #ddd;padding:.75rem;border-radius:8px}.neck-editor-tabs{display:flex;flex-wrap:wrap;gap:.75rem}.neck-editor-tabs+.neck-editor-controls{margin-top:.75rem}.neck-editor-tabs [aria-pressed=true]{outline:2px solid #1372c3}.neck-print-root{display:none}@media print{body.printing-neck-sheet>:not(.neck-print-root){display:none!important}body.printing-neck-sheet .neck-print-root{display:block!important;position:static;color:#000;background:#fff}.neck-print-root .neck-sheet{break-after:page}.neck-print-root .neck-sheet-grid{display:grid;grid-template-columns:repeat(var(--neck-print-columns),minmax(0,1fr));gap:3mm}.neck-print-root .neck-diagram{break-inside:avoid}.neck-print-root svg{max-height:var(--neck-print-height)}.neck-print-root .neck-diagram-horizontal svg{min-width:0;max-height:none}.neck-print-root figcaption{font-size:9px;gap:1px}.neck-print-root figcaption span{font-size:7px}.neck-print-root h3{margin:0 0 5mm}.neck-print-root .neck-diagram-scroll{overflow:visible}}.neck-editor-settings summary{min-height:44px;cursor:pointer;padding:.75rem 0}.neck-library,.neck-share-fields{display:grid;gap:var(--space-4);min-width:0}.neck-library label,.neck-share-fields label{display:grid;gap:var(--space-2);min-width:0}.neck-library input,.neck-library textarea,.neck-share-fields input,.neck-share-fields textarea{max-width:100%}.neck-library-list{display:grid;gap:var(--space-3);padding:0;list-style:none}.neck-library-list li{display:grid;gap:var(--space-2);min-width:0;overflow-wrap:anywhere}.neck-library-list button{text-align:start}.neck-share-fields{border:0;padding:0}.neck-library button,.neck-library input,.neck-share-fields button,.neck-share-fields input{min-height:calc(var(--space-6) + var(--space-3))}.neck-library-list a{display:flex;align-items:center;min-height:calc(var(--space-6) + var(--space-3))}.neck-playback{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}.neck-playback label{display:flex;align-items:center;gap:var(--space-1)}.neck-playback input{width:5rem}.neck-handedness{padding:var(--space-3);margin:var(--space-3) 0;border:1px solid var(--line);border-radius:var(--radius-control)}.neck-handedness-label{font-weight:700}.neck-library-filters{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-4) 0}.neck-library-filters label{flex:1 1 10rem}.neck-library-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}@media print{.neck-playback,.neck-handedness{display:none}}.family-lesson-practice-tools{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.family-lesson-practice-tools h3{margin:0 0 10px;font-size:1rem}.family-lesson-practice-stack{display:grid;gap:8px}.family-lesson-practice-item{margin-bottom:0}.family-lesson-practice-item .spread{align-items:center;gap:12px}.family-lesson-practice-copy{min-width:0}.family-lesson-practice-description,.family-lesson-practice-duration{margin-top:3px}.family-lesson-practice-state{margin:10px 0 14px}.family-next-lesson-details{flex:1}.family-practice-todos-section{margin-bottom:20px}.family-practice-todos-empty{margin:0}.family-practice-todos-stack{gap:12px}.family-practice-todo-row{align-items:flex-start;flex-wrap:wrap;gap:10px}.family-practice-todo-check{margin-top:3px}.family-practice-todo-copy{flex:1 1 220px;min-width:0;cursor:pointer}.family-practice-todo-meta{display:block;margin-top:3px}.family-practice-todo-link{display:block;margin-top:5px;font-weight:650}@media (max-width: 620px){.family-lesson-practice-item .spread{align-items:stretch;flex-direction:column}.family-lesson-practice-item .button,.family-practice-todo-row>button{width:100%;justify-content:center}}.family-practice-todos-withdrawn .family-practice-todo-row.is-withdrawn{align-items:flex-start;border-left:3px solid var(--line);padding-left:10px}.family-practice-todo-withdrawn-tag{align-self:flex-start;background:var(--panel-2, var(--panel));border:1px solid var(--line);color:var(--muted)}.family-practice-todos-withdrawn .family-practice-todo-link{color:var(--muted)}.family-practice-todos-withdrawn .family-practice-todo-link:hover,.family-practice-todos-withdrawn .family-practice-todo-link:focus-visible{color:var(--accent)}.family-lesson-files{margin-top:10px}.family-lesson-files h3{font-size:.95rem;margin:0 0 4px}.family-lesson-file-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}.family-lesson-file-list a{overflow-wrap:anywhere}.family-lesson-grooves{margin-top:18px}.family-lesson-groove{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow-wrap:anywhere}.family-lesson-groove .public-groove{margin:12px 0 0;padding:0;max-width:100%}.family-lesson-groove .groove-scope{max-width:100%;overflow-x:auto}.family-shell .student-home-top{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:18px 0}.family-shell .student-home-practice-stats{grid-row:1}.family-shell .student-home-top .tutor-chip-row{display:grid;gap:14px}.family-shell .student-home-top .tutor-chip{min-width:0}.family-shell .student-home-top .tutor-chip-copy{min-width:0;overflow-wrap:anywhere}.family-shell .student-home-top>.panel{margin-bottom:0}.family-shell .student-home-next-task{margin:var(--space-3) 0}.family-shell .student-home-next-task>.panel{display:grid;gap:var(--space-2);margin-bottom:0}.family-shell .student-home-next-task h2,.family-shell .student-home-next-task p{margin:0}.family-shell .student-home-next-task .student-home-strip-head{margin-bottom:0}.family-shell .student-home-next-task-action{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.family-shell .student-home-supporting-details{margin-bottom:var(--space-3)}.family-shell .student-home-supporting-details .student-home-top{margin:0}.family-shell .student-home-strip-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.family-shell .student-home-strip-head>h2{margin:0}.family-shell .student-home-strip-heading{font-size:1.02em}.family-shell .student-home-strip-link{display:inline-flex;min-height:var(--control-min-height);align-items:center;justify-content:center;padding-inline:var(--space-2);font-weight:650;white-space:nowrap}.family-shell .student-home-strip-empty{margin:0}.family-shell .student-home-practice-total{font-size:clamp(1.7rem,4vw,2.3rem);font-weight:760;line-height:1.05;letter-spacing:-.03em}.family-shell .student-home-practice-change{margin-top:6px;font-weight:650;color:var(--muted)}.family-shell .student-home-practice-change.is-up{color:var(--accent-text)}.family-shell .student-home-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0 18px;align-items:start}.family-shell .student-home-column-main,.family-shell .student-home-column-side{min-width:0}.family-shell .student-home-credits-panel{padding:12px 14px}.family-shell .student-home-credits-panel .notice{margin-bottom:0}.family-shell .student-home-credits-total{display:block;margin-bottom:3px}.family-shell .student-home-credits-empty{margin:0 0 4px}.family-shell .student-home-credit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.family-shell .student-home-credit-copy{display:grid;gap:3px;min-width:0}.family-shell .student-home-credit-book{white-space:nowrap;padding:9px 10px;font-size:.85rem;min-height:44px}.family-shell .student-home-column-main .student-home-upcoming-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;align-items:start}.family-shell .student-home-column-main .student-home-upcoming-row>div{min-width:0;overflow-wrap:anywhere}.family-shell .student-home-column-main .student-home-upcoming-row .lesson-actions{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap}.family-shell .student-home-column-main .student-home-upcoming-row .lesson-actions button{min-height:44px}.family-shell .student-home-next .student-home-next-grid{grid-template-columns:minmax(0,1fr);gap:12px}.family-shell .student-home-next .student-home-next-time{font-size:clamp(2rem,5vw,3rem)}.family-shell .student-home-next .student-home-next-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.family-shell .student-home-next .student-home-next-actions button{width:auto;min-height:44px;padding-inline:12px}.family-shell .student-home-credit-name{min-width:0;overflow-wrap:anywhere}.family-shell .student-home-credits-panel .pagination{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;margin-top:8px}.family-shell .student-home-credits-panel .pagination button{min-height:40px;padding-inline:8px}.family-shell .student-home-credits-panel .pagination-status{grid-column:auto;grid-row:auto}.family-shell .student-home-credits-panel .student-home-section-link{margin-top:6px}.family-shell .student-home-columns:has(>:only-child){grid-template-columns:minmax(0,1fr)}.family-shell .student-home-notes-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:6px}.family-shell .student-home-notes{min-width:0}.family-shell .student-home-notes .student-home-strip-head{margin-bottom:8px}.family-shell .home-note-list{display:grid;gap:8px}.family-shell .home-note-card{margin:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.family-shell .home-note-summary{display:grid;grid-template-columns:6.2em minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:8px 12px 8px 30px;cursor:pointer;list-style:none;position:relative}.family-shell .home-note-summary::-webkit-details-marker{display:none}.family-shell .home-note-summary:before{content:"›";position:absolute;left:12px;top:50%;transform:translateY(-50%) rotate(0);color:var(--muted);font-size:1.25em;line-height:1;transition:transform .12s ease}.family-shell .home-note-card[open]>.home-note-summary:before{transform:translateY(-50%) rotate(90deg)}.family-shell .home-note-summary:hover{background:color-mix(in srgb,var(--accent-soft) 40%,var(--panel))}.family-shell .home-note-summary:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.family-shell .home-note-date{font-size:.88em;font-weight:650;color:var(--muted);white-space:nowrap}.family-shell .home-note-title{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-shell .home-note-meta{white-space:nowrap}.family-shell .home-note-body{padding:0 12px 12px 30px;border-top:1px solid var(--line)}.family-shell .home-note-body>:first-child{margin-top:10px}.family-shell .home-note-body .notes{max-width:70ch;white-space:pre-wrap}.family-shell .home-note-body .tag{margin-top:8px}.family-shell .home-practice-segments{margin:8px 0 0;padding-left:0;list-style:none;display:grid;gap:6px}.family-shell .home-practice-segments li{padding:8px 10px;border:1px solid var(--line);border-radius:7px}.family-shell .home-practice-segments .tabular{font-weight:650;margin-right:4px}.family-shell .home-practice-segments .tag{margin:0 0 0 8px}.family-shell .home-practice-segments p{margin:4px 0 0}.family-shell .home-note-toggle{margin-top:10px}.family-shell .student-home-repertoire-group h3{margin:14px 0 6px;font-size:1rem}.family-shell .student-home-repertoire-group:first-of-type h3{margin-top:0}.family-shell .student-home-repertoire-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.family-shell .student-home-repertoire-list li{padding:8px 10px;border:1px solid var(--line);border-radius:7px}@media (max-width: 860px){.family-shell .student-home-top,.family-shell .student-home-columns,.family-shell .student-home-notes-columns{grid-template-columns:minmax(0,1fr)}.family-shell .student-home-column-side{margin-top:6px}.family-shell .student-home-notes+.student-home-notes{margin-top:22px}}@media (max-width: 520px){.family-shell .home-note-summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title meta" "date meta";row-gap:2px}.family-shell .home-note-date{grid-area:date}.family-shell .home-note-title{grid-area:title;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.family-shell .home-note-meta{grid-area:meta}}.family-shell .student-home-next{margin-bottom:18px}.family-shell .student-home-next>h2{margin-bottom:10px}.family-shell .student-home-next-panel{border:1px solid color-mix(in srgb,var(--accent-line) 55%,var(--line));background:color-mix(in srgb,var(--accent-soft) 34%,var(--panel));box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 8%,transparent)}.family-shell .student-home-next-grid{display:grid;grid-template-columns:minmax(10.5em,.75fr) minmax(0,1.6fr);gap:24px;align-items:start}.family-shell .student-home-next-date{font-size:1.12em;font-weight:700}.family-shell .student-home-next-time{margin-top:2px;font-size:clamp(2rem,5vw,3.35rem);line-height:1;font-weight:760;letter-spacing:-.035em}.family-shell .student-home-next-meta{display:grid;gap:5px;min-width:0}.family-shell .student-home-next-meta>strong{font-size:1.25em}.family-shell .student-home-payment{margin-top:5px}.family-shell .student-home-next-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.family-shell .student-home-calendar-note{margin:10px 0 0}.family-shell .student-home-next-empty{display:flex;align-items:center;justify-content:space-between;gap:18px}.family-shell .student-home-next-empty p{margin-bottom:0}.family-shell .student-home-primary-action{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}.family-shell .student-home-more-lessons{margin-top:10px}.family-shell .student-home-more-lessons>.panel{margin:0 10px 10px;border-radius:10px}.family-shell .student-home-section-link{margin-top:12px;font-size:.92em;font-weight:650}.family-shell .student-home-section-link a{display:inline-flex;min-height:var(--control-min-height);align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);text-decoration:none}.family-shell .student-home-section-link a:hover{border-color:var(--accent-line);background:var(--accent-soft)}.family-shell .student-home-practice{margin-top:22px}@media (max-width: 720px){.family-shell .student-home-next-grid{grid-template-columns:1fr;gap:14px}.family-shell .student-home-next-time{font-size:clamp(2.35rem,13vw,3.2rem)}.family-shell .student-home-next-empty{align-items:flex-start;flex-direction:column}.family-shell .student-home-primary-action .button{justify-content:center}}@media (max-width: 520px){.family-shell .student-home-next-actions,.family-shell .student-home-primary-action{align-items:stretch;flex-direction:column}.family-shell .student-home-next-actions button,.family-shell .student-home-primary-action .button,.family-shell .student-home-practice .button{width:100%;justify-content:center}}.family-shell .student-home-utility-link{display:inline-flex;align-items:center;min-height:max(44px,var(--control-min-height))}@media (prefers-reduced-motion: reduce){.family-shell .home-note-summary:before{transition:none}}.manual-practice-editor{display:grid;gap:var(--space-3);width:100%;margin-top:var(--space-3);padding:var(--space-3);background:var(--bg);border-radius:var(--radius-control)}.manual-practice-duration{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.manual-practice-editor input{width:100%;min-width:0}.attachment .attachment-audio{display:block;max-width:100%}.family-shell .practice-section-nav{border:0;border-radius:0;background:transparent;padding:0;gap:22px;margin-bottom:22px}.family-shell .practice-section-nav a{padding:6px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-weight:600;flex:0 0 auto}.family-shell .practice-section-nav a.is-active{border-bottom-color:var(--accent);background:transparent;color:var(--ink)}.family-practice-workspace{min-width:0}.family-shell .family-practice-main{background:var(--panel)}.family-shell .family-practice-workspace h1{margin-bottom:24px;font-size:1.95em;line-height:1.15;letter-spacing:inherit}.family-practice-workspace .stack{max-width:none}.family-practice-workspace .practice-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.family-practice-workspace .practice-section-heading h2{margin:0;font-size:1.12em}.practice-timer-section{margin-bottom:30px}.practice-timer-strip{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:15px 18px;border-radius:10px;background:var(--bg)}.practice-timer-strip.is-running{background:var(--accent-soft)}.practice-timer-clock{font-size:1.9em;font-weight:600;line-height:1.2}.practice-timer-copy{flex:1 1 190px;min-width:0;overflow-wrap:anywhere}.practice-timer-copy h2{margin:0 0 3px;font-size:.8em;font-weight:500}.practice-timer-copy p{margin:0;font-size:.9em}.practice-timer-actions{display:flex;gap:10px;flex-wrap:wrap}.practice-free-form,.practice-reflection,.practice-legacy-name{display:block;padding:12px 18px;border-bottom:1px solid var(--line)}.practice-free-form .row{margin-top:8px;flex-wrap:wrap}.practice-free-form input{flex:1 1 220px;min-width:0}.practice-reflection summary{font-size:.85em;color:var(--muted);cursor:pointer}.practice-reflection textarea,.practice-legacy-name input{margin-top:8px;width:100%}.practice-timer-feedback{padding:10px 18px;flex-wrap:wrap;justify-content:space-between}.practice-target-status{color:var(--accent-text);margin:10px 18px}.practice-workspace-grid{display:grid;grid-template-columns:minmax(0,64fr) minmax(0,36fr);align-items:start}.practice-tasks{padding-right:32px;min-width:0}.family-practice-workspace .family-practice-todos-stack{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;margin:0;gap:0}.family-practice-workspace .family-practice-todo-row{display:grid;align-items:start;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:23px 0;border-bottom:1px solid var(--line);position:relative}.family-practice-workspace .family-practice-todo-check{width:18px;height:18px;margin:4px 0 0}.family-practice-workspace .family-practice-todo-copy{overflow-wrap:anywhere}.family-practice-workspace .family-practice-todo-copy>strong{display:block;font-size:1.12em;line-height:1.4}.family-practice-workspace .family-practice-todo-meta{margin-top:6px}.family-practice-workspace .family-practice-todo-link{margin-top:10px;font-weight:500}.family-practice-workspace .practice-task-actions{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:6px}.family-practice-workspace .practice-task-actions .family-practice-todo-link{display:inline-flex;align-items:center;margin:0;min-height:40px}.family-practice-workspace .practice-task-start{width:auto;margin:0}.family-practice-workspace .family-practice-todo-row.is-active:before{content:"";position:absolute;left:-10px;top:23px;bottom:23px;width:3px;background:var(--accent);border-radius:2px}.family-practice-workspace .family-practice-todo-row.is-completed .family-practice-todo-copy>strong{text-decoration:line-through}.family-practice-workspace .family-practice-todo-row.is-withdrawn .family-practice-todo-copy{grid-column:2}.practice-resources{min-width:0;padding-left:26px;border-left:1px solid var(--line)}.family-practice-workspace .practice-resources h2{font-size:1em}.practice-resource-search{display:block;margin-top:15px}.practice-resource-search input[type=search]{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding-inline:0}.practice-resource-filters{display:flex;flex-wrap:wrap;gap:16px;margin-top:5px}.family-practice-workspace .practice-resource-filters button{padding:5px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);min-height:40px}.family-practice-workspace .practice-resource-filters button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--ink)}.practice-resource-group{margin-top:20px}.practice-resource-group h3{margin:0 0 14px;font-size:.75em;font-weight:500}.practice-resource-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.practice-resource-row{display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px}.practice-resource-icon{width:27px;height:31px;display:grid;place-items:center;color:var(--muted);background:var(--bg);border-radius:5px}.practice-resource-name{display:block;font-size:.9em;font-weight:600;overflow-wrap:anywhere}.practice-resource-row p{margin:4px 0}.practice-resource-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.practice-resource-meta a{display:inline-flex;align-items:center;min-height:32px}.practice-earlier-resources{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}.practice-earlier-resources summary{color:var(--muted);font-size:.85em;cursor:pointer}.practice-resource-empty{margin-top:18px}.practice-manual-log,.practice-history-disclosure{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.practice-manual-log summary,.practice-history-disclosure summary{cursor:pointer}.practice-manual-log summary{color:var(--muted);font-size:.85em}.practice-manual-log form.stack{max-width:600px}.practice-history-disclosure>summary{display:list-item}.practice-history-disclosure>summary strong{margin-right:14px}.practice-history-disclosure>.panel{margin-top:18px}@media (max-width: 1050px){.practice-tasks{padding-right:24px}.practice-resources{padding-left:20px}}@media (max-width: 800px){.practice-workspace-grid{grid-template-columns:minmax(0,1fr);gap:26px}.practice-tasks{padding-right:0}.practice-resources{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.family-practice-workspace .practice-resources h2{font-size:1.12em}}@media (max-width: 600px){.practice-timer-strip{gap:10px;padding:14px}.practice-timer-copy{flex-basis:120px}.practice-timer-actions{flex-basis:100%}.practice-timer-actions button{flex:1}.practice-resource-meta a,.family-practice-workspace summary,.family-practice-workspace .practice-resource-filters button{min-height:44px}.family-practice-workspace summary{align-content:center}.family-practice-workspace input[type=search],.family-practice-workspace input[type=text],.family-practice-workspace textarea{font-size:16px}.practice-history-disclosure>summary span{display:block;margin-top:4px}}.practice-duration-row{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.practice-duration-field{display:grid;flex:1 1 76px;gap:3px;max-width:104px;min-width:0}.practice-edit-row>input[type=text]{flex:1 1 160px;min-width:0}.practice-duration-field input{width:100%;min-width:0}.practice-calendar-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px}.practice-calendar-scroll:focus-visible{border-radius:var(--radius-control);outline:2px solid var(--accent-line);outline-offset:2px}.practice-calendar-grid{min-width:332px}.practice-calendar-week{display:grid;grid-template-columns:repeat(7,44px);justify-content:space-between;gap:4px;margin-top:4px}.practice-calendar-week:first-child{margin-top:0}.practice-calendar-day{min-width:44px}@media (max-width: 430px){.practice-duration-field{max-width:none}.practice-edit-row>input[type=text]{flex-basis:100%}}.practice-metrics-page{width:100%;max-width:1150px;margin:0 auto;min-width:0}.metric-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.metric-page-head h1{margin-bottom:6px}.metric-page-head p{margin:0}.metric-page-head>svg{color:var(--muted);flex-shrink:0}.metric-period-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.metric-periods{display:flex;gap:4px;flex-wrap:wrap}.metric-periods button{font-size:13px;padding:7px 12px}.metric-dates{display:flex;gap:7px;align-items:center}.metric-dates button{display:grid;place-items:center;padding:9px}.metric-dates input{max-width:160px}.metric-range{margin:10px 0 18px}.metric-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.metric-field{display:grid;gap:5px;flex:1 1 150px;min-width:0;max-width:290px;font-size:12px}.metric-field select{width:100%;min-width:0}.metric-stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-bottom:14px}.metric-stat{display:flex;flex-direction:column;gap:8px;min-width:0;padding:17px}.metric-total{background:color-mix(in srgb,var(--accent,#e28a37) 12%,var(--panel))}.metric-value{font-size:26px;font-weight:600;letter-spacing:-.6px;line-height:1.3}.metric-number{font-variant-numeric:tabular-nums}.metric-instrument-totals summary{cursor:pointer;font-weight:var(--font-weight-semibold)}.metric-instrument-totals dl{margin-bottom:0}.metric-instrument-totals .spread{flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.metric-instrument-totals dd{margin:0;font-weight:var(--font-weight-semibold)}.metric-scope{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:11px 13px;background:var(--soft,var(--panel));border-radius:8px;font-size:12px}.metric-improvement{color:var(--success,#39714e);font-size:13px;margin-bottom:17px}.metric-record{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-bottom:20px}.metric-record>svg{color:var(--accent,#b96c22)}.metric-record h2{font-size:17px;margin:0}.metric-record p{margin:8px 0 0}.metric-record.is-personal-best{background:color-mix(in srgb,var(--success,#39714e) 9%,var(--panel))}.metric-track{height:6px;background:var(--line);border-radius:9px;overflow:hidden;margin-top:8px}.metric-fill{display:block;height:100%;border-radius:inherit}.metric-groove{background:#d37c2a}.metric-metronome{background:#6c94b6}.metric-other{background:#a0a49c}.metric-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:20px}.metric-columns>.panel{min-width:0;margin:0}.metric-tools h2,.metric-chart-panel h2,.metric-session-list h2{font-size:17px;margin:0 0 17px}.metric-tools>div{margin-bottom:18px;font-size:13px}.metric-tools .spread{flex-wrap:wrap;gap:4px 10px}.metric-tools p{margin-bottom:0}.metric-chart{display:grid;gap:6px;align-items:end;min-height:167px;margin:12px 0}.metric-chart button.metric-bar{display:flex;flex-direction:column;align-items:center;justify-content:end;align-self:end;gap:9px;padding:0;min-width:0;background:transparent;border:0;font-size:12px;color:var(--muted);box-shadow:none}.metric-chart button.metric-bar[aria-pressed=true]{color:var(--ink);font-weight:600}.metric-stack{width:26px;max-width:80%;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden}.metric-stack>span{display:block}.metric-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.metric-legend span{display:flex;align-items:center;gap:5px}.metric-legend i{width:8px;height:8px;border-radius:2px}.metric-table-wrap{overflow-x:auto}.metric-table{width:100%;border-collapse:collapse;font-size:13px}.practice-metrics-page table.metric-table-family{min-width:0}.metric-learner{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.metric-table th{text-align:left;color:var(--muted);font-size:12px;font-weight:500;padding:12px 9px;border-bottom:1px solid var(--line)}.metric-table td{padding:13px 9px;border-bottom:1px solid var(--line)}.metric-table tr:last-child td{border-bottom:0}.metric-table .metric-end{text-align:right;white-space:nowrap}.metric-self{background:color-mix(in srgb,var(--accent,#e28a37) 12%,var(--panel))}.metric-self .tag{margin:0}.metric-instruments{display:flex;gap:7px;align-items:center}.metric-instrument{display:inline-flex;align-items:center;color:var(--muted)}.metric-session{border-top:1px solid var(--line)}.metric-session summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 0;list-style:none;cursor:pointer}.metric-session summary::-webkit-details-marker{display:none}.metric-session summary>div{min-width:0;overflow-wrap:anywhere}.metric-session summary .small{margin-top:6px}.metric-session summary>strong{white-space:nowrap}.metric-note{background:var(--bg);border-radius:8px;padding:14px;margin-bottom:16px;white-space:pre-line}.metric-note p{margin:7px 0;overflow-wrap:anywhere}.metric-session-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.metric-footnote{display:flex;align-items:center;gap:6px;margin-top:17px}.metric-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin:15px 0}.metric-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media (max-width:800px){.metric-columns{grid-template-columns:1fr}.metric-value{font-size:23px}.metric-chart{row-gap:18px}.metric-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.metric-tools h2,.metric-tools p{grid-column:1/-1}.metric-tools .spread{align-items:start;flex-direction:column}}@media (max-width:550px){.metric-stats{grid-template-columns:1fr 1fr}.metric-total{grid-column:1/-1}.metric-stat{padding:13px}.metric-value{font-size:22px}.metric-tools{display:block}.metric-tools .spread{flex-direction:row}.metric-session summary{grid-template-columns:1fr;gap:7px}.metric-session summary>strong{text-align:right}.metric-record .spread{flex-wrap:wrap;gap:8px}.metric-table th,.metric-table td{padding:11px 6px}.metric-dates{width:100%;justify-content:space-between}.metric-chart{grid-template-columns:repeat(4,minmax(0,1fr))!important}.metric-periods button{padding:7px 10px}.metric-field{max-width:none}.metric-footnote{align-items:start}}@media (pointer:coarse){.practice-metrics-page button,.practice-metrics-page select,.practice-metrics-page input{min-height:44px}.practice-metrics-page select,.practice-metrics-page input{font-size:16px}}.metric-goal{margin:var(--space-4) 0 var(--space-5)}.metric-goal-heading{display:flex;justify-content:space-between;align-items:start;gap:var(--space-3)}.metric-goal h2{margin:0 0 var(--space-2)}.metric-goal-heading p,.metric-goal>p{margin:var(--space-2) 0}.metric-goal-progress{display:block;width:100%;margin:var(--space-3) 0;accent-color:var(--accent,currentColor)}.metric-goal-form{display:flex;align-items:end;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.metric-goal-form .metric-field{flex:1 1 0;max-width:none}.metric-goal-form select{width:100%}@media (max-width:480px){.metric-goal-heading{align-items:start}.metric-goal-form{align-items:stretch}.metric-goal-form .metric-field,.metric-goal-form button{width:100%}}.student-awards-page.stack{max-width:1100px;width:100%;gap:20px}.award-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:16px}.award-collection-item.quiet{display:flex;flex-direction:column;align-items:center;gap:9px;padding:18px 12px;text-align:center;white-space:normal;min-width:0;height:100%;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);box-shadow:none}.award-collection-item.quiet:hover{background:color-mix(in srgb,var(--panel) 94%,var(--ink));border-color:var(--muted)}.award-collection-item.quiet:focus-visible{outline:3px solid var(--accent, #ed9a3f);outline-offset:3px}.award-collection-item strong{overflow-wrap:anywhere}.award-collection-item .muted{color:var(--muted)}.award-medal{display:block;width:min(170px,100%);height:auto;flex-shrink:0;--award-locked-face: color-mix(in srgb, var(--panel, #fff) 88%, var(--ink, #1b1b1a));--award-locked-ink: color-mix(in srgb, var(--ink, #1b1b1a) 85%, var(--panel, #fff))}.award-practice-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.award-practice-stats>div{display:flex;flex-direction:column;gap:4px}.award-practice-stats strong{font-size:1.3rem}.award-tutor-recognitions{display:grid;gap:14px}.award-tutor-recognition{display:flex;align-items:flex-start;gap:9px}.award-tutor-recognition>input{flex:0 0 auto;margin-top:3px}.award-tutor-recognition>span{display:grid;gap:4px;min-width:0}.award-tutor-recognition strong{font-weight:650}.award-medal-bug.is-locked{filter:grayscale(1);opacity:.55}@media (max-width: 700px){.award-practice-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 360px){.award-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.practice-section-nav{display:flex;flex-wrap:wrap;gap:8px;width:fit-content;max-width:100%;margin:0 0 18px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.practice-section-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid transparent;border-radius:9px;color:var(--accent-text);font-weight:700;text-decoration:none}.practice-section-nav a:hover{border-color:var(--accent-line)}.practice-section-nav a.is-active{border-color:transparent;background:var(--accent);color:var(--accent-ink)}.practice-section-nav a:focus-visible{outline:3px solid var(--accent-line);outline-offset:2px}@media (max-width: 600px){.practice-section-nav{width:100%}.practice-section-nav a{flex:1 1 140px}}.bug-report-launcher.quiet{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:44px;padding:var(--space-2)}.bug-report-form,.bug-report-form fieldset{display:grid;gap:var(--space-4);min-width:0}.bug-report-form fieldset{border:0;margin:0;padding:0}.bug-report-form label,.bug-ticket-editor label{display:grid;gap:var(--space-2);min-width:0}.bug-report-form textarea,.bug-ticket-editor textarea{width:100%;min-width:0;box-sizing:border-box}.bug-report-form input[type=file]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.bug-page-link,.bug-ticket-details{overflow-wrap:anywhere}.bug-screenshot{display:grid;gap:var(--space-3);min-width:0}.bug-screenshot img,.bug-ticket-screenshot{display:block;width:100%;max-height:360px;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-control)}.bug-thanks{display:grid;justify-items:start;gap:var(--space-3)}.bug-queue-head,.bug-ticket-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.bug-ticket-list,.bug-ticket-editor{display:grid;gap:var(--space-4);min-width:0}.bug-ticket-row>div{min-width:0;flex:1 1 180px;overflow-wrap:anywhere}.bug-ticket-row p{margin:var(--space-2) 0}.bug-ticket-details dt{font-weight:var(--font-weight-semibold);margin-top:var(--space-3)}.bug-ticket-details dd{margin:var(--space-1) 0 0;white-space:pre-wrap}.bug-ticket-body{white-space:pre-wrap;overflow-wrap:anywhere}.bug-confirmation{gap:var(--space-3)}.bug-confirmation h3,.bug-confirmation p{margin:0}.bug-confirmation button{min-height:44px}.note-envelope{flex:0 0 auto;vertical-align:-3px;color:var(--muted)}.note-envelope.is-sent{color:var(--accent-text, var(--accent))}.payments-due-content{min-width:0}.payments-due-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.payments-due-toolbar label{display:grid;gap:.35rem;min-width:0;max-width:100%}.payments-due-toolbar select{min-height:44px;max-width:100%}.payments-due-students{list-style:none;padding:0;margin:1rem 0}.payments-due-students li{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line)}.payments-due-learner{display:grid;min-width:0;overflow-wrap:anywhere}.payments-due-learner>a{display:inline-flex;align-items:center;min-height:44px;font-weight:650}.payments-due-actions{display:grid;flex:0 0 auto;text-align:right}.payments-due-actions>a{display:inline-flex;align-items:center;min-height:44px}.payments-due-toggle{display:flex;align-items:center;gap:1rem;width:100%;min-height:64px;padding:1rem;text-align:left;background:transparent;color:var(--text);border:0;white-space:normal}.payments-due-toggle>span:first-child{display:grid;flex:1;min-width:0}.payments-due-toggle strong{font-size:1.1rem}.payments-due-count{font-size:1.4rem;font-weight:700}.payments-due-summary{margin:0;padding:0 1rem 1rem}.payments-due-today{margin-bottom:1rem}.payments-due-today>div{padding:0 1rem 1rem}.payments-due-today [hidden]{display:none}@media (max-width: 640px){.payments-due-students li{align-items:start;gap:.5rem}.payments-due-count .small{display:block;font-size:.75rem}}@media print{#upcoming-payments-due,.payments-due-today{display:none!important}}.cal-mini-month{--cal-mini-target: 24px;--cal-mini-width: 24px;position:relative;display:flex;flex-direction:column;min-width:0;padding-right:14px;border-right:1px solid var(--line)}.cal-mini-content{display:flex;flex:1;flex-direction:column;min-width:0}.cal-mini-header{display:grid;grid-template-columns:var(--cal-mini-target) minmax(0,1fr) var(--cal-mini-target);align-items:center;gap:4px;margin-bottom:2px}.cal-mini-header strong{text-align:center;font-size:12px}.cal-mini-month button{border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink);font-size:11px}.cal-bar .cal-mini-month .cal-mini-content button{display:grid;min-width:var(--cal-mini-width);min-height:var(--cal-mini-target);padding:0;place-items:center;line-height:1.2}.cal-mini-month .cal-mini-arrow{font-size:20px}.cal-mini-days{flex:1;display:grid;grid-template-columns:repeat(7,minmax(var(--cal-mini-width),1fr));grid-template-rows:14px;grid-auto-rows:minmax(var(--cal-mini-target),1fr);gap:0 2px}.cal-mini-weekday{display:grid;place-items:center;color:var(--muted);text-align:center;font-size:9px;font-weight:600}.cal-mini-month .cal-mini-day.is-outside{color:var(--muted)}.cal-mini-month button:hover,.cal-mini-month .cal-mini-day:hover{background:var(--accent-soft);color:var(--ink)}.cal-mini-month .cal-mini-day.is-in-range,.cal-mini-month .cal-mini-day.is-selected{background:var(--accent-soft);color:var(--accent-text)}.cal-mini-month .cal-mini-day.is-selected{border-color:var(--accent-line);font-weight:700}.cal-mini-month .cal-mini-day.is-today,.cal-mini-month .cal-mini-day.is-today:hover{background:var(--accent);color:var(--accent-ink);font-weight:700}.cal-mini-month .cal-mini-day.is-today.is-selected{border-color:var(--accent-text)}.cal-bar .cal-mini-month .cal-mini-toggle{display:none;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-color:var(--line);font-size:13px;text-align:left}.cal-mini-toggle>:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 560px),(pointer: coarse) and (hover: none){#root .staff-workspace.staff-workspace--diary{overflow-x:visible}.cal-mini-month{--cal-mini-target: 44px;--cal-mini-width: 40px;width:100%;padding:0;border:0}.cal-bar .cal-mini-month .cal-mini-toggle{display:flex}.cal-bar .cal-mini-month .cal-mini-content{position:absolute;z-index:30;top:calc(100% + 8px);left:50%;display:none;width:min(342px,calc(100vw - 20px));padding:8px;transform:translate(-50%);border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.cal-bar .cal-mini-month.is-expanded .cal-mini-content{display:flex}.cal-mini-month button{font-size:13px}.cal-mini-weekday{font-size:10px}}@media (max-width: 340px){.cal-bar .cal-mini-month .cal-mini-content{padding:4px}.cal-mini-days{column-gap:1px}}.tutor-booking-timing{flex-wrap:wrap}.availability-controls.booking-availability-controls{grid-template-columns:minmax(0,1fr);margin-top:var(--space-3-5)}.availability-controls.booking-availability-controls>.row:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-availability-controls .availability-window{grid-column:1 / -1;grid-row:1;overflow-wrap:normal;word-break:normal}.booking-availability-controls>.row:last-child button{grid-row:2}.booking-checkbox{display:flex;align-items:flex-start;gap:var(--space-1-5)}.booking-checkbox>input{flex:0 0 auto}.booking-checkbox>span{min-width:0}.booking-confirmation-email{margin-bottom:var(--space-3)}.cal-week-body{isolation:isolate}.cal-day{position:relative}.cal-gutter,.cal-gutter-head{position:sticky;inset-inline-start:0;z-index:2;background:var(--bg)}.cal-now-line{position:absolute;inset-inline:0;border-top:2px solid #c6353f;z-index:0;pointer-events:none}.cal-now-label{position:absolute;z-index:1;inset-inline-end:6px;transform:translateY(-50%);padding:2px 4px;border-radius:3px;background:#c6353f;color:#fff;font-size:11px;line-height:14px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.cal-now-label time{display:block}.cal-next-label{display:block;color:var(--accent-text);font-size:10px;font-weight:700}.lesson-notes-main{display:grid;align-content:start;gap:16px;min-width:0}.lesson-notes-main>.panel,.lesson-practice-current{margin-bottom:0}.lesson-practice-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.lesson-practice-heading h2{margin:0}.lesson-practice-task-list{display:grid;gap:8px}button.lesson-practice-task{display:grid;gap:5px;width:100%;padding:12px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;text-align:left;min-width:0;white-space:normal;overflow-wrap:anywhere}button.lesson-practice-task:hover,button.lesson-practice-task.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.lesson-practice-task-title{font-weight:650}.lesson-practice-task-status{color:var(--accent-text)}.lesson-practice-task:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.lesson-practice-carried summary,.lesson-practice-history summary,.lesson-practice-added summary{cursor:pointer;font-weight:650}.lesson-practice-carried summary .tag{margin-left:6px}.lesson-practice-carried .lesson-practice-task-list{max-height:300px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px}.lesson-practice-history .lesson-practice-task{margin-top:8px}.lesson-practice-added{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.lesson-practice-review-fields{display:grid;gap:10px;min-width:0}.lesson-practice-review-fields h3{margin:10px 0 0;overflow-wrap:anywhere}.lesson-practice-review-fields p{margin:0}.lesson-practice-review-fields label{font-weight:600}.lesson-practice-review-fields textarea{width:100%;min-width:0;box-sizing:border-box}.lesson-practice-private{font-size:12px;padding:10px;background:var(--accent-soft);border-radius:6px}.lesson-practice-rating,.lesson-practice-outcome{border:0;padding:0;margin:0;min-width:0}.lesson-practice-rating legend,.lesson-practice-outcome legend{font-size:13px;font-weight:650;margin-bottom:6px}.lesson-practice-rating>div{display:flex;gap:6px}.lesson-practice-rating>div>button{flex:1;min-height:42px;min-width:0}.lesson-practice-rating>button{margin-top:3px}.lesson-practice-rating .is-selected{background:var(--accent);color:var(--accent-ink)}.lesson-practice-outcome{display:grid;gap:10px}.lesson-practice-outcome label{display:flex;align-items:center;gap:8px;font-size:13px}.lesson-practice-instructions{white-space:pre-wrap;overflow-wrap:anywhere}.family-practice-task-feedback{display:block;border-left:3px solid var(--accent);padding-left:10px;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 900px){.lesson-practice-current .lesson-practice-task-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.lesson-practice-current .lesson-practice-task-list{grid-template-columns:minmax(0,1fr)}}.student-lesson-manager{margin-block:1.25rem}.student-lesson-manager .student-record-section-head{align-items:flex-start;flex-wrap:wrap}.student-lesson-manager .student-record-section-head .row{flex-wrap:wrap}.student-lesson-manager [aria-pressed=true]{background:var(--ink);color:var(--panel)}.student-lesson-selection{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;padding-block:.7rem 1rem}.student-lesson-selection>strong{margin-right:auto}.student-lesson-manager td>span{display:block}.student-lesson-manager td:first-child,.student-lesson-manager th:first-child{width:2.5rem}.student-lesson-manager tr.is-selected{background:#397e6c14}.student-lesson-selected-list{margin-block:0 1rem}.student-lesson-selected-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem}.selected-lesson-results{list-style:none;margin:0;padding:0}.selected-lesson-results li{display:grid;gap:.25rem;padding:.7rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.selected-lesson-results li>span{font-size:.9rem}.selected-lesson-started-warning label{display:flex;align-items:flex-start;gap:.6rem}.selected-lesson-started-warning input{flex-shrink:0;margin-top:.2rem}.lesson-note-credit-action{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding-block:1rem}@media (max-width: 600px){.student-lesson-selection>strong{flex-basis:100%}.student-lesson-selection>button{flex-grow:1}.student-lesson-manager .student-record-section-head>div{min-width:0}}.files-workspace{max-width:1100px;margin-inline:auto}.files-heading,.files-actions{display:flex;align-items:center;gap:12px;justify-content:space-between}.files-heading{margin-bottom:24px}.files-actions{justify-content:flex-start;flex-wrap:wrap}.files-search{display:grid;grid-template-columns:minmax(0,1fr) 160px 160px;gap:16px;margin-top:24px}.files-search label,.files-workspace form label{display:grid;gap:6px}.files-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.files-workspace .files-row{display:flex;flex-direction:column;min-width:0;padding:0;overflow-wrap:anywhere}.files-row>div{min-width:0}.files-row>.files-open{display:block;flex:1;min-height:100px;padding:16px;border-radius:inherit;color:var(--ink);text-decoration:none}.files-card-title{display:block;overflow-wrap:anywhere}.files-open:hover,.files-open:focus-visible{background:var(--accent-soft)}.files-open:hover .files-card-title{text-decoration:underline}.files-open:focus-visible{outline:3px solid var(--accent-line);outline-offset:-3px}.files-row p{margin:6px 0 0}.files-row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px;border-top:1px solid var(--line)}.files-row-actions button{max-width:100%;min-height:44px;white-space:normal}.files-copies{width:100%;min-width:0}.files-copies>summary{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer}.files-copies-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}.files-copies-list>li{min-width:0;padding-top:12px;border-top:1px solid var(--line)}.files-copy-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.files-copy--private{border-left:3px solid var(--files-private-accent);padding-left:8px}.files-workspace .files-row--private{background:color-mix(in srgb,var(--files-private-accent) 10%,var(--panel));border-left:5px solid var(--files-private-accent)}.files-workspace{--files-private-accent: #805394;--files-private-ink: #613b72;--files-reusable-ink: #28613c}.files-privacy-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:4px 8px;border-radius:6px;font-size:.85rem;font-weight:600;color:var(--files-private-ink);background:color-mix(in srgb,var(--files-private-accent) 15%,var(--panel))}.files-privacy-badge--reusable{color:var(--files-reusable-ink);background:color-mix(in srgb,var(--files-reusable-ink) 10%,var(--panel))}.files-privacy-note{color:var(--files-private-ink);max-width:65ch}.files-selection-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:20px}.files-selection-heading p{margin:0}.files-selection-heading button{flex-shrink:0}.files-selection-bar{margin-top:12px}.files-copy-action{display:grid;gap:5px;width:100%}.files-copy-action>span{max-width:26ch}.files-more{position:relative;max-width:100%;margin-left:auto}.files-more summary{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-control);cursor:pointer}.files-more[open]{z-index:2}.files-more-options{position:absolute;right:0;width:210px;max-width:calc(100vw - 60px);margin-top:6px;padding:6px;display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);box-shadow:var(--shadow)}.files-more-options button{text-align:left}.files-policy-check{display:flex;align-items:flex-start;gap:8px}.files-policy-check input{width:auto;flex-shrink:0;margin-top:4px}@media (prefers-color-scheme: dark){.files-workspace{--files-private-accent: #b796cf;--files-private-ink: #dcc8ea;--files-reusable-ink: #a0d9b1}}.files-url{overflow-wrap:anywhere}.files-select{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;font-size:.85rem}.files-select input{width:auto}.files-bulk-review{padding-left:20px;max-height:240px;overflow-y:auto}.files-bulk-review li{margin-bottom:10px;overflow-wrap:anywhere}.files-bulk-review span{display:block}.library-picker{margin:16px 0}.library-picker>label{display:block;margin-bottom:6px}.library-picker>input{width:100%}.library-suggestions{border:1px solid var(--border, #ccc);border-radius:8px;padding:8px;max-height:320px;overflow-y:auto}.library-suggestions ul{list-style:none;margin:0;padding:0}.library-suggestions [role=option]{display:grid;gap:4px;padding:10px;cursor:pointer;overflow-wrap:anywhere;border-radius:6px}.library-suggestions [role=option]:hover,.library-suggestions [role=option].active{background:var(--bg-soft, #edf1f4);color:#17202a}@media (max-width: 900px){.files-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.files-list{grid-template-columns:minmax(0,1fr)}.files-heading,.files-selection-heading{align-items:flex-start;flex-direction:column}.files-search{grid-template-columns:1fr}.files-row>div{max-width:100%}}.engagement-panel h2{margin-top:0}.engagement-accounts{list-style:none;padding:0;display:grid;gap:.8rem}.engagement-accounts li,.engagement-note-summary{display:grid;gap:.25rem;overflow-wrap:anywhere}.engagement-history,.engagement-feedback{margin-top:1rem}.engagement-history summary,.engagement-feedback summary{cursor:pointer;font-weight:600}.engagement-history ol{padding-left:1.2rem}.engagement-history li{margin-top:.6rem}.engagement-history time{display:block;font-size:.85rem}.engagement-feedback-fields{display:grid;gap:.75rem}.engagement-feedback label{display:grid;gap:.25rem}.engagement-feedback select,.engagement-feedback textarea{width:100%;min-width:0}.engagement-report{display:grid;gap:1rem;min-width:0}.engagement-report>*{min-width:0}.engagement-filters{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem}.engagement-filters label{display:grid;gap:.25rem}.engagement-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.engagement-stats strong{display:block;font-size:1.7rem}.engagement-report table{width:100%}@media (max-width: 600px){.engagement-filters label{flex:1 1 140px;min-width:0}.engagement-filters input,.engagement-filters select{min-width:0;width:100%}}.private-writeup-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);align-items:start;gap:var(--space-4)}.private-writeup-status-track{grid-column:2;grid-row:1 / span 3}.private-writeup-review,.private-writeup-editor,.private-writeup-music{grid-column:1;min-width:0}.private-writeup-review .lesson-practice-current{margin:0}.private-writeup-layout>.lesson-notes-form.private-writeup-editor{display:block;min-width:0}.private-writeup-files{grid-column:1 / -1;min-width:0}.private-writeup-files .lesson-notes-files{margin-top:0}.private-writeup-status-track .lesson-notes-side{align-items:start}.private-writeup-disclosure{min-width:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);color:var(--ink)}.private-writeup-disclosure>summary{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:pointer;list-style:none}.private-writeup-disclosure>summary::-webkit-details-marker{display:none}.private-writeup-disclosure>summary:after{content:"+";flex:0 0 auto;color:var(--accent-text)}.private-writeup-disclosure[open]>summary:after{content:"−"}.private-writeup-disclosure>summary:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px;border-radius:var(--radius-card)}.private-writeup-disclosure[open]>summary{border-bottom:1px solid var(--line)}.private-writeup-disclosure-hint{margin-left:auto;color:var(--muted)}.private-writeup-tools{margin-bottom:var(--space-3)}.private-writeup-tools .lesson-note-tool-rail{margin:0;padding:var(--space-3)}.private-writeup-music-content{padding:var(--space-3)}.private-writeup-music .lesson-notes-grooves-head{align-items:center;margin-bottom:var(--space-3)}.private-writeup-music .lesson-notes-grooves-head>p{margin:0;max-width:62ch}.private-writeup-music .lesson-notes-grooves-head .row{flex:0 0 auto}.private-writeup-guidance .panel{margin:var(--space-3)}.private-writeup-guidance .lesson-notes-files,.private-writeup-guidance .lesson-notes-checklist-title{margin-top:0}@media (max-width: 900px){.private-writeup-layout{grid-template-columns:minmax(0,1fr)}.private-writeup-status-track,.private-writeup-review,.private-writeup-editor,.private-writeup-music,.private-writeup-files{grid-column:1;grid-row:auto}.private-writeup-status-track .lesson-notes-side{position:static;grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.private-writeup-music .lesson-notes-grooves-head{align-items:stretch}.private-writeup-music .lesson-notes-grooves-head .row{flex-wrap:wrap}}@media print{.private-writeup-music:not([open])>.private-writeup-music-content{display:block}.private-writeup-music>summary{display:none}}.lesson-note-tool-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}.lesson-note-tool-button{min-height:76px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);text-align:left;box-shadow:var(--shadow)}.lesson-note-tool-button:hover{border-color:var(--accent-line);background:var(--accent-soft)}.lesson-note-tool-icon{display:inline-grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:21px;font-weight:700}.lesson-note-previous-practice{padding:0;overflow:hidden}.lesson-note-section-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:15px 18px 12px;border-bottom:1px solid var(--line)}.lesson-note-section-heading h2,.lesson-note-section-heading p{margin:0}.lesson-note-section-heading p{margin-top:3px}.lesson-note-practice-list{display:grid}.lesson-note-practice-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line)}.lesson-note-practice-row:last-child{border-bottom:0}.lesson-note-practice-progress{display:grid;text-align:right;line-height:1.2}.lesson-tool-form{display:grid;gap:14px}.lesson-tool-field{display:grid;gap:5px}.lesson-tool-field>span,.lesson-tool-fieldset legend{font-size:13px;font-weight:650}.lesson-tool-field input,.lesson-tool-field select,.lesson-tool-field textarea{width:100%}.lesson-tool-field textarea{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);padding:9px 10px;font:inherit;resize:vertical}.lesson-tool-field textarea:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.lesson-tool-field.compact{max-width:230px}.lesson-tool-tempo{display:grid;grid-template-columns:44px minmax(120px,1fr) 44px;gap:12px;align-items:center;max-width:360px;margin-inline:auto}.lesson-tool-tempo>button{min-height:44px;font-size:20px}.lesson-tool-tempo label{display:grid;justify-items:center;line-height:1.05}.lesson-tool-bpm{font-size:42px;letter-spacing:-.04em}.lesson-tool-fieldset{margin:0;padding:0;border:0}.lesson-tool-fieldset legend{margin-bottom:7px}.groove-library-picker,.groove-library-picker .lesson-tool-field,.groove-library-picker select{min-width:0;max-width:100%}.practice-task-groove-choice{margin-bottom:20px}.lesson-tool-choice-row{display:flex;flex-wrap:wrap;gap:7px}.lesson-tool-choice-row button{min-height:42px;min-width:54px}.lesson-tool-choice-row button.is-selected{border-color:var(--accent-line);background:var(--accent);color:var(--accent-ink)}.lesson-tool-beats{display:flex;flex-wrap:wrap;gap:9px}.lesson-tool-beat{width:48px;height:48px;padding:0;border-radius:50%;border:2px solid var(--line);background:var(--panel);color:var(--ink);font-weight:700}.lesson-tool-beat.is-accent{border-color:var(--accent-line);background:var(--accent);color:var(--accent-ink)}.lesson-tool-beat.is-muted{border-style:dashed;color:var(--muted);background:var(--bg)}.lesson-tool-current-list,.lesson-tool-previous-attachments{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.lesson-tool-current-list h3,.lesson-tool-previous-attachments h3{margin-top:0}.lesson-tool-current-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.lesson-tool-current-row:first-of-type{border-top:0}.lesson-repertoire-results{display:grid;gap:8px;margin-top:12px;max-height:240px;overflow-y:auto}.lesson-repertoire-piece{display:grid;gap:3px;text-align:left;min-height:52px;white-space:normal;overflow-wrap:anywhere}.lesson-repertoire-piece.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.lesson-repertoire-library input{width:100%}.lesson-repertoire-selection,.lesson-repertoire-assets{margin-top:18px}.lesson-repertoire-assets{container-type:inline-size}.lesson-repertoire-asset{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.lesson-repertoire-asset>.lesson-repertoire-choice{flex:1 1 16rem}@container (max-width: 600px){.lesson-repertoire-asset{justify-content:flex-start}.lesson-repertoire-asset>.lesson-repertoire-choice{flex:0 0 100%}}.lesson-repertoire-asset>div,.lesson-repertoire-choice{min-width:0;overflow-wrap:anywhere}.lesson-repertoire-choice{display:flex;align-items:flex-start;gap:10px}.lesson-repertoire-choice input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin-top:4px}.lesson-repertoire-choice>span{min-width:0}.lesson-repertoire-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.lesson-repertoire-assignment{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.lesson-repertoire-choice>span>span{display:block;margin-top:3px}.lesson-repertoire-asset>button{flex-shrink:0;min-height:44px;max-width:100%;white-space:normal}.lesson-tool-current-list summary{cursor:pointer;margin-bottom:14px}.lesson-tool-previous-note h3{margin:0}.lesson-tool-groove-attachment,.lesson-tool-file-attachment,.lesson-tool-file-link{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.lesson-tool-groove-attachment img,.lesson-tool-file-attachment img,.lesson-tool-file-attachment video{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel)}.lesson-tool-file-attachment audio{width:100%}.lesson-tool-file-attachment figure,.lesson-tool-file-attachment figcaption{margin:0}.lesson-tool-file-link{grid-template-columns:minmax(0,1fr) auto;align-items:center}@media (min-width: 1100px){.lesson-notes-page{position:relative}.lesson-note-tool-rail{position:fixed;left:214px;top:150px;z-index:3;width:82px;grid-template-columns:1fr}.lesson-note-tool-button{min-height:72px;flex-direction:column;justify-content:center;gap:5px;padding:8px 5px;font-size:11px;text-align:center}.lesson-note-tool-icon{flex-basis:32px;width:32px;height:32px;font-size:18px}.lesson-notes-page{padding-left:96px}}@media (max-width: 720px){.lesson-note-tool-rail{display:flex;overflow-x:auto;gap:8px;padding-bottom:2px;scrollbar-width:thin}.lesson-note-tool-button{flex:0 0 auto;min-width:132px;min-height:58px}.lesson-note-tool-icon{flex-basis:32px;width:32px;height:32px;font-size:18px}.lesson-note-practice-row{grid-template-columns:minmax(0,1fr) auto}.lesson-note-practice-row .tag{grid-column:1 / -1;justify-self:start}.lesson-tool-file-link{grid-template-columns:1fr}}@media (max-width: 430px){.lesson-note-tool-button{min-width:118px}.lesson-note-section-heading{display:grid}.lesson-note-practice-progress strong{font-size:13px}}.lesson-notes-page{max-width:none}.lesson-notes-back{margin:0 0 10px}.lesson-notes-head{display:grid;gap:12px;margin-bottom:18px}.lesson-notes-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.lesson-notes-title-row h1{margin-bottom:4px}.lesson-notes-kicker{margin:0 0 2px;color:var(--accent-text);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lesson-notes-head .lede{margin:0}.lesson-notes-context{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lesson-notes-context-item{display:inline-flex;min-height:30px;align-items:center;padding:4px 9px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);font-size:12px}.lesson-notes-state{display:inline-flex;min-height:30px;align-items:center;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}.lesson-notes-state.is-draft{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft);color:var(--accent-text)}.lesson-notes-state.is-published{border-color:color-mix(in srgb,#2f7d4a 55%,var(--line));background:color-mix(in srgb,#2f7d4a 10%,var(--panel));color:color-mix(in srgb,#2f7d4a 82%,var(--ink))}.lesson-notes-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);gap:18px;align-items:start}.lesson-notes-editor{margin:0;padding:20px}.lesson-notes-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.lesson-notes-editor-head h2,.lesson-notes-editor-head p{margin:0}.lesson-notes-editor-head p{margin-top:3px;max-width:62ch}.lesson-notes-field{display:grid;gap:6px;margin-bottom:18px}.lesson-notes-field>label,.lesson-notes-attendance legend{font-size:13px;font-weight:650}.lesson-notes-field input,.lesson-notes-field textarea{width:100%}.lesson-notes-field input{min-height:var(--control-min-height)}.lesson-notes-field textarea{min-height:320px;resize:vertical;background:var(--panel);color:inherit;border:1px solid var(--line);border-radius:var(--radius-control);padding:11px 12px;font:inherit;line-height:1.55}.lesson-notes-field textarea:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.lesson-notes-helper{margin:0}.lesson-notes-attendance{padding:18px 0 0;margin:0;border:0;border-top:1px solid var(--line)}.lesson-notes-attendance legend{padding:0;margin-bottom:8px}.lesson-notes-attendance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.lesson-notes-attendance-option{position:relative;display:flex;min-height:48px;align-items:center;justify-content:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);text-align:center;cursor:pointer}.lesson-notes-attendance-option:hover{border-color:var(--accent)}.lesson-notes-attendance-option.is-selected{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text);font-weight:650}.lesson-notes-attendance-option:focus-within{outline:2px solid var(--accent-line);outline-offset:2px}.lesson-notes-attendance-option input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.lesson-writeup-status-track{align-self:stretch;min-width:0}.lesson-notes-side{display:grid;gap:14px;position:sticky;top:18px}.lesson-notes-side .panel{margin:0}.lesson-notes-status-card h2,.lesson-notes-status-card p{margin-top:0}.lesson-notes-status-card h2,.lesson-notes-status-card .lesson-notes-state{margin-bottom:10px}.lesson-notes-status-copy{margin-bottom:16px}.lesson-notes-actions{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.lesson-notes-actions button{width:100%;min-height:44px}.lesson-notes-actions .lesson-notes-primary-action{font-weight:700}.lesson-notes-saved{min-height:20px;margin:10px 0 0}.lesson-notes-delivery{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.lesson-notes-delivery h3{margin:0 0 4px}.lesson-notes-delivery p{margin:0 0 10px}.lesson-notes-delivery button{width:100%;min-height:44px}.lesson-notes-checklist-title{margin-top:0}.lesson-notes-checklist{display:grid;gap:8px;margin:0;padding-left:19px}.lesson-notes-checklist li::marker{color:var(--accent-text)}.lesson-notes-conflict,.lesson-notes-recovery{border-color:var(--accent-line)}.lesson-notes-recovery h2{margin-top:0}.lesson-notes-recovery-preview{max-height:18rem;margin:0;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap;font:inherit}.lesson-notes-grooves{margin-top:18px}.lesson-notes-grooves-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.lesson-notes-grooves-head h2,.lesson-notes-grooves-head p{margin:0}.lesson-notes-grooves-head p{margin-top:3px;max-width:62ch}.lesson-notes-student-link{margin:18px 0 0}@media (max-width: 900px){.lesson-notes-form{grid-template-columns:1fr}.lesson-notes-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.lesson-notes-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-notes-title-row,.lesson-notes-editor-head,.lesson-notes-grooves-head{align-items:stretch;flex-direction:column}.lesson-notes-title-row .lesson-notes-state{align-self:flex-start}}@media (max-width: 620px){.lesson-notes-side{grid-template-columns:1fr}.lesson-notes-editor{padding:16px}.lesson-notes-field textarea{min-height:260px}}@media (max-width: 430px){.lesson-notes-context{align-items:stretch}.lesson-notes-context-item{width:100%;justify-content:flex-start;border-radius:var(--radius-control)}.lesson-notes-attendance-grid{grid-template-columns:1fr}}.school-writeup-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);grid-template-areas:"editor status" "music status" "files files" "goals goals";gap:16px;align-items:start;margin-top:16px}.school-writeup-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;grid-area:editor;margin:0}.school-writeup-goals{grid-area:goals;min-width:0}.school-writeup-goals>.panel{margin-bottom:0}.school-writeup-progress{margin-bottom:0}.school-writeup-disclosure>summary{color:var(--ink)}.school-writeup-disclosure>summary h2{margin:0;font-size:inherit;line-height:inherit}.school-writeup-disclosure>summary .school-writeup-summary-title{color:var(--ink)}.school-writeup-disclosure>summary .small{margin-left:auto}.school-writeup-teaching-tools{margin:0 0 var(--space-4)}.school-writeup-teaching-tools .lesson-note-tool-rail{position:static;width:auto;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0}.school-writeup-guidance{margin:var(--space-3) 0 0}.school-writeup-guidance .ui-disclosure-body{padding:0 var(--space-3) var(--space-3)}.school-writeup-guidance .lesson-notes-checklist{margin-bottom:0}.school-writeup-music{grid-area:music;min-width:0;margin:0}.school-writeup-music .lesson-notes-grooves-head{align-items:center;margin-bottom:var(--space-3)}.school-writeup-music-copy{margin:0;max-width:62ch}.school-writeup-music-empty{margin:0}.school-writeup-status-track{grid-area:status}.school-writeup-files{grid-area:files;min-width:0}.school-writeup-files .lesson-notes-files{margin-top:0}@media (max-width: 900px){.school-writeup-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor" "status" "music" "files" "goals"}}.lesson-notes-files{margin-top:18px}.lesson-notes-files-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.lesson-notes-files-head h2,.lesson-notes-files-head p{margin:0}.lesson-notes-files-head p{margin-top:3px;max-width:62ch}.lesson-notes-files-panel,.lesson-notes-files-empty{margin:0}.lesson-notes-file-list{display:grid;gap:6px;list-style:none;margin:0;padding:0}.lesson-notes-file{align-items:baseline;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.lesson-notes-file-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.lesson-notes-file-name{overflow-wrap:anywhere}.lesson-notes-file-meta{white-space:nowrap}@media (max-width: 620px){.lesson-notes-files-head{align-items:stretch;flex-direction:column}.lesson-notes-file{grid-template-columns:minmax(0,1fr) auto}.lesson-notes-file-meta,.lesson-notes-file-name{grid-column:1 / -1}}.lesson-notes-outlook-emails{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:12px}.lesson-notes-outlook-email{display:grid;gap:6px}.lesson-notes-outlook-address{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.lesson-notes-outlook-app{color:var(--muted)}.lesson-notes-outlook-warning{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:8px 10px}.lesson-notes-outlook-open{display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--accent);color:var(--accent-ink);border-radius:7px;padding:7px 13px;text-decoration:none}.lesson-notes-outlook-open:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.lesson-resource-editor{position:relative}.lesson-resource-text{min-height:18rem;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.lesson-resource-text:focus{outline:2px solid var(--accent-line);outline-offset:2px}.lesson-resource-text:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.lesson-resource-text a{text-decoration:underline}.lesson-resource-menu{position:absolute;top:100%;left:0;right:0;z-index:20;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 8px 24px #0002;max-height:320px;overflow-y:auto}.lesson-resource-menu [role=option]{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:transparent;color:inherit;border:0;padding:10px}.lesson-resource-menu [aria-selected=true]{background:var(--accent-soft);color:var(--ink)}.lesson-resource-menu [role=option] span:first-child{overflow-wrap:anywhere;min-width:0}.lesson-resource-menu [role=option] span:last-child{flex-shrink:1;max-width:55%;text-align:right;overflow-wrap:anywhere}.lesson-student-work-list{display:flex;flex-direction:column;gap:var(--space-3)}.lesson-student-work-session{display:grid;gap:var(--space-2-5)}.lesson-student-work-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2-5);flex-wrap:wrap}.lesson-student-work-tags{display:flex;gap:var(--space-1-5);flex-wrap:wrap}.lesson-student-work-attachments{margin-top:var(--space-2-5)}.lesson-student-goals{display:grid;gap:var(--space-2-5)}.lesson-student-goals-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2-5);flex-wrap:wrap}.lesson-student-goals-list{display:grid;gap:var(--space-2-5);list-style:none;margin:0;padding:0}.lesson-student-goal{display:grid;gap:var(--space-1-5);min-width:0}.lesson-student-goal-title{display:flex;align-items:flex-start;gap:var(--space-1-5);flex-wrap:wrap}.lesson-student-goal-title strong{min-width:0;overflow-wrap:anywhere}.lesson-student-goal-meta{margin:0}.student-record-page--progress .student-record-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"identity next" "actions next";gap:12px 20px}.student-record-page--progress .student-record-actions{justify-content:flex-start}.student-record-page--progress .student-record-next{padding:12px 14px}.student-record-page--progress .student-record-next-heading h2{font-size:1em}.student-record-page--progress .student-record-next .slot{margin-top:8px}.student-progress-workspace{display:grid;gap:18px}.student-progress-toolbar,.student-progress-summary-head,.student-progress-summary-title,.student-progress-summary-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.student-progress-toolbar{flex-wrap:wrap}.student-progress-toolbar h2{margin:0 0 3px}.student-progress-toolbar p{margin:0}.student-progress-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.student-progress-focus{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:var(--radius-card);background:var(--accent-soft)}.student-progress-focus>div{min-width:0}.student-progress-focus h3{font-size:1.08em;margin:4px 0}.student-progress-focus p{margin:0}.student-progress-eyebrow{color:var(--muted);font-size:.78em;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.student-progress-focus .student-progress-eyebrow{color:var(--accent-text)}.student-progress-detail-link{border:0;background:transparent;color:var(--accent-text);padding:4px 0;min-height:34px;font-size:.85em;text-align:left;box-shadow:none}.student-progress-detail-link:hover{background:transparent;color:var(--accent-text);text-decoration:underline}.student-progress-snapshot-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}.student-progress-snapshot-column{display:grid;gap:18px;min-width:0}.student-progress-summary{padding:16px}.student-progress-summary h3{margin:0;font-size:1em}.student-progress-summary-head{margin-bottom:10px}.student-progress-summary-head>*{min-width:0}.student-progress-summary-head .small{text-align:right}.student-progress-summary-row{border-top:1px solid var(--line);padding:11px 0}.student-progress-summary-row:first-of-type{border-top:0;padding-top:0}.student-progress-summary-row:last-of-type{padding-bottom:0}.student-progress-summary-title{align-items:start;margin-bottom:4px}.student-progress-summary-title strong{min-width:0;overflow-wrap:anywhere}.student-progress-summary-title .tag{flex-shrink:0}.student-progress-summary-row p{margin:0}.student-progress-summary-foot{flex-wrap:wrap;margin-top:4px}.student-progress-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere}.student-progress-stats{display:flex;flex-wrap:wrap;gap:28px;margin:10px 0 14px}.student-progress-stats>div{display:grid;gap:3px}.student-progress-stats strong{font-size:1.7em;line-height:1.2}.student-progress-stats small{font-size:.5em;font-weight:400}.student-progress-feedback-preview{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.student-progress-feedback-preview p{margin:3px 0}.student-progress-account-facts{display:grid;gap:10px;margin:12px 0 0}.student-progress-account-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px}.student-progress-account-facts dt{display:grid;gap:1px;font-size:.85em}.student-progress-account-facts dd{margin:0;text-align:right}.student-progress-recent{min-width:0}.student-progress-recent-list{list-style:none;margin:0;padding:0}.student-progress-recent-list>li{border-top:1px solid var(--line)}.student-progress-recent-list summary{display:grid;grid-template-columns:115px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:12px 0;cursor:pointer}.student-progress-recent-list summary:after{content:"+";font-size:1.1em;color:var(--muted)}.student-progress-recent-list details[open] summary:after{content:"−"}.student-progress-recent-list summary::-webkit-details-marker{display:none}.student-progress-recent-list summary>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.student-progress-recent-copy{padding:0 0 14px 127px}.student-progress-recent-copy p{margin:0 0 6px;white-space:pre-line;overflow-wrap:anywhere}.student-progress-recent-copy a{display:inline-block;margin-top:7px}.student-progress-drawer .student-record-section-head{flex-wrap:wrap}.student-progress-drawer .panel{box-shadow:none}.student-progress-drawer .spread,.student-progress-drawer label{min-width:0}.student-progress-drawer :where(h2,h3,strong,p){overflow-wrap:anywhere}@media (max-width:720px){.student-record-page--progress .student-record-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "next" "actions"}.student-record-page--progress .student-record-actions>*{flex:1 1 auto}.student-progress-snapshot-grid{grid-template-columns:minmax(0,1fr)}.student-progress-focus{align-items:start;flex-wrap:wrap}.student-progress-summary-head{flex-wrap:wrap}.student-progress-recent-list summary{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}.student-progress-recent-list summary time{grid-column:1}.student-progress-recent-list summary>div{grid-column:1}.student-progress-recent-list summary:after{grid-column:2;grid-row:1 / 3;align-self:center}.student-progress-recent-copy{padding-left:0}.student-progress-account-facts>div{flex-wrap:wrap;gap:4px 12px}.student-progress-account-facts dd{text-align:left}}@media (pointer:coarse){.student-progress-detail-link{min-height:44px}}.student-note-workspace{display:grid;gap:18px;scroll-margin-top:20px}.student-note-recent{padding:0;overflow:hidden}.student-note-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.student-note-section-title h3{margin:0}.student-note-list{display:grid}.student-note-row{display:grid;grid-template-columns:minmax(105px,.7fr) minmax(0,2fr) auto;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line)}.student-note-row:last-child{border-bottom:0}.student-note-date,.student-note-main{display:grid;gap:3px}.student-note-heading-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.student-note-action{white-space:nowrap;font-weight:650}@media (max-width: 720px){.student-note-row{grid-template-columns:1fr auto}.student-note-date,.student-note-main{grid-column:1}.student-note-action{grid-column:2;grid-row:1 / span 2;align-self:center}}@media (max-width: 520px){.student-note-section-title,.student-note-row{padding-left:14px;padding-right:14px}.student-note-row{grid-template-columns:1fr}.student-note-action{grid-column:1;grid-row:auto;justify-self:start;min-height:44px;display:inline-flex;align-items:center}}.hub-invite-recipients{border:0;padding:0;margin:1rem 0;min-width:0}.hub-invite-recipients legend{font-weight:600;margin-bottom:.6rem}.hub-invite-address{padding:.8rem 0;border-bottom:1px solid var(--line)}.hub-invite-recipient{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer}.hub-invite-recipient input{margin-top:.3rem;flex:0 0 auto}.hub-invite-recipient>span{display:grid;gap:.2rem;min-width:0}.hub-invite-email{overflow-wrap:anywhere}.hub-invite-address>button{margin-top:.6rem}.student-recurring-lessons{min-width:0}.student-recurring-heading,.student-recurring-plan-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.student-recurring-heading h2,.student-recurring-heading p{margin:0}.student-recurring-heading p{margin-top:4px}.student-recurring-lessons .student-recurring-on{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-line)}.student-recurring-plan{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.student-recurring-plan-copy{min-width:0;flex:1;overflow-wrap:anywhere}.student-recurring-plan-title{justify-content:flex-start}.student-recurring-plan h3{font-size:16px;margin:0}.student-recurring-plan p{margin:6px 0 0}.student-recurring-actions{display:flex;flex-wrap:wrap;gap:8px}.student-recurring-actions button{min-height:44px}.student-recurring-history{margin-top:16px}.student-recurring-history summary{min-height:44px;display:list-item;box-sizing:border-box;padding:12px 0;line-height:20px;cursor:pointer}.student-recurring-help{margin-bottom:8px}@media (max-width: 640px){.student-recurring-plan{flex-direction:column;align-items:stretch}.student-recurring-actions button{flex:1 1 auto}}.admin-family-overview{min-width:0;border-color:var(--accent, #705c99);scroll-margin-top:80px}.student-record-family-shortcut{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem}.admin-family-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-family-heading h2{margin:.2rem 0 .4rem}.admin-family-heading p{max-width:68ch;margin:.35rem 0}.admin-family-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}.admin-family-account{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin:1rem 0;padding:1rem;border-radius:.6rem;background:var(--accent-soft)}.admin-family-account>div{display:grid;gap:.25rem;min-width:0}.admin-family-account strong{overflow-wrap:anywhere}.admin-family-overview select{max-width:100%;min-height:44px}.admin-family-overview label{display:block;font-size:.85rem;margin-bottom:.3rem}.admin-family-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.admin-family-empty-record{grid-column:1/-1;padding:.7rem 0}.admin-family-member{border:1px solid var(--line);border-radius:.6rem;padding:1rem;min-width:0}.admin-family-member-title{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.admin-family-member h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.admin-family-member h3 a{display:inline-flex;align-items:center;min-height:44px}.admin-family-member p{margin:.4rem 0 .8rem}.admin-family-member dl{margin:0;display:grid;gap:.5rem}.admin-family-member dl>div{display:grid;gap:.15rem}.admin-family-member dt{color:var(--muted);font-size:.8rem}.admin-family-member dd{margin:0;font-size:.9rem;overflow-wrap:anywhere}.admin-family-member-links{display:flex;gap:.4rem 1rem;flex-wrap:wrap;margin-top:.8rem;font-size:.85rem}.admin-family-member-links a{display:inline-flex;align-items:center;min-height:44px}.admin-family-timeline-heading{margin-top:1.5rem}.admin-family-timeline-heading h3{margin:0}.admin-family-timeline-heading p{margin:.4rem 0 .8rem}.admin-family-filters{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:.8rem}.admin-family-filters>div{min-width:0}.admin-family-directions{display:flex;gap:.4rem}.admin-family-directions button{min-height:44px}.admin-family-directions button[aria-pressed=true]{background:var(--ink);color:var(--panel)}.admin-family-lessons{list-style:none;padding:0;margin:0}.admin-family-lessons>li{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr) auto;gap:.8rem;align-items:center;padding:.9rem 0;border-top:1px solid var(--line)}.admin-family-lesson-person,.admin-family-lesson-detail{display:grid;gap:.3rem;min-width:0;overflow-wrap:anywhere}.admin-family-student-name{font-weight:650;display:inline-flex;align-items:center;min-height:44px}.admin-family-lesson-detail time{font-weight:600}.admin-family-lesson-detail>span{font-size:.85rem;color:var(--muted)}.admin-family-record-note{border-top:1px solid var(--line);padding-top:.9rem;margin-top:1rem}@media (max-width:600px){.admin-family-members{grid-template-columns:minmax(0,1fr)}.admin-family-lessons>li{grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.admin-family-lesson-person,.admin-family-lesson-detail{grid-column:1}.admin-family-lessons>li>.tag{grid-column:2;grid-row:1/3;max-width:100px;white-space:normal;text-align:center}.admin-family-filters>div:last-child{width:100%}.admin-family-filters select{width:100%}}.attendance-provider-stack{display:grid;gap:22px}.attendance-analytics{display:grid;gap:18px}.attendance-heading,.attendance-subheading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.attendance-heading h2,.attendance-subheading h3{margin-top:0;margin-bottom:4px}.attendance-heading p,.attendance-subheading p,.attendance-stats{margin:0}.attendance-stat{display:grid;gap:2px;width:100%;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);text-align:left;font:inherit;cursor:pointer;box-shadow:none}.attendance-stat:hover{border-color:var(--accent)}.attendance-stat:focus-visible,.attendance-table-link:focus-visible,.attendance-number-link:focus-visible,.attendance-filter-group button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.attendance-stat .stat-value{font-size:22px;font-weight:650}.attendance-stat .stat-label{font-size:13px}.attendance-stat .stat-note{color:var(--muted);font-size:12px}.attendance-denominator-note{margin:-8px 0 0}.attendance-trend,.attendance-students,.attendance-drilldown{display:grid;gap:12px}.attendance-chart{display:grid;gap:8px;padding:12px 0 4px}.attendance-chart-row{display:grid;grid-template-columns:minmax(90px,150px) minmax(120px,1fr);align-items:center;gap:10px}.attendance-chart-label{color:var(--muted);font-size:12px}.attendance-chart-track{display:flex;align-items:center;gap:2px;min-height:12px;overflow:hidden;border-radius:999px;background:var(--line)}.attendance-chart-bar{display:block;min-width:0;height:10px;background:var(--accent)}.attendance-chart-bar.no-show{opacity:.68}.attendance-chart-bar.cancelled{opacity:.4}.attendance-filter-group{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.attendance-filter-group button{padding:6px 9px}.attendance-filter-group button.active{border-color:var(--accent);background:var(--accent-soft);font-weight:650}.attendance-table-wrap{max-width:100%;overflow-x:auto}.attendance-table-wrap table{width:100%;min-width:650px}.attendance-table-link,.attendance-number-link{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.attendance-number-link{width:100%;text-align:right}.attendance-drilldown{padding-top:16px;border-top:1px solid var(--line)}.attendance-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px}.attendance-coverage{margin-top:2px}.attendance-coverage ul{margin-bottom:0}@media (max-width: 720px){.attendance-heading,.attendance-subheading{display:grid}.attendance-filter-group{justify-content:flex-start}.attendance-chart-row{grid-template-columns:1fr;gap:3px}.attendance-pagination{justify-content:space-between}}:root{--hub-bottom-dock-clearance: 0px;--hub-bottom-content-inset: 0px;--hub-family-shortcut-clearance: 0px;--hub-bottom-metronome-clearance: 0px;--bg: #f6f6f4;--panel: #ffffff;--ink: #1b1b1a;--muted: #6a6a66;--line: #e2e2dd;--accent: #f28c28;--accent-soft: #fff1e3;--accent-ink: #1b1b1a;--accent-text: #8a4a00;--accent-line: #c2410c;--chart-normal: #2563eb;--danger: #a93224;--danger-soft: #faece9;--danger-line: #d7a098;--space-1: 4px;--space-1-25: 5px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-4-5: 18px;--space-5: 24px;--space-6: 32px;--font-size-caption: .78rem;--font-size-small: .85rem;--font-size-lead: 1.1rem;--font-size-section: 1.2rem;--font-size-reading-title: clamp(1.65rem, 3vw, 2.3rem);--font-weight-semibold: 650;--line-height-heading: 1.2;--line-height-prose: 1.75;--tracking-eyebrow: .07em;--shadow-selection: inset 0 -3px currentColor;--radius-control: 7px;--radius-card: 12px;--radius-soft: 14px;--radius-pill: 999px;--radius: var(--radius-card);--control-min-height: 40px;--control-line-height: 1.5;--shadow: 0 1px 2px rgb(0 0 0 / 6%);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #17171a;--panel: #1f1f23;--ink: #ececea;--muted: #9a9a95;--line: #32323a;--accent: #f28c28;--accent-soft: #3a2a1d;--accent-ink: #17171a;--accent-text: #f28c28;--accent-line: #f28c28;--chart-normal: #8bb7ff;--danger: #ef8f7f;--danger-soft: #3a2422;--danger-line: #74453e;--shadow: none}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:inherit}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 12px;border:2px solid var(--accent-line);border-radius:7px;background:var(--panel);color:var(--ink);font-weight:600;text-decoration:none;transform:translateY(calc(-100% - 12px))}.skip-link:focus{transform:translateY(0)}.shell{display:grid;grid-template-columns:200px 1fr;grid-template-rows:minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow:hidden}.mobile-nav-bar,.sidebar-backdrop,.drawer-close{display:none}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto}.brand{font-weight:650;letter-spacing:-.01em;padding:0 10px 18px}.brand-mark{display:block;width:100%;max-width:178px;height:auto}.brand-auth{padding:0 0 6px}.brand-auth .brand-mark{max-width:200px}.brand small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:6px}.sidebar-sections{display:flex;flex-direction:column;gap:15px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.sidebar-quick-actions{display:contents}.nav-section{display:grid;gap:3px}.nav-heading{margin:0;padding:0 10px 3px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:7px;text-decoration:none;color:var(--muted)}.nav:hover{background:var(--line);color:var(--ink)}.nav.active{background:var(--accent-soft);color:var(--accent-text);font-weight:550}.sidebar-foot{margin-top:auto;padding:10px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);flex:0 0 auto;background:var(--bg)}.sidebar-foot a{overflow-wrap:anywhere}.main{padding:26px 30px 60px;padding-bottom:max(60px,calc(var(--hub-bottom-content-inset, 0px) + 16px));min-width:0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 14px;max-width:940px}.fields label{display:flex;flex-direction:column;gap:3px}.fields input,.fields select{width:100%}input,select,button{font:inherit;color:inherit}input,select{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:7px 9px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}button{background:var(--accent);color:var(--accent-ink);border:1px solid transparent;border-radius:7px;padding:7px 13px;cursor:pointer}button:disabled{opacity:.55;cursor:default}button.quiet{background:transparent;color:var(--muted);border-color:var(--line)}button.quiet:hover:not(:disabled){color:var(--ink)}button.link{background:transparent;border:0;border-radius:0;padding:0;color:inherit;font:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:3px}button.link:hover:not(:disabled){color:var(--accent-text)}h1{font-size:21px;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:15px;margin:26px 0 10px}.lede{color:var(--muted);margin:0 0 22px;max-width:70ch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:14px}.settings-tabs{margin:0 0 22px}.settings-tabs a{color:var(--muted);text-decoration:none;padding:6px 9px;border-radius:6px}.settings-tabs a.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.preview-button{background:#e8f1ff;border-color:#8aacdb;color:#183d70}.preview-result{border-color:#8aacdb;background:#f5f9ff}.settings-plan{border-top:1px solid var(--line);padding:10px 0}.settings-plan:first-child{border-top:0}.teaching-assignment-group{min-width:0;overflow-wrap:anywhere}.teaching-assignment-heading{align-items:flex-start}.teaching-assignment-heading>div{min-width:0}.teaching-assignment-heading h3{margin:0;font-size:1rem}.teaching-assignment-heading>.tag{flex-shrink:0}.teaching-assignment-lengths{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px;padding:0;list-style:none}.teaching-assignment-lengths>.tag{white-space:normal}.teaching-assignment-details>summary{min-height:44px}.teaching-assignment-scope textarea{min-width:0;max-width:100%}.tutor-student-list{display:grid;gap:8px}.tutor-student-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;padding:11px 13px;cursor:pointer}.tutor-student-row:hover,.tutor-student-row.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.tutor-student-row>span:first-child{display:grid;gap:3px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:550;padding:0 10px 8px}td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}tbody tr:hover td{background:var(--bg)}tfoot th{font-size:inherit;font-weight:600;text-transform:none;letter-spacing:normal;color:inherit;padding:9px 10px;border-top:2px solid var(--line)}.tabular{font-variant-numeric:tabular-nums}.panel.session{display:flex;flex-direction:column;gap:10px}.attachments{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.attachment{margin:0;max-width:220px}.attachment img,.attachment video,.attachment iframe{display:block;width:220px;max-width:100%;max-height:165px;border:1px solid var(--line);border-radius:7px;background:#000;object-fit:cover}.attachment iframe{height:124px;border:0}.attachment figcaption{margin-top:4px;overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:13px}.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:20px;background:var(--line);color:var(--ink)}.tag.warn{background:var(--accent-soft);color:var(--accent-text)}.error{background:var(--accent-soft);color:var(--accent-text);border-radius:7px;padding:9px 12px;margin-bottom:12px}.notice{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:11px 13px;margin-bottom:12px}.notice.warn{background:var(--accent-soft);border-color:var(--accent-text);color:var(--accent-text)}.fold>summary{cursor:pointer;padding:8px 2px;font-weight:600;list-style-position:inside}.fold>summary::marker{color:var(--muted)}.fold>summary:hover{color:var(--accent-text)}.fold>summary:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px;border-radius:4px}.datefield{display:flex;flex-direction:column;gap:3px;position:relative;min-width:0;max-width:100%}[data-booking-date-controls]>.datefield{width:330px}.datefield-box{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:7px;background:var(--panel);overflow:hidden}.datefield-box:focus-within{border-color:var(--accent-line)}.datefield-input{font:inherit;flex:1;min-width:0;padding:7px 10px;border:0;background:none;color:var(--ink)}.datefield-input:focus{outline:none}.datefield-open{display:flex;align-items:center;padding:0 9px;border:0;border-left:1px solid var(--line);border-radius:0;background:none;color:var(--muted);cursor:pointer}.datefield-open:hover,.datefield-open[aria-expanded=true]{color:var(--accent-text);background:var(--accent-soft)}.datepicker{position:fixed;z-index:1100;width:min(330px,calc(100vw - 16px));max-width:calc(100vw - 16px);overflow:auto;overscroll-behavior:contain;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.datepicker--in-dialog{z-index:auto}.datepicker-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px}.datepicker-bar.is-footer{justify-content:flex-start;padding:8px 0 0;border-top:1px solid var(--line)}.datepicker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.datepicker-weekday{padding-bottom:4px;font-size:11px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.04em}.datepicker-day{font:inherit;font-size:15px;aspect-ratio:1;width:100%;min-width:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:none;color:var(--ink);cursor:pointer}.datepicker-day:hover{background:var(--accent-soft)}.datepicker-day.is-outside{color:var(--muted)}.datepicker-day.is-today{border-color:var(--accent-line)}.datepicker-day.is-chosen{background:var(--accent);color:var(--accent-ink);font-weight:600}@media (max-width: 430px){.datepicker{padding:8px}.datepicker-grid{gap:1px}}.empty{color:var(--muted);padding:26px 0;text-align:center}.family{max-width:680px;margin:0 auto;padding:22px 18px 60px}.family-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.notes{white-space:pre-wrap;margin:8px 0 0}.sync{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.sync button{margin-top:6px}.sync-error{color:var(--accent-text);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signin{min-height:100vh;display:grid;place-items:center;padding:20px}.signin form{width:320px;display:flex;flex-direction:column;gap:10px}.signin input{width:100%}.day-heading{margin:22px 0 8px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.slot{border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin-bottom:6px;background:var(--panel);display:flex;gap:14px;align-items:baseline}.slot time{font-variant-numeric:tabular-nums;font-weight:550;min-width:46px}.notes-link{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:3px 9px;white-space:nowrap}.notes-link:hover{color:var(--accent-text);border-color:var(--accent-line)}@media (max-width: 900px){.shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);align-content:start}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:min(86vw,320px);height:100dvh;border-right:1px solid var(--line);background:var(--bg);box-shadow:8px 0 28px #0000002e;transform:translate(-105%);visibility:hidden;pointer-events:none;transition:transform .18s ease,visibility .18s}.sidebar[data-open=true]{transform:translate(0);visibility:visible;pointer-events:auto}.mobile-nav-bar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg)}.mobile-brand{padding:0}.drawer-close{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;padding:0;color:var(--muted);font-size:24px;line-height:1}.menu-toggle{display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto;padding:0;border-color:var(--line);background:var(--panel);color:var(--ink)}.menu-toggle:hover{border-color:var(--accent-line)}.menu-icon{display:grid;gap:4px;width:18px}.menu-icon span{display:block;height:2px;border-radius:2px;background:currentColor}.sidebar-backdrop{position:fixed;z-index:25;top:0;right:0;bottom:0;left:0;display:block;background:#00000061}.sidebar-foot{padding:14px 10px 4px}.main{padding:18px 16px 50px}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:14px}.stat-value{font-size:26px;font-weight:600;line-height:1.2}.slot-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.availability-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 18px;margin-bottom:12px}.availability-controls>.row:last-child{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-width:0}.availability-window{min-width:0;text-align:center;overflow-wrap:anywhere}.booking-selection-summary{display:flex;position:sticky;z-index:5;top:72px;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:var(--radius-card);background:var(--panel);box-shadow:var(--shadow)}.booking-checkout{margin-top:12px;scroll-margin-block:96px}.booking-checkout:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}@media (max-width: 620px){.availability-controls{grid-template-columns:1fr}.availability-controls>.row:last-child{width:100%;gap:6px}.availability-controls>.row:last-child button{padding-inline:8px}.availability-window{font-size:.9em;line-height:1.3}.booking-selection-summary{align-items:stretch;flex-direction:column}.booking-selection-summary button{justify-content:center}}.availability-day+.availability-day{border-top:1px solid var(--line)}.availability-day .day-heading{margin-top:16px}.stack{display:flex;flex-direction:column;gap:3px;max-width:420px}.reasons{margin:6px 0 0;padding-left:18px}.change-lesson{border-left:3px solid var(--accent-line);margin:4px 0 14px}.tutor-cancel-dialog.change-lesson{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cal-bar{flex-wrap:wrap}.cal-views{display:flex;gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.cal-view{font:inherit;color:var(--muted);background:var(--panel);border:0;border-right:1px solid var(--line);padding:5px 12px;cursor:pointer}.cal-view:last-child{border-right:0}.cal-view.is-on{color:var(--accent-ink);background:var(--accent)}.cal-period{flex:0 0 auto;width:min(17rem,50vw);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-week,.cal-month{overflow-x:auto}.cal-week-head,.cal-week-body{display:grid;grid-template-columns:54px repeat(var(--columns, 7),minmax(116px,1fr));min-width:calc(54px + var(--columns, 7) * 116px)}.cal-week.is-whole-day{max-height:72vh;overflow-y:auto}.cal-week.is-whole-day .cal-week-head{position:sticky;top:0;z-index:1;background:var(--bg)}.cal-day-head{padding:6px 8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.cal-gutter-head{border-bottom:1px solid var(--line)}.cal-daynum{color:var(--ink);font-weight:600}.cal-day-head.is-today{color:var(--accent-text);background:var(--accent-soft)}.cal-day-head.is-today .cal-daynum{color:var(--accent-text)}.cal-week-body{--slot-h: 20px}.cal-gutter{display:grid}.cal-hour{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;padding-right:6px;transform:translateY(-6px)}.cal-day{display:grid;grid-template-columns:1fr;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px calc(var(--slot-h) * 4))}.cal-day.is-today{background-color:var(--accent-soft)}.rota{display:grid;gap:12px;padding:12px 0 4px;min-width:460px}.rota-week{display:grid;gap:5px}.rota-day{display:grid;grid-template-columns:84px 1fr auto;gap:10px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.rota-day-head{display:flex;flex-direction:column;line-height:1.3}.rota-periods{display:flex;flex-wrap:wrap;gap:6px 14px}.rota-period{display:flex;align-items:center;gap:5px}.rota-period input{width:112px;padding:4px 6px;font-size:13px}@media (max-width: 620px){.rota{min-width:0}.rota-day{grid-template-columns:1fr;justify-items:start}}.cal-closed{grid-column:1;background:color-mix(in srgb,var(--muted) 13%,transparent);z-index:0}.cal-session{position:relative;z-index:1;display:block;grid-column:1;border:1px solid var(--line);border-left:3px solid var(--accent-line);border-radius:6px;background:var(--panel);padding:1px 5px;font-size:11px;line-height:1.45;text-decoration:none;overflow:hidden}.cal-session:hover{border-color:var(--accent-line);border-left-color:var(--accent-line);box-shadow:var(--shadow)}.cal-session.is-done{border-left-color:var(--line)}.cal-session.is-draft{border-left-style:dashed}.cal-session-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-session-line time{font-variant-numeric:tabular-nums;color:var(--muted)}.cal-session-who{font-weight:600}.cal-session.is-unmatched .cal-session-who{font-weight:400;font-style:italic;color:var(--muted)}.cal-session-detail{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-session-detail a{color:var(--ink)}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);min-width:640px}.cal-month-head{padding:5px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cal-cell{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-height:92px;padding:4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}.cal-cell.is-outside{background:var(--bg)}.cal-cell.is-outside .cal-cell-day{color:var(--muted)}.cal-cell.is-today{background:var(--accent-soft)}.cal-cell-day{font:inherit;font-size:12px;font-weight:600;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}.cal-cell.is-today .cal-cell-day{color:var(--accent-text)}.cal-entry,.cal-more{font:inherit;font-size:11px;line-height:1.4;color:inherit;background:var(--bg);border:0;border-left:2px solid var(--accent-line);border-radius:3px;padding:1px 4px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cal-entry time{font-variant-numeric:tabular-nums;color:var(--muted)}.cal-more{border-left:0;background:none;color:var(--muted)}.cal-entry:hover,.cal-more:hover,.cal-cell-day:hover{color:var(--accent-text)}.cal-session.is-other{border-left-color:var(--line);background:var(--bg);color:var(--muted);cursor:default}.cal-session.is-other .cal-session-who{font-weight:500;color:var(--muted)}.cal-entry.is-other{border-left-color:var(--line);color:var(--muted)}.slot.is-other{border-style:dashed;background:none}.cal-whose{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:4px;padding-top:11px;border-top:1px solid var(--line)}.cal-tick{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer;white-space:nowrap}.cal-tick input{margin:0;accent-color:var(--accent);cursor:pointer}.swatches{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.swatch{width:20px;height:20px;padding:0;border:2px solid transparent;border-radius:5px;cursor:pointer}.swatch.is-on{border-color:var(--ink)}.swatch.is-none{background:var(--panel);border:1px dashed var(--line)}.swatch.is-none.is-on{border:2px solid var(--ink)}.cal-session.has-colour,.cal-entry.has-colour,.slot.has-colour{border-left-color:hsl(var(--hue) var(--sat) calc(38% + var(--shade) * 8%))}.cal-session.has-colour{background:hsl(var(--hue) calc(var(--sat) * .55) calc(96% - var(--shade) * 2%))}.cal-entry.has-colour{background:hsl(var(--hue) calc(var(--sat) * .4) calc(96% - var(--shade) * 2%))}@media (prefers-color-scheme: dark){.cal-session.has-colour,.cal-entry.has-colour,.slot.has-colour{border-left-color:hsl(var(--hue) var(--sat) calc(60% + var(--shade) * 6%))}.cal-session.has-colour{background:hsl(var(--hue) calc(var(--sat) * .35) calc(19% + var(--shade) * 2%))}.cal-entry.has-colour{background:hsl(var(--hue) calc(var(--sat) * .3) calc(19% + var(--shade) * 2%))}.cal-session.is-no-show,.cal-entry.is-no-show{--no-show-stripe: hsl(var(--hue, 30) var(--sat, 85%) 65% / .12)}.cal-session.is-no-show,.cal-entry.is-no-show,.slot.is-no-show{--no-show-ink: color-mix(in srgb, var(--muted) 5%, var(--ink))}.cal-session.has-no-show-participants{--no-show-ink: color-mix(in srgb, var(--muted) 40%, var(--ink))}}.cal-session.is-other.has-colour{background:hsl(var(--hue) calc(var(--sat) * .25) calc(97% - var(--shade) * 1%))}.cal-session.is-no-show,.cal-entry.is-no-show{background-image:repeating-linear-gradient(135deg,var(--no-show-stripe, hsl(var(--hue, 30) var(--sat, 85%) 50% / .12)) 0 6px,transparent 6px 12px);border-left-style:dotted;color:var(--no-show-ink, color-mix(in srgb, var(--muted) 60%, var(--ink)))}.cal-session.is-no-show .cal-session-who,.cal-entry.is-no-show{font-weight:500}.cal-session.has-no-show-participants .cal-session-detail{color:var(--ink)}.cal-session.is-no-show .cal-session-detail,.cal-session.is-no-show time,.cal-session.is-no-show .cal-session-who,.cal-entry.is-no-show time,.is-no-show-participant,.slot.is-no-show,.slot.is-no-show a{color:var(--no-show-ink, color-mix(in srgb, var(--muted) 60%, var(--ink)))}.cal-session.is-no-show:hover,.cal-session.is-no-show:focus-visible,.cal-entry.is-no-show:hover,.cal-entry.is-no-show:focus-visible{color:var(--ink)}.cal-session.is-no-show:hover .cal-session-who,.cal-session.is-no-show:focus-visible .cal-session-who{color:var(--ink)}.cal-no-show-pill{display:inline-block;padding:0 4px;border:1px solid currentColor;border-radius:var(--radius-pill);background:var(--panel);color:inherit;font-size:10px;font-weight:500;line-height:1.25;white-space:nowrap}.cal-no-show-detail{display:block}.cal-no-show-marker{display:inline}@media (prefers-color-scheme: dark){.cal-session.is-other.has-colour{background:hsl(var(--hue) calc(var(--sat) * .2) calc(17% + var(--shade) * 1%))}}.slot.has-colour{border-left-width:3px;border-left-style:solid}.tabs{display:flex;gap:2px;margin-bottom:18px;border-bottom:1px solid var(--line)}.tab{padding:8px 14px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent-text);border-bottom-color:var(--accent-line);font-weight:550}button.tab{background:none;border-color:transparent;border-radius:0}button.tab:hover:not(:disabled){color:var(--ink);background:none}.swatch.is-taken{opacity:.3;cursor:not-allowed}.filters{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);gap:6px 14px}.filters select.is-on{border-color:var(--accent-line);color:var(--accent-text)}.groove-new{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.groove-new label{display:block;width:100%;margin-bottom:4px}.groove-new input{flex:1 1 220px;min-width:0}.groove-list{list-style:none;margin:0;padding:0}.groove-list li{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}.groove-list li>a{flex:1 1 auto;font-weight:550}.groove-list .meta{color:var(--muted);font-size:.9em}.groove-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.groove-library-grid li{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.groove-library-grid li>.groove-library-open{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:96px;padding:12px 14px;border-radius:12px 12px 0 0;color:var(--ink);text-decoration:none}.groove-library-title{overflow-wrap:anywhere}.groove-library-open:hover,.groove-library-open:focus-visible{border-color:var(--accent-line);background:var(--accent-soft)}.groove-library-open .meta{font-size:.8rem;font-weight:400}.groove-library-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 8px}.groove-library-delete{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px}@media (max-width: 900px){.groove-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.groove-library-grid{grid-template-columns:minmax(0,1fr)}}.groove-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.groove-title{flex:1 1 240px;min-width:0;font-size:1.3rem;font-weight:600}.groove-actions{display:flex;flex-wrap:wrap;gap:8px}.groove-settings{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}.groove-settings label{display:flex;align-items:center;gap:6px}.groove-settings input{width:5em}.groove-scope .grid-editor,.groove-scope .notation{overflow-x:auto}.groove-scope{border-radius:var(--radius);overflow:hidden}.groove-share-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:12px 0}.groove-share-form label{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:0}.groove-share-list{list-style:none;margin:0;padding:0}.groove-share-list li{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}.groove-share-list .who{font-weight:550}.groove-share-list li.is-withdrawn{color:var(--muted)}.groove-share-list li.is-withdrawn .who{text-decoration:line-through}.groove-list .note,.groove-share-list .note{color:var(--muted);font-style:italic}.todo-list{list-style:none;margin:0;padding:0}.todo-list li{padding:8px 0;border-bottom:1px solid var(--line)}.todo-list li:last-child{border-bottom:0}.todo-list label{display:flex;align-items:baseline;gap:8px;cursor:pointer}.todo-title{font-weight:550}.todo-list li.is-done .todo-title{text-decoration:line-through;color:var(--muted)}.todo-note{margin:2px 0 0 24px;color:var(--muted);font-size:.95em}.todo-groove{display:inline-block;margin:4px 0 0 24px;font-size:.95em}.groove-share-form .todo-check{flex:0 0 auto;flex-direction:row;align-items:center;gap:6px;padding-bottom:6px}.badge{font-size:.8em;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.badge.done{border-color:var(--accent);color:var(--accent)}.lesson-groove{padding:12px 0;border-top:1px solid var(--line)}.lesson-groove .groove-scope{border-radius:var(--radius);overflow:hidden;margin:8px 0}.groove-settings label{flex-direction:column;align-items:start;gap:2px}.groove-settings select,.groove-settings input[type=number]{min-width:6em}.groove-settings input[type=range]{width:8em}.groove-settings .todo-check{flex-direction:row;align-items:center;gap:6px;align-self:end;padding-bottom:6px}.waitlist-short-notice{display:flex;gap:var(--space-2);align-items:flex-start;margin-top:var(--space-3)}.waitlist-preference-editor{flex-basis:100%}.students-page{max-width:1180px}.students-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:10px}.students-page-head .lede{margin-bottom:0}.students-total{display:grid;min-width:96px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:right;box-shadow:var(--shadow)}.students-total strong{font-size:22px;line-height:1.1}.students-total span{color:var(--muted);font-size:12px}.student-scope-switch{display:inline-flex;gap:6px;margin:0 8px 18px 0;vertical-align:top}.student-scope-switch button:hover:not(:disabled){color:var(--ink);border-color:var(--accent-line)}.student-scope-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--ink);border-color:var(--accent)}.students-page>.student-scope-switch+.row,.students-page>.student-import-entry{display:inline-flex;margin:0 8px 18px 0;vertical-align:top}.students-page>.student-import-entry{margin-right:0}.student-roster-controls{display:grid;gap:14px;margin-top:18px}.student-roster-search-row{display:flex;gap:12px;align-items:end}.student-search{display:grid;gap:4px;flex:1}.student-search input{width:100%;min-width:220px}.student-filter-row{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}.student-filter{display:grid;gap:4px}.student-filter select{min-width:120px}.student-sort select{min-width:154px}.student-page-size select{min-width:82px}.student-clear-filters{margin-bottom:1px}.student-active-filters{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.student-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.student-results-summary{justify-self:end}.student-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-roster-card{display:grid;grid-template-rows:auto 1fr auto;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.student-roster-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:17px 18px 12px}.student-roster-name{display:inline-block;color:var(--ink);font-size:17px;font-weight:650;line-height:1.25;text-decoration:none}.student-roster-name:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.student-roster-learning{display:grid;gap:2px;margin-top:5px;color:var(--muted)}.student-roster-attention-summary{margin-top:7px;color:var(--accent-text, var(--accent));font-weight:600}.student-roster-details>summary{display:none}@media (min-width: 761px){.student-roster-details:not([open])>.student-roster-meta{display:grid}}.student-roster-meta{display:grid;gap:0;margin:0;padding:0 18px 14px}.student-roster-meta>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;padding:7px 0;border-top:1px solid var(--line)}.student-roster-meta dt{color:var(--muted);font-size:12px}.student-roster-meta dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:13px}.student-roster-attention dd,.student-attention-cell{font-weight:600}.student-roster-card-foot{border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 82%,var(--bg))}.student-row-actions{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;font-size:13px}.student-row-actions a{font-weight:600}.student-roster-card-foot .student-row-actions{padding:10px 18px}.student-admin-table{overflow-x:auto}.student-admin-table table{min-width:920px}.student-directory-mobile{display:none}.student-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px}@media (max-width: 900px){.student-roster-grid{grid-template-columns:1fr}}@media (max-width: 760px){.student-directory-desktop{display:none}.student-directory-mobile{display:block}.student-roster-details>summary{display:flex;min-height:var(--control-min-height);align-items:center;padding:8px 15px;border-top:1px solid var(--line);color:var(--muted);cursor:pointer;font-size:13px;font-weight:600}.student-roster-details>summary:after{margin-left:auto;content:"+"}.student-roster-details[open]>summary:after{content:"−"}.student-roster-details[open]>.student-roster-meta{padding-top:4px}}@media (max-width: 620px){.students-page-head{align-items:stretch}.students-total{min-width:78px}.student-scope-switch{display:flex;width:100%;margin-right:0;margin-bottom:8px}.student-scope-switch button{flex:1 1 0;justify-content:center}.students-page>.student-scope-switch+.row,.students-page>.student-import-entry{margin-bottom:12px}.student-roster-search-row{align-items:stretch;flex-direction:column}.student-search input{min-width:0}.student-sort,.student-page-size{width:fit-content}.student-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-filter select{width:100%;min-width:0}.student-clear-filters{grid-column:1 / -1;justify-self:start}.student-active-filters{align-items:flex-start;flex-direction:column}.student-results-summary{justify-self:start}}@media (max-width: 420px){.students-page-head{display:grid}.students-total{justify-self:start;text-align:left}.student-filter-row{grid-template-columns:1fr}.student-roster-card-head{padding:15px 15px 11px}.student-roster-meta{padding:0 15px 12px}.student-roster-card-foot .student-row-actions{padding:10px 15px}}.student-search-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.student-search-header .student-search input{min-width:0}#student-filters>*+*{margin-top:14px}.cal-bar{display:grid;grid-template-columns:202px minmax(0,1fr);align-items:stretch;gap:16px;padding:14px 16px;border-radius:12px}.cal-toolbar{display:flex;flex-direction:column;justify-content:space-between;min-width:0;gap:12px}.cal-toolbar-main{min-width:0;flex-wrap:wrap;gap:12px}.cal-toolbar>.cal-whose{flex-basis:auto}.cal-toolbar .cal-navigation{min-width:0;max-width:100%;flex-wrap:nowrap;gap:8px}.cal-navigation .cal-period{min-width:0;flex-shrink:1}.cal-payment-key{position:relative;flex:0 0 auto}.cal-payment-key>summary{min-height:32px;display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;list-style:none;white-space:nowrap}.cal-payment-key>summary::-webkit-details-marker{display:none}.cal-session-button.is-syncing{opacity:.65}.cal-payment-key>summary:after{content:"?";display:inline-grid;width:16px;height:16px;margin-left:6px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:10px;line-height:1}.cal-payment-key>summary:hover,.cal-payment-key>summary:focus-visible{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.cal-payment-key>summary:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.cal-payment-key-popover{position:absolute;z-index:30;top:calc(100% + 7px);right:0;width:min(310px,calc(100vw - 32px));padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.cal-payment-key-popover dl{display:grid;gap:7px;margin:0}.cal-payment-key-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center}.cal-payment-key-row dt{display:inline-grid;width:24px;height:24px;place-items:center;margin:0;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:12px;font-weight:800}.cal-payment-key-row dd{margin:0;font-size:13px}.cal-payment-key-popover p{margin:10px 0 0}.cal-views{flex:0 0 auto;border-radius:9px;background:var(--bg)}.cal-view{min-height:var(--control-min-height);padding:7px 14px;font-weight:600}.cal-view:hover:not(.is-on){background:var(--bg);color:var(--ink)}.cal-view.is-on{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 78%,var(--ink))}.cal-navigation>button.quiet[aria-label^=Previous],.cal-navigation>button.quiet[aria-label^=Next]{display:grid;width:40px;height:40px;place-items:center;flex:0 0 auto;padding:0;font-size:18px}.cal-period{font-size:15px;font-weight:650;letter-spacing:-.01em}.cal-toolbar-main>span.small.muted{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--bg);white-space:nowrap}.cal-whose{gap:7px;margin-top:0;padding-top:12px}.cal-whose>span:first-child{margin-right:2px;color:var(--ink);font-weight:600}.cal-tick{gap:6px;min-height:32px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.cal-tick:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.cal-tick:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft);color:var(--accent-text, var(--accent))}.cal-payment-indicator{position:absolute;z-index:2;top:2px;right:4px;display:inline-grid;min-width:18px;height:18px;place-items:center;padding:0 4px;border:1px solid color-mix(in srgb,var(--ink) 28%,var(--line));border-radius:999px;background:var(--panel);color:var(--ink);font-size:10px;font-weight:800;line-height:1;box-shadow:var(--shadow)}.cal-payment-indicator.is-settled{border-color:color-mix(in srgb,var(--ink) 34%,var(--line))}.cal-payment-indicator.is-due{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel));color:var(--accent-text, var(--accent))}.cal-payment-indicator.is-overdue,.cal-payment-indicator.is-attention{border-width:2px;border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text, var(--accent))}.cal-payment-indicator.is-refund{border-style:dashed}.cal-payment-indicator.is-neutral{color:var(--muted)}.cal-bar~section{margin:18px 0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.cal-bar~section>.day-heading{margin:0;padding:10px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 72%,var(--panel));font-size:12px;font-weight:650;letter-spacing:.055em}.cal-bar~section>.slot{margin:0;gap:16px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);border-right:0;border-bottom:0;border-radius:0;box-shadow:none}.cal-bar~section>.day-heading+.slot{border-top:0}.cal-bar~section>.slot>div{min-width:0}.cal-bar~section>.slot time{min-width:58px;color:var(--ink);font-size:13px;font-weight:650}.cal-bar~section .notes-link{background:var(--bg);font-weight:550}.cal-bar~section .notes-link:hover,.cal-bar~section .notes-link:focus-visible{background:var(--accent-soft)}.cal-bar~section>.cal-list-appointment:hover{background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel))}.cal-list-open{display:flex;flex:0 0 auto;align-self:center;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;line-height:1;cursor:pointer}.cal-list-open:hover{background:var(--bg);color:var(--ink)}.cal-list-open:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.diary-list-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:12px 0 4px}.diary-list-pagination>:first-child{justify-self:start}.diary-list-pagination>:last-child{justify-self:end}.diary-list-pagination strong{text-align:center}@media (max-width: 560px),(pointer: coarse) and (hover: none){.cal-bar{grid-template-columns:minmax(0,1fr)}.cal-toolbar{padding-top:14px;border-top:1px solid var(--line)}}@media (min-width: 561px) and (max-width: 720px){.cal-toolbar-main .cal-payment-key{width:auto}}@media (max-width: 720px){.diary-list-pagination{position:sticky;z-index:5;top:72px;grid-template-columns:1fr 1fr;padding:8px 0;background:var(--bg)}.diary-list-pagination strong{grid-column:1 / -1;grid-row:1}.cal-bar{gap:10px;padding:12px}.cal-views{width:100%}.cal-view{flex:1 1 0;padding:8px 6px}.cal-period{width:min(14rem,calc(100vw - 150px))}.cal-navigation .cal-period{font-size:14px;white-space:normal}.cal-toolbar-main>span.small.muted{margin-left:0!important}.cal-payment-key{width:100%}.cal-payment-key>summary{width:fit-content;min-height:44px}.cal-payment-key-popover{position:static;width:100%;margin-top:7px;box-shadow:none}.cal-whose{gap:6px}.cal-bar~section{margin:14px 0}.cal-bar~section>.slot{flex-wrap:wrap;align-items:flex-start;gap:8px 10px;padding:11px 12px}.cal-bar~section>.slot time{min-width:50px}.cal-bar~section .notes-link{margin-left:auto}}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.dashboard-head h1{margin-bottom:4px}.dashboard-head .lede{margin:0}.dashboard-date{flex:0 0 auto;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:13px;font-weight:650}.dashboard-date{display:flex;align-items:center;gap:10px}.dashboard-clock{font-size:15px;font-weight:750;letter-spacing:.02em}.dashboard-up-next{margin-bottom:16px;border-color:color-mix(in srgb,var(--accent-line, var(--accent)) 55%,var(--line));background:color-mix(in srgb,var(--accent-soft) 34%,var(--panel))}.dashboard-up-next .dashboard-panel-head{border-bottom:0;padding-bottom:4px}.dashboard-up-next .dashboard-panel-head h2{font-size:20px}.dashboard-up-next-count{flex:0 0 auto}.dashboard-up-next-body{display:grid;gap:4px;padding:0 14px 14px}.dashboard-up-next-when{font-size:15px;font-weight:650}.dashboard-up-next-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:6px}.dashboard-envelope{margin-right:5px}.dashboard-lesson-row>.tag{display:inline-flex;align-items:center}.dashboard-attendance{display:inline-flex;flex:0 0 auto;gap:4px;align-items:center}.dashboard-attendance-option{min-height:28px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:inherit;font-size:11px;font-weight:650;cursor:pointer}.dashboard-attendance-option:hover:not(:disabled){color:var(--ink);border-color:var(--accent-line, var(--accent))}.dashboard-attendance-option.is-current{color:var(--ink);border-color:var(--accent-line, var(--accent));background:var(--accent-soft)}.dashboard-school-day{margin-top:14px}.dashboard-school-day-owed{flex:0 0 auto;text-align:right}.dashboard-refresh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.dashboard-metric,.dashboard-panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.dashboard-metric{position:relative;min-height:138px;padding:14px;overflow:hidden}.dashboard-metric:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:color-mix(in srgb,var(--accent) 50%,var(--line))}.dashboard-tone-warn:before{background:#d97706}.dashboard-tone-danger:before{background:#dc2626}.dashboard-metric-label{min-height:32px;color:var(--muted);font-size:12px;font-weight:650}.dashboard-metric-value{display:block;margin:3px 0 5px;font-size:clamp(25px,3vw,34px);line-height:1;letter-spacing:-.04em}.dashboard-card-link{display:inline-block;margin-top:10px;font-size:12px;font-weight:650}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.9fr);gap:14px;align-items:start}.dashboard-panel{overflow:hidden}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 14px;border-bottom:1px solid var(--line)}.dashboard-panel-head h2{margin:0;font-size:16px}.dashboard-panel-head a{flex:0 0 auto;font-size:12px;font-weight:650}.dashboard-lesson-row,.dashboard-note-row{display:flex;align-items:center;gap:12px;min-width:0;padding:11px 14px;border-top:1px solid var(--line)}.dashboard-panel-head+.dashboard-lesson-row,.dashboard-panel-head+.dashboard-note-row{border-top:0}.dashboard-lesson-row{flex-wrap:wrap}.dashboard-lesson-row>time{width:48px;flex:0 0 48px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.dashboard-lesson-main{display:flex;flex:1 1 180px;min-width:0;flex-direction:column;gap:2px}.dashboard-lesson-main strong,.dashboard-lesson-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-student-link{color:inherit;text-decoration-thickness:1px;text-underline-offset:2px}.workflow-action-link.dashboard-student-link{overflow-wrap:break-word}.dashboard-student-link:hover,.dashboard-student-link:focus-visible{color:var(--accent-text, var(--accent))}.dashboard-student-unmatched{display:flex;align-items:baseline;gap:6px;min-width:0}.dashboard-student-unmatched .tag{flex:0 0 auto}.dashboard-row-action{flex:0 0 auto;font-size:12px;font-weight:650}.dashboard-row-open{display:flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;line-height:1;cursor:pointer}.dashboard-row-open:hover{background:var(--bg);color:var(--ink)}.dashboard-row-open:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.dashboard-payment{flex:0 0 auto;max-width:130px;padding:3px 7px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:10px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.dashboard-payment-settled{border-color:color-mix(in srgb,#15803d 45%,var(--line))}.dashboard-payment-due{border-color:color-mix(in srgb,#d97706 55%,var(--line))}.dashboard-payment-overdue,.dashboard-payment-attention{border-color:color-mix(in srgb,#dc2626 58%,var(--line));font-weight:850}.dashboard-payment-refund{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.dashboard-attention-list{display:grid;gap:0}.dashboard-attention-list>a{display:flex;min-height:42px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);text-decoration:none}.dashboard-attention-list>a:first-child{border-top:0}.dashboard-attention-list>a:hover,.dashboard-attention-list>a:focus-visible{background:var(--accent-soft)}.dashboard-attention-list>a strong{margin-right:5px}.dashboard-attention-list .empty,.dashboard-panel>.empty,.dashboard-panel>.error{margin:14px}.dashboard-notes{margin-top:14px}.dashboard-note-row{justify-content:space-between}.dashboard-note-row>div{min-width:0}.dashboard-note-body{flex:1 1 auto}.dashboard-note-row>a{flex:0 0 auto;font-size:12px;font-weight:650}.dashboard-note-select{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--accent);cursor:pointer}.dashboard-note-select:disabled{cursor:default}.dashboard-note-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;padding:11px 14px;border-top:1px solid var(--line)}.dashboard-note-actions-left{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}.dashboard-note-undo{margin:0;padding:10px 14px;border-top:1px solid var(--line);background:var(--accent-soft)}.dashboard-note-undo button.link{font-weight:650}@media (max-width: 980px){.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.72fr)}}@media (max-width: 720px){.dashboard-head{display:block}.dashboard-date{display:inline-flex;margin-top:10px}.dashboard-attendance{grid-column:2 / -1}.dashboard-refresh{align-items:flex-start}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{min-height:124px}.dashboard-grid{grid-template-columns:1fr}.dashboard-lesson-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:6px 10px}.dashboard-payment{grid-column:2 / -1;justify-self:start;max-width:none}.dashboard-row-action,.dashboard-lesson-row>.tag{justify-self:end}.dashboard-note-row{align-items:flex-start}.dashboard-note-select{margin-top:2px}}@media (max-width: 430px){.dashboard-metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.dashboard-page *,.dashboard-page *:before,.dashboard-page *:after{scroll-behavior:auto!important;transition:none!important}}.operations-page{max-width:1180px}.operations-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.operations-head .lede{margin-bottom:0}.operations-unmatched-link{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--accent);font-size:13px;font-weight:600;text-decoration:none;box-shadow:var(--shadow)}.operations-unmatched-link:hover{background:var(--accent-soft)}.operations-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:8px;scrollbar-width:thin}.operations-tab{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:var(--control-min-height);padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);box-shadow:none}.operations-tab:hover{color:var(--ink);border-color:var(--accent)}.operations-tab[aria-selected=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-soft)}.operations-tab-count{display:inline-grid;place-items:center;min-width:21px;min-height:21px;padding:0 6px;border-radius:999px;background:var(--bg);color:var(--ink);font-size:11px;font-variant-numeric:tabular-nums}.operations-content{margin-top:14px}.operations-content>h2,.operations-section-head h2{margin-bottom:6px}.operations-queue-description{max-width:760px;margin-top:0}.operations-queue-panel{overflow:hidden}.operations-queue-panel>.operations-row:first-child{border-top:0}.operations-row{gap:14px;align-items:center}.operations-row-reason{margin-top:5px;color:var(--ink)}.operations-row-actions{flex:0 0 auto;justify-content:flex-end;flex-wrap:wrap}.operations-section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:10px}.operations-section-head p{margin:0}.operations-scope{display:grid;gap:4px;min-width:150px}.operations-exception-group+.operations-exception-group{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.operations-exception-group h3{margin:0 0 3px;font-size:14px}.operations-exception-group>p{margin-top:0}.operations-back-link{margin:0 0 8px}.operations-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.operations-summary-card{display:grid;gap:3px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.operations-summary-card strong{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.operations-summary-card span{color:var(--muted);font-size:12px}.operations-refresh-notice{justify-content:space-between;margin-bottom:16px}.operations-panel-title{margin-top:0;margin-bottom:6px;font-size:16px}.operations-table-scroll{width:100%;overflow-x:auto}.operations-table-scroll table{min-width:620px}.unmatched-group-card+.unmatched-group-card{margin-top:12px}.unmatched-group-head{gap:12px}.unmatched-group-head .muted{overflow-wrap:anywhere}.unmatched-assign-row{flex-wrap:nowrap;min-width:280px}.unmatched-assign-row select{min-width:180px;max-width:320px}@media (max-width: 720px){.operations-head{display:grid}.operations-unmatched-link{justify-self:start}.operations-tabs{margin-inline:-4px;padding-inline:4px;scroll-snap-type:x proximity}.operations-tab{scroll-snap-align:start}.operations-row{align-items:flex-start;flex-wrap:wrap}.operations-row>time{min-width:54px}.operations-row-actions{width:100%;justify-content:flex-start;padding-left:68px}.operations-section-head{align-items:stretch;flex-direction:column}.operations-scope{width:min(100%,240px)}.operations-summary-grid{grid-template-columns:1fr}.operations-refresh-notice{align-items:flex-start;flex-wrap:wrap}}@media (max-width: 460px){.operations-row-actions{padding-left:0}.operations-row-actions button,.operations-row-actions .button-link{flex:1;justify-content:center}}.short-notice-rejection-note{margin-top:0}.operations-exception-content{flex:1;min-width:0}.schedule-page{max-width:1180px}.schedule-section-nav{display:none;gap:4px;overflow-x:auto;margin:-2px 0 24px;padding:0 0 1px;border-bottom:1px solid var(--line);scrollbar-width:thin}.schedule-section-link{flex:0 0 auto;padding:9px 11px 10px;border-bottom:2px solid transparent;color:var(--muted);font-size:.87em;font-weight:550;text-decoration:none}.schedule-section-link:hover{color:var(--ink)}.schedule-section-link.is-active{border-bottom-color:var(--accent);color:var(--accent)}.schedule-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.schedule-page-head .lede{margin-bottom:0}.schedule-tutor-picker{display:flex;gap:12px;align-items:end;margin-bottom:16px}.schedule-tutor-picker label{display:grid;gap:4px;width:min(100%,360px)}.schedule-tutor-picker select{width:100%}.schedule-selected-tutor{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:.87em}.schedule-selected-tutor strong{color:var(--ink)}.schedule-availability-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.schedule-editor-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.schedule-editor-card>h2{margin-top:0}.schedule-availability-help{box-shadow:var(--shadow)}.schedule-guide{display:grid;gap:10px}.schedule-guide-item{padding:11px 0;border-top:1px solid var(--line)}.schedule-guide-item:first-child{padding-top:0;border-top:0}.schedule-guide-item strong{display:block;margin-bottom:2px}.schedule-availability-editor .rota{display:grid;gap:14px}.schedule-availability-editor .rota-week{gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.schedule-availability-editor .rota-day{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-top:1px solid var(--line);background:var(--panel)}.schedule-availability-editor .rota-day:first-child{border-top:0}.schedule-availability-editor .rota-day-head{display:grid;gap:1px}.schedule-availability-editor .rota-periods{display:flex;flex-wrap:wrap;gap:8px}.schedule-availability-editor .rota-period{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.schedule-availability-editor .rota-period input{width:108px;background:var(--panel)}.schedule-availability-editor .rota-period button{padding-inline:7px}.schedule-timeoff-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}.schedule-timeoff-column>h2{margin-top:0}.schedule-block-list{overflow:hidden}.schedule-block-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.schedule-block-row:first-child{border-top:0;padding-top:0}.schedule-block-row:last-child{padding-bottom:0}.schedule-block-actions{flex:0 0 auto}.schedule-recurring-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.schedule-recurring-toolbar h2{margin:0}.schedule-recurring-create{margin-bottom:20px}.schedule-status-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin-bottom:10px;scrollbar-width:thin}.schedule-status-tab{flex:0 0 auto;border-color:var(--line);border-radius:999px;background:var(--panel);color:var(--muted);box-shadow:none}.schedule-status-tab.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.schedule-recurring-list{display:grid;gap:12px}.schedule-recurring-card{margin-bottom:0}.schedule-recurring-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.schedule-recurring-card h2{margin:0 0 3px;font-size:16px}.schedule-plan-summary{margin:10px 0 0}.schedule-plan-metrics{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.schedule-plan-metric{display:inline-flex;gap:4px;align-items:baseline;padding:4px 8px;border-radius:999px;background:var(--bg);color:var(--muted);font-size:.8em}.schedule-plan-metric strong{color:var(--ink)}.schedule-plan-actions{justify-content:flex-end;flex:0 0 auto}.schedule-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 900px){.schedule-availability-layout,.schedule-timeoff-layout{grid-template-columns:1fr}.schedule-availability-help{order:-1}}@media (max-width: 720px){.schedule-page-head,.schedule-recurring-card-head,.schedule-recurring-toolbar{display:grid}.schedule-section-nav{display:flex;margin-inline:-4px;padding-inline:4px}.schedule-tutor-picker{display:grid}.schedule-availability-editor .rota-day{grid-template-columns:1fr;align-items:stretch}.schedule-availability-editor .rota-period{width:100%}.schedule-availability-editor .rota-period input{flex:1;width:auto;min-width:0}.schedule-availability-editor .rota-day>button{justify-self:start}.schedule-block-row{align-items:flex-start;flex-direction:column}.schedule-block-actions{width:100%}.schedule-block-actions button{flex:1}.schedule-plan-actions{justify-content:flex-start}}@media (prefers-reduced-motion: reduce){.schedule-section-link,.schedule-status-tab{scroll-behavior:auto}}.admin-section-tabs{display:flex;gap:4px;overflow-x:auto;margin:0 0 22px;padding:0 0 1px;border-bottom:1px solid var(--line);scrollbar-width:thin}.admin-section-tabs .tab,.admin-section-tabs a{flex:0 0 auto;padding:9px 11px 10px;border-radius:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}.admin-section-tabs .tab:hover,.admin-section-tabs a:hover{color:var(--ink)}.admin-section-tabs .tab.active,.admin-section-tabs a.active{border-bottom-color:var(--accent);background:transparent;color:var(--accent-text, var(--accent))}.main:has(.admin-section-tabs){min-width:0}.staff-workspace:has(.admin-section-tabs)>.lede{margin-bottom:16px}.main:has(.admin-section-tabs) form.panel{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.main:has(.admin-section-tabs) form.panel>h2:first-child,.main:has(.admin-section-tabs) .panel>h2:first-child,.main:has(.admin-section-tabs) article.panel h2:first-child{margin-top:0}.main:has(.admin-section-tabs) .row{max-width:100%}.main:has(.admin-section-tabs) .fields{align-items:end}.main:has(.settings-tabs) article.panel{position:relative;padding:17px 18px}.main:has(.settings-tabs) article.panel+article.panel{margin-top:10px}.main:has(.settings-tabs) .settings-plan{border-top-color:var(--line);padding:14px 0}form.settings-plan{margin:0 0 12px;padding:16px 17px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}form.settings-plan+form.settings-plan{margin-top:12px}form.settings-plan>.spread:first-child{gap:14px}form.settings-plan .fields{align-items:end}.main:has(.admin-section-tabs) .swatches{display:flex;flex-wrap:wrap;gap:7px}.main:has(.admin-section-tabs) .swatch{width:30px;height:30px;min-width:30px;min-height:30px}.main:has(.admin-section-tabs) .swatch.is-on{outline:3px solid var(--ink);outline-offset:2px}.main:has(.admin-section-tabs) .swatch.is-taken{opacity:.42}@media (max-width: 720px){.admin-section-tabs{margin-inline:-4px;padding-inline:4px}.main:has(.admin-section-tabs) .fields,form.settings-plan .fields{grid-template-columns:1fr}.main:has(.admin-section-tabs) form.panel .row>input,.main:has(.admin-section-tabs) form.panel .row>select{flex:1 1 100%!important;min-width:0!important}.main:has(.admin-section-tabs) form.panel .row>button,form.settings-plan>.row:last-child>button{flex:1 1 auto}form.settings-plan>.spread:first-child{align-items:flex-start!important;flex-direction:column}}@media (prefers-reduced-motion: reduce){.admin-section-tabs{scroll-behavior:auto}}.payments-workspace,.reports-workspace{max-width:1180px}.payments-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.payments-page-head .lede{margin-bottom:0}.payments-safety-strip{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.payments-safety-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text, var(--accent));font-weight:750}.payments-safety-strip strong{display:block;margin-bottom:2px}.payments-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payments-action-card{display:grid;grid-template-rows:1fr auto;min-width:0;min-height:220px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.payments-action-card>div{padding:18px}.payments-action-card h2{margin:9px 0 7px;font-size:17px}.payments-action-card p{margin:0;color:var(--muted)}.payments-action-card-primary{border-color:var(--accent)}.payments-card-link{display:flex;justify-content:space-between;gap:12px;padding:11px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 82%,var(--bg));color:var(--accent-text, var(--accent));font-size:13px;font-weight:650;text-decoration:none}.payments-card-link:hover{background:var(--accent-soft)}.payments-how-it-works{margin-top:22px;padding-top:4px}.payments-how-it-works>h2{margin-top:0}.payments-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payments-flow-grid>div{padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.payments-flow-grid p{margin:3px 0 0}.reports-workspace>h1{margin-bottom:4px}.reports-workspace>.lede{margin-bottom:18px}.reports-workspace>.panel:first-of-type{padding:17px 18px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.reports-workspace .cal-whose{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.reports-workspace>h2{margin:24px 0 8px;font-size:16px}.reports-workspace>h2+.panel{padding:18px}.reports-workspace .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.reports-workspace .stat{min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.reports-workspace .stat-value{font-size:19px;font-weight:700;line-height:1.2}.reports-workspace table{min-width:620px}.reports-workspace .panel:has(>table),.reports-workspace .panel:has(>.table-scroll){overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 820px){.payments-action-grid,.payments-flow-grid{grid-template-columns:1fr 1fr}}@media (max-width: 620px){.payments-page-head{display:grid}.payments-action-grid,.payments-flow-grid{grid-template-columns:1fr}.payments-action-card{min-height:0}.reports-workspace .fields{grid-template-columns:1fr}.reports-workspace .cal-whose{align-items:flex-start}}.account-page{width:min(100%,860px);margin:0 auto}.account-page>.lede{margin-bottom:18px}.account-card{margin-bottom:14px}.account-card>h2:first-child{margin-top:0}.account-form{display:grid;gap:7px}.account-form>p.small.muted{margin-top:0;max-width:68ch}.account-form>input{width:min(100%,34rem);box-sizing:border-box}.account-form>button[type=submit]{justify-self:start;margin-top:5px}@media (max-width: 720px){.account-page{width:100%}.account-card{padding:15px}.account-form>input{width:100%}.account-form>button[type=submit]{width:100%;justify-self:stretch}}.student-import-form{min-width:0;margin-top:10px;overflow:hidden}.student-import-form>h2:first-child{margin-top:0}.student-import-actions,.student-import-summary{flex-wrap:wrap;align-items:center;gap:8px 10px}.student-import-actions input[type=file]{flex:1 1 260px;min-width:0;max-width:100%}.student-import-preview-table{max-width:100%;margin:12px 0;overflow-x:auto;border:1px solid var(--line);border-radius:9px;-webkit-overflow-scrolling:touch}.student-import-preview-table table{min-width:720px;margin:0}.student-import-preview-table th,.student-import-preview-table td{vertical-align:top}.student-import-summary{justify-content:space-between}.student-import-summary>span{flex:1 1 320px}.student-import-summary>button{flex:0 0 auto}@media (max-width: 720px){.student-import-form{padding:15px}.student-import-actions>button,.student-import-summary>button{flex:1 1 auto}}@media (max-width: 430px){.student-import-actions input[type=file],.student-import-actions>button,.student-import-summary>button{flex-basis:100%;width:100%}}@media (prefers-reduced-motion: reduce){.student-import-preview-table{scroll-behavior:auto}}.student-record-page{max-width:1180px}.student-record-back{margin:0 0 8px}.student-record-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity actions" "next next";gap:16px 20px;align-items:start;margin-bottom:18px}.student-record-identity{grid-area:identity;min-width:0}.student-record-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.student-record-title-row h1{margin-bottom:4px}.student-record-title-row>div{min-width:0}.student-record-title-row :where(h1,.lede){overflow-wrap:anywhere}.student-record-head .lede{margin:0}.student-record-context{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}.student-record-parent-contact{display:flex;flex-wrap:wrap;gap:8px 24px;margin:12px 0 0;font-size:.875rem}.student-record-parent-contact>div{min-width:0}.student-record-parent-contact dt{color:var(--muted)}.student-record-parent-contact dd{margin:0;overflow-wrap:anywhere}.student-record-parent-contact a{display:inline-flex;align-items:center;min-height:44px}.student-record-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.student-record-book-action,.student-record-payment-action,.student-record-contact-action{min-height:var(--control-min-height)}.student-record-payment-action,.student-record-contact-action{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);text-decoration:none}.student-record-contact-action:hover{border-color:var(--accent)}.student-record-next{grid-area:next;min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.student-record-next-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.student-record-next-heading h2{margin:2px 0 0;font-size:18px}.student-record-next .slot{margin-top:10px}.student-record-next-meta{display:flex;flex-wrap:wrap}.student-record-next-empty{margin:10px 0 0}.student-record-week-note{margin:6px 0 0}.student-record-next-lessons{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px}.student-record-next-lessons>li{min-width:0;padding-top:12px;border-top:1px solid var(--line);overflow-wrap:anywhere}.student-record-lesson-person{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.student-record-lesson-link{display:inline-flex;align-items:center;min-height:44px}.student-record-family-choice{margin-top:12px}.student-record-family-choice label{display:block;margin-bottom:4px}.student-record-family-choice select{max-width:100%;min-height:44px}.student-record-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:8px;scrollbar-width:thin}.student-record-tab{flex:0 0 auto;min-height:var(--control-min-height);padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);box-shadow:none}.student-record-tab:hover{color:var(--ink);border-color:var(--accent)}.student-record-tab[aria-selected=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-soft)}.student-record-panel{margin-top:14px}.student-record-panel>:first-child{margin-top:0}.student-record-attention h2,.student-record-overview-grid h2,.student-record-payment-intro h2{margin-top:0}.student-record-attention ul{margin-bottom:0}.student-record-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.panel.student-record-credits{padding:0;overflow:hidden}.student-record-credits-heading{margin:0}.student-record-credits-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:20px;border:0;border-radius:0;background:var(--accent-soft);color:var(--ink);box-shadow:none;text-align:left}.student-record-credits-toggle:hover{background:var(--accent-soft);color:var(--ink)}.student-record-credits-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.student-record-credits-summary{display:grid;gap:8px}.student-record-credits-label{font-size:16px;font-weight:600}.student-record-credits-balance{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:14px;font-weight:400}.student-record-credits-balance strong{font-size:36px;line-height:1}.student-record-credits-prompt{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:400}.student-record-credits-prompt svg{flex-shrink:0}.student-record-credits-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.student-record-credits-details{padding:20px;border-top:1px solid var(--line)}.student-record-credits-details h3{margin:0 0 4px}.student-record-credits-error{padding:12px 20px}.student-record-credits-update{margin:0;padding:8px 20px}.student-record-credits-details .student-record-credits-error{padding:0}.student-record-credit-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-record-credit-block{min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere}.student-record-credit-block-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.student-record-credit-block-heading :where(h4,p){margin:0 0 6px}.student-record-credit-block-heading .tag{flex-shrink:0}.student-record-credit-block-facts{display:grid;gap:10px;margin:12px 0 0;font-size:14px}.student-record-credit-block-facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px}.student-record-credit-block-facts dt{color:var(--muted);font-size:12px}.student-record-credit-block-facts dd{margin:0}.student-record-credit-block-refunds,.student-record-credit-block-notes{margin:14px 0 0}.student-record-credit-block-refunds ul{margin:6px 0 0;padding-left:18px}@media (max-width: 650px){.student-record-credits-toggle{flex-wrap:wrap;padding:16px}.student-record-credits-details{padding:16px}.student-record-credit-blocks{grid-template-columns:minmax(0,1fr)}}.student-record-plain-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.student-record-plain-list li{display:grid;gap:2px}.student-record-context-list{display:grid;gap:10px;margin:0}.student-record-context-list>div{display:grid;grid-template-columns:minmax(100px,.4fr) minmax(0,1fr);gap:12px}.student-record-context-list dt{color:var(--muted);font-size:12px}.student-record-context-list dd{margin:0}.student-record-section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:8px}.student-record-section-head h2,.student-record-section-head p{margin:0}.student-record-bulk-actions{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px}.student-record-list-panel{overflow:hidden}.student-record-overview-practice,.student-record-practice-history-head{margin-top:22px}.student-record-payment-intro{margin-bottom:14px}.student-record-payment-intro p{max-width:760px}.student-record-booking-tools:focus{outline:2px solid var(--accent);outline-offset:6px}.student-record-admin-details{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.hub-access-panel{min-width:0;overflow-wrap:anywhere}.hub-access-account-list{display:grid;gap:8px;margin:8px 0 0;padding-left:20px}.hub-access-account-list li{min-width:0}.hub-access-account-list li>span{display:block}.hub-invitation-access{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.hub-invitation-access>strong{display:block}.hub-access-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.hub-access-link-form{display:grid;gap:12px;margin-top:16px;min-width:0}.hub-access-link-form>label{display:grid;gap:5px;min-width:0}.hub-access-link-form input[type=search]{max-width:100%;min-width:0}.hub-access-options{border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;min-width:0;padding:12px}.hub-access-option{align-items:flex-start;display:flex;gap:9px;min-width:0}.hub-access-option input{flex:0 0 auto;margin-top:3px}.hub-access-option>span{min-width:0;overflow-wrap:anywhere}.hub-access-mismatch{background:var(--surface-muted, #f6f6f6);border-radius:8px;min-width:0;padding:12px}.hub-access-mismatch ul{overflow-wrap:anywhere;padding-left:20px}.student-record-table-panel{overflow:hidden}.student-record-table-scroll{width:100%;overflow-x:auto}.student-record-table-scroll table{min-width:520px}.student-progress-heading p{max-width:760px;margin-top:4px}.student-progress-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px}.student-progress-filters button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.student-progress-coverage,.student-progress-error{margin:0 0 12px}.student-progress-coverage p{margin:0}.student-progress-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.student-progress-row{display:grid;grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);gap:16px;padding:13px 2px;border-bottom:1px solid var(--line)}.student-progress-row-meta{display:grid;align-content:start;gap:2px}.student-progress-row-meta span:first-child{color:var(--ink);font-weight:600}.student-progress-row-copy{display:grid;gap:4px;min-width:0}.student-progress-row-copy p{margin:0;white-space:pre-wrap}.student-progress-row-copy a{display:inline-block;width:fit-content}.student-progress-more{margin-top:14px}.credit-section-head{display:grid;gap:var(--space-2)}.credit-creation-actions,.credit-block-actions{justify-content:flex-start;flex-wrap:wrap;gap:var(--space-2)}.credit-creation-actions{margin:var(--space-2) 0 var(--space-3)}.credit-block-actions{margin-top:var(--space-3)}.credit-block-heading{align-items:start;min-width:0}.credit-block-heading>:first-child{min-width:0;overflow-wrap:anywhere}.credit-block-heading>.tag{flex:0 0 auto}.credit-transfer-control{margin-top:var(--space-3)}.credit-correction-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-3) var(--space-4);max-width:940px;align-items:start}.credit-correction-content>*{min-width:0;overflow-wrap:anywhere}.credit-correction-content>label{display:grid;gap:3px}.credit-correction-content>label>input:not([type=checkbox]):not([type=radio]),.credit-correction-content>label>select,.credit-correction-content>label>textarea{width:100%;min-width:0}.credit-correction-content>.notice{margin-bottom:0}.credit-correction-context{display:grid;gap:var(--space-2);width:100%;min-width:0;margin:0 0 var(--space-3)}.credit-correction-content>.credit-correction-context{grid-column:1 / -1;margin:0}.credit-correction-context>div{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:var(--space-3);min-width:0}.credit-correction-context dt,.credit-correction-context dd{min-width:0;margin:0;overflow-wrap:anywhere}@media (max-width: 900px){.student-record-overview-grid{grid-template-columns:1fr}}@media (max-width: 720px){.student-record-head{grid-template-columns:1fr;grid-template-areas:"identity" "next" "actions";gap:12px}.student-record-title-row{display:grid}.student-record-actions{justify-content:stretch}.student-record-actions>*{flex:1 1 160px}.student-record-tabs{margin-inline:-4px;padding-inline:4px}.student-record-section-head{align-items:flex-start;flex-direction:column}.student-progress-row{grid-template-columns:1fr;gap:5px}.student-progress-row-meta{display:flex;flex-wrap:wrap;gap:4px 10px}.credit-creation-actions,.credit-block-actions{align-items:stretch;flex-direction:column}.credit-creation-actions>button,.credit-block-actions>button,.credit-transfer-control>button{width:100%;justify-content:center}}@media (max-width: 460px){.student-record-context{display:grid}.student-record-context-list>div{grid-template-columns:1fr;gap:2px}.student-record-actions>*{flex-basis:100%}.hub-access-actions{align-items:stretch;flex-direction:column}.hub-access-actions>button{width:100%}}.student-record-payment-action{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}.family-shell .main{width:100%;max-width:1120px;margin-inline:auto;padding-top:32px}.family-shell .main>h1{font-size:1.55em;line-height:1.2}.family-shell .main>.lede{margin-bottom:20px}.family-shell .panel>h1:first-child,.family-shell .panel>h2:first-child,.family-shell article.panel>h2:first-child{margin-top:0}.family-shell .slot:not(.history-entry){gap:var(--space-3-5);align-items:flex-start;padding-block:var(--space-3)}.family-shell .slot+.slot{border-top:1px solid var(--line)}.family-shell .slot time{min-width:4.6em;font-weight:700}.family-student-switcher{margin:0 0 22px}.family-student-switcher-desktop{display:grid;gap:6px;width:fit-content;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.family-student-options{display:flex;flex-wrap:wrap;gap:7px}.family-student-options button{height:max(44px,2.5em);min-height:44px;border-radius:9px;white-space:nowrap}.family-student-switcher-mobile{display:none}.family-shell .sidebar{padding-inline:16px}.family-shell .brand{padding-bottom:22px}.family-shell .nav{min-height:var(--control-min-height);padding:9px 11px;border-radius:9px}.family-shell .nav.active{box-shadow:inset 3px 0 0 var(--accent)}.family-shell .sidebar-foot{padding-top:14px}.family-sidebar-footer{display:grid;gap:var(--space-1);min-width:0}.family-sidebar-footer .workflow-action-link{display:flex;width:100%;min-width:44px;min-height:max(44px,var(--control-min-height));justify-content:flex-start;padding:var(--space-2) var(--space-3);text-align:left}.family-sidebar-sign-out{display:inline-flex;min-height:max(44px,var(--control-min-height));align-items:center;justify-content:flex-start;justify-self:start;margin:0;padding:var(--space-2) var(--space-3)}@media (max-width: 900px) and (max-height: 440px){.family-shell .sidebar-foot{max-height:45vh;overflow-y:auto;overscroll-behavior:contain}}.family-shell article.panel{position:relative;margin-bottom:12px}.family-shell article.panel .spread{align-items:flex-start}.family-shell article.panel .notes{max-width:70ch;white-space:pre-wrap}.family-shell .fields{gap:13px 16px}.family-shell input,.family-shell select,.family-shell textarea{max-width:100%}.family-shell table{min-width:600px}.family-shell .panel:has(>table),.family-shell .panel:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}.family-shell .pagination,.family-shell [aria-label=Pagination]{margin-top:18px}.family-shell,.family-shell *{transition-property:none}@media (max-width: 720px){.family-shell .main{max-width:none;padding-top:22px}.family-student-switcher-desktop{display:none}.family-student-switcher-mobile{display:grid;gap:6px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.family-student-switcher-mobile select{width:100%;min-height:44px}.family-shell .spread{align-items:flex-start;flex-direction:column}}@media (max-width: 520px){.family-shell .main{padding-inline:14px}.family-shell .slot:not(.history-entry){display:grid;grid-template-columns:auto minmax(0,1fr)}}.family-shell .progress-title{min-width:0;flex:1 1 260px}@media (max-width: 720px){.family-shell .progress-title{flex-basis:auto}}@media (prefers-reduced-motion: reduce){.family-shell *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width: 900px){.family-shell:has(.family-home-mobile-nav) .main{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.family-home-mobile-nav{position:fixed;z-index:8;inset:auto 0 0;display:flex;justify-content:space-around;gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line)}.family-home-mobile-nav a,.family-home-mobile-nav button{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;font-size:.85rem;color:var(--muted);border:0;border-radius:8px;text-decoration:none}.family-home-mobile-nav a[aria-current=page]{color:var(--accent-text);background:var(--accent-soft);font-weight:700}}.shell{grid-template-columns:220px 1fr}.sidebar{padding:18px 12px 14px;gap:8px}.sidebar-sections{gap:10px;padding-right:2px}.nav-section{gap:2px;padding:7px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 58%,transparent)}.nav-heading{padding:0;color:var(--accent-text, var(--accent));font-size:.73em;font-weight:750;letter-spacing:.08em}.nav-heading-toggle{display:flex;width:100%;min-height:30px;align-items:center;justify-content:space-between;gap:8px;padding:1px 7px 4px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.nav-heading-toggle:hover{background:color-mix(in srgb,var(--line) 55%,transparent)}.nav-heading-toggle:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.nav-heading-badges{display:flex;align-items:center;margin-left:auto}.nav-heading-chevron{width:.73em;height:.73em;flex:0 0 .73em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-.09em,-.09em);transform-origin:center;transition:transform .14s ease}.nav-heading-toggle[aria-expanded=false] .nav-heading-chevron{transform:rotate(-45deg) translate(-.09em,.09em)}.nav-section-links{display:grid;gap:2px}.nav-section-links[hidden]{display:none}.nav{padding:7px 8px}.sidebar-nav-label{display:flex;align-items:center;gap:9px;min-width:0;flex:1}.sidebar-nav-icon{width:18px;height:18px;flex:0 0 18px}.nav:hover{background:color-mix(in srgb,var(--line) 72%,transparent)}.nav.active{box-shadow:inset 3px 0 0 var(--accent)}.staff-quick-actions{position:relative;padding:2px 2px 4px 0}.staff-quick-actions--floating{display:none}.staff-new-trigger{display:flex;align-items:center;width:100%;min-height:44px;gap:8px;margin:0;padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent-line) 52%,var(--line));border-radius:10px;background:var(--accent-soft);color:var(--accent-text, var(--accent));font:inherit;font-weight:700;text-align:left;cursor:pointer}.staff-new-trigger:hover,.staff-new-trigger[aria-expanded=true]{border-color:var(--accent-line);background:color-mix(in srgb,var(--accent-soft) 78%,var(--panel))}.staff-new-plus{font-size:1.2em;line-height:1}.staff-new-chevron{margin-left:auto;color:var(--muted);font-size:.9em}.staff-new-menu{position:absolute;z-index:30;top:calc(100% + 3px);right:2px;left:0;display:grid;gap:2px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 28px #00000024}.staff-new-menu-item{display:flex;align-items:center;min-height:44px;padding:8px 9px;border-radius:7px;color:var(--ink);text-decoration:none}.staff-new-menu-item:hover,.staff-new-menu-item:focus-visible{background:var(--bg)}.sidebar-foot{position:relative;padding:10px 0 0;border-top:0;background:transparent}.staff-sidebar-footer{display:grid;gap:8px}.sync-status-only{padding:0 8px}.sync-status-line{display:flex;align-items:center;gap:6px}.sync-status-line:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:var(--accent-line);opacity:.72}.sidebar-account-menu{position:relative}.sidebar-account-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,transparent);color:var(--ink);cursor:pointer;list-style:none}.sidebar-account-menu>summary::-webkit-details-marker{display:none}.sidebar-account-menu>summary:hover{border-color:var(--line);background:var(--panel)}.sidebar-account-identity{display:grid;min-width:0;line-height:1.25}.sidebar-account-identity strong{font-size:.9em;font-weight:650}.sidebar-account-identity span{overflow:hidden;color:var(--muted);font-size:.82em;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-more{color:var(--muted);font-weight:700;letter-spacing:.05em}.sidebar-account-popover{position:absolute;z-index:20;right:0;bottom:calc(100% + 7px);left:0;display:grid;gap:2px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 28px #00000024}.sidebar-account-popover a,.sidebar-account-popover button{display:block;width:100%;margin:0;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.sidebar-account-popover a:hover,.sidebar-account-popover button:hover{background:var(--bg)}.sidebar-account-popover a.active{background:var(--accent-soft);color:var(--accent-text, var(--accent));font-weight:600}.sidebar-account-popover button:disabled{cursor:default;opacity:.55}.sidebar-account-popover .sidebar-sign-out{margin-top:3px;padding-top:9px;border-top:1px solid var(--line);border-radius:0 0 7px 7px}@media (max-width: 900px){.shell{grid-template-columns:1fr}.sidebar{padding:18px 12px 14px}.nav-section{background:color-mix(in srgb,var(--panel) 72%,transparent)}.nav-heading-toggle{min-height:44px}.staff-new-menu{position:static;margin-top:6px;box-shadow:none}.staff-quick-actions--floating{position:fixed;z-index:24;right:calc(16px + env(safe-area-inset-right,0px));bottom:max(calc(var(--hub-bottom-metronome-clearance, 0px) + 8px),calc(16px + env(safe-area-inset-bottom,0px)));display:block;padding:0}.staff-quick-actions--floating .staff-new-trigger{justify-content:center;width:56px;height:56px;padding:0;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:0 4px 16px #0003}.staff-quick-actions--floating .staff-new-trigger:hover,.staff-quick-actions--floating .staff-new-trigger[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 88%,var(--panel))}.staff-quick-actions--floating .staff-new-plus{display:block;width:24px;height:24px}.staff-quick-actions--floating .staff-new-menu{position:absolute;inset:auto 0 calc(100% + 12px) auto;width:min(260px,calc(100vw - 32px - env(safe-area-inset-right,0px)));max-height:calc(100dvh - 164px - env(safe-area-inset-bottom,0px));overflow-y:auto;margin:0;box-shadow:0 8px 28px #0000002e}.staff-quick-actions--floating:has([aria-expanded=true]){z-index:45}.sidebar-account-popover{position:static;margin-top:7px}}@media (prefers-reduced-motion: reduce){.nav-heading-chevron{transition:none}}.family-shell{grid-template-columns:13.5em minmax(0,1fr);background:var(--bg);color:var(--ink)}.family-shell h1{font-size:1.4em}.family-shell h2{font-size:1em}.family-shell .small{font-size:.87em}.family-shell .brand small,.family-shell .sidebar-foot,.family-shell th{font-size:.8em}.family-shell .tag,.family-shell .datepicker-weekday{font-size:.74em}.family-shell .datepicker-day{font-size:1em}.family-shell .nav,.family-shell button:not(.link):not(.small):not(.datefield-open),.family-shell input:not([type=checkbox]):not([type=radio]):not(.datefield-input),.family-shell select,.family-shell .datefield-box{min-height:max(var(--control-min-height),2.5em)}.family-shell .nav{overflow-wrap:anywhere}.family-shell[data-student-spacing=increased] .brand,.family-shell[data-student-spacing=increased] h1,.family-shell[data-student-spacing=increased] th,.family-shell[data-student-spacing=increased] .datepicker-weekday,.family-shell[data-student-spacing=extra] .brand,.family-shell[data-student-spacing=extra] h1,.family-shell[data-student-spacing=extra] th,.family-shell[data-student-spacing=extra] .datepicker-weekday{letter-spacing:inherit}.family-shell.has-student-colours :focus-visible{outline-color:var(--ink)}.family-shell.has-student-colours .nav.active{background:var(--line);color:var(--ink)}.family-shell.has-student-colours .nav:hover{background:var(--panel);color:var(--ink)}.accessibility-settings h2,.accessibility-preview h2{margin-top:0}.accessibility-fields,.accessibility-colour-fields{margin-top:12px}.accessibility-palettes{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.accessibility-palettes button{display:inline-flex;align-items:center;gap:7px}.accessibility-swatch{display:inline-flex;width:2em;height:2em;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:5px;font-weight:700;line-height:1}.accessibility-colour-fields input[type=color]{width:100%;min-height:3em;padding:3px;cursor:pointer}.accessibility-contrast{margin-bottom:0}.accessibility-preview{background:var(--bg);color:var(--ink);max-width:70ch}.accessibility-preview p{max-width:58ch}.accessibility-actions{margin-bottom:24px}.staff-accessibility-shell.has-accessibility-font-size h1{font-size:1.4em}.staff-accessibility-shell.has-accessibility-font-size h2{font-size:1em}.staff-accessibility-shell.has-accessibility-font-size .small,.staff-accessibility-shell.has-accessibility-font-size .day-heading,.staff-accessibility-shell.has-accessibility-font-size .cal-day-head,.staff-accessibility-shell.has-accessibility-font-size .cal-tick,.staff-accessibility-shell.has-accessibility-font-size .rota-period input{font-size:.87em}.staff-accessibility-shell.has-accessibility-font-size .brand small,.staff-accessibility-shell.has-accessibility-font-size .sidebar-foot,.staff-accessibility-shell.has-accessibility-font-size th,.staff-accessibility-shell.has-accessibility-font-size .cal-month-head,.staff-accessibility-shell.has-accessibility-font-size .cal-cell-day{font-size:.8em}.staff-accessibility-shell.has-accessibility-font-size .nav-heading,.staff-accessibility-shell.has-accessibility-font-size .tag,.staff-accessibility-shell.has-accessibility-font-size .datepicker-weekday,.staff-accessibility-shell.has-accessibility-font-size .cal-hour,.staff-accessibility-shell.has-accessibility-font-size .cal-entry,.staff-accessibility-shell.has-accessibility-font-size .cal-more{font-size:.74em}.staff-accessibility-shell.has-accessibility-font-size .datepicker-day{font-size:1em}.staff-accessibility-shell.has-accessibility-font-size .nav,.staff-accessibility-shell.has-accessibility-font-size button:not(.link):not(.small):not(.datefield-open),.staff-accessibility-shell.has-accessibility-font-size input:not([type=checkbox]):not([type=radio]):not(.datefield-input),.staff-accessibility-shell.has-accessibility-font-size select,.staff-accessibility-shell.has-accessibility-font-size .datefield-box{min-height:max(var(--control-min-height),2.5em)}.staff-accessibility-shell[data-accessibility-spacing=increased] .brand,.staff-accessibility-shell[data-accessibility-spacing=increased] .nav-heading,.staff-accessibility-shell[data-accessibility-spacing=increased] h1,.staff-accessibility-shell[data-accessibility-spacing=increased] th,.staff-accessibility-shell[data-accessibility-spacing=increased] .datepicker-weekday,.staff-accessibility-shell[data-accessibility-spacing=increased] .day-heading,.staff-accessibility-shell[data-accessibility-spacing=increased] .cal-month-head,.staff-accessibility-shell[data-accessibility-spacing=extra] .brand,.staff-accessibility-shell[data-accessibility-spacing=extra] .nav-heading,.staff-accessibility-shell[data-accessibility-spacing=extra] h1,.staff-accessibility-shell[data-accessibility-spacing=extra] th,.staff-accessibility-shell[data-accessibility-spacing=extra] .datepicker-weekday,.staff-accessibility-shell[data-accessibility-spacing=extra] .day-heading,.staff-accessibility-shell[data-accessibility-spacing=extra] .cal-month-head{letter-spacing:inherit}.staff-accessibility-shell.has-accessibility-colours :focus-visible{outline-color:var(--ink)}.staff-accessibility-shell.has-accessibility-colours .nav.active,.staff-accessibility-shell.has-accessibility-colours .settings-tabs a.active{background:var(--line);color:var(--ink)}.staff-accessibility-shell.has-accessibility-colours .nav:hover{background:var(--panel);color:var(--ink)}.staff-accessibility-shell .preview-result{color:#183d70}.staff-accessibility-shell.has-accessibility-colours .preview-button,.staff-accessibility-shell.has-accessibility-colours .preview-result{background:var(--panel);border-color:var(--line);color:var(--ink)}.staff-accessibility-shell .preview-result :is(.muted,.empty){color:inherit}@media (max-width: 900px){.family-shell{grid-template-columns:1fr;min-width:0}.accessibility-palettes button{flex:1 1 11em;justify-content:flex-start}.accessibility-actions>button{flex:1 1 12em}}.staff-workspace{--staff-workspace-max-width: 1180px;width:100%;max-width:var(--staff-workspace-max-width);min-width:0;margin-inline:auto}.staff-workspace--wide{max-width:none;margin-inline:0}.staff-workspace>:where(.dashboard-page,.students-page,.student-record-page,.operations-page,.schedule-page,.payments-workspace,.payments-detail-workspace,.reports-workspace,.school-workspace){width:100%;max-width:none;margin-inline:0}.staff-workspace .table-scroll-region[aria-label="Staff booking-system capabilities"]>table{min-width:760px}.staff-workspace .table-scroll-region[aria-label="Staff booking-system capabilities"] thead th:first-child,.staff-workspace .table-scroll-region[aria-label="Staff booking-system capabilities"] tbody tr>td:first-child:not(:only-child){width:24%;min-width:190px;overflow-wrap:normal;white-space:nowrap}.staff-workspace .table-scroll-region[aria-label="Staff booking-system capabilities"] thead th:last-child,.staff-workspace .table-scroll-region[aria-label="Staff booking-system capabilities"] tbody tr>td:last-child:not(:only-child){width:96px;min-width:96px;overflow-wrap:normal;white-space:nowrap}.staff-workspace .table-scroll-region[aria-label="Staff booking-system capabilities"] tbody tr>td:last-child:not(:only-child)>button{min-width:max-content;white-space:nowrap}.ui-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;padding:24px;align-items:center;justify-content:center;background:#00000057}.ui-dialog-backdrop--drawer{padding:0;align-items:stretch;justify-content:flex-end}.ui-dialog-surface{--ui-dialog-width: 430px;max-width:100%;overflow-y:auto;background:var(--panel);box-shadow:var(--shadow);padding:18px;outline:none}.ui-dialog-surface--small{--ui-dialog-width: 360px}.ui-dialog-surface--medium{--ui-dialog-width: 430px}.ui-dialog-surface--large{--ui-dialog-width: 560px}.ui-dialog-surface--wide{--ui-dialog-width: 720px}.ui-dialog-surface--dialog{width:min(var(--ui-dialog-width),calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:16px}.ui-dialog-surface--drawer{width:min(var(--ui-dialog-width),92vw);height:100dvh;border-left:1px solid var(--line)}.ui-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.ui-dialog-heading-copy{min-width:0}.ui-dialog-title{margin:2px 0 4px;font-size:1.2rem}.ui-dialog-description{margin-top:2px}.ui-dialog-close{flex:0 0 auto;min-width:42px;min-height:42px;padding:4px 10px;font-size:24px;line-height:1}.ui-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media (max-width: 620px){.ui-dialog-backdrop{padding:12px}.ui-dialog-backdrop--drawer{padding:0;align-items:flex-end}.ui-dialog-surface--drawer{width:100%;height:auto;max-height:88dvh;border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0}.ui-dialog-surface--dialog{width:100%;max-height:calc(100dvh - 24px)}}.panel{padding:var(--space-4);margin-bottom:var(--space-3);border-radius:var(--radius-card)}.panel--soft,.student-home-next-panel{border-radius:var(--radius-soft)}.row{gap:var(--space-2)}.spread{gap:var(--space-3)}.fields{gap:var(--space-3) var(--space-4)}.dashboard-metric,.dashboard-panel,.schedule-editor-card,.family-student-switcher-desktop,.family-student-switcher-mobile{border-radius:var(--radius-card)}.tag,.schedule-selected-tutor,.schedule-status-tab,.schedule-plan-metric,.history-tab{border-radius:var(--radius-pill)}textarea{width:100%;max-width:100%;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--ink);font:inherit;line-height:inherit;resize:vertical}textarea:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.form-stack{display:grid;gap:var(--space-3);min-width:0}.field-stack,form.stack>label:not(.row),form.settings-plan>label:not(.row){display:grid;gap:var(--space-1);min-width:0}.field-stack>input,.field-stack>select,.field-stack>textarea,form.stack>label:not(.row)>input:not([type=file]):not([type=checkbox]):not([type=radio]),form.stack>label:not(.row)>textarea,form.settings-plan>label:not(.row)>input:not([type=file]):not([type=checkbox]):not([type=radio]),form.settings-plan>label:not(.row)>textarea{width:100%;min-width:0}:where(input:not([type=checkbox]):not([type=radio]):not(.datefield-input),select,textarea,button:not(.link):not(.datefield-open),.button,.datefield-box){min-height:var(--control-min-height)}:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):not(.datefield-input),select,.datefield-box){height:max(var(--control-min-height),2.5em)}:where(input:not([type=checkbox]):not([type=radio]),select,textarea,button,.button){line-height:var(--control-line-height)}:where(input,textarea)::placeholder{color:var(--muted);opacity:.78}:where(input,select,textarea)[aria-invalid=true],:where(input,select,textarea):user-invalid{border-color:var(--danger)}:where(input[type=checkbox],input[type=radio]){inline-size:1rem;block-size:1rem;accent-color:var(--accent)}:where(input,select,textarea):disabled,:where(input,textarea)[readonly]{cursor:not-allowed;opacity:.62}:where(input,textarea)[readonly]{background:color-mix(in srgb,var(--panel) 72%,var(--bg))}button.action-primary,.button.action-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}button.action-secondary,.button.action-secondary{background:var(--panel);color:var(--ink);border-color:var(--line)}button.action-tertiary,.button.action-tertiary,button.quiet,.button.quiet{background:transparent;color:var(--muted);border-color:var(--line)}button.action-danger,.button.action-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}button.action-secondary:hover:not(:disabled),.button.action-secondary:hover,button.action-tertiary:hover:not(:disabled),.button.action-tertiary:hover,button.quiet:hover:not(:disabled),.button.quiet:hover{color:var(--ink)}button.action-danger:hover:not(:disabled),.button.action-danger:hover{background:color-mix(in srgb,var(--danger-soft),var(--danger) 10%);color:var(--danger)}.button{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-control);background:var(--accent);color:var(--accent-ink);font:inherit;line-height:1.5;text-decoration:none}.button:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}.workflow-action-link{display:inline-flex;max-width:100%;align-items:center;border-radius:var(--radius-control);overflow-wrap:anywhere;white-space:normal;text-decoration-thickness:1px;text-underline-offset:2px}@media (max-width: 720px),(pointer: coarse) and (hover: none){.workflow-action-link{min-width:44px;min-height:max(44px,var(--control-min-height));justify-content:center;padding:var(--space-2) var(--space-3)}}.button[aria-disabled=true]{opacity:.55;pointer-events:none}.ui-tabs-overflow{position:relative;min-width:0}.ui-tabs-overflow:before,.ui-tabs-overflow:after{position:absolute;z-index:2;top:0;bottom:8px;width:24px;pointer-events:none;content:""}.ui-tabs-overflow:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.ui-tabs-overflow:after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}.ui-tabs-overflow.is-at-start:before,.ui-tabs-overflow.is-at-end:after{display:none}.ui-tabs-scroll-region{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:24px}.ui-tabs-scroll-region>*{flex:0 0 auto}.ui-disclosure{margin:0 0 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.ui-disclosure>summary{min-height:44px;display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;color:var(--muted);font-weight:600;list-style:none}.ui-disclosure>summary::-webkit-details-marker{display:none}.ui-disclosure>summary:before{content:"›";flex:0 0 auto;color:var(--muted);font-size:1.25em;line-height:1;transform:rotate(0);transform-origin:center;transition:transform .12s ease}.ui-disclosure[open]>summary:before{transform:rotate(90deg)}.ui-disclosure>summary:hover{color:var(--ink)}.ui-disclosure>summary:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.ui-disclosure-body{padding:0 12px 12px}.ui-disclosure-body>:first-child{margin-top:0}.ui-disclosure-body>:last-child{margin-bottom:0}details.ui-disclosure.schedule-availability-help{margin-bottom:0}@media (max-width: 720px),(pointer: coarse) and (hover: none){:root{--control-min-height: 44px}button:not(.link):not(.datefield-open),.button,input:not([type=checkbox]):not([type=radio]):not(.datefield-input),select,textarea,.datefield-box,.nav,.schedule-section-link,.schedule-status-tab,.notes-link,.settings-tabs a,.cal-tick{min-height:var(--control-min-height)}label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:var(--control-min-height)}button:not(.link):not(.datefield-open),.button,.nav,.schedule-section-link,.schedule-status-tab,.notes-link,.settings-tabs a,.cal-tick{display:inline-flex;align-items:center}.nav{width:100%}.schedule-status-tab{justify-content:center}.notes-link{padding-inline:11px}}@media (prefers-reduced-motion: reduce){.ui-disclosure>summary:before{transition:none}}.spread-top,.spread-center{display:flex;justify-content:space-between;gap:var(--space-3)}.spread-top{align-items:flex-start}.spread-center{align-items:center}.actions-end{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.stack-compact{gap:var(--space-3)}.table-scroll-frame{position:relative;width:100%;max-width:100%;min-width:0}.table-scroll-frame:after{position:absolute;z-index:2;top:0;right:0;bottom:0;width:30px;background:linear-gradient(270deg,color-mix(in srgb,var(--panel) 92%,transparent),transparent);pointer-events:none;content:""}.table-scroll-frame.is-at-end:after{display:none}.table-scroll-region{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.table-scroll-region:focus-visible{border-radius:var(--radius-control);outline:2px solid var(--accent-line);outline-offset:2px}.table-scroll-region>table{width:100%;min-width:var(--table-min-width)}.table-scroll-region :where(td,th){overflow-wrap:anywhere}.table-scroll-region.has-sticky-header thead th{position:sticky;z-index:1;top:0;background:var(--panel)}.table-scroll-region.has-sticky-first-column :where(th,td):first-child{position:sticky;z-index:1;left:0;background:var(--panel);box-shadow:1px 0 var(--line)}.table-scroll-region.has-sticky-header.has-sticky-first-column thead th:first-child{z-index:2}.pagination,.family-shell .pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.pagination>:first-child{justify-self:start}.pagination>:last-child{justify-self:end}.pagination-status{text-align:center;white-space:nowrap}@media (max-width: 520px){.spread-top,.spread-center{flex-wrap:wrap}.pagination,.family-shell .pagination{grid-template-columns:1fr 1fr}.pagination-status{grid-column:1 / -1;grid-row:1}}.cal-week-body{--diary-working-hours-bg: #f2f5f5;--diary-out-of-hours-bg: color-mix(in srgb, var(--muted) 8%, transparent);--diary-out-of-hours-line: color-mix(in srgb, var(--muted) 13%, transparent)}@media (prefers-color-scheme: dark){.cal-week-body{--diary-working-hours-bg: #1b1e21;--diary-out-of-hours-bg: color-mix(in srgb, var(--muted) 11%, transparent);--diary-out-of-hours-line: color-mix(in srgb, var(--muted) 16%, transparent)}}.cal-day{background-color:var(--diary-working-hours-bg)}.cal-day.is-today{background-color:color-mix(in srgb,var(--diary-working-hours-bg) 92%,var(--accent-soft))}.cal-closed{background-color:var(--diary-out-of-hours-bg);background-image:repeating-linear-gradient(135deg,transparent 0 8px,var(--diary-out-of-hours-line) 8px 9px,transparent 9px 16px)}.cal-day-interactive,.cal-day-interactive .cal-closed{cursor:pointer}.cal-blank-affordance{grid-column:1;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;margin:2px 4px;border:1px dashed color-mix(in srgb,var(--accent-line) 68%,transparent);border-radius:5px;background:color-mix(in srgb,var(--accent-soft) 74%,transparent);color:var(--accent-text);font-size:11px;font-weight:600;line-height:1;opacity:.78;pointer-events:none}.cal-blank-keyboard-target{grid-column:1;z-index:2;display:flex;align-items:center;justify-content:center;min-width:0;margin:2px 4px;padding:0;border:1px dashed transparent;border-radius:5px;background:transparent;color:transparent;font:inherit;font-size:11px;font-weight:600;line-height:1;opacity:0;pointer-events:none}.cal-blank-keyboard-target:focus-visible{opacity:1;border-color:color-mix(in srgb,var(--accent-line) 76%,transparent);background:color-mix(in srgb,var(--accent-soft) 82%,transparent);color:var(--accent-text);outline:2px solid var(--accent-line);outline-offset:1px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-line) 32%,transparent)}.cal-session-button{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.cal-session-button[draggable=true]{cursor:grab}.cal-session-button[draggable=true]:active{cursor:grabbing}.cal-drawer-status{min-height:24px;display:flex;flex-wrap:wrap;gap:var(--space-1-5);align-items:center;margin-top:12px}.cal-status-row,.cal-primary-row,.cal-attendance-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.cal-status-row .cal-status-action{width:auto;flex:0 0 auto;text-align:center}.cal-primary-row{margin-top:var(--space-2)}.cal-primary-row .button,.cal-primary-row button,.cal-attendance-row .button,.cal-attendance-row button{width:auto;flex:1 1 auto;text-align:center}.cal-drawer-action-body{display:grid;gap:var(--space-2);padding-top:var(--space-3)}.cal-payment-row{min-width:0}.cal-paid-payment-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.cal-payment-inline{display:grid;gap:var(--space-2)}.cal-payment-actions-inline{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:0}.cal-payment-actions-inline button{width:auto;min-width:0;flex:1 1 72px;text-align:center}.cal-credit-actions-inline{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end}.cal-credit-actions-inline .cal-credit-select{min-width:0;flex:1 1 200px}.cal-credit-actions-inline button{flex:0 1 auto}.cal-drawer-more{margin-top:var(--space-2)}.cal-drawer-more>summary{min-height:var(--control-min-height);display:flex;align-items:center;width:fit-content;cursor:pointer}.cal-drawer-more[open] .cal-drawer-more-actions{margin-top:var(--space-2)}@media (pointer: coarse){.cal-status-row button,.cal-primary-row .button,.cal-primary-row button{min-height:44px}}@media (max-width: 720px){.ui-dialog-surface--drawer.cal-lesson-drawer--actions{display:flex;flex-direction:column;overflow:hidden}.cal-lesson-drawer--actions>[tabindex="-1"]{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}.cal-lesson-drawer--actions .cal-drawer-action-body{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}}.cal-booking-drawer-body{padding-top:14px}.cal-booking-drawer .book-one-lesson>.panel:first-child{margin-top:0}.cal-booking-drawer .book-one-lesson,.cal-booking-drawer .book-one-lesson .panel{min-width:0}.cal-booking-drawer .book-one-lesson .row{flex-wrap:wrap}.cal-booking-drawer .book-one-lesson .stack{max-width:none}.cal-booking-drawer .booking-student-selection,.cal-booking-drawer .tutor-booking-timing,.cal-booking-drawer .tutor-booking-type,.cal-booking-drawer .tutor-booking-form{padding:0;border:0;box-shadow:none}.cal-booking-drawer .tutor-booking-form>p{margin-top:0}.cal-booking-drawer .book-one-lesson .availability-window{min-width:0;flex:1 1 240px}.cal-lesson-primary-actions,.cal-payment-actions{display:grid;gap:8px;margin-top:10px}.cal-lesson-primary-actions .button,.cal-lesson-primary-actions button,.cal-payment-actions .button,.cal-payment-actions button{width:100%;text-align:left}.cal-lesson-section{margin-top:18px}.cal-lesson-section>h3{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.cal-lesson-secondary-actions,.cal-drawer-more-actions{display:grid;gap:8px}.cal-lesson-secondary-actions .button,.cal-lesson-secondary-actions button,.cal-drawer-more-actions .button,.cal-drawer-more-actions button{width:100%;justify-content:flex-start;text-align:left}.cal-drawer-more-actions{margin-top:var(--space-4-5);padding-top:var(--space-3-5);border-top:1px solid var(--line)}.cal-lesson-primary-actions button:disabled,.cal-lesson-secondary-actions button:disabled,.cal-drawer-more-actions button:disabled,.cal-drawer-danger-zone button:disabled{background:var(--panel);color:var(--muted);border-color:var(--line)}.cal-lesson-action-reason{margin:var(--space-1) 0 0}.cal-drawer-danger-zone{margin-top:18px;padding-top:14px;border-top:1px solid var(--danger-line)}.cal-drawer-danger-zone .button,.cal-drawer-danger-zone button{width:100%;text-align:left}.cal-drawer-back{margin:12px 0 2px}.cal-drawer-operation{margin-top:12px}.cal-credit-select{margin-top:16px}.cal-credit-select select{width:100%}.cal-late-cancel-warning{border-left:4px solid var(--accent-line)}.cal-list-appointment{cursor:pointer}.cal-list-appointment:hover,.cal-list-appointment:focus-visible{outline:1px solid var(--accent-line);box-shadow:var(--shadow)}.cal-blank-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.cal-blank-actions>.action-secondary{flex:1 1 180px;min-width:0;text-align:left}.cal-blank-actions p,.cal-block-target{margin:2px 0 0}.cal-blank-actions p,.cal-blank-actions [role=alert]{flex-basis:100%}.cal-blank-drawer .notice,.cal-blank-drawer .schedule-block-form .panel{margin-top:12px}.cal-block{grid-column:1;position:relative;z-index:1;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;gap:1px;border:1px solid color-mix(in srgb,var(--muted) 48%,var(--line));border-left:4px solid color-mix(in srgb,var(--muted) 76%,var(--line));border-radius:5px;background:color-mix(in srgb,var(--muted) 18%,var(--panel));color:var(--ink);padding:3px 5px;text-align:left;font:inherit;font-size:11px;line-height:1.25;cursor:pointer;overflow:hidden}.cal-block:hover,.cal-block:focus-visible{background:color-mix(in srgb,var(--muted) 25%,var(--panel));border-color:color-mix(in srgb,var(--muted) 75%,var(--line));outline:none}.cal-block:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--muted) 45%,transparent)}.cal-block-label,.cal-block-time{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-block-label{font-weight:650}.cal-block-time{color:var(--muted);font-size:10px}.cal-block-drawer{overflow-wrap:anywhere;padding-bottom:max(18px,env(safe-area-inset-bottom))}.cal-block-actions{display:flex;flex-direction:column;gap:12px;margin-top:18px}.cal-block-actions>button,.cal-block-actions>.button{min-height:44px;white-space:normal;text-align:center}.family-shell.has-student-colours,.staff-accessibility-shell.has-accessibility-colours,.accessibility-preview[style*=--accent]{--accent-ink: var(--bg);--accent-text: var(--accent);--accent-line: var(--accent)}html,body,#root,#root .shell,#root .main,#root .family-shell,#root .family-shell .main,#root .students-page,#root .operations-page{min-width:0;max-width:100%}#root .shell .main,#root .family-shell .main{padding-bottom:max(60px,calc(var(--hub-bottom-content-inset, 0px) + 16px))}html,body,#root{width:100%;overflow-x:clip;overscroll-behavior-x:none}@supports not (overflow: clip){html,body,#root{overflow-x:hidden}}#root .operations-tabs,#root .operations-table-scroll,#root .student-admin-table,#root .table-scroll-region,#root .practice-calendar-scroll{max-width:100%}@media (max-width: 900px){#root .shell,#root .family-shell{grid-template-columns:minmax(0,1fr)}#root .shell,#root .main,#root .staff-workspace,#root .family-shell,#root .family-shell .main,#root .mobile-nav-bar{width:100%;max-width:100%;min-width:0;overflow-x:clip}@supports not (overflow: clip){#root .shell,#root .main,#root .staff-workspace,#root .family-shell,#root .family-shell .main,#root .mobile-nav-bar{overflow-x:hidden}}#root .mobile-nav-bar,#root .mobile-brand{min-width:0}#root .mobile-brand{display:flex;align-items:center;gap:10px;padding:0;font-weight:650;letter-spacing:-.01em;line-height:1.2}#root .mobile-brand-icon{display:block;width:32px;height:32px;flex:0 0 32px;object-fit:contain}#root .mobile-brand-label{min-width:0;overflow-wrap:anywhere}#root .sidebar{display:grid;grid-template-rows:auto minmax(0,auto) minmax(44px,1fr) minmax(60px,auto);height:100vh;height:100dvh;max-width:100%;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));overscroll-behavior:none;overflow-wrap:anywhere}#root .sidebar-head,#root .sidebar-head .brand,#root .sidebar-sections,#root .sidebar-quick-actions,#root .sidebar-foot{min-width:0;min-height:0}#root .sidebar-sections,#root .sidebar-quick-actions,#root .sidebar-foot{overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch}#root .sidebar-head{min-height:min-content}#root .sidebar-quick-actions{display:block;max-height:25vh;max-height:25dvh}#root .sidebar-foot{margin-top:0;max-height:40vh;max-height:40dvh}#root .sidebar-backdrop{overscroll-behavior:none;touch-action:pinch-zoom}#root .mobile-nav-bar{padding-top:max(10px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}#root .main{overflow-wrap:break-word}.shell .fields{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}#root .unmatched-assign-row{min-width:0;flex-wrap:wrap}#root .unmatched-assign-row select{min-width:0;flex:1 1 180px}#root .mobile-nav-bar button.menu-toggle{display:grid;place-items:center;width:48px;min-width:48px;height:44px}#root .sidebar button.drawer-close{display:grid;place-items:center}#root .menu-icon{width:20px}}@media (max-width: 900px) and (max-height: 480px){#root .sidebar{gap:4px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}#root .sidebar-head .brand{padding-bottom:0}#root .sidebar-head .brand-mark{max-width:96px}}.repertoire-picker-result-meta,.repertoire-picker-result-meta-full{display:block}.repertoire-picker-result-meta-mobile{display:none}@media (max-width: 720px){#root .repertoire-picker-result{display:block;min-width:0;white-space:normal}#root .repertoire-picker-result-title{display:block;min-width:0;overflow-wrap:anywhere}#root .repertoire-picker-result.is-recent .repertoire-picker-result-meta-full{display:none}#root .repertoire-picker-result.is-recent .repertoire-picker-result-meta-mobile{display:block}#root .signin{min-height:100dvh;place-items:start center;padding:max(28px,env(safe-area-inset-top)) 20px 24px}#root .signin form{width:min(320px,100%)}#root .operations-page .operations-tabs{gap:5px;margin-inline:0;padding:2px 12px 8px 0;scroll-padding-inline:4px 12px}#root .operations-page .operations-tab{gap:5px;padding-inline:8px;font-size:12px}#root .operations-page .operations-tab-count{min-width:18px;min-height:18px;padding-inline:5px;font-size:10px}}@media (max-width: 430px){#root .operations-page .operations-tabs{gap:4px}#root .operations-page .operations-tab{gap:4px;padding-inline:7px;font-size:11px}}#root .cal-week,#root .cal-month{max-width:100%}#root .cal-payment-indicator{min-width:20px;height:20px;padding:2px 4px 0;font-size:14px;line-height:1}#root .cal-payment-key-row dt{font-size:16px;line-height:1;padding-top:2px}#root .cal-session-mobile-instrument{display:none}@media (max-width: 900px){#root .cal-month{min-width:0;position:relative}}@media (max-width: 720px){#root .cal-week.is-whole-day .cal-week-head{z-index:4}#root .cal-week.is-whole-day .cal-session{padding:2px 5px;line-height:1.25}#root .cal-week.is-whole-day .cal-session-line>time{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}#root .cal-week.is-whole-day .cal-session-line,#root .cal-week.is-whole-day .cal-session-detail{white-space:normal;overflow:hidden;text-overflow:clip}#root .cal-week .cal-session-button.is-solo:not(.is-no-show) .cal-session-detail,#root .cal-week .cal-session-button:not(.is-solo):not(.is-no-show) .cal-session-who,#root .cal-week .cal-session.is-other .cal-session-detail{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}}.install-promotion{position:fixed;z-index:19;right:12px;bottom:max(calc(var(--hub-bottom-dock-clearance, 0px) + 12px),max(12px,env(safe-area-inset-bottom,0px)));left:12px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;width:min(620px,calc(100% - 24px));margin:0 auto;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);box-shadow:0 10px 32px #00000038;color:var(--ink)}@media (max-height: 480px){.install-promotion{max-height:min(45vh,calc(100vh - 96px - env(safe-area-inset-bottom,0px)));max-height:min(45dvh,calc(100dvh - 96px - env(safe-area-inset-bottom,0px)));gap:var(--space-2);padding:var(--space-2);overflow-y:auto;overscroll-behavior:contain}.install-promotion-copy>span{display:none}}.install-promotion-icon{width:48px;height:48px;border-radius:11px}.install-promotion-copy{display:grid;gap:2px;min-width:0}.install-promotion-copy>span{color:var(--muted);font-size:13px}.install-promotion-actions{display:flex;gap:8px;align-items:center}.install-promotion-actions button{white-space:nowrap}@media (max-width: 540px){.install-promotion{grid-template-columns:42px minmax(0,1fr)}.install-promotion-icon{width:42px;height:42px}.install-promotion-actions{grid-column:2;justify-content:flex-start}}.pwa-update-prompt{position:fixed;z-index:19;right:12px;bottom:max(calc(var(--hub-bottom-dock-clearance, 0px) + 12px),max(12px,env(safe-area-inset-bottom,0px)));left:12px;display:flex;gap:16px;align-items:center;width:min(480px,calc(100% - 24px));margin:0 auto;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);box-shadow:0 10px 32px #00000038;color:var(--ink)}:root[data-overlay-task-open=true] .pwa-update-prompt,:root[data-overlay-task-open=true] .install-promotion{display:none}@supports selector(:has(*)){body:has(.pwa-update-prompt) .install-promotion{display:none}}.pwa-update-copy{display:grid;gap:2px;min-width:0}.pwa-update-copy>span{color:var(--muted);font-size:13px}.pwa-update-copy>.pwa-update-error{color:var(--danger)}.pwa-update-actions{display:flex;gap:8px;margin-left:auto}@media (max-width: 480px){.pwa-update-prompt{flex-direction:column;align-items:stretch}.pwa-update-actions{margin-left:0}}@media (max-height: 480px){.pwa-update-prompt{max-height:min(45vh,calc(100vh - 96px - env(safe-area-inset-bottom,0px)));max-height:min(45dvh,calc(100dvh - 96px - env(safe-area-inset-bottom,0px)));gap:var(--space-2);padding:var(--space-2);overflow-y:auto;overscroll-behavior:contain}.pwa-update-copy>span:not(.pwa-update-error){display:none}}
