*{box-sizing:border-box}.manual-invoice-form{display:grid;grid-gap:1.25rem;gap:1.25rem}.manual-invoice-account{align-items:baseline;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.15rem .75rem;gap:.15rem .75rem;grid-template-columns:auto minmax(0,1fr);padding:.75rem 1rem}.manual-invoice-account small,.manual-invoice-account span{color:var(--c-color-text-muted);font-size:.78rem}.manual-invoice-account small{grid-column:2}.manual-invoice-dates{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.manual-invoice-lines{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);overflow:hidden}.manual-invoice-lines__heading{align-items:center;background:var(--c-color-surface-soft);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.manual-invoice-lines__heading h3,.manual-invoice-lines__heading p{margin:0}.manual-invoice-lines__heading p{color:var(--c-color-text-muted);font-size:.78rem;margin-top:.15rem}.manual-invoice-line-list{display:grid}.manual-invoice-line{align-items:end;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:1.5rem minmax(12rem,1fr) minmax(5.5rem,.3fr) minmax(8rem,.45fr) minmax(5rem,auto) 2.5rem;padding:.75rem 1rem}.manual-invoice-line+.manual-invoice-line{border-top:1px solid var(--c-color-border)}.manual-invoice-line__number{align-self:center;color:var(--c-color-text-muted);font-size:.78rem;font-weight:700}.manual-invoice-line__total{align-self:center;min-width:5rem;text-align:right}.manual-invoice-euro-input{align-items:center;display:grid;grid-template-columns:auto minmax(0,1fr)}.manual-invoice-euro-input>span{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border-strong);border-right:0;border-radius:var(--c-radius-sm) 0 0 var(--c-radius-sm);color:var(--c-color-text-muted);display:grid;font-size:.7rem;font-weight:800;height:100%;padding:0 .5rem;place-content:center}.manual-invoice-euro-input .c-input{border-radius:0 var(--c-radius-sm) var(--c-radius-sm) 0;min-width:0}.manual-invoice-preview{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:flex;gap:1.25rem;justify-content:space-between;padding:1rem}.manual-invoice-preview>div{display:grid;grid-gap:.2rem;gap:.2rem}.manual-invoice-preview>div:last-child{text-align:right}.manual-invoice-preview span,.manual-invoice-submit small{color:var(--c-color-text-muted);font-size:.78rem}.manual-invoice-preview strong:last-child{font-size:1.15rem}.manual-invoice-submit{align-items:center;display:flex;gap:1rem;justify-content:space-between}.manual-invoice-submit button:disabled{cursor:not-allowed;opacity:.48}.money-draft-actions{display:flex;flex-wrap:wrap;gap:.5rem}.money-confirmation-total{align-items:center;border-bottom:1px solid var(--c-color-border);display:flex;justify-content:space-between;padding-bottom:.75rem}.money-confirmation-total strong{font-size:1.15rem}.manual-invoice-line__total-label{display:none}@media (max-width:760px){.manual-invoice-dates{grid-template-columns:minmax(0,1fr)}.manual-invoice-lines__heading,.manual-invoice-preview,.manual-invoice-submit{align-items:stretch;flex-direction:column}.manual-invoice-line{grid-template-columns:minmax(0,1fr) minmax(5.5rem,.45fr) 2.5rem}.manual-invoice-line__number{display:none}.manual-invoice-line>label:first-of-type{grid-column:1/-1}.manual-invoice-line__total{align-self:end;display:flex;gap:.75rem;grid-column:1/3;justify-content:space-between;min-height:2.5rem;padding:0 .25rem;place-items:center;text-align:right}.manual-invoice-line__total-label{color:var(--c-color-text-muted);display:inline;font-size:.78rem;font-weight:600}.manual-invoice-preview>div:last-child{text-align:left}}.entitlement-locked{align-items:flex-start;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);color:var(--c-color-text-muted);display:flex;gap:.7rem;padding:.85rem}.entitlement-locked strong{color:var(--c-color-text)}.entitlement-locked p{font-size:.78rem;margin:.18rem 0 0}.platform-shell{background:var(--c-color-surface);color:var(--c-color-text);display:grid;grid-template-columns:15rem minmax(0,1fr);min-height:100vh}.platform-shell>aside{background:var(--c-color-surface);border-right:1px solid var(--c-color-border);display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.platform-shell__brand{align-items:center;color:var(--c-color-text);display:flex;gap:.65rem;text-decoration:none}.platform-shell__brand span{display:grid}.platform-muted,.platform-shell__brand small{color:var(--c-color-text-muted)}.platform-shell nav{display:grid;grid-gap:.25rem;gap:.25rem}.platform-shell nav a{align-items:center;border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);display:flex;gap:.55rem;padding:.58rem;text-decoration:none}.platform-shell nav a[aria-current=page]{background:var(--c-color-surface-soft);color:var(--c-color-brand);font-weight:700}.platform-shell__account{display:grid;grid-gap:.65rem;gap:.65rem;margin-top:auto}.platform-page{display:grid;grid-gap:1rem;gap:1rem;margin:0 auto;max-width:92rem;padding:1.5rem}.platform-page--narrow{max-width:46rem}.platform-page>header{align-items:end;display:flex;justify-content:space-between}.platform-page h1,.platform-page h2,.platform-page h3,.platform-page p{margin-top:0}.platform-client-grid,.platform-entitlement-grid{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.platform-card-heading{align-items:start;display:flex;gap:.75rem;justify-content:space-between}.platform-card-heading p{color:var(--c-color-text-muted);font-size:.76rem}.platform-usage{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(3,1fr)}.platform-usage div{background:var(--c-color-surface-soft);border-radius:var(--c-radius-sm);padding:.5rem}.platform-usage dt{color:var(--c-color-text-muted);font-size:.68rem}.platform-usage dd{font-weight:700;margin:.15rem 0 0}.platform-inline-form{align-items:end;display:flex;flex-wrap:wrap;gap:.6rem}.platform-inline-form .c-label{flex:1 1;min-width:12rem}.platform-plan-editor,.platform-stack-form{display:grid;grid-gap:.65rem;gap:.65rem}.platform-plan-editor{grid-template-columns:1fr 2fr 6rem auto auto}.platform-plan-editor .c-label:nth-of-type(2){grid-column:span 1}.platform-checkbox{align-items:center;display:flex;gap:.4rem}.platform-effective-value{display:block;font-size:1.3rem;margin-bottom:.7rem}.platform-clear-form{display:flex;gap:.4rem;margin-top:.5rem}.platform-onboarding-grid,.platform-plan-list{display:grid;grid-gap:1rem;gap:1rem}.platform-onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-plan-values{border-block:1px solid var(--c-color-border);margin:1rem 0}.platform-plan-values form{align-items:center;border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:minmax(13rem,1fr) 10rem auto;padding:.55rem 0}.platform-plan-values small{color:var(--c-color-text-muted);display:block}.platform-audit-list{display:grid}.platform-audit-list article,.platform-audit-list>a{border-bottom:1px solid var(--c-color-border);color:inherit;display:flex;justify-content:space-between;padding:.6rem 0;text-decoration:none}.platform-audit-list article div{display:grid}.platform-audit-list span{color:var(--c-color-text-muted);font-size:.72rem}.platform-empty-state{padding:3rem;text-align:center}.mfa-card{display:grid;grid-gap:1rem;gap:1rem}.mfa-card form{display:flex;gap:.6rem;align-items:end}.mfa-enrollment img{background:white;display:block;max-width:15rem;padding:.5rem}.mfa-recovery-codes{display:grid;grid-gap:.35rem;gap:.35rem;grid-template-columns:repeat(2,1fr)}.mfa-recovery-codes strong{grid-column:1/-1}.platform-health-summary{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.platform-job-health{gap:1.25rem}.platform-job-school{min-width:0}.platform-job-table-wrap{overflow-x:auto}.platform-job-table{border-collapse:collapse;min-width:72rem;width:100%}.platform-job-table th{color:var(--c-color-text-muted);font-size:.7rem;letter-spacing:.04em;text-align:left;text-transform:uppercase}.platform-job-table td,.platform-job-table th{border-bottom:1px solid var(--c-color-border);padding:.7rem .55rem;vertical-align:top}.platform-job-table td{font-size:.82rem}.platform-job-table td:first-child{min-width:12rem}.platform-job-table small{color:var(--c-color-text-muted);display:flex;gap:.25rem;margin-top:.25rem}.platform-job-table tr[data-alarm=failed],.platform-job-table tr[data-alarm=overdue],.platform-job-table tr[data-alarm=stuck]{background:var(--c-color-danger-soft)}.platform-job-table details summary{align-items:center;color:var(--c-color-brand);cursor:pointer;display:flex;gap:.25rem}.platform-job-control{display:grid;grid-gap:.4rem;gap:.4rem;margin-top:.5rem;min-width:13rem}.platform-job-overdue{color:var(--c-color-danger)!important;font-weight:700}.platform-error-probe{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}.platform-error-probe span{display:grid}.platform-error-probe small{color:var(--c-color-text-muted)}.platform-captured-event{align-items:center;display:flex;gap:.6rem}.platform-captured-event p{margin:0}@media (max-width:820px){.platform-shell{grid-template-columns:1fr}.platform-shell>aside{border-bottom:1px solid var(--c-color-border);border-right:0}.platform-shell nav{grid-template-columns:repeat(2,1fr)}.platform-shell__account{display:none}.platform-onboarding-grid,.platform-plan-editor,.platform-plan-values form{grid-template-columns:1fr}}.teacher-notification-bell{align-items:center;border:1px solid var(--c-color-border);border-radius:50%;color:var(--c-color-text);display:inline-flex;height:2.35rem;justify-content:center;position:relative;text-decoration:none;width:2.35rem}.teacher-notification-bell:hover{background:var(--c-color-surface-soft)}.teacher-notification-bell>span{align-items:center;background:var(--c-color-danger);border:2px solid var(--c-color-surface-raised);border-radius:999px;color:inherit;display:flex;font-size:.58rem;font-weight:800;height:1.12rem;justify-content:center;min-width:1.12rem;padding:0 .18rem;position:absolute;right:-.28rem;top:-.28rem}.teacher-notification-inbox{scroll-margin-top:5.5rem}.teacher-notification-inbox .parent-section-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.teacher-notification-inbox .parent-section-heading>div>div{align-items:center;display:flex;gap:.65rem}.teacher-notification-inbox .parent-section-heading h2,.teacher-notification-inbox .parent-section-heading p{margin:0}.teacher-notification-inbox .parent-section-heading p{color:var(--c-color-text-muted);font-size:.78rem;margin-top:.25rem}.teacher-notification-list{border-top:1px solid var(--c-color-border);display:grid;margin-top:1rem}.teacher-notification-row{align-items:center;border-bottom:1px solid var(--c-color-border);display:flex;gap:.5rem;min-width:0;padding:.65rem 0}.teacher-notification-row>a{align-items:center;color:inherit;display:grid;flex:1 1 auto;grid-gap:.7rem;gap:.7rem;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;text-decoration:none}.teacher-notification-row>a>span:first-child{background:var(--c-color-border-strong);border-radius:50%;height:.5rem;width:.5rem}.teacher-notification-row--unread>a>span:first-child{background:var(--c-color-warning)}.teacher-notification-row small,.teacher-notification-row strong{display:block}.teacher-notification-row small,.teacher-notification-row time{color:var(--c-color-text-muted);font-size:.7rem}.settings-automations{max-width:54rem}.automation-rule-card{display:grid;grid-gap:1.15rem;gap:1.15rem}.automation-rule-card__heading{align-items:flex-start;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:auto minmax(0,1fr) auto}.automation-rule-card__heading h3,.automation-rule-card__heading p{margin:0}.automation-rule-card__heading p{color:var(--c-color-text-muted);font-size:.78rem;margin-top:.25rem}.automation-rule-icon{align-items:center;background:var(--c-role-accent-soft);border-radius:var(--c-radius-sm);color:var(--c-color-structure-strong);display:flex;height:2.4rem;justify-content:center;width:2.4rem}.automation-channel-summary{display:flex;flex-wrap:wrap;gap:.55rem}.automation-channel-summary>span{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:999px;display:inline-flex;font-size:.72rem;gap:.35rem;padding:.35rem .6rem}.automation-channel-summary>.automation-channel-summary--muted{opacity:.5;text-decoration:line-through}.automation-run-now{align-items:end;border-top:1px solid var(--c-color-border);display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,14rem) auto;padding-top:1rem}.dashboard-triage-slide-over{width:min(27rem,100vw)}.dashboard-triage-queue{min-height:100%}.dashboard-triage-queue,.dashboard-triage-queue__scroll{display:grid;grid-gap:1rem;gap:1rem}.dashboard-triage-band{border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);overflow:hidden}.dashboard-triage-band>header{align-items:center;background:var(--c-color-surface-soft);border-bottom:1px solid var(--c-color-border);display:flex;font-size:.73rem;font-weight:800;justify-content:space-between;letter-spacing:.04em;padding:.55rem .7rem;text-transform:uppercase}.dashboard-triage-band--danger>header{border-left:3px solid var(--c-color-danger)}.dashboard-triage-band--warning>header{border-left:3px solid var(--c-color-warning)}.dashboard-triage-band--sla>header{border-left:3px solid var(--c-color-accent)}.dashboard-triage-band--info>header{border-left:3px solid var(--c-color-info)}.dashboard-triage-item{align-items:center;border-bottom:1px solid var(--c-color-border);display:flex;gap:.6rem;min-width:0;padding:.65rem .7rem}.dashboard-triage-item:last-child{border-bottom:0}.dashboard-triage-item>a{align-items:center;color:inherit;display:flex;flex:1 1 auto;gap:.65rem;justify-content:space-between;min-width:0;text-decoration:none}.dashboard-triage-item>a>span:first-child{min-width:0}.dashboard-triage-item small,.dashboard-triage-item strong{display:block}.dashboard-triage-item small{color:var(--c-color-text-muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-triage-item__check,.dashboard-triage-queue__bulk{align-items:center;display:flex}.dashboard-triage-queue__bulk{background:var(--c-color-surface-raised);border-top:1px solid var(--c-color-border);bottom:-2rem;flex-wrap:wrap;gap:.55rem;margin:auto -1.15rem -2rem;padding:.8rem 1.15rem;position:-webkit-sticky;position:sticky;z-index:2}.dashboard-triage-queue__bulk>span{color:var(--c-color-text-muted);flex:1 0 100%;font-size:.72rem}@media (max-width:760px){.teacher-notification-inbox .parent-section-heading,.teacher-notification-row{align-items:stretch;flex-direction:column}.automation-run-now .c-button,.teacher-notification-row>form .c-button{width:100%}.automation-run-now{grid-template-columns:1fr}.dashboard-triage-slide-over{width:100%}.dashboard-triage-item{flex-wrap:wrap}.dashboard-triage-item>.c-button{margin-left:1.5rem}.dashboard-triage-queue__bulk .c-button{flex:1 1 10rem}}.report-builder-page,.saved-reports-page{display:grid;grid-gap:1.15rem;gap:1.15rem;min-width:0}.report-page-header{align-items:end;min-height:auto}.report-tabs{align-items:center;border-bottom:1px solid var(--c-color-border);display:flex;gap:1.4rem;min-width:0;overflow-x:auto}.report-tabs a{border-bottom:2px solid transparent;color:var(--c-color-text-muted);font-size:.86rem;font-weight:650;padding:.45rem 0 .7rem;text-decoration:none;white-space:nowrap}.report-tabs a[aria-current=page]{border-bottom-color:var(--c-color-brand);color:var(--c-color-text)}.report-builder-layout{align-items:stretch;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:15.625rem minmax(0,1fr);min-width:0}.report-builder-rail,.report-catalog-panel,.report-preview-card,.saved-report-card{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm)}.report-builder-rail{align-content:start;display:grid;grid-gap:.85rem;gap:.85rem;padding:1rem}.report-builder-rail .c-label,.report-date-pair .c-label{color:var(--c-color-text-muted);font-size:.7rem;font-weight:750;gap:.35rem;text-transform:uppercase}.report-builder-rail .c-input,.report-builder-rail .c-select{color:var(--c-color-text);font-size:.84rem;min-height:2.35rem;text-transform:none}.report-builder-fieldset{border:0;margin:0;min-width:0;padding:0}.report-builder-fieldset legend{color:var(--c-color-text-muted);font-size:.7rem;font-weight:750;margin-bottom:.35rem;text-transform:uppercase}.report-segmented{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.18rem}.report-segmented--period{grid-template-columns:repeat(4,minmax(0,1fr))}.report-segmented button{background:transparent;border:0;border-radius:calc(var(--c-radius-sm) - 2px);color:var(--c-color-text-muted);cursor:pointer;font:inherit;font-size:.74rem;font-weight:650;min-height:1.95rem;padding:.25rem}.report-segmented button[aria-pressed=true]{background:var(--c-color-surface-raised);box-shadow:var(--c-shadow-soft);color:var(--c-color-structure-strong)}.report-date-pair{display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}.report-save-message{color:var(--c-color-success);font-size:.78rem;margin:0}.report-save-message--error{color:var(--c-color-danger)}.report-preview-card{display:grid;grid-template-rows:auto minmax(18rem,1fr);min-width:0;padding:1.15rem 1.25rem .8rem}.report-preview-heading,.report-section-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.report-preview-heading h2,.report-section-heading h2{font-family:var(--c-font-display);font-size:1.05rem;margin:0}.report-preview-heading p,.report-preview-heading span,.report-section-heading>span{color:var(--c-color-text-muted);font-size:.76rem;margin:.18rem 0 0}.report-visualization{display:grid;min-width:0}.report-chart-topline{align-items:center;display:flex;gap:1rem;justify-content:space-between;min-height:2.25rem}.report-bar-mode-control{flex:0 0 10.5rem}.report-chart-scroll{min-width:0;overflow-x:auto;padding-top:.45rem}.report-chart{display:block;min-width:33.5rem;overflow:visible;width:100%}.saved-report-card__chart .report-chart{min-width:0}.report-chart__grid{stroke:var(--c-color-border);stroke-width:1}.report-chart__line{stroke:var(--c-color-structure);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.report-chart__hit{fill:transparent;stroke:transparent}.report-chart__end{fill:var(--c-color-structure);stroke:var(--c-color-surface-raised);stroke-width:2}.report-chart__axis,.report-chart__direct-label{fill:var(--c-color-text-muted);font-family:var(--c-font-sans);font-size:10px}.report-chart__direct-label{fill:var(--c-color-text);font-weight:700}.report-chart-tooltip rect{fill:var(--c-color-text);stroke:var(--c-color-border-strong)}.report-chart-tooltip text{fill:var(--c-color-surface-raised);font-family:var(--c-font-sans);font-size:9px}.report-chart-legend{display:flex;flex-wrap:wrap;gap:.55rem 1rem;justify-content:flex-end;margin-left:auto;min-height:1.45rem;padding-top:.4rem}.report-chart-legend span{align-items:center;color:var(--c-color-text-muted);display:inline-flex;font-size:.72rem;gap:.35rem}.report-chart-legend i{border-radius:50%;height:.48rem;width:.48rem}.report-chart-actions{align-items:center;border-top:1px solid var(--c-color-border);display:flex;gap:1rem;min-width:0;padding-top:.7rem}.report-chart-actions button{align-items:center;background:transparent;border:0;color:var(--c-color-structure-strong);cursor:pointer;display:inline-flex;font:inherit;font-size:.75rem;font-weight:700;gap:.35rem;padding:.3rem 0}.report-chart-actions>span{color:var(--c-color-text-faint);font-size:.7rem;margin-left:auto;white-space:nowrap}:root[data-theme=dark] .report-visualization--location .report-chart-actions button:first-child{background:var(--c-color-structure-soft);border-radius:var(--c-radius-sm);padding:.35rem .55rem}.report-empty{align-self:center;color:var(--c-color-text-muted);justify-self:center}.report-catalog-panel{display:grid;grid-gap:1rem;gap:1rem;padding:1.15rem}.report-catalog-grid{display:grid;grid-gap:0;gap:0;grid-template-columns:repeat(4,minmax(0,1fr))}.report-catalog-grid>div{border-left:1px solid var(--c-color-border);padding:0 .9rem}.report-catalog-grid>div:first-child{border-left:0;padding-left:0}.report-catalog-grid h3{color:var(--c-color-text-muted);font-size:.7rem;margin:0 0 .4rem;text-transform:uppercase}.report-catalog-grid article{border-top:1px solid var(--c-color-border);display:grid;grid-gap:.35rem;gap:.35rem;padding:.7rem 0}.report-catalog-grid article div{display:grid;grid-gap:.15rem;gap:.15rem}.report-catalog-grid article strong{font-size:.82rem}.report-catalog-grid article p,.report-catalog-grid article small,.report-catalog-grid article span{color:var(--c-color-text-muted);font-size:.68rem;margin:0}.saved-report-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr))}.saved-report-card{display:grid;min-height:12.5rem;overflow:hidden;padding:.9rem}.saved-report-card__open{color:inherit;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-rows:auto minmax(4.25rem,1fr) auto;min-width:0;text-decoration:none}.saved-report-card__open>div:first-child{display:grid;grid-gap:.2rem;gap:.2rem}.saved-report-card__open strong{font-family:var(--c-font-display);font-size:.92rem}.saved-report-card__open small,.saved-report-card__open span{color:var(--c-color-text-muted);font-size:.7rem}.saved-report-card__chart{align-items:center;background:var(--c-color-surface-soft);border-radius:var(--c-radius-sm);display:flex;min-height:4.25rem;overflow:hidden}.saved-report-card>button{justify-self:end;margin-top:.35rem;min-height:2rem;padding:.3rem .45rem}.saved-report-card--new{align-items:center;color:var(--c-color-structure-strong);font-size:.84rem;font-weight:700;gap:.45rem;justify-content:center;text-decoration:none}.report-delete-form{display:grid;grid-gap:1rem;gap:1rem}@media (max-width:980px){.report-builder-layout{grid-template-columns:minmax(0,1fr)}.report-builder-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.report-builder-rail>.c-button,.report-builder-rail>.report-save-message{align-self:end}.report-catalog-grid,.saved-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-catalog-grid>div:nth-child(3){border-left:0}}@media (max-width:620px){.report-builder-page,.saved-reports-page{gap:.8rem;max-width:100%;overflow:hidden}.report-tabs{gap:1rem}.report-builder-rail,.report-catalog-grid,.saved-report-grid{grid-template-columns:minmax(0,1fr)}.report-catalog-grid>div,.report-catalog-grid>div:first-child{border-left:0;border-top:1px solid var(--c-color-border);padding:.8rem 0 0}.report-catalog-grid>div:first-child{border-top:0;padding-top:0}.report-preview-card{padding-inline:.8rem}.report-chart-actions{align-items:flex-start;flex-wrap:wrap;gap:.35rem .9rem}.report-chart-actions>span{flex-basis:100%;margin-left:0}.report-section-heading>span{display:none}}.progress-ladder{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-lg);color:var(--c-color-text);display:grid;grid-gap:1.25rem;gap:1.25rem;padding:1.15rem}.concert-skill-seam,.progress-ladder__heading,.progress-pathway__summary,.student-home__progress-heading{align-items:center;display:flex;justify-content:space-between}.progress-badges h3,.progress-ladder__heading h2,.progress-milestones h3,.progress-next-step strong,.progress-pathway__summary strong{font-family:var(--c-font-display);margin:0}.progress-ladder__pathways{display:grid;grid-gap:1.5rem;gap:1.5rem}.progress-pathway{display:grid;grid-gap:.85rem;gap:.85rem;min-width:0}.progress-milestones article>div,.progress-pathway__summary>div,.teacher-progress-list a>span{display:grid;grid-gap:.18rem;gap:.18rem;min-width:0}.concert-skill-seam span,.progress-badge small,.progress-milestones article span,.progress-pathway__summary span,.teacher-progress-list small{color:var(--c-color-text-muted);font-size:.78rem}.progress-meter,.teacher-progress-list__meter{background:var(--c-color-surface-soft);border-radius:999px;display:block;height:.45rem;overflow:hidden}.progress-meter i,.teacher-progress-list__meter i{background:var(--c-color-structure);border-radius:inherit;display:block;height:100%}.progress-meter i{width:var(--progress-percent)}.progress-rungs{display:grid;grid-gap:0;gap:0;list-style:none;margin:0;padding:0 0 0 .25rem}.progress-rung{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:2.6rem minmax(0,1fr);min-height:5.15rem;position:relative}.progress-rung:not(:last-child):after{background:var(--c-color-border-strong);content:"";height:calc(100% - 2.25rem);left:1.22rem;position:absolute;top:2.35rem;width:.16rem}.progress-rung__node{align-items:center;align-self:start;background:var(--c-color-surface-raised);border:2px dashed var(--c-color-border-strong);border-radius:999px;color:var(--c-color-text-muted);display:inline-flex;font-family:var(--c-font-display);font-weight:800;height:2.35rem;justify-content:center;position:relative;width:2.35rem;z-index:1}.progress-rung--earned .progress-rung__node{background:var(--c-color-award);border-color:var(--c-color-award);box-shadow:0 0 0 .2rem var(--c-color-award-soft);color:var(--c-color-on-award)}.progress-rung--current .progress-rung__node{background:var(--c-color-structure);border-color:var(--c-color-structure);color:var(--c-color-on-structure)}.progress-rung>div{display:grid;grid-gap:.25rem;gap:.25rem;padding:.32rem 0 1rem}.progress-rung>div>span{color:var(--c-color-text-muted);font-size:.8rem}.progress-skills{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.4rem 0 0;padding:0}.progress-skill{align-items:center;background:var(--c-color-surface-soft);border-radius:999px;color:var(--c-color-text-muted);display:inline-flex;font-size:.72rem;gap:.25rem;padding:.35rem .6rem}.progress-skill--earned{background:var(--c-color-award-soft);color:var(--c-color-text)}.progress-next-step{background:var(--c-color-structure-soft);border-radius:var(--c-radius-md);display:grid;grid-gap:.18rem;gap:.18rem;padding:.75rem .9rem}.progress-next-step span{color:var(--c-color-structure-strong);font-size:.68rem;font-weight:700;text-transform:uppercase}.progress-badges,.progress-milestones{border-top:1px solid var(--c-color-border);display:grid;grid-gap:.75rem;gap:.75rem;padding-top:1rem}.progress-badges__shelf{display:flex;flex-wrap:wrap;gap:.65rem}.progress-badge{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);color:var(--c-color-text-muted);display:flex;gap:.55rem;padding:.55rem .7rem}.progress-badge--level{background:var(--c-color-award-soft);border-color:var(--c-color-award);color:var(--c-color-award-strong)}.progress-badge>span{display:grid;grid-gap:.1rem;gap:.1rem}.progress-milestones>div{display:grid}.progress-milestones article{align-items:center;border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:2rem minmax(0,1fr) auto;padding:.7rem 0}.progress-milestone__icon{align-items:center;background:var(--c-color-structure-soft);border-radius:var(--c-radius-md);color:var(--c-color-structure-strong);display:inline-flex;height:2rem;justify-content:center;width:2rem}.progress-milestone__icon--award{background:var(--c-color-award-soft);color:var(--c-color-award-strong)}.progress-milestones time{color:var(--c-color-text-faint);font-size:.7rem}.progress-milestones>small{color:var(--c-color-text-muted)}.progress-revocations{border-top:1px solid var(--c-color-border);padding-top:.8rem}.progress-revocations summary{color:var(--c-color-text-muted);cursor:pointer;font-size:.82rem}.progress-revocations form{align-items:center;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:minmax(8rem,1fr) minmax(10rem,1fr) auto;padding-top:.65rem}.progress-award-trigger{background:var(--c-color-award-soft);border-color:var(--c-color-award);color:var(--c-color-award-strong);min-height:2rem;padding:.35rem .7rem}.progress-award-unavailable{align-items:flex-start;display:grid;grid-gap:.35rem;gap:.35rem;justify-items:start}.progress-award-unavailable small{color:var(--c-color-text-muted);font-size:.72rem;max-width:22rem}.progress-award-panel .c-slide-over__header{background:var(--c-color-award-soft);border-color:var(--c-color-award)}.progress-award-form{display:grid;grid-gap:1rem;gap:1rem}.progress-award-disclosure{align-items:center;background:var(--c-color-award-soft);border-radius:var(--c-radius-md);color:var(--c-color-text);display:flex;font-size:.8rem;gap:.55rem;margin:0;padding:.75rem}.student-next-lesson{background:var(--c-color-structure-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-lg);display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:clamp(1.15rem,3vw,2rem)}.student-home__progress-heading h2,.student-next-lesson h1{font-family:var(--c-font-display);margin:0}.student-next-lesson p{color:var(--c-color-text-muted);margin:.3rem 0 0}.student-hero-chips{display:grid;grid-gap:.55rem;gap:.55rem;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.student-hero-chips span{background:var(--c-color-surface-raised);border-radius:var(--c-radius-md);color:var(--c-color-text-muted);display:grid;font-size:.75rem;grid-gap:.12rem;gap:.12rem;padding:.7rem}.student-hero-chips strong{color:var(--c-color-text);font-size:.95rem}.student-home__progress-heading a{color:var(--c-color-structure-strong);font-weight:700}.progress-admin-grid{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.65fr) minmax(20rem,.85fr)}.progress-admin-grid>.people-section{min-width:0;overflow:hidden;padding:0}.concert-ready-rule{align-items:center;display:flex;gap:.45rem}.progress-invite-button{min-height:2rem;padding:.35rem .65rem}.teacher-progress-list{display:grid}.teacher-progress-list a{align-items:center;border-bottom:1px solid var(--c-color-border);color:var(--c-color-text);display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:5rem minmax(9rem,1fr) minmax(10rem,1fr);padding:.85rem 0;text-decoration:none}.concert-skill-seam{background:var(--c-color-surface-soft);border-radius:var(--c-radius-md);gap:.75rem;margin-top:1rem;padding:.75rem}@media (max-width:760px){.progress-admin-grid{grid-template-columns:minmax(0,1fr)}.progress-ladder{padding:.9rem}.progress-milestones article{grid-template-columns:2rem minmax(0,1fr)}.progress-milestones time{grid-column:2}.progress-revocations form,.teacher-progress-list a{grid-template-columns:minmax(0,1fr)}.teacher-progress-list__meter{width:5rem}}@media (max-width:480px){.student-hero-chips,.student-next-lesson{grid-template-columns:minmax(0,1fr)}.concert-skill-seam,.progress-ladder__heading,.student-home__progress-heading{align-items:flex-start;flex-direction:column}.progress-badge,.progress-badges__shelf{width:100%}}html{min-height:100%;font-family:var(--c-font-sans)}body,html{background:var(--c-color-surface);color:var(--c-color-text)}body{min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.empty-screen,.login-screen{display:grid;min-height:100vh;place-items:center;padding:2rem}.login-card,.no-academy-card{display:grid;grid-gap:1.25rem;gap:1.25rem;max-width:30rem;width:min(100%,30rem)}.login-heading{align-items:center;display:flex;gap:.85rem}.login-heading h1{margin:0}.login-lockup-heading{line-height:0}.login-lockup{display:block;height:auto;width:min(15rem,100%)}.dev-credentials,.form-message,.login-heading p,.portal-eyebrow{color:var(--c-color-text-muted)}.portal-logo{align-items:center;background:url(/brand/crescendo-logo-source-mark.svg) 50%/contain no-repeat;border-radius:0;color:transparent;display:inline-flex;font-weight:900;height:2.75rem;justify-content:center;width:2.75rem}.login-mode{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr 1fr}.dev-credentials,.login-form{display:grid;grid-gap:.85rem;gap:.85rem}.dev-credentials{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);font-size:.875rem;padding:1rem}[data-admin-sidebar=collapsed] .assistant-trigger span{display:none}[data-admin-sidebar=collapsed] .portal-logo{height:2.2rem;width:2.2rem}.portal-main{padding:clamp(1rem,3vw,2rem)}.portal-eyebrow{font-size:.8rem;font-weight:900;letter-spacing:.08em;margin:0;text-transform:uppercase}.availability-page,.calendar-page,.money-page,.registers-page{display:grid;grid-gap:1rem;gap:1rem}.admin-page-header,.calendar-controls,.calendar-period,.calendar-view-switch,.table-heading{align-items:center;display:flex;gap:1rem}.admin-page-header{justify-content:space-between}.admin-page-header--plain{min-height:2.5rem}.admin-page-header--plain>h1{margin:0}.admin-page-header__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.admin-page-header h1,.table-heading h2{margin:0}.admin-page-header p{color:var(--c-color-text-muted);margin:.35rem 0 0}.admin-page-header>a,.calendar-period a,.calendar-view-switch a{color:var(--c-color-brand-strong);font-weight:800;text-decoration:none}.calendar-controls{flex-wrap:wrap;justify-content:space-between}.calendar-page-actions{flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.calendar-period{color:var(--c-color-text-muted)}.calendar-period strong{color:var(--c-color-text)}.calendar-view-switch{padding:.4rem}.calendar-view-switch a{background:var(--c-color-surface-raised);border-radius:var(--c-radius-sm);padding:.5rem .75rem}.calendar-summary{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-summary .c-card{display:grid;grid-gap:.4rem;gap:.4rem}.calendar-summary span,.empty-state,.table-heading span{color:var(--c-color-text-muted)}.calendar-summary strong{font-size:1.8rem}.schedule-editor,.session-actions{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);padding:.85rem}.schedule-editor summary,.session-actions summary{cursor:pointer;font-weight:850}.session-action-form,.settings-row{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:.85rem}.settings-row{align-items:flex-end;grid-template-columns:minmax(12rem,1fr) minmax(9rem,.7fr) minmax(9rem,.7fr) auto}.session-calendar-card{position:-webkit-sticky;position:sticky;top:4.75rem;z-index:5}.session-calendar{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));max-height:min(33rem,calc(100vh - 7rem));overflow:auto}.lesson-detail-view,.lesson-detail-view__actions,.lesson-detail-view__body,.lesson-detail-view__header,.session-calendar-day{display:grid;grid-gap:.85rem;gap:.85rem;min-width:0}.session-calendar-day{align-content:start}.session-calendar-day__header{align-items:center;border-bottom:1px solid var(--c-color-border);display:flex;gap:.75rem;justify-content:space-between;min-height:3rem;padding-bottom:.6rem}.lesson-detail-view__header p,.session-calendar-day__header span{color:var(--c-color-text-muted)}.session-calendar-day__header a{color:var(--c-color-brand-strong);font-weight:850}.lesson-detail-view__header{align-items:center;grid-template-columns:minmax(0,1fr) auto}.lesson-detail-view__header h2{margin:.2rem 0 0}.lesson-detail-view .registers-page,.lesson-detail-view .teacher-stack{gap:.85rem}.lesson-detail-view .registers-page>.admin-page-header,.lesson-detail-view .teacher-stack>.teacher-page-header{display:none}.availability-table-card{display:grid;grid-gap:1rem;gap:1rem}.table-heading{justify-content:space-between}.availability-table{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);overflow:hidden}.register-detail-grid,.register-open-card,.register-queue-card,.register-summary-card{display:grid;grid-gap:1rem;gap:1rem}.register-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.register-record__student span,.register-summary-card span{color:var(--c-color-text-muted)}.register-summary-card strong{font-size:1.6rem;text-transform:capitalize}.register-preview-list{display:grid;grid-gap:.5rem;gap:.5rem;list-style:none;margin:0;padding:0}.register-preview-list li{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);padding:.75rem}.register-record,.register-records{display:grid;grid-gap:.85rem;gap:.85rem}.register-record{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);grid-template-columns:minmax(10rem,.8fr) minmax(20rem,1.6fr) minmax(12rem,1fr);padding:.85rem}.register-absence-banner{align-items:center;background:var(--c-color-warning-soft);border:1px solid var(--c-color-warning);border-radius:var(--c-radius-sm);display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1fr) auto auto;padding:.85rem}.register-absence-banner div{display:grid;grid-gap:.25rem;gap:.25rem}.register-absence-banner small,.register-absence-banner span{color:var(--c-color-text-muted)}.register-record__attendance{display:contents}.register-record__student{display:grid;grid-gap:.45rem;gap:.45rem}.register-status-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.register-note-form,.teacher-cancel-form{align-items:flex-end;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.75rem;gap:.75rem;grid-column:1/-1;grid-template-columns:minmax(10rem,.65fr) minmax(16rem,1.35fr) auto;padding:.75rem}.register-note-form--flag,.teacher-cancel-form{border-color:color-mix(in oklch,var(--c-color-danger) 45%,var(--c-color-border))}.register-note-form--flag,.teacher-cancel-form{grid-template-columns:minmax(16rem,1fr) auto}.money-actions,.money-credit-form,.money-run-form,.money-void form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.money-run-form .c-input{width:11rem}.money-aging,.money-red-flags,.money-statement-card,.money-table-card{display:grid;grid-gap:1rem;gap:1rem}.money-list{display:grid;grid-gap:.75rem;gap:.75rem}.money-flag{align-items:center;background:var(--c-color-danger-soft);border:1px solid var(--c-color-danger);border-radius:var(--c-radius-sm);color:var(--c-color-text);display:flex;gap:1rem;justify-content:space-between;padding:.85rem;text-decoration:none}.money-flag div,.money-mini-table div{display:grid;grid-gap:.3rem;gap:.3rem}.money-flag span,.money-mini-table small,.money-mini-table span{color:var(--c-color-text-muted)}.money-table{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);overflow:hidden}.money-actions{align-items:center}.money-void{position:relative}.money-void summary{color:var(--c-color-danger);cursor:pointer;font-weight:850}.money-void form{background:var(--c-color-surface-raised);box-shadow:var(--c-shadow-soft);min-width:min(20rem,70vw);padding:.85rem;position:absolute;right:0;top:1.7rem;z-index:4}.money-mini-table,.money-void form{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm)}.money-mini-table{display:grid;overflow:hidden}.money-mini-table h3{margin:0;padding:.85rem}.money-mini-table div{border-top:1px solid var(--c-color-border);grid-template-columns:minmax(7rem,.75fr) minmax(0,1.4fr) minmax(6rem,.6fr) minmax(0,1fr);padding:.85rem}.admin-global-search{flex:1 1;max-width:34rem;position:relative}.admin-global-search__input{backdrop-filter:blur(1rem);background:color-mix(in oklch,var(--c-color-surface-raised) 78%,transparent);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text);min-height:2.75rem;padding:.7rem .9rem;width:100%;-webkit-backdrop-filter:blur(1rem)}.admin-global-search__input:focus{border-color:var(--c-color-brand);box-shadow:inset 0 0 0 1px var(--c-color-brand);outline:none}.admin-global-search__panel{backdrop-filter:blur(1.25rem);background:color-mix(in oklch,var(--c-color-surface-raised) 88%,transparent);border:1px solid color-mix(in oklch,var(--c-color-border) 86%,transparent);border-radius:var(--c-radius-sm);box-shadow:var(--c-shadow-lg);left:0;max-height:min(32rem,calc(100vh - 6rem));overflow-y:auto;padding:.5rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:30;-webkit-backdrop-filter:blur(1.25rem)}.admin-global-search__group{display:grid;grid-gap:.2rem;gap:.2rem}.admin-global-search__group+.admin-global-search__group{border-top:1px solid var(--c-color-border);margin-top:.45rem;padding-top:.45rem}.admin-global-search__group>p,.admin-global-search__state{color:var(--c-color-text-muted);font-size:.75rem;font-weight:850;margin:0;padding:.45rem .6rem}.admin-global-search__group>p{text-transform:uppercase}.admin-global-search__option{border-radius:var(--c-radius-sm);color:var(--c-color-text);display:grid;grid-gap:.15rem;gap:.15rem;padding:.6rem;text-decoration:none}.admin-global-search__option span{color:var(--c-color-text-muted);font-size:.8rem}.admin-global-search__option--active,.admin-global-search__option:hover{background:var(--c-color-brand-soft);color:var(--c-color-brand-strong)}.people-page{display:grid;grid-gap:1rem;gap:1rem}.people-detail-grid,.people-grid,.people-search-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.35fr) minmax(22rem,.65fr)}.people-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people-section{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr);min-width:0}.people-section--wide{grid-column:1/-1}.people-section--invite{background:var(--c-color-brand-soft)}.people-section--invite a{color:var(--c-color-brand-strong);overflow-wrap:anywhere}.people-message,.people-warning{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);margin:0;padding:.85rem}.people-message--notice{background:var(--c-color-success-soft);border-color:var(--c-color-success)}.people-message--error,.people-warning{background:var(--c-color-warning-soft);border-color:var(--c-color-warning)}.people-actions,.people-checkbox-group,.people-danger-form,.people-inline-form{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.people-inline-form{justify-content:flex-end}.people-inline-form--large{justify-content:start}.people-inline-form--large .c-input{max-width:32rem}.people-actions a{color:var(--c-color-brand-strong);font-weight:850;text-decoration:none}.people-form,.people-form-grid,.people-list{display:grid;grid-gap:.85rem;gap:.85rem}.people-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-compose-email__accounts small,.admin-compose-email__attachments small{color:var(--c-color-text-muted)}.admin-compose-email__accounts,.admin-compose-email__attachments{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.65rem;gap:.65rem;margin:0;padding:.8rem}.admin-compose-email__accounts legend,.admin-compose-email__attachments legend{font-weight:850;padding:0 .35rem}.admin-compose-email__accounts>p,.admin-compose-email__attachments>p{color:var(--c-color-text-muted);margin:0}.admin-compose-email__accounts>div,.admin-compose-email__attachments>div{display:grid;grid-gap:.35rem;gap:.35rem;max-height:16rem;overflow-y:auto}.admin-compose-email__accounts label,.admin-compose-email__attachments label{align-items:center;border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.65rem}.admin-compose-email__accounts label span,.admin-compose-email__attachments label span{display:grid;grid-gap:.1rem;gap:.1rem}.admin-compose-email__footer{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.admin-compose-email__footer small{color:var(--c-color-text-muted)}.admin-segment-email+.admin-segment-email__explain,.admin-segment-email__explain+.admin-segment-email__send{margin-top:1rem}.admin-segment-email__explain{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.85rem}.admin-segment-email__explain>div{display:grid;grid-gap:.15rem;gap:.15rem}.admin-segment-email__explain>div strong{font-size:1.45rem}.admin-segment-email__explain dl,.admin-segment-email__explain>p{grid-column:1/-1;margin:0}.admin-segment-email__explain .admin-segment-email__date{color:var(--c-color-text-muted);font-size:.85rem}.admin-segment-email__explain dl{display:grid;grid-gap:.4rem;gap:.4rem}.admin-segment-email__explain dl div{align-items:center;border-top:1px solid var(--c-color-border);display:flex;justify-content:space-between;padding-top:.4rem}.admin-segment-email__explain dd{font-weight:800;margin:0}.family-communication-history{margin-top:1rem}.family-communication-row{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.55rem;gap:.55rem;padding:.8rem}.family-communication-row>div{align-items:center;display:flex;gap:.55rem}.family-communication-row p{margin:0;white-space:pre-wrap}.family-communication-row small,.lead-compose-disabled small{color:var(--c-color-text-muted)}.lead-compose-disabled{align-items:center;display:flex;gap:.65rem}.people-checkbox-group{align-items:stretch}.people-check{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:inline-flex;gap:.45rem;min-height:2.75rem;padding:.65rem .75rem}.people-edit-row+.people-edit-row,.people-student-block+.people-student-block{border-top:1px solid var(--c-color-border)}.people-note-row,.people-search-result{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.people-note-row span,.people-search-result span{overflow-wrap:anywhere}.people-danger-form p,.people-note-row span,.people-search-result span{color:var(--c-color-text-muted)}.people-edit-row{align-items:flex-end;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(3,minmax(8rem,1fr)) minmax(6rem,.5fr) auto auto;padding:.85rem 0}.people-edit-fields{display:contents}.people-edit-row--new{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);padding:.85rem}.people-edit-row--student{grid-template-columns:repeat(4,minmax(8rem,1fr)) minmax(12rem,1.2fr) auto auto auto}.people-notes-field{min-width:min(100%,14rem)}.people-help{color:var(--c-color-text-muted);font-size:.9rem}.people-student-block{display:grid;grid-gap:.75rem;gap:.75rem;padding:.85rem 0}.people-student-block--inactive{opacity:.72}.people-danger-form{background:var(--c-color-danger-soft);border:1px solid var(--c-color-danger);border-radius:var(--c-radius-sm);padding:.85rem}.people-danger-form--inline{justify-content:start}.people-note-row,.people-search-result{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text);padding:.85rem;text-decoration:none}.public-enrollment{align-items:flex-start;display:grid;min-height:100vh;padding:clamp(1rem,4vw,3rem)}.public-enrollment-card{display:grid;grid-gap:1.25rem;gap:1.25rem;margin:0 auto;max-width:44rem;width:min(100%,44rem)}.offer-next-step h2,.public-enrollment-card h1{margin:.2rem 0 0}.lead-card p,.lead-card__meta,.lead-holds span,.offer-slot span,.pricing-comparison span,.pricing-plan span,.public-consent,.public-enrollment-card p{color:var(--c-color-text-muted)}.lead-card,.lead-holds,.lead-slot-form,.lead-update-form,.offer-next-step,.offer-slot-list,.pricing-comparison,.pricing-plan-grid,.public-enrollment-form,.public-form-grid{display:grid;grid-gap:1rem;gap:1rem}.public-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-honeypot{height:0;left:-100vw;opacity:0;position:absolute;width:0}.lead-card__header,.lead-card__meta,.lead-slot-row,.offer-slot,.pricing-comparison div,.pricing-plan{align-items:center;display:grid;grid-gap:.75rem;gap:.75rem}.lead-card__meta,.offer-slot,.pricing-comparison div,.pricing-plan{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);padding:.85rem}.offer-slot,.pricing-comparison div,.pricing-plan{grid-template-columns:minmax(0,1fr) auto auto}.lead-card__header div,.offer-slot div,.pricing-plan div{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.offer-next-step{background:var(--c-color-brand-soft);border:1px solid var(--c-color-brand);border-radius:var(--c-radius-sm);padding:1rem}.leads-page{display:grid;grid-gap:1rem;gap:1rem}.lead-card__header{grid-template-columns:minmax(0,1fr) auto}.lead-flag{background:var(--c-color-warning-soft);border:1px solid var(--c-color-warning);border-radius:var(--c-radius-sm);margin:0;padding:.75rem}.lead-update-form{grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr) auto}.lead-holds a{color:var(--c-color-brand-strong);font-weight:850;text-decoration:none}.lead-slot-row{grid-template-columns:repeat(8,minmax(0,1fr))}.parent-back-link,.parent-button-link,.parent-receipt-link{align-items:center;border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text);display:inline-flex;font-weight:800;min-height:2.75rem;padding:.65rem .9rem;text-decoration:none}.parent-stack,.teacher-stack{display:grid;grid-gap:1rem;gap:1rem}.parent-panel,.teacher-hero,.teacher-panel{background:transparent;border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.parent-panel--hero{gap:1.25rem}.parent-panel--hero h1{font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.08;margin:.25rem 0 0}.parent-list-row small,.parent-money-lines span,.parent-panel--hero p,.parent-section-heading span,.parent-session span{color:var(--c-color-text-muted)}.parent-section-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.parent-receipts h3,.parent-section-heading h2{margin:.2rem 0 0}.parent-list,.parent-money-lines,.parent-preferences-form,.parent-receipts,.parent-session-list{display:grid;grid-gap:.75rem;gap:.75rem}.parent-list-row,.parent-money-lines div,.parent-session,.teacher-session-card{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm)}.parent-session,.teacher-session-card{align-items:center;display:grid;grid-gap:.75rem;gap:.75rem;padding:.85rem}.parent-session{grid-template-columns:minmax(5rem,.45fr) minmax(0,1fr) auto}.parent-list-row>span,.parent-session time{color:var(--c-color-brand-strong);font-weight:900}.parent-list-row{align-items:center;color:var(--c-color-text);display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(6rem,.45fr) minmax(0,1fr);min-height:3rem;padding:.85rem;text-decoration:none}.parent-list-row div,.parent-session>div{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.parent-list-row small,.parent-list-row strong,.parent-session span,.parent-session strong{overflow-wrap:anywhere}.parent-list-row--active,.parent-list-row--compact{grid-template-columns:minmax(0,1fr) auto}.parent-list-row--active{border-color:var(--c-color-brand)}.parent-payment-row{grid-template-columns:minmax(8rem,.55fr) minmax(0,1fr) auto}.parent-payment-row a{color:var(--c-color-brand-strong);font-weight:800}.parent-list-row__end{align-items:flex-end;display:grid;grid-gap:.35rem;gap:.35rem;justify-items:end}.parent-settings-form{align-items:flex-end;display:grid;grid-gap:.75rem;gap:.75rem;grid-column:1/-1;grid-template-columns:repeat(2,minmax(10rem,1fr)) minmax(12rem,1fr) auto;width:100%}.parent-list-row--settings{grid-template-columns:minmax(0,1fr) auto}.calendar-feed-settings{display:grid;grid-gap:.85rem;gap:.85rem}.calendar-feed-settings__url{align-items:center;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:minmax(0,1fr) auto}.calendar-feed-settings__url input{font-family:inherit;min-width:0}.calendar-feed-settings__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.calendar-feed-settings__error,.calendar-feed-settings__notice,.calendar-feed-settings__state{margin:0}.calendar-feed-settings__state{color:var(--c-color-text-muted)}.calendar-feed-settings__notice{color:var(--c-color-success);font-weight:700}.calendar-feed-settings__error{color:var(--c-color-danger);font-weight:700}.parent-billing-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr)}.parent-money-lines div{align-items:center;display:flex;justify-content:space-between;padding:.85rem}.parent-receipt{margin:0 auto;max-width:40rem;width:100%}.teacher-hero{align-items:center;grid-template-columns:minmax(0,1fr) auto}.teacher-hero h1,.teacher-page-header h1{font-size:clamp(1.65rem,4vw,2.45rem);line-height:1.08;margin:.2rem 0 0}.teacher-hero p,.teacher-page-header p,.teacher-pay-grid span,.teacher-session-card small,.teacher-session-card span{color:var(--c-color-text-muted)}.teacher-page-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.teacher-pay-grid,.teacher-summary-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-card-links,.teacher-session-list{display:grid;grid-gap:.75rem;gap:.75rem}.teacher-session-card{grid-template-columns:minmax(4.75rem,.45fr) minmax(0,1fr) auto;min-width:0}.teacher-session-card time{color:var(--c-color-brand-strong);display:grid;font-weight:900;grid-gap:.15rem;gap:.15rem}.teacher-session-card time span{color:var(--c-color-text-muted);font-size:.85rem}.teacher-session-card div{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.teacher-session-card span,.teacher-session-card strong{overflow-wrap:anywhere}.teacher-card-links{grid-auto-flow:column;justify-content:start}.teacher-inline-link{align-items:center;color:var(--c-color-brand-strong);display:inline-flex;font-weight:850;min-height:2.75rem;padding:.6rem .8rem;text-decoration:none;width:-moz-fit-content;width:fit-content}.teacher-inline-link,.teacher-pay-grid div{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm)}.teacher-pay-grid div{background:var(--c-color-surface-soft);display:grid;grid-gap:.35rem;gap:.35rem;min-height:4.5rem;padding:.85rem}.teacher-pay-grid strong{font-size:1.2rem}@media (max-width:760px){.portal-main{min-width:0;width:100%}.admin-page-header,.calendar-controls,.calendar-period,.table-heading{align-items:stretch;flex-direction:column}.calendar-summary,.lead-card__header,.lead-slot-row,.lead-update-form,.lesson-detail-view__header,.money-mini-table div,.offer-slot,.parent-billing-grid,.parent-settings-form,.people-detail-grid,.people-edit-row,.people-edit-row--student,.people-form-grid,.people-grid,.people-search-grid,.pricing-comparison div,.pricing-plan,.public-form-grid,.register-absence-banner,.register-detail-grid,.register-note-form,.register-note-form--flag,.register-record,.settings-row,.teacher-cancel-form,.teacher-hero,.teacher-pay-grid,.teacher-session-card,.teacher-summary-grid{grid-template-columns:1fr}.session-calendar-card{position:relative;top:auto}.session-calendar{max-height:none}.money-actions,.money-credit-form,.money-flag,.money-run-form,.people-actions,.people-danger-form,.people-inline-form{align-items:stretch;flex-direction:column}.admin-global-search{max-width:none}.money-void form{position:static}.parent-list-row,.parent-list-row--active,.parent-list-row--compact,.parent-session{align-items:stretch;grid-template-columns:1fr}.parent-list-row__end{align-items:flex-start;justify-items:start}.parent-money-lines div,.parent-section-heading,.teacher-page-header{align-items:stretch;flex-direction:column}.teacher-card-links{grid-auto-flow:row}}.calendar-page{--calendar-group-block-color:var(--c-color-calendar-group);--calendar-group-block-fill:var(--c-color-calendar-group-soft);--calendar-private-block-color:var(--c-color-calendar-private);--calendar-private-block-fill:var(--c-color-calendar-private-soft);display:grid;grid-gap:.7rem;gap:.7rem;min-height:0}.calendar-v2-header{align-items:center;display:flex;gap:.75rem;min-width:0}.calendar-v2-header h1{font-size:1.45rem;margin:0}.calendar-view-switch{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:inline-flex;gap:0;padding:.14rem}.calendar-view-switch a{border-radius:calc(var(--c-radius-sm) - .12rem);color:var(--c-color-text-muted);font-size:.76rem;font-weight:700;min-height:1.9rem;padding:.42rem .7rem;text-decoration:none}.calendar-view-switch a[aria-current=page]{background:var(--c-color-surface-raised);box-shadow:var(--c-shadow-soft);color:var(--c-color-text)}.calendar-page-actions{align-items:center;display:flex;gap:.45rem;margin-left:auto}.calendar-page-actions .c-button{min-height:2.25rem;padding:.45rem .7rem}.calendar-pill-text-size{align-items:center;color:var(--c-color-text-muted);display:inline-flex;gap:.35rem;min-height:1.8rem}.calendar-pill-text-size input{accent-color:var(--c-color-structure);cursor:pointer;width:5.8rem}.calendar-period-control{gap:.55rem;margin-left:0;position:relative}.calendar-period,.calendar-period-control{align-items:center;display:flex;min-width:0}.calendar-period{gap:.3rem;margin-left:auto}.calendar-period-control .calendar-period{margin-left:0}.calendar-period>a:not(.calendar-period__today){color:var(--c-color-text-muted);height:2rem;justify-content:center;width:2rem}.calendar-period>a:not(.calendar-period__today),.calendar-period__today{align-items:center;border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:inline-flex}.calendar-period__today{background:var(--c-color-surface-raised);color:var(--c-color-text);font-size:.78rem;font-weight:700;max-width:18rem;min-height:2rem;overflow:hidden;padding:.3rem .55rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.calendar-period__today:hover{background:var(--c-color-surface-soft);border-color:var(--c-color-border-strong)}.calendar-filter-row{align-items:center;display:flex;gap:.65rem;justify-content:space-between;min-width:0}.calendar-filter-pills{align-items:center;display:flex;flex-wrap:wrap;gap:.38rem}.calendar-filter-pill{align-items:center;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:999px;color:var(--c-color-text-muted);display:inline-flex;font-size:.67rem;min-height:1.9rem;padding:.12rem;position:relative}.calendar-filter-pill__clear,.calendar-filter-pill__trigger{align-items:center;background:transparent;border:0;color:currentColor;cursor:pointer;display:inline-flex}.calendar-filter-pill__trigger{border-radius:999px;font:inherit;gap:.28rem;min-height:1.58rem;padding:.16rem .42rem .16rem .52rem}.calendar-filter-pill__trigger:hover,.calendar-filter-pill__trigger[aria-expanded=true]{background:var(--c-color-surface-soft)}.calendar-filter-menu button:focus-visible,.calendar-filter-pill__clear:focus-visible,.calendar-filter-pill__trigger:focus-visible{outline:2px solid var(--c-color-structure);outline-offset:1px}.calendar-filter-pill__trigger span{color:var(--c-color-text-muted);font-weight:600}.calendar-filter-pill__trigger strong{color:var(--c-color-text);font-weight:780;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-filter-pill__trigger svg{transition:transform .14s ease}.calendar-filter-pill__trigger[aria-expanded=true] svg{transform:rotate(180deg)}.calendar-filter-pill__clear{border-radius:50%;justify-content:center;padding:.15rem}.calendar-filter-menu{animation:calendar-popdown-in .14s ease-out;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);box-shadow:var(--c-shadow-panel);display:grid;left:0;min-width:12.5rem;overflow:hidden;padding:.35rem;position:absolute;top:calc(100% + .38rem);z-index:24}.calendar-filter-menu>p{color:var(--c-color-text-muted);font-size:.64rem;line-height:1.35;margin:0;max-width:16rem;padding:.38rem .48rem .5rem}.calendar-filter-menu button{align-items:center;background:transparent;border:0;border-radius:var(--c-radius-sm);color:var(--c-color-text);cursor:pointer;display:flex;font:inherit;gap:.7rem;justify-content:space-between;min-height:2.15rem;padding:.42rem .5rem;text-align:left;width:100%}.calendar-filter-menu button:hover,.calendar-filter-menu button[aria-selected=true]{background:var(--c-color-structure-soft)}.calendar-filter-menu button>span{display:grid;grid-gap:.08rem;gap:.08rem}.calendar-filter-menu button strong{font-size:.7rem}.calendar-filter-menu button small{color:var(--c-color-text-muted);font-size:.61rem;line-height:1.3;white-space:nowrap}.calendar-filter-pill--active{background:var(--c-color-structure-soft);border-color:color-mix(in oklch,var(--c-color-structure) 42%,transparent);color:var(--c-color-structure-strong)}.calendar-language-legend{border:0;flex:0 1 auto;justify-content:flex-end;padding:0}.calendar-month-card,.session-calendar-card{min-height:0;overflow:hidden;padding:0}.session-calendar-card{display:grid;grid-template-rows:minmax(0,1fr) auto;position:relative}.session-calendar-scroll{max-height:100%;overflow:auto;overscroll-behavior:contain}.session-calendar-scroll .session-calendar-day,.session-calendar-scroll .session-calendar-times{cursor:-webkit-grab;cursor:grab}.session-calendar-scroll--panning,.session-calendar-scroll--panning *{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.session-calendar-week{position:relative}.session-calendar-week:focus-visible{outline:2px solid var(--c-color-structure);outline-offset:-2px}.calendar-now-line{border-top:2px solid var(--c-color-danger);left:3.2rem;pointer-events:none;position:absolute;right:0;top:var(--calendar-now-top);z-index:7}.calendar-now-line time{background:var(--c-color-danger);border-radius:999px;color:var(--c-color-on-danger);font-size:.58rem;font-weight:800;left:.25rem;padding:.12rem .3rem;position:absolute;top:0;transform:translateY(-55%)}.calendar-location-key{align-items:center;display:flex;gap:.75rem;justify-content:space-between;min-width:0;padding:.45rem .75rem;width:100%}.calendar-location-key__items{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem;min-width:0}.calendar-colour-keys{align-items:center;display:flex;flex:1 1 auto;gap:1.1rem;min-width:0;overflow-x:auto;scrollbar-width:none}.calendar-colour-keys::-webkit-scrollbar{display:none}.calendar-colour-keys .calendar-location-key__items{flex:0 0 auto;flex-wrap:nowrap}.calendar-location-key__items>span{align-items:center;color:var(--c-color-text-muted);display:inline-flex;font-size:.66rem;gap:.3rem}.calendar-location-key__label{color:var(--c-color-text);font-size:.66rem;font-weight:800}.calendar-location-key__label span{text-transform:capitalize}.calendar-outline-key{background:var(--c-color-surface-raised);border:2px solid var(--calendar-key-color);border-radius:.22rem}.calendar-outline-key,.calendar-tile-key{box-sizing:border-box;display:inline-block;height:.62rem;width:.82rem}.calendar-tile-key{background:color-mix(in srgb,var(--calendar-key-color) 24%,var(--c-color-surface-raised));border:1px solid var(--c-color-border);border-radius:.22rem}.calendar-location-key__control{flex:0 0 auto;margin-left:auto;width:max-content}.calendar-instrument-dot{background:var(--calendar-entity-color)}.calendar-month-card{display:grid;grid-template-rows:auto minmax(0,1fr)}.table-filter-pills{justify-content:flex-end}.table-row-action{color:var(--c-color-structure-strong);font-size:.75rem;font-weight:800;text-decoration:none}.table-row-action:hover{text-decoration:underline}.attendance-page{min-width:0}.attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-surface{display:grid;grid-gap:.75rem;gap:.75rem;min-width:0;overflow:visible;padding:.85rem}.attendance-table-heading{align-items:flex-end;flex-wrap:wrap;justify-content:space-between}.attendance-table-heading>div:first-child{display:grid;grid-gap:.16rem;gap:.16rem}.attendance-table-heading span{color:var(--c-color-text-muted);font-size:.72rem}.attendance-page td>span{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.attendance-page td>span>small,.attendance-page td>span>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-page td>span>small{color:var(--c-color-text-muted);font-size:.69rem}.attendance-page td>span>.c-badge{justify-self:start}.attendance-teacher-panel{display:grid;grid-gap:1rem;gap:1rem}.attendance-teacher-panel__summary{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-teacher-panel__summary>div{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.18rem;gap:.18rem;padding:.7rem}.attendance-reminder span,.attendance-teacher-panel__summary span{color:var(--c-color-text-muted);font-size:.7rem}.attendance-teacher-panel__summary strong{font-size:1.15rem}.attendance-reminder{align-items:center;border-block:1px solid var(--c-color-border);display:flex;gap:1rem;justify-content:space-between;padding-block:.75rem}.attendance-reminder>div{display:grid;grid-gap:.12rem;gap:.12rem}.attendance-teacher-panel__list{display:grid}.attendance-teacher-panel__list>a{align-items:center;border-bottom:1px solid var(--c-color-border);color:var(--c-color-text);display:flex;gap:.75rem;justify-content:space-between;min-height:3.15rem;padding:.5rem .1rem;text-decoration:none}.attendance-teacher-panel__list>a:hover{background:var(--c-color-surface-soft)}.attendance-teacher-panel__list>a>span{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.attendance-teacher-panel__list small{color:var(--c-color-text-muted);font-size:.69rem}@media (max-width:47.9375rem){.attendance-summary,.attendance-teacher-panel__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-table-heading{align-items:stretch}.table-filter-pills{justify-content:flex-start;width:100%}}.calendar-month-grid,.calendar-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-weekdays span{border-bottom:1px solid var(--c-color-border);color:var(--c-color-text-muted);font-size:.65rem;font-weight:750;padding:.5rem;text-align:center;text-transform:uppercase}.calendar-month-grid{min-height:0;grid-template-rows:repeat(6,minmax(0,1fr))}.calendar-month-day{background:var(--c-color-surface-raised);border-bottom:1px solid var(--c-color-border);border-right:1px solid var(--c-color-border);color:var(--c-color-text);display:grid;grid-gap:.28rem;gap:.28rem;grid-template-rows:auto minmax(0,1fr) auto;min-height:5rem;overflow:hidden;padding:.5rem .58rem;position:relative;text-decoration:none}.calendar-month-day:hover{background:var(--c-color-structure-soft)}.calendar-month-day[aria-current=date]{box-shadow:inset 0 0 0 2px var(--c-color-structure)}.calendar-month-day[aria-current=date] .calendar-month-day__heading time{background:var(--c-color-structure);color:var(--c-color-on-structure)}.calendar-month-day--outside{opacity:.42}.calendar-month-day--weekend:not([aria-current=date]){background:var(--c-color-surface-soft)}.calendar-month-day__footer,.calendar-month-day__heading{align-items:center;display:flex;min-width:0}.calendar-month-day__heading{justify-content:space-between}.calendar-month-day__heading time{align-items:center;border-radius:50%;display:inline-flex;font-size:.72rem;font-weight:850;height:1.35rem;justify-content:center;width:1.35rem}.calendar-month-day__heading .calendar-month-day__due{color:var(--c-color-danger);font-size:.58rem;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-month-day__stats{align-items:center;display:flex;min-width:0}.calendar-month-day__stat{display:grid;flex:1 1;grid-gap:.08rem;gap:.08rem;min-width:0}.calendar-month-day__stat+.calendar-month-day__stat{border-left:1px solid var(--c-color-border);margin-left:.45rem;padding-left:.45rem}.calendar-month-day__stat strong{font-family:var(--c-font-display);font-size:1.05rem;line-height:1}.calendar-month-day__footer small,.calendar-month-day__stat small{color:var(--c-color-text-muted);font-size:.59rem}.calendar-month-day__footer{min-height:.72rem}.lesson-block__tile--filtered{border-color:transparent;pointer-events:none;visibility:hidden}.calendar-summary{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(5,minmax(0,1fr))}.calendar-stat-tile{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);color:var(--c-color-text);display:grid;grid-gap:.18rem;gap:.18rem;min-height:3.7rem;padding:.65rem .75rem;text-decoration:none}.calendar-stat-tile:hover{border-color:var(--c-color-border-strong);box-shadow:var(--c-shadow-soft)}.calendar-stat-tile span{color:var(--c-color-text-muted);font-size:.67rem}.calendar-stat-tile strong{font-family:var(--c-font-display);font-size:1.1rem}.calendar-stat-tile--risk strong{color:var(--c-color-danger)}.calendar-stat-tile--clear strong{color:var(--c-color-success);font-size:.85rem}.calendar-stat-tile--clear strong:before{content:"\2713  "}.calendar-management,.calendar-risk-list,.calendar-stat-panel,.calendar-stat-panel__list{display:grid;grid-gap:.65rem;gap:.65rem;min-width:0}.calendar-stat-panel__list>.calendar-stat-panel__session{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--c-color-border);border-radius:0;color:var(--c-color-text);display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:minmax(7.5rem,auto) minmax(12rem,1fr) auto;justify-content:normal;min-width:0;padding:.65rem 0;text-align:left;text-decoration:none;transform:none;width:100%}.calendar-new-block-action{background:var(--c-color-brand);border:1px solid var(--c-color-brand);border-radius:var(--c-radius-sm);color:var(--c-color-on-brand);font-size:.74rem;min-height:2.25rem;padding:.45rem .72rem;text-decoration:none}.calendar-new-block-action,.calendar-period__trigger{align-items:center;display:inline-flex;font-weight:750;white-space:nowrap}.calendar-period__trigger{background:transparent;border:0;border-radius:var(--c-radius-sm);color:var(--c-color-text);cursor:pointer;font-size:.78rem;gap:.35rem;justify-content:center;max-width:18rem;min-height:2rem;overflow:hidden;padding:.3rem .45rem;text-overflow:ellipsis}.calendar-period__trigger:hover,.calendar-period__trigger[aria-expanded=true]{background:var(--c-color-surface-soft)}.calendar-period__trigger:focus-visible{outline:2px solid var(--c-color-structure);outline-offset:1px}.calendar-date-picker{animation:calendar-popdown-in .15s ease-out;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);box-shadow:var(--c-shadow-soft);display:grid;grid-gap:.45rem;gap:.45rem;padding:.65rem;position:absolute;right:0;top:calc(100% + .45rem);width:min(18rem,calc(100vw - 2rem));z-index:20}@keyframes calendar-popdown-in{0%{opacity:0;transform:translateY(-.3rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.calendar-date-picker,.calendar-filter-menu{animation:none}.calendar-filter-pill__trigger svg{transition:none}}.calendar-date-picker>footer,.calendar-date-picker>header{align-items:center;display:flex;justify-content:space-between}.calendar-date-picker>header strong{font-size:.78rem}.calendar-date-picker>header button{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);cursor:pointer;display:inline-flex;height:1.8rem;justify-content:center;width:1.8rem}.calendar-date-picker>header button:hover{background:var(--c-color-surface-soft);color:var(--c-color-text)}.calendar-date-picker__grid,.calendar-date-picker__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-date-picker__weekdays span{color:var(--c-color-text-faint);font-size:.58rem;font-weight:800;padding:.2rem;text-align:center}.calendar-date-picker__grid a{align-items:center;border:1px solid transparent;border-radius:.22rem;color:var(--c-color-text);display:flex;font-size:.67rem;height:1.9rem;justify-content:center;text-decoration:none}.calendar-date-picker__grid a:hover{background:var(--c-color-surface-soft)}.calendar-date-picker__grid .calendar-date-picker__outside{color:var(--c-color-text-faint)}.calendar-date-picker__grid .calendar-date-picker__selected{background:var(--c-color-structure-soft);color:var(--c-color-structure-strong)}.calendar-date-picker__grid a[aria-current=date]{border-color:var(--c-color-structure);font-weight:850}.calendar-date-picker>footer{border-top:1px solid var(--c-color-border);padding-top:.5rem}.calendar-date-picker>footer a,.calendar-date-picker>footer span{font-size:.64rem}.calendar-date-picker>footer span{color:var(--c-color-text-muted)}.calendar-date-picker>footer a{color:var(--c-color-structure-strong);font-weight:800;text-decoration:none}.calendar-new-block-action:hover{background:var(--c-color-brand-strong);border-color:var(--c-color-brand-strong)}.legend-block,.legend-free-slot{border-radius:.2rem;display:inline-block;height:.82rem;width:.82rem}.legend-block{background:var(--calendar-private-block-fill);border:1px solid color-mix(in oklch,var(--calendar-private-block-color) 42%,var(--c-color-border))}.legend-block--group{background:var(--calendar-group-block-fill);border-color:color-mix(in oklch,var(--calendar-group-block-color) 42%,var(--c-color-border))}.legend-free-slot{background:var(--c-color-surface-soft);border:1.5px dashed var(--c-color-text-muted)}.lesson-block{--block-color:var(--c-color-structure);box-sizing:border-box;color:var(--c-color-text);container-name:lesson-block;container-type:inline-size;height:var(--pill-height);isolation:isolate;left:var(--pill-left);overflow:visible;position:absolute;top:var(--pill-top);width:var(--pill-width);z-index:2}.lesson-block:after{border-radius:.62rem;content:"";inset:1px 0;pointer-events:none;position:absolute;border:2px solid var(--block-color);box-sizing:border-box;z-index:4}.lesson-block--outline-none:after{border-color:transparent}.lesson-block__frame-link{border-radius:.62rem;inset:1px 0;position:absolute;z-index:1}.lesson-block__frame-link:focus-visible{outline:2px solid var(--c-color-structure);outline-offset:2px}.lesson-block__stack{display:grid;grid-gap:var(--block-gap);gap:var(--block-gap);inset:5px 7px;position:absolute;z-index:2}.lesson-block--single .lesson-block__stack{inset-block:3px}.lesson-block__tile{align-items:center;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:.42rem;box-sizing:border-box;color:var(--c-color-text);display:flex;font-size:var(--calendar-pill-font-size,.55rem);gap:.35rem;height:var(--block-tile-height);min-height:0;overflow:hidden;padding:.12rem .28rem;position:relative;text-decoration:none}.lesson-block__tile--lesson{background:color-mix(in srgb,var(--lesson-tile-color) 24%,var(--c-color-surface-raised))}.lesson-block__tile--tile-none{background:var(--c-color-surface-raised);border-color:var(--c-color-border-strong)}.lesson-block__tile--tile-none:hover{background:var(--c-color-surface-soft)}.lesson-block__tile:hover{background:color-mix(in srgb,var(--lesson-tile-color,var(--c-color-structure)) 32%,var(--c-color-surface-raised))}.lesson-block__tile:focus-visible{outline:2px solid var(--c-color-structure);outline-offset:-2px}.lesson-block__tile--cancelled,.lesson-block__tile--rescheduled{opacity:.64}.lesson-block__tile--cancelled:after,.lesson-block__tile--rescheduled:after{border-top:1px solid var(--c-color-danger);content:"";left:.3rem;position:absolute;right:.3rem;top:50%}.lesson-block__tile--free{background:color-mix(in srgb,var(--calendar-free-slot-color) 24%,var(--c-color-surface-raised));border:1.5px dashed color-mix(in oklch,var(--calendar-free-slot-color) 76%,var(--c-color-text-muted));color:var(--c-color-text-muted);justify-content:center;padding:.15rem .25rem}.lesson-block__tile--free:hover{background:color-mix(in srgb,var(--calendar-free-slot-color) 32%,var(--c-color-surface-raised))}.lesson-block__tile--free strong{font-size:.94em;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-calendar-day--creating .lesson-block,.session-calendar-day--creating .teacher-pill--hold{transition:width .16s ease-out;width:max(1.5rem,calc(var(--pill-width) - 1rem))}.session-calendar-day--creating .lesson-block__tile--free{background:color-mix(in oklch,var(--c-color-text-muted) 9%,var(--c-color-surface-soft));border-color:color-mix(in oklch,var(--c-color-text-muted) 46%,var(--c-color-border));color:var(--c-color-text-faint);filter:saturate(0);opacity:.58}@media (prefers-reduced-motion:reduce){.session-calendar-day--creating .lesson-block,.session-calendar-day--creating .teacher-pill--hold{transition:none}}.calendar-student-results__avatar{align-items:center;background:color-mix(in oklch,var(--block-color,var(--c-color-structure)) 17%,var(--c-color-surface-raised));border-radius:50%;color:color-mix(in oklch,var(--block-color,var(--c-color-structure)) 76%,var(--c-color-text));display:inline-flex;flex:0 0 auto;font-size:.82em;font-weight:850;height:1.22rem;justify-content:center;width:1.22rem}.lesson-block__copy{display:grid;flex:1 1 auto;min-width:0}.lesson-block__copy small,.lesson-block__copy strong{display:block;line-height:1.03;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-block__copy strong{font-size:1em}.lesson-block__title{align-items:center;display:flex;gap:.28rem;min-width:0}.lesson-block__title>strong{flex:1 1 auto;min-width:0}.lesson-block__title .lesson-block__attendance-dots{align-self:center;height:auto;padding-block:0;transform:translateY(-.06rem)}.lesson-block__title .lesson-block__attendance-column{height:auto;justify-content:center}.lesson-block__copy>.lesson-block__attendance-dots{align-self:start;gap:.18rem;height:auto;margin-top:.14rem;padding-block:0}.lesson-block__copy>.lesson-block__attendance-dots .lesson-block__attendance-column{gap:.14rem;height:auto;justify-content:flex-start}.lesson-block__tile--group .lesson-block__copy{row-gap:.1rem}.lesson-block__copy small{color:var(--c-color-text-muted);font-size:.76em}.lesson-block__copy .lesson-block__group-availability{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:999px;color:var(--c-color-text-muted);display:inline-flex;font-size:.72em;font-weight:800;justify-self:start;line-height:1;margin-top:.14rem;padding:.1rem .24rem}.lesson-block__signals{align-items:center;align-self:stretch;display:flex;flex:0 0 auto;gap:.16rem;justify-content:flex-end;margin-left:auto;max-width:48%;position:relative;z-index:1}.lesson-block__unpaid{color:var(--c-color-danger);display:inline-block;flex:0 0 auto;font-size:1.18em;font-style:normal;font-weight:950;line-height:1}.lesson-block__attendance-dots{align-self:stretch;display:flex;flex:0 0 auto;gap:.1rem;min-height:0;padding-block:.08rem}.lesson-block__attendance-column{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:space-evenly;min-height:0;width:.5rem}.lesson-block__attendance-dot{background:var(--c-color-text-faint);border:1px solid transparent;border-radius:50%;box-sizing:border-box;display:block;flex:0 0 auto;height:.44rem;width:.44rem}.lesson-block__attendance-dot--present{background:var(--c-color-attendance-present)}.lesson-block__attendance-dot--absent{background:var(--c-color-attendance-absent)}.lesson-block__attendance-dot--unset{background:color-mix(in oklch,var(--c-color-text-muted) 82%,var(--c-color-surface-raised))}.lesson-block__attendance-dot--vacant{background:transparent;border:1.5px solid var(--c-color-text-muted)}.lesson-block__flag{background:var(--c-color-brand);border-radius:999px;color:var(--c-color-on-brand);font-size:.74em;font-weight:800;padding:.06rem .18rem}@container lesson-block (max-width: 92px){.lesson-block__tile{justify-content:flex-start;padding-inline:.22rem}.lesson-block__flag{display:none}.lesson-block__copy{display:grid}.lesson-block__copy>.lesson-block__attendance-dots,.lesson-block__copy>.lesson-block__group-availability,.lesson-block__copy>.lesson-block__location,.lesson-block__copy>.lesson-block__teacher{display:none}.lesson-block__copy .lesson-block__time{display:block}.lesson-block__signals{margin-left:auto;max-width:28%}.lesson-block__tile--free strong{font-size:.8em}}.calendar-page .calendar-now-line{z-index:1}.calendar-creation-layer{cursor:crosshair;inset:0;outline:none;position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:7}.calendar-creation-layer:focus-visible{box-shadow:inset 0 0 0 2px var(--c-color-structure)}.calendar-creation-layer__busy,.calendar-creation-layer__selection{align-items:center;border-radius:var(--c-radius-sm);display:flex;justify-content:center;left:.28rem;overflow:hidden;position:absolute;right:.28rem}.calendar-creation-layer__busy{background:color-mix(in oklch,var(--c-color-text-muted) 20%,var(--c-color-surface-raised));color:var(--c-color-text-muted);font-size:.55rem;font-weight:750;opacity:.86}.calendar-creation-layer__selection{background:color-mix(in oklch,var(--c-color-structure) 13%,var(--c-color-surface-raised));border:1.5px solid var(--c-color-structure);color:var(--c-color-structure-strong);flex-direction:column;font-size:.61rem;gap:.2rem;padding:.25rem}.calendar-creation-layer__confirm{align-items:center;background:var(--c-color-structure);border:0;border-radius:50%;color:var(--c-color-on-structure);cursor:pointer;display:inline-flex;height:1.7rem;justify-content:center;width:1.7rem}.calendar-creation-layer__announcement{block-size:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}.calendar-creation-instruction{color:var(--c-color-text-muted);font-size:.72rem;font-weight:650}.calendar-teacher-clash-warning{align-items:center;color:var(--c-color-warning);display:inline-flex;font-size:.68rem;font-weight:700;gap:.3rem;line-height:1.3;margin-top:.25rem}.calendar-teacher-clash-warning svg{flex:0 0 auto}.calendar-block-popout__heading>div>p:last-child{color:var(--c-color-text-muted);font-size:.74rem;margin:.3rem 0 0}.calendar-block-popout__free,.calendar-block-popout__session{align-items:center;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:3.5rem auto minmax(0,1fr) auto;min-width:0;padding:.7rem}.calendar-block-popout__session{color:var(--c-color-text);text-decoration:none}.calendar-block-popout__free:hover,.calendar-block-popout__session:hover{background:var(--c-color-surface-soft)}.calendar-block-popout__free{border-top:0}.calendar-block-popout__free>span{display:grid}.calendar-block-popout__free-link,.calendar-payment-warning a{color:var(--c-color-structure-strong);font-size:.72rem;font-weight:750}.calendar-book-student,.calendar-create-panel{display:grid;grid-gap:1rem;gap:1rem;min-width:min(31rem,calc(100vw - 2.5rem))}.calendar-student-search{display:grid;grid-template-columns:minmax(0,1fr)}.calendar-student-results{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;max-height:17rem;overflow-y:auto}.calendar-student-results>a{align-items:center;color:var(--c-color-text);display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.7rem;text-decoration:none}.calendar-student-results>a+a{border-top:1px solid var(--c-color-border)}.calendar-student-results>a:hover,.calendar-student-results>a[aria-current=true]{background:var(--c-color-structure-soft)}.calendar-student-results>a>span:nth-child(2){display:grid}.calendar-book-student__selected-heading p,.calendar-student-results small{color:var(--c-color-text-muted);font-size:.7rem}.calendar-book-student__selection{display:grid;grid-gap:.85rem;gap:.85rem;min-width:0}.calendar-book-student__selected-heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.calendar-book-student__selected-heading h3,.calendar-book-student__selected-heading p{margin:0}.calendar-book-student__status{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:.35rem}.calendar-payment-warning{align-items:center;background:var(--c-color-danger-soft);border:1px solid color-mix(in oklch,var(--c-color-danger) 28%,var(--c-color-border));border-radius:var(--c-radius-sm);display:flex;font-size:.75rem;gap:.75rem;justify-content:space-between;padding:.7rem}.calendar-booking-summary{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;margin:0}.calendar-booking-summary>div{align-items:baseline;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:5rem minmax(0,1fr);padding:.62rem .72rem}.calendar-booking-summary>div+div{border-top:1px solid var(--c-color-border)}.calendar-booking-readonly span,.calendar-booking-summary dt,.calendar-booking-term-options>span{color:var(--c-color-text-muted);font-size:.7rem;font-weight:750}.calendar-booking-summary dd{font-size:.78rem;font-weight:700;margin:0}.calendar-booking-controls{display:grid;grid-gap:.85rem;gap:.85rem;min-width:0}.calendar-booking-extend{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);cursor:pointer;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;padding:.7rem;position:relative}.calendar-booking-extend>span:first-child{display:grid;grid-gap:.1rem;gap:.1rem}.calendar-booking-extend strong{font-size:.78rem}.calendar-booking-extend small{color:var(--c-color-text-muted);font-size:.68rem}.calendar-booking-extend>input{height:1px;opacity:0;position:absolute;width:1px}.calendar-booking-extend__track{background:var(--c-color-border-strong);border-radius:var(--c-radius-pill);height:1.25rem;position:relative;transition:background .14s ease;width:2.25rem}.calendar-booking-extend__track:after{background:var(--c-color-surface-raised);border-radius:50%;box-shadow:0 1px 2px color-mix(in oklch,var(--c-color-text) 18%,transparent);content:"";height:.9rem;left:.18rem;position:absolute;top:.17rem;transition:transform .14s ease;width:.9rem}.calendar-booking-extend>input:checked+.calendar-booking-extend__track{background:var(--c-color-structure)}.calendar-booking-extend>input:checked+.calendar-booking-extend__track:after{transform:translateX(1rem)}.calendar-booking-extend>input:focus-visible+.calendar-booking-extend__track{outline:2px solid var(--c-color-structure-strong);outline-offset:.18rem}.calendar-booking-controls .c-input,.calendar-booking-controls .c-select,.calendar-booking-controls>label{min-width:0;width:100%}.calendar-booking-readonly{display:grid;grid-gap:.35rem;gap:.35rem}.calendar-booking-readonly strong{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);font-size:.8rem;min-height:2.25rem;padding:.62rem .7rem}.calendar-booking-duration{border:0;display:grid;grid-gap:.7rem;gap:.7rem;margin:0;min-width:0;padding:0}.calendar-booking-duration>legend{font-size:.75rem;font-weight:750;margin-bottom:.42rem}.calendar-booking-duration__modes{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.18rem}.calendar-booking-duration__modes .c-button{justify-content:center;min-height:2rem}.calendar-booking-term-options{display:grid;grid-gap:.45rem;gap:.45rem}.calendar-booking-term-options__rail{display:grid;grid-gap:.42rem;gap:.42rem;grid-auto-columns:calc((100% - .84rem) / 3);grid-auto-flow:column;overflow-x:auto;padding:.05rem 0 .42rem;scroll-snap-type:x proximity;scrollbar-color:var(--c-color-structure) var(--c-color-surface-soft);scrollbar-width:thin}.calendar-booking-term-options__rail--count-1{grid-auto-columns:100%}.calendar-booking-term-options__rail--count-2{grid-auto-columns:calc((100% - .42rem) / 2)}.calendar-booking-term-options__rail::-webkit-scrollbar{height:.34rem}.calendar-booking-term-options__rail::-webkit-scrollbar-track{background:var(--c-color-surface-soft);border-radius:var(--c-radius-pill)}.calendar-booking-term-options__rail::-webkit-scrollbar-thumb{background:var(--c-color-structure);border-radius:var(--c-radius-pill)}.calendar-booking-term-options button{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-pill);color:var(--c-color-text);display:grid;grid-gap:.08rem;gap:.08rem;min-width:0;padding:.5rem .68rem;scroll-snap-align:start;text-align:left;width:100%}.calendar-booking-term-options button[aria-pressed=true]{background:var(--c-color-structure-soft);border-color:var(--c-color-structure)}.calendar-booking-term-options button strong{font-size:.72rem}.calendar-booking-term-options button small{color:var(--c-color-text-muted);font-size:.64rem}.calendar-create-root{color:var(--c-color-text-muted);min-width:18rem}.calendar-create-type{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.15rem}.calendar-create-type a{border-radius:calc(var(--c-radius-sm) - .12rem);color:var(--c-color-text-muted);font-size:.74rem;font-weight:750;padding:.5rem;text-align:center;text-decoration:none}.calendar-create-type a[aria-current=page]{background:var(--c-color-surface-raised);color:var(--c-color-text)}.calendar-create-summary{background:var(--c-color-structure-soft);border:1px solid color-mix(in oklch,var(--c-color-structure) 24%,var(--c-color-border));border-radius:var(--c-radius-sm);color:var(--c-color-structure-strong);display:grid;grid-gap:.15rem;gap:.15rem;padding:.75rem}.calendar-create-summary small,.calendar-create-summary span{font-size:.7rem}@media (max-width:760px){.calendar-new-block-action{min-height:2rem}.calendar-book-student,.calendar-create-panel{min-width:0}.calendar-student-search{grid-template-columns:1fr}.calendar-booking-summary>div{grid-template-columns:4.25rem minmax(0,1fr)}.calendar-book-student__selected-heading{display:grid}.calendar-book-student__selected-heading>.c-badge{justify-self:start}.calendar-book-student__status{align-items:flex-start}.calendar-payment-warning{align-items:flex-start;flex-direction:column}.calendar-block-popout__free,.calendar-block-popout__session{grid-template-columns:2.6rem minmax(0,1fr) auto}.calendar-block-popout__session .calendar-instrument-dot{display:none}}.calendar-stat-panel__list small,.calendar-stat-panel__list time{color:var(--c-color-text-muted);font-size:.7rem}.calendar-stat-panel__list span{display:grid;min-width:0}.calendar-risk-list>div{align-items:center;border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:auto minmax(8rem,1fr) auto;padding:.7rem 0}.calendar-risk-list span{color:var(--c-color-text-muted);font-size:.75rem}.calendar-management{border-top:1px solid var(--c-color-border);margin-top:.5rem;padding-top:.75rem}.calendar-management>summary{cursor:pointer;font-weight:750}.calendar-management__search{display:flex;gap:.5rem}.calendar-colour-settings{display:grid;grid-gap:.9rem;gap:.9rem}.calendar-colour-settings>div:first-child p:last-child{color:var(--c-color-text-muted);margin-bottom:0}.calendar-colour-settings h2,.calendar-colour-settings h3{margin:0}.calendar-colour-settings h3{font-size:.82rem}.calendar-colour-list{border-top:1px solid var(--c-color-border)}.calendar-colour-row{align-items:center;border-bottom:1px solid var(--c-color-border);display:flex;gap:1rem;justify-content:space-between;min-height:3.5rem;padding:.55rem 0}.calendar-colour-row>div:first-child{align-items:center;display:flex;gap:.55rem;min-width:0}.calendar-colour-row>div:first-child i{background:var(--calendar-entity-color);border-radius:var(--c-radius-sm);display:block;height:1.2rem;width:1.2rem}.calendar-colour-row>div:first-child span{display:grid;grid-gap:.08rem;gap:.08rem;min-width:0}.calendar-colour-row>div:first-child small{color:var(--c-color-text-muted);font-size:.68rem;line-height:1.25}.calendar-colour-swatches{align-items:center;display:flex;gap:.35rem}.calendar-colour-status{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.calendar-colour-swatches form{margin:0}.calendar-colour-custom summary,.calendar-colour-swatches button{align-items:center;background:var(--calendar-entity-color,var(--c-color-surface-soft));border:2px solid transparent;border-radius:var(--c-radius-sm);color:var(--c-color-on-structure);cursor:pointer;display:inline-flex;height:1.55rem;justify-content:center;padding:0;width:1.55rem}.calendar-colour-swatches button.is-selected{box-shadow:0 0 0 2px var(--c-color-surface-raised),0 0 0 3px var(--c-color-text)}.calendar-colour-custom{position:relative}.calendar-colour-custom summary{border-color:var(--c-color-border-strong);border-style:dashed;color:var(--c-color-text-muted);list-style:none}.calendar-colour-custom summary::-webkit-details-marker{display:none}.calendar-colour-custom>form{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);box-shadow:var(--c-shadow-panel);display:grid;grid-gap:.55rem;gap:.55rem;padding:.75rem;position:absolute;right:0;top:calc(100% + .45rem);width:16rem;z-index:15}.calendar-colour-custom label{align-items:center;display:flex;font-size:.75rem;justify-content:space-between}.calendar-contrast{font-size:.68rem;margin:0}.calendar-contrast--pass{color:var(--c-color-success)}.calendar-contrast--fail{color:var(--c-color-danger)}@media (min-width:761px){.portal-shell:has(.calendar-page){height:100vh;min-height:0;overflow:hidden}.portal-shell:has(.calendar-page) .portal-main,.portal-shell:has(.calendar-page) .portal-shell__workspace{min-height:0;overflow:hidden}.portal-shell:has(.calendar-page) .portal-main{display:flex}.portal-shell:has(.calendar-page) .portal-shell__footer{display:none}.calendar-page{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;width:100%}}@media (max-width:980px){.calendar-filter-row,.calendar-v2-header{align-items:flex-start;flex-wrap:wrap}.calendar-period{margin-left:0}.calendar-language-legend{justify-content:flex-start}}@media (max-width:760px){.calendar-page{display:grid}.calendar-v2-header{display:grid;grid-template-columns:1fr auto}.calendar-page-actions,.calendar-period,.calendar-v2-header h1{grid-column:1/-1}.calendar-page-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.calendar-page-actions .c-button{min-width:0;white-space:normal}.calendar-filter-pills{flex-wrap:nowrap;max-width:100%;overflow-x:auto;padding-bottom:.2rem}.calendar-filter-pill{flex:0 0 auto}.calendar-language-legend{max-width:100%;overflow-x:auto}.session-calendar-card{min-height:28rem}.session-calendar-scroll{max-height:65vh}.calendar-month-card{overflow-x:auto}.calendar-month-grid,.calendar-month-weekdays{min-width:28rem}.calendar-month-day{min-height:4.1rem;padding:.3rem}.calendar-month-day__footer,.calendar-month-day__heading small{display:none}.calendar-month-day__stat{gap:0}.calendar-month-day__stat strong{font-size:.78rem}.calendar-month-day__stat small{font-size:.48rem}.calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-stat-tile:last-child{grid-column:1/-1}.calendar-risk-list>div,.calendar-stat-panel__list>.calendar-stat-panel__session{align-items:flex-start;grid-template-columns:1fr}.calendar-colour-row,.calendar-management__search{align-items:stretch;flex-direction:column}.calendar-colour-swatches{flex-wrap:wrap}}.public-booking{background:var(--c-color-surface);color:var(--c-color-text);min-height:100vh;padding:1rem}.public-booking-shell{margin:0 auto;max-width:72rem}.public-booking-brand{align-items:center;display:flex;gap:.75rem;margin:0 auto 1rem;max-width:58rem;padding:.5rem 0}.public-booking-brand div{display:grid;grid-gap:.1rem;gap:.1rem}.public-booking-brand span{color:var(--c-color-text-muted);font-size:.78rem}.public-booking-card{display:grid;grid-gap:1.5rem;gap:1.5rem;margin:0 auto;max-width:58rem;padding:clamp(1.1rem,3vw,2rem)}.public-booking-heading{display:grid;grid-gap:.65rem;gap:.65rem}.public-booking-heading h1,.public-booking-heading p,.public-booking-next h2,.public-booking-next p,.public-booking-status h2,.public-booking-status p{margin:0}.public-booking-heading h1{font-size:2.75rem;line-height:1.08}.public-booking-heading>p:last-child,.public-booking-next p,.public-booking-status p{color:var(--c-color-text-muted);line-height:1.55}.public-booking-message{background:var(--c-color-info-soft);border:1px solid var(--c-color-info);border-radius:var(--c-radius-sm);color:var(--c-color-text);margin:0;padding:.75rem .9rem}.public-booking-message--error{background:var(--c-color-danger-soft);border-color:var(--c-color-danger)}.public-booking-held,.public-booking-next,.public-booking-status{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);padding:1rem}.public-booking-held{display:grid;grid-gap:.9rem;gap:.9rem}.public-booking-held h2{font-size:1.2rem;margin:.65rem 0 0}.public-booking-held__meta{display:flex;flex-wrap:wrap;gap:.65rem 1rem}.public-booking-held__meta span{align-items:center;color:var(--c-color-text-muted);display:inline-flex;font-size:.88rem;gap:.35rem}.public-booking-slots{display:grid;grid-gap:1rem;gap:1rem}.public-booking-section-heading{align-items:center;display:flex;justify-content:space-between}.public-booking-section-heading h2,.public-booking-slot-group h3{margin:.2rem 0 0}.public-booking-slot-group{display:grid;grid-gap:.65rem;gap:.65rem}.public-booking-slot-group h3{font-size:.95rem}.public-booking-slot-grid{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.public-booking-slot{align-items:flex-start;border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.4rem;gap:.4rem;padding:.75rem}.public-booking-slot span{font-weight:850}.public-booking-slot small{color:var(--c-color-text-muted);line-height:1.35;min-height:2.4em}.public-booking-slot .c-button{margin-top:.25rem;width:100%}.public-booking-next{align-items:flex-end;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.public-booking-next>div:first-child{display:grid;grid-gap:.45rem;gap:.45rem}.public-booking-auth{display:grid;grid-gap:.75rem;gap:.75rem;min-width:min(100%,19rem)}.public-booking-actions{display:flex;flex-wrap:wrap;gap:.6rem}.public-booking-status{align-items:flex-start;display:flex;gap:.8rem}.public-booking-status div{display:grid;grid-gap:.65rem;gap:.65rem}@media (max-width:600px){.public-booking{padding:.65rem}.public-booking-card{border-radius:var(--c-radius-md)}.public-booking-heading h1{font-size:1.75rem}.public-booking-next{align-items:stretch;grid-template-columns:1fr}.public-booking-actions,.public-booking-actions .c-button,.public-booking-next .c-button{width:100%}}.form-editor-page,.form-publish-card,.form-question-list,.form-question-section,.form-settings-card,.form-test-card,.forms-page{display:grid;grid-gap:1rem;gap:1rem}.form-directory-row{padding:1rem}.form-directory-row__actions,.form-editor-header__actions,.form-section-heading,.form-share-row,.lead-card__badges,.lead-submission__tags{align-items:center;display:flex;gap:.65rem}.form-section-heading,.form-share-row{justify-content:space-between}.form-directory-row__actions,.form-editor-header__actions{min-width:0}.form-directory-row h2,.form-option-editor h3,.form-publish-card h2,.form-section-heading h2,.form-test-card h2{margin:0}.form-directory-row p,.form-editor-back,.form-test-card p,.lead-submission dd{color:var(--c-color-text-muted)}.form-directory-row p{margin:.35rem 0 0}.form-directory-row__actions,.form-editor-header__actions{flex-wrap:wrap;justify-content:flex-end}.form-editor-back{align-items:center;display:inline-flex;font-size:.9rem;gap:.35rem;margin-bottom:.65rem;text-decoration:none}.form-publish-card,.form-settings-card,.form-test-card{padding:1rem}.form-question-fields,.form-settings-grid{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-field-wide{grid-column:1/-1}.form-checkbox{align-items:center;display:flex;flex-direction:row;gap:.45rem}.form-checkbox input{accent-color:var(--c-color-brand);height:1rem;width:1rem}.form-question-card{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:2rem minmax(0,1fr) auto;padding:1rem}.form-question-card__number{align-items:center;background:var(--c-color-brand-soft);border-radius:50%;color:var(--c-color-brand-strong);display:flex;font-weight:850;height:2rem;justify-content:center;width:2rem}.form-option-editor,.form-option-editor__rules,.form-options-block,.form-question-card__body{display:grid;grid-gap:.75rem;gap:.75rem;min-width:0}.form-question-card__tools{display:flex;flex-direction:column;gap:.25rem}.form-question-card__tools button,.form-rule-chip button{align-items:center;background:transparent;border:0;border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);cursor:pointer;display:flex;height:2rem;justify-content:center;width:2rem}.form-question-card__tools button:hover,.form-rule-chip button:hover{background:var(--c-color-surface-soft);color:var(--c-color-text)}.form-question-card__tools button:disabled{cursor:not-allowed;opacity:.35}.form-options-block{border-top:1px solid var(--c-color-border);margin-top:.25rem;padding-top:.9rem}.form-options-block h3{font-size:.95rem}.form-option-editor{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);padding:.75rem}.form-add-option,.form-option-editor__row{align-items:flex-end;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:minmax(8rem,1.2fr) minmax(7rem,1fr) minmax(8rem,1fr) auto}.form-option-editor__builders{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:1.5fr 1fr}.form-option-editor__builders form{align-items:center;display:grid;grid-gap:.4rem;gap:.4rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto}.form-option-editor__builders form:last-child{grid-template-columns:minmax(0,1fr) auto}.form-rule-chip{align-items:center;background:var(--c-color-info-soft);border:1px solid var(--c-color-info);border-radius:var(--c-radius-sm);color:var(--c-color-info);display:inline-flex;font-size:.82rem;font-weight:800;gap:.25rem;justify-content:space-between;padding-left:.6rem;width:-moz-fit-content;width:fit-content}.form-rule-chip--outcome{background:var(--c-color-success-soft);border-color:var(--c-color-success);color:var(--c-color-success)}.form-option-delete{justify-self:end}.form-add-option{grid-template-columns:minmax(8rem,1fr) minmax(7rem,1fr) auto}.form-share-row code{display:block;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.form-share-row code,.lead-submission{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);padding:.75rem}.lead-submission summary{cursor:pointer;font-weight:850}.lead-submission__tags{flex-wrap:wrap;margin-top:.75rem}.lead-submission dl{display:grid;grid-gap:0;gap:0;margin:.75rem 0 0}.lead-submission dl div{border-top:1px solid var(--c-color-border);display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(9rem,.4fr) minmax(0,1fr);padding:.65rem 0}.lead-submission dt{font-weight:800}.lead-submission dd{margin:0;overflow-wrap:anywhere}.form-runner{background:var(--c-color-surface);color:var(--c-color-text);display:grid;min-height:100vh;padding:clamp(.75rem,3vw,2rem);place-items:center}.form-runner-shell{display:grid;grid-gap:1rem;gap:1rem;max-width:46rem;width:100%}.form-runner-brand{align-items:center;display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:auto minmax(0,1fr) auto}.form-runner-brand div{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.form-runner-brand span:not(.portal-logo),.form-runner-count,.form-runner-panel>p{color:var(--c-color-text-muted)}.form-runner-test,.form-runner-test-note{background:var(--c-color-warning-soft);border:1px solid var(--c-color-warning);border-radius:var(--c-radius-sm);color:var(--c-color-warning);font-size:.78rem;font-weight:850;padding:.35rem .5rem}.form-runner-panel{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);box-shadow:var(--c-shadow-soft);display:grid;grid-gap:1.25rem;gap:1.25rem;min-height:min(34rem,calc(100vh - 8rem));padding:clamp(1.25rem,6vw,3.5rem)}.form-runner-panel h1{font-size:clamp(1.65rem,5vw,2.6rem);letter-spacing:0;line-height:1.12;margin:0;overflow-wrap:anywhere}.form-runner-panel p{line-height:1.6;margin:0}.form-runner-confirmation,.form-runner-welcome{align-content:center}.form-runner-confirmation .c-button,.form-runner-welcome .c-button{justify-self:start}.form-runner-progress{background:var(--c-color-surface-soft);border-radius:var(--c-radius-sm);height:.35rem;overflow:hidden;width:100%}.form-runner-progress span{background:var(--c-color-brand);display:block;height:100%;transition:width .18s ease}.form-runner-count{font-size:.82rem;font-weight:850;text-transform:uppercase}.form-runner-options{display:grid;grid-gap:.6rem;gap:.6rem}.form-runner-option{align-items:center;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text);cursor:pointer;display:flex;font:inherit;font-weight:750;justify-content:space-between;min-height:3.2rem;padding:.75rem .9rem;text-align:left}.form-runner-option--selected,.form-runner-option:hover{border-color:var(--c-color-brand)}.form-runner-option--selected{background:var(--c-color-brand-soft);color:var(--c-color-brand-strong)}.form-runner-consent{align-items:flex-start;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);cursor:pointer;display:flex;gap:.75rem;line-height:1.5;padding:1rem}.form-runner-consent input{accent-color:var(--c-color-brand);height:1.2rem;margin-top:.1rem;width:1.2rem}.form-runner-actions{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-top:auto}.form-runner-error{color:var(--c-color-danger)!important;font-weight:800}.form-runner-spinner{animation:form-runner-spin .8s linear infinite}.form-runner-success{align-items:center;background:var(--c-color-success-soft);border:1px solid var(--c-color-success);border-radius:50%;color:var(--c-color-success);display:flex;height:3.25rem;justify-content:center;width:3.25rem}.form-runner-priority{background:var(--c-color-brand-soft);border:1px solid var(--c-color-brand);border-radius:var(--c-radius-sm);color:var(--c-color-brand-strong)!important;font-weight:800;padding:.85rem}@keyframes form-runner-spin{to{transform:rotate(1turn)}}@media (max-width:760px){.form-editor-header__actions,.form-section-heading,.form-share-row{align-items:stretch;flex-direction:column}.form-directory-row__actions,.form-editor-header__actions{justify-content:flex-start}.form-add-option,.form-option-editor__builders,.form-option-editor__builders form,.form-option-editor__builders form:last-child,.form-option-editor__row,.form-question-fields,.form-settings-grid,.lead-submission dl div{grid-template-columns:1fr}.form-question-card{grid-template-columns:2rem minmax(0,1fr)}.form-question-card__tools{flex-direction:row;grid-column:2}.form-share-row .c-button{align-self:flex-start}}@media (max-width:420px){.form-runner{padding:0}.form-runner-shell{min-height:100vh}.form-runner-brand{padding:.75rem}.form-runner-panel{border-left:0;border-radius:0;border-right:0;box-shadow:none;min-height:calc(100vh - 5.25rem);padding:1.25rem}.form-runner-brand .portal-logo{height:2.2rem;width:2.2rem}.form-runner-brand span:not(.portal-logo){font-size:.75rem}}.reports-page,.reports-panel{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.reports-page>*{min-width:0}.reports-period-card{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.reports-actions,.reports-period-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.reports-quick-periods{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:999px;flex-wrap:nowrap;gap:.2rem;padding:.2rem}.calendar-period.reports-quick-periods>a,.reports-quick-periods strong{border-radius:999px;font-size:.72rem;padding:.4rem .48rem;white-space:nowrap}.calendar-period.reports-quick-periods>a{border:0;height:auto;width:auto}.reports-quick-periods strong{color:var(--c-color-text-muted)}.calendar-period.reports-quick-periods>a[aria-current=page]{background:var(--c-color-structure);color:var(--c-color-on-structure)}.reports-actions a,.reports-panel a{color:var(--c-color-brand-strong);font-weight:850;text-decoration:none}.reports-summary .c-card{min-height:7.25rem}.reports-summary .c-badge{width:-moz-fit-content;width:fit-content}.reports-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.reports-panel--wide{grid-column:1/-1}.reports-panel h3{margin:0}.reports-metric-row,.reports-mini-list,.reports-split-grid{display:grid;grid-gap:.75rem;gap:.75rem}.reports-metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-metric-row--money{grid-template-columns:repeat(6,minmax(0,1fr))}.reports-metric-row div,.reports-mini-list a,.reports-mini-list div{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.35rem;gap:.35rem;min-height:4.25rem;padding:.85rem}.reports-mini-list a{color:var(--c-color-text)}.reports-metric-row span,.reports-mini-list span{color:var(--c-color-text-muted)}.reports-metric-row strong{font-size:1.25rem}.reports-split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:760px){.reports-grid,.reports-metric-row,.reports-metric-row--money,.reports-split-grid{grid-template-columns:1fr}.reports-actions,.reports-period-card,.reports-period-form{align-items:stretch;flex-direction:column}.reports-quick-periods{align-items:center;flex-direction:row;max-width:100%;overflow-x:auto;scrollbar-width:none;width:100%}.reports-quick-periods::-webkit-scrollbar{display:none}}.assistant-widget{margin-top:auto;position:relative;z-index:60}.assistant-composer button,.assistant-panel__actions button,.assistant-trigger{align-items:center;background:var(--c-color-brand);border:1px solid var(--c-color-brand);border-radius:var(--c-radius-sm);color:var(--c-color-on-brand);cursor:pointer;display:inline-flex;font:inherit;font-weight:850;gap:.4rem;justify-content:center}.assistant-trigger{box-shadow:var(--c-shadow-soft);justify-content:center;min-height:2.75rem;padding:0 .95rem;width:100%}.assistant-panel{background:var(--c-color-surface);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);box-shadow:var(--c-shadow-lg);display:grid;grid-gap:.75rem;gap:.75rem;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 1.5rem);max-width:calc(100vw - 1.5rem);min-height:20rem;min-width:20rem;overflow:hidden;padding:.85rem;position:fixed}.assistant-panel__header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.assistant-panel__header strong{display:block;font-family:var(--c-font-display);font-size:1.02rem;line-height:1.15}.assistant-panel__actions{align-items:center;display:flex;gap:.35rem}.assistant-composer button,.assistant-panel__actions button{height:2.25rem;padding:0;width:2.25rem}.assistant-panel__actions button{background:var(--c-color-surface-soft);border-color:var(--c-color-border);color:var(--c-color-text)}.assistant-panel__actions .assistant-panel__drag-handle{cursor:-webkit-grab;cursor:grab;touch-action:none}.assistant-panel__actions .assistant-panel__drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.assistant-panel__messages{align-content:start;display:grid;grid-gap:.65rem;gap:.65rem;min-height:0;overflow:auto;padding-right:.2rem}.assistant-message{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.45rem;gap:.45rem;max-width:92%;padding:.7rem}.assistant-message p,.assistant-panel__error,.assistant-panel__notice{margin:0}.assistant-message--assistant{background:var(--c-color-surface-soft)}.assistant-message--user{background:color-mix(in srgb,var(--c-color-brand) 10%,var(--c-color-surface));justify-self:end}.assistant-report{background:var(--c-color-surface);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);display:grid;grid-gap:.5rem;gap:.5rem;max-width:100%;overflow:hidden;padding:.55rem}.assistant-report__header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.assistant-report__header strong{font-size:.88rem;overflow-wrap:anywhere}.assistant-report__header button{background:var(--c-color-surface-soft);color:var(--c-color-brand-strong);cursor:pointer;font:inherit;font-size:.78rem;font-weight:850;min-height:2rem;padding:.25rem .5rem;white-space:nowrap}.assistant-report__header button,.assistant-report__table{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm)}.assistant-report__table{max-width:100%;overflow:auto}.assistant-report__table table{border-collapse:collapse;font-size:.78rem;min-width:100%}.assistant-report__table td,.assistant-report__table th{border-bottom:1px solid var(--c-color-border);padding:.35rem .45rem;text-align:left;white-space:nowrap}.assistant-report__table th{background:var(--c-color-surface-soft);color:var(--c-color-text-muted);font-weight:850}.assistant-report__table tr:last-child td{border-bottom:0}.assistant-report small{color:var(--c-color-text-muted);font-size:.72rem}.assistant-panel__notice{color:var(--c-color-text-muted);font-size:.88rem}.assistant-panel__error{color:var(--c-color-danger);font-size:.88rem;font-weight:850}.assistant-composer{align-items:flex-end;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:1fr auto}.assistant-composer textarea{background:var(--c-color-surface);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text);font:inherit;min-height:4.5rem;padding:.7rem;resize:vertical}.assistant-composer div{display:grid;grid-gap:.4rem;gap:.4rem}.assistant-panel__resize-handle{background:linear-gradient(135deg,transparent 49%,var(--c-color-border-strong) 50%);border:0;border-radius:0 0 calc(var(--c-radius-md) - 1px) 0;bottom:0;cursor:nwse-resize;height:1.15rem;padding:0;position:absolute;right:0;touch-action:none;width:1.15rem}.assistant-composer button:disabled,.assistant-trigger:disabled{cursor:not-allowed;opacity:.55}.assistant-composer button:focus-visible,.assistant-composer textarea:focus-visible,.assistant-panel__actions button:focus-visible,.assistant-panel__resize-handle:focus-visible,.assistant-trigger:focus-visible{outline:2px solid var(--c-color-brand);outline-offset:2px}.assistant-report__header button:focus-visible{outline:2px solid var(--c-color-brand);outline-offset:2px}@media (max-width:480px){.assistant-widget{width:100%}.assistant-panel{bottom:.75rem!important;height:auto!important;left:.75rem!important;max-height:calc(100vh - 5.5rem);min-height:0;min-width:0;right:.75rem!important;top:auto!important;width:auto!important}}@media (max-width:760px){.assistant-widget{width:100%}.assistant-panel{bottom:.75rem!important;height:auto!important;left:.75rem!important;right:.75rem!important;top:auto!important;width:auto!important}.assistant-panel__drag-handle,.assistant-panel__resize-handle{display:none}}.portal-shell{--c-role-accent:var(--c-color-structure);--c-role-accent-soft:var(--c-color-structure-soft);background:var(--c-color-surface);color:var(--c-color-text);display:grid;grid-template-columns:14.5rem minmax(0,1fr);min-height:100vh}.portal-shell[data-portal=teacher]{--c-role-accent:var(--c-color-instrument-guitar);--c-role-accent-soft:var(--c-color-warning-soft)}.portal-shell[data-portal=parent]{--c-role-accent:var(--c-color-brand);--c-role-accent-soft:var(--c-color-brand-soft)}.portal-shell[data-portal=student]{--c-role-accent:var(--c-color-instrument-violin);--c-role-accent-soft:var(--c-color-info-soft)}.portal-shell__sidebar{background:var(--c-color-surface-raised);border-right:1px solid var(--c-color-border);display:flex;flex-direction:column;height:100vh;min-width:0;padding:.9rem .75rem;position:-webkit-sticky;position:sticky;top:0;z-index:30}.shell-brand{align-items:center;display:flex;gap:.7rem;min-width:0;padding:.2rem .35rem .95rem}.shell-brand .portal-logo{flex:0 0 auto;height:2.25rem;width:2.25rem}.shell-brand div{display:grid;min-width:0}.shell-brand span,.shell-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-brand strong{font-family:var(--c-font-display);font-size:.9rem;font-weight:700}.shell-brand span{color:var(--c-color-text-muted);font-size:.68rem}.portal-shell__navigation{display:grid;grid-gap:.8rem;gap:.8rem;min-height:0;overflow:auto;padding:.15rem}.portal-shell__nav-group{display:grid;grid-gap:.16rem;gap:.16rem}.portal-shell__nav-group>p{color:var(--c-color-text-faint);font-size:.63rem;font-weight:700;letter-spacing:.07em;margin:0 0 .2rem;padding:0 .55rem;text-transform:uppercase}.portal-shell__navigation a,.portal-shell__utilities>a{align-items:center;border:1px solid transparent;border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);display:flex;font-size:.82rem;font-weight:600;gap:.62rem;min-height:2.15rem;padding:.42rem .55rem;text-decoration:none}.portal-shell__navigation a:hover,.portal-shell__utilities>a:hover{background:var(--c-color-surface-soft);color:var(--c-color-text)}.portal-shell__navigation a[aria-current=page],.portal-shell__utilities>a[aria-current=page]{background:var(--c-role-accent-soft);border-color:color-mix(in oklch,var(--c-role-accent) 24%,transparent);color:var(--c-color-text)}.portal-shell__navigation a[aria-current=page] svg,.portal-shell__utilities>a[aria-current=page] svg{color:var(--c-role-accent)}.portal-shell__utilities{display:grid;grid-gap:.25rem;gap:.25rem;margin-top:auto;padding:.7rem .15rem 0}.portal-shell__utility-divider{background:var(--c-color-border);display:block;height:1px;margin:.15rem .35rem}.portal-shell__theme{align-items:center;display:flex;min-height:2rem;margin:0 .35rem;width:4.4rem}.portal-shell__utilities .c-button{justify-content:flex-start;min-height:2.15rem;padding:.42rem .55rem;width:100%}.portal-shell__theme .c-button{background:color-mix(in oklch,var(--c-color-surface-soft) 82%,var(--c-color-surface-raised));border-color:var(--c-color-border-strong);border-radius:999px;color:var(--c-color-text-muted);font-size:.68rem;font-weight:700;gap:.38rem;height:1.7rem;justify-content:flex-start;min-height:1.7rem;opacity:0;padding:0 .62rem;pointer-events:none;transform:translateY(.16rem) scale(.98);transition:opacity .12s ease,transform .12s ease,background-color .12s ease,border-color .12s ease,color .12s ease;width:4.25rem}.portal-shell__theme .c-button:before{background:linear-gradient(90deg,currentColor 0 50%,transparent 50% 100%);border:1px solid;border-radius:50%;content:"";height:.58rem;opacity:.82;width:.58rem}.portal-shell__theme:focus-within .c-button,.portal-shell__theme:hover .c-button{opacity:1;pointer-events:auto;transform:none}.portal-shell__theme .c-button:hover{background:var(--c-color-surface-raised);border-color:var(--c-color-text-muted);color:var(--c-color-text);transform:none}.portal-shell__workspace{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0}.portal-shell__topbar{align-items:center;background:color-mix(in oklch,var(--c-color-surface) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-color-border);display:flex;gap:1rem;justify-content:space-between;min-height:3.75rem;padding:.55rem clamp(1rem,2.5vw,1.6rem);position:-webkit-sticky;position:sticky;top:0;z-index:24}.portal-shell__mobile-brand{display:none}.portal-shell__topbar-slot{flex:1 1;max-width:38rem;min-width:0}.portal-shell__mobile-menu em{background:var(--c-role-accent-soft);border-radius:var(--c-radius-xs);color:var(--c-role-accent);font-size:.68rem;font-style:normal;font-weight:700;padding:.12rem .32rem}.portal-shell__mobile-menu{display:none}.portal-main{min-width:0;padding:clamp(1rem,2.6vw,1.75rem)}.portal-shell__footer{align-items:center;color:var(--c-color-text-faint);display:flex;font-size:.72rem;gap:.8rem;padding:.75rem 1.5rem 1.25rem;text-align:left}.portal-shell__footer a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch,currentColor 48%,transparent);text-decoration-color:color-mix(in oklch,currentColor 48%,transparent);text-underline-offset:.18em}.legal-document{background:var(--c-color-surface);color:var(--c-color-text);min-height:100vh}.legal-document>footer,.legal-document__body,.legal-document__header{margin-inline:auto;max-width:52rem;width:calc(100% - 2rem)}.legal-document__header{border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:.75rem;gap:.75rem;padding-block:clamp(2rem,7vw,5rem) 2rem}.legal-document__brand{color:var(--c-color-brand);font-family:var(--c-font-display);font-size:1.05rem;font-weight:900;text-decoration:none}.legal-document__body h2,.legal-document__body h3,.legal-document__body p,.legal-document__header h1,.legal-document__header p{margin:0}.legal-document__header h1{font-size:clamp(2.2rem,7vw,4.7rem);line-height:.98}.legal-document__header>p{color:var(--c-color-warning-text);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.legal-document>footer,.legal-document__header>div{color:var(--c-color-text-muted);display:flex;flex-wrap:wrap;gap:.65rem 1.25rem}.legal-document__body{display:grid;grid-gap:1rem;gap:1rem;line-height:1.72;padding-block:2rem 4rem}.legal-document__body h2{font-size:1.45rem;margin-top:1.6rem}.legal-document__body h3{font-size:1.1rem;margin-top:1rem}.legal-document__bullet{padding-left:1.35rem;position:relative}.legal-document__bullet:before{color:var(--c-color-brand);content:"\2022";font-weight:900;left:.2rem;position:absolute}.legal-document>footer{border-top:1px solid var(--c-color-border);padding-block:1.5rem 3rem}.legal-document>footer a{color:var(--c-color-text-muted)}.portal-logo--school{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);object-fit:contain;padding:.18rem}.portal-shell__utilities .assistant-trigger{background:var(--c-color-structure-soft);border:1px solid color-mix(in oklch,var(--c-color-structure) 22%,transparent);box-shadow:none;color:var(--c-color-structure-strong);font-size:.76rem;justify-content:center;min-height:2.15rem}.portal-shell__utilities .assistant-trigger:hover{background:color-mix(in oklch,var(--c-color-structure-soft) 82%,var(--c-color-structure) 18%)}.portal-shell__bottom-tabs{display:none}.portal-main h1,.portal-main h2,.portal-main h3{font-family:var(--c-font-display);font-weight:700;letter-spacing:0}.portal-main .portal-eyebrow,.portal-main a,.portal-main button,.portal-main strong,.portal-main time{font-weight:600}.portal-main .portal-eyebrow{color:var(--c-role-accent);font-size:.68rem;letter-spacing:.07em}.portal-main [class*=amount],.portal-main [class*=metric],.portal-main [class*=money],.portal-main td,.portal-main th,.portal-main time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.settings-appearance{max-width:46rem}.calendar-page-actions>.c-button{border:2px solid var(--c-color-location-a);color:var(--c-color-text)}.calendar-page-actions>.c-button:nth-of-type(2){box-shadow:inset 0 0 0 2px var(--c-color-surface-raised),inset 0 0 0 3px var(--c-color-location-c)}.session-calendar-card{max-width:100%;min-width:0;overflow:hidden;padding:0;width:100%}.calendar-language-legend,.calendar-location-key{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem;padding:.75rem 1rem}.calendar-language-legend{border-bottom:1px solid var(--c-color-border);color:var(--c-color-text-muted);font-size:.7rem}.calendar-language-legend>span{align-items:center;display:inline-flex;gap:.32rem}.legend-attendance-dot{background:var(--c-color-text-faint);border:1px solid transparent;border-radius:50%;box-sizing:border-box;display:inline-block;height:.48rem;width:.48rem}.legend-attendance-dot--present{background:var(--c-color-attendance-present);box-shadow:0 0 0 1px color-mix(in oklch,var(--c-color-attendance-present) 44%,transparent)}.legend-attendance-dot--absent{background:var(--c-color-attendance-absent);box-shadow:0 0 0 1px color-mix(in oklch,var(--c-color-attendance-absent) 44%,transparent)}.legend-attendance-dot--vacant{background:transparent;border-color:var(--c-color-text-muted)}.legend-due{color:var(--c-color-danger);font-size:1rem;font-weight:850;font-style:normal}.session-calendar-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}.session-calendar-week{--calendar-header-height:3.6rem;display:grid;grid-template-columns:3.2rem repeat(var(--calendar-day-count),minmax(7.5rem,1fr));grid-template-rows:var(--calendar-header-height) var(--calendar-height);height:calc(var(--calendar-header-height) + var(--calendar-height));min-width:calc(3.2rem + var(--calendar-day-count) * 7.5rem)}.session-calendar-corner,.session-calendar-day__header{background:var(--c-color-surface-raised);border-bottom:1px solid var(--c-color-border);border-right:1px solid var(--c-color-border);min-height:var(--calendar-header-height);position:-webkit-sticky;position:sticky;top:0;z-index:8}.session-calendar-corner{left:0;z-index:9}.session-calendar-day__header{align-content:center;display:grid;grid-gap:.05rem;gap:.05rem;grid-template-columns:minmax(0,1fr) auto;padding:.45rem .55rem}.session-calendar-day__header span{color:var(--c-color-text-muted);font-size:.66rem;text-transform:uppercase}.session-calendar-day__header strong{font-size:.76rem}.session-calendar-day__header a{color:var(--c-color-structure);font-size:.66rem;grid-column:2;grid-row:1/3;text-decoration:none}.session-calendar-day,.session-calendar-times{height:100%}.session-calendar-times{background:var(--c-color-chrome-soft);border-right:1px solid var(--c-color-border);box-shadow:inset -1px 0 0 var(--c-color-border);left:0;position:-webkit-sticky;position:sticky;z-index:6}.session-calendar-times span{color:var(--c-color-text-muted);font-size:.62rem;left:0;padding:.25rem .35rem;position:absolute;right:0;transform:translateY(-50%)}.session-calendar-times .session-calendar-times__start{transform:none}.session-calendar-times .session-calendar-times__end{transform:translateY(-100%)}.session-calendar-day{background-color:var(--c-color-surface-raised);background-image:linear-gradient(to bottom,transparent 0 calc(100% - 1px),var(--c-color-border) calc(100% - 1px) 100%);background-size:100% calc(var(--calendar-minute-height) * 60);border-right:1px solid var(--c-color-border);min-width:0;position:relative}.calendar-page{max-width:100%;min-width:0;width:100%}.session-calendar-day__empty{color:var(--c-color-text-faint);font-size:.72rem;margin:0;padding:.8rem}.teacher-pill{--pill-color:var(--c-color-location-a);background-color:var(--c-color-surface-raised);border:2px solid var(--pill-color);border-radius:var(--c-radius-md);color:var(--pill-color);height:var(--pill-height);left:var(--pill-left);overflow:hidden;position:absolute;text-decoration:none;top:var(--pill-top);width:var(--pill-width);z-index:2}.calendar-block-popout{border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:.75rem;gap:.75rem;margin:-.25rem -.15rem 1rem;padding:0 .15rem 1rem}.calendar-block-popout__heading{align-items:flex-end;display:flex;gap:.75rem;justify-content:space-between}.calendar-block-popout__heading h3{margin:.15rem 0 0}.calendar-block-popout__list,.calendar-block-popout__slot{display:grid}.calendar-block-popout__list{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);overflow:hidden}.calendar-block-popout__slot+.calendar-block-popout__slot{border-top:1px solid var(--c-color-border)}.calendar-block-popout__free,.calendar-block-popout__slot>.calendar-block-popout__session{align-items:center;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:3.5rem auto minmax(0,1fr) auto;min-width:0;padding:.7rem}.calendar-block-popout__slot>.calendar-block-popout__session{background:transparent;border:0;border-radius:0;color:var(--c-color-text);justify-content:normal;text-decoration:none;transform:none;width:100%}.calendar-block-popout__slot>.calendar-block-popout__session--current{background:var(--c-role-accent-soft)}.calendar-block-popout__slot>.calendar-block-popout__session span{display:grid;min-width:0}.calendar-block-popout__free span,.calendar-block-popout__slot>.calendar-block-popout__session small{color:var(--c-color-text-muted)}.calendar-session-preview{display:grid;grid-gap:1rem;gap:1rem;min-width:min(25rem,calc(100vw - 2.3rem))}.calendar-session-preview__heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.calendar-session-preview dd,.calendar-session-preview dl,.calendar-session-preview__heading h3,.calendar-session-preview__heading p{margin:0}.calendar-session-preview dl{display:grid}.calendar-session-preview dl>div{align-items:baseline;border-top:1px solid var(--c-color-border);display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:6rem minmax(0,1fr);padding:.7rem 0}.calendar-session-preview dt{color:var(--c-color-text-muted);font-size:.72rem}.calendar-session-preview dd{font-size:.82rem;font-weight:700}.calendar-block-popout__free{background:var(--c-color-surface-soft);border-top:1px dashed var(--c-color-border-strong);grid-template-columns:3.5rem minmax(0,1fr) auto}.calendar-block-popout__free .c-button{min-height:2rem;padding:.35rem .55rem}.calendar-instrument-dot{background:var(--c-color-instrument-piano);border-radius:50%;display:block;height:.7rem;width:.7rem}.calendar-mandate-action,.calendar-mandate-link{align-items:center;display:flex;gap:.55rem}.calendar-mandate-action{flex-wrap:wrap}.calendar-mandate-action .people-message{flex-basis:100%;margin:0}.calendar-mandate-link{color:var(--c-color-text);text-decoration:none}.teacher-pill--hold{align-content:center;border-radius:var(--c-radius-sm);border-style:dashed;color:var(--c-color-text-muted);display:grid;font-size:.58rem;justify-items:center;line-height:1.2;padding:.25rem .9rem .25rem .25rem;text-align:center}.teacher-pill--outline-none{border-color:var(--c-color-border-strong)}.teacher-pill--hold small{color:var(--c-color-text-faint);font-size:.52rem}.calendar-location-key{border-top:1px solid var(--c-color-border)}.calendar-location-key .c-badge{gap:.35rem}.calendar-location-dot{background:var(--pill-color);border-radius:50%;display:inline-block;height:.45rem;width:.45rem}.portal-shell .admin-global-search{max-width:38rem}.portal-shell .admin-global-search__input{background:color-mix(in oklch,var(--c-color-surface-raised) 76%,transparent);border-color:color-mix(in oklch,var(--c-color-border-strong) 76%,transparent);min-height:2.45rem}.portal-shell .admin-global-search__input:focus{border-color:var(--c-color-structure);box-shadow:0 0 0 3px var(--c-color-structure-soft)}.portal-shell .admin-global-search__panel{background:color-mix(in oklch,var(--c-color-surface-raised) 90%,transparent);border-color:color-mix(in oklch,var(--c-color-border-strong) 82%,transparent);box-shadow:var(--c-shadow-panel)}.portal-shell .admin-global-search__group>p{color:var(--c-color-structure);font-weight:700;letter-spacing:.05em}.portal-shell .admin-global-search__option--active,.portal-shell .admin-global-search__option:hover{background:var(--c-color-structure-soft);color:var(--c-color-structure-strong)}@media (max-width:760px){.portal-shell{display:block;min-width:0;padding-bottom:calc(4.45rem + env(safe-area-inset-bottom))}.portal-shell__sidebar{background:transparent;border:0;bottom:calc(4.8rem + env(safe-area-inset-bottom));display:block;height:auto;left:auto;min-height:0;padding:0;position:fixed;right:.75rem;top:auto;width:auto;z-index:55}.portal-shell__sidebar>.portal-shell__navigation,.portal-shell__sidebar>.shell-brand,.portal-shell__utilities>:not(.assistant-widget){display:none}.portal-shell__utilities{border:0;display:block;margin:0;padding:0}.portal-shell__utilities .assistant-widget{width:auto}.portal-shell__utilities .assistant-trigger{border-radius:50%;height:3rem;justify-content:center;min-height:3rem;padding:0;width:3rem}.portal-shell__utilities .assistant-trigger span{display:none}.portal-shell__topbar{gap:.65rem;min-height:calc(3.65rem + env(safe-area-inset-top));padding:calc(.45rem + env(safe-area-inset-top)) .85rem .45rem}.portal-shell__mobile-brand{display:block;flex:0 1 auto;min-width:0}.portal-shell__topbar-slot{flex:1 1 8rem}.portal-shell__mobile-menu{display:block;flex:0 0 auto;position:relative}.portal-shell__mobile-menu summary{align-items:center;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);cursor:pointer;display:flex;height:2.45rem;justify-content:center;list-style:none;width:2.45rem}.portal-shell__mobile-menu summary::-webkit-details-marker{display:none}.portal-shell__mobile-menu>div{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);box-shadow:var(--c-shadow-panel);display:grid;grid-gap:.5rem;gap:.5rem;min-width:12rem;padding:.75rem;position:absolute;right:0;top:calc(100% + .45rem)}.portal-shell__mobile-menu>div>span{color:var(--c-color-text-muted);font-size:.68rem;text-transform:uppercase}.portal-shell__mobile-menu>div>strong{font-size:.85rem;font-weight:600}.portal-shell__mobile-menu .c-button{width:100%}.portal-main{padding:.85rem}.portal-shell__footer{display:block;padding:.75rem .85rem calc(5rem + env(safe-area-inset-bottom))}.portal-shell__bottom-tabs{align-items:stretch;background:color-mix(in oklch,var(--c-color-surface-raised) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--c-color-border);bottom:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;left:0;padding:.38rem .4rem calc(.38rem + env(safe-area-inset-bottom));position:fixed;right:0;z-index:40}.portal-shell__bottom-tabs a{align-items:center;border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);display:grid;font-size:.62rem;grid-gap:.18rem;gap:.18rem;justify-items:center;min-width:0;padding:.35rem .15rem;text-decoration:none}.portal-shell__bottom-tabs a[aria-current=page]{background:var(--c-role-accent-soft);color:var(--c-color-text)}.portal-shell__bottom-tabs a[aria-current=page] svg{color:var(--c-role-accent)}.portal-shell__bottom-tabs span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-page-actions{align-items:stretch;width:100%}.calendar-page-actions>.c-button{flex:1 1 10rem}.calendar-language-legend{gap:.65rem;padding:.65rem .75rem}.calendar-block-popout__heading{align-items:stretch;flex-direction:column}.calendar-block-popout__heading .c-button{width:100%}.calendar-block-popout__slot>.calendar-block-popout__session{grid-template-columns:3rem auto minmax(0,1fr)}.calendar-block-popout__slot>.calendar-block-popout__session .c-badge{grid-column:3}.calendar-block-popout__free{grid-template-columns:3rem minmax(0,1fr)}.calendar-block-popout__free .c-button{grid-column:1/-1;width:100%}}.reviews-studio-page{display:grid;grid-gap:var(--c-space-4);gap:var(--c-space-4)}.reviews-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.review-signal-chips{display:flex;align-items:center;gap:var(--c-space-2);flex-wrap:wrap}.review-signal-chips .c-badge{white-space:nowrap}.review-table-section{overflow:hidden;padding:0}@media (max-width:600px){.reviews-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-summary .calendar-stat-tile:last-child{grid-column:1/-1}}.family-studio-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr);grid-gap:var(--c-space-4);gap:var(--c-space-4);align-items:start}.family-student-list,.family-studio-main{display:grid;grid-gap:var(--c-space-3);gap:var(--c-space-3)}.family-student-row{display:flex;justify-content:space-between;gap:var(--c-space-4);padding:var(--c-space-3) 0;border-top:1px solid var(--c-color-border);color:var(--c-color-text)}.family-student-row>div{display:flex;gap:var(--c-space-2);align-items:center}.family-student-row>div:first-child{display:grid;grid-gap:.2rem;gap:.2rem}.family-student-row small,.family-student-row span{color:var(--c-color-text-muted)}.family-billing-card{position:-webkit-sticky;position:sticky;top:var(--c-space-4)}.family-billing-summary{display:grid;grid-template-columns:1fr auto;grid-gap:var(--c-space-2) var(--c-space-4);gap:var(--c-space-2) var(--c-space-4);padding:var(--c-space-3) 0}.family-admin-details{border-top:1px solid var(--c-color-border)}.family-admin-details>summary{cursor:pointer;padding:var(--c-space-4) 0;color:var(--c-color-text-muted);font-weight:700}.family-admin-details[open]>summary{color:var(--c-color-text)}.family-admin-details>.calendar-summary{margin-bottom:var(--c-space-4)}.people-directory-page{display:grid;grid-gap:var(--c-space-5);gap:var(--c-space-5)}.people-create-choice{display:flex;align-items:center;gap:var(--c-space-2);align-items:flex-start;flex-direction:column}.student-profile-aside,.student-profile-main,.student-profile-page{display:grid;grid-gap:var(--c-space-4);gap:var(--c-space-4)}.student-payment-strip{display:grid;grid-template-columns:1fr 2fr 1fr auto;grid-gap:var(--c-space-4);gap:var(--c-space-4);align-items:center;padding:var(--c-space-3) var(--c-space-4);border:1px solid var(--c-color-border);border-left:4px solid var(--c-color-structure);border-radius:var(--c-radius-card);background:var(--c-color-surface)}.student-payment-strip>div{display:grid;grid-gap:.15rem;gap:.15rem}.student-payment-strip span{color:var(--c-color-text-muted);font-size:var(--c-font-size-xs);text-transform:uppercase}.student-profile-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(18rem,.8fr);grid-gap:var(--c-space-4);gap:var(--c-space-4);align-items:start}.student-profile-aside .register-note-form,.student-profile-aside .register-note-form>*,.student-profile-grid>*{min-width:0}.student-profile-aside .register-note-form{grid-template-columns:1fr;align-items:stretch}.people-note-row>div{display:grid;grid-gap:.2rem;gap:.2rem}@media (max-width:980px){.family-studio-overview{grid-template-columns:1fr}.family-billing-card{position:static}.student-profile-grid{grid-template-columns:1fr}}@media (max-width:640px){.family-student-row{align-items:flex-start;flex-direction:column}.student-payment-strip{grid-template-columns:1fr}}.money-studio-page{display:grid;grid-gap:var(--c-space-5);gap:var(--c-space-5)}.money-studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;grid-gap:var(--c-space-4);gap:var(--c-space-4);align-items:start}.money-studio-rail{display:grid;grid-gap:var(--c-space-3);gap:var(--c-space-3);position:-webkit-sticky;position:sticky;top:var(--c-space-4)}.money-invoice-table{overflow:hidden}.money-amount--due{color:var(--c-color-danger)}.money-invoice-detail,.money-invoice-detail section{display:grid;grid-gap:var(--c-space-3);gap:var(--c-space-3)}.money-invoice-documents{border-top:1px solid var(--c-color-border);padding-top:var(--c-space-4)}.money-document-history>a,.money-document-link{align-items:center;border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text);display:flex;font-weight:800;justify-content:space-between;padding:var(--c-space-3);text-decoration:none}.money-document-history>a:hover,.money-document-link:hover{background:var(--c-color-surface-subtle);border-color:var(--c-color-structure)}.money-document-history{display:grid;grid-gap:var(--c-space-2);gap:var(--c-space-2)}.money-document-history>a>span{display:grid;grid-gap:.15rem;gap:.15rem}.money-document-history small{color:var(--c-color-text-muted);font-weight:600}.money-invoice-total{display:flex;justify-content:space-between;padding:var(--c-space-3) 0;border-top:2px solid var(--c-color-text);font-size:var(--c-font-size-lg)}.money-aging-bar{display:flex;height:.7rem;margin:var(--c-space-3) 0;overflow:hidden;border-radius:999px;background:var(--c-color-surface-subtle)}.money-aging-bar i:first-child{background:var(--c-color-structure)}.money-aging-bar i:nth-child(2){background:var(--c-color-warning)}.money-aging-bar i:nth-child(3){background:var(--c-color-action)}.money-aging-bar i:nth-child(4){background:var(--c-color-danger)}.money-aging-list{display:grid;grid-gap:var(--c-space-2);gap:var(--c-space-2)}.money-aging-list>div{display:flex;justify-content:space-between;gap:var(--c-space-3)}.money-family-actions,.money-family-panel{display:grid;grid-gap:var(--c-space-4);gap:var(--c-space-4)}.money-family-actions{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1050px){.money-studio-layout{grid-template-columns:1fr}.money-studio-rail{grid-template-columns:repeat(3,minmax(0,1fr));position:static}}@media (max-width:760px){.money-family-actions,.money-studio-rail{grid-template-columns:1fr}}.portal-shell--admin .portal-shell__workspace{position:relative}.portal-shell--admin .portal-shell__topbar--command{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in oklch,var(--c-color-surface) 82%,transparent);border:0;min-height:3.75rem;padding:.75rem clamp(1rem,2.6vw,1.75rem) 0;position:-webkit-sticky;position:sticky;right:auto;top:0;width:100%;z-index:24}.portal-shell--admin .portal-shell__topbar--command:after{-webkit-backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(to bottom,var(--c-color-surface),transparent);backdrop-filter:blur(8px);background:linear-gradient(to bottom,color-mix(in oklch,var(--c-color-surface) 42%,transparent),transparent);content:"";height:1.75rem;inset:100% 0 auto;mask-image:linear-gradient(to bottom,var(--c-color-surface),transparent);pointer-events:none;position:absolute}.portal-shell--admin .portal-shell__topbar-slot{margin-left:auto;width:min(31rem,42vw)}.portal-shell__account-menu,.role-topbar__profile{min-width:0;position:relative}.portal-shell__account-menu summary,.role-topbar__profile summary{align-items:center;cursor:pointer;display:flex;gap:.55rem;list-style:none;min-width:0}.portal-shell__account-menu summary::-webkit-details-marker,.role-topbar__profile summary::-webkit-details-marker{display:none}.portal-shell__account-menu summary>span:nth-child(2){display:grid;min-width:0}.portal-shell__account-menu summary small,.portal-shell__account-menu summary strong{max-width:8.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-shell__account-menu summary strong{font-size:.76rem}.portal-shell__account-menu summary small{color:var(--c-color-text-muted);font-size:.66rem}.portal-shell__account-menu>div,.role-topbar__profile>div{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);bottom:calc(100% + .5rem);box-shadow:var(--c-shadow-panel);display:grid;grid-gap:.55rem;gap:.55rem;left:0;min-width:12rem;padding:.75rem;position:absolute;z-index:60}.shell-avatar{align-items:center;background:var(--c-color-structure);border-radius:50%;color:var(--c-color-on-structure);display:inline-flex;flex:0 0 auto;font-size:.68rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.portal-shell--topbar{display:block;min-height:100vh}.role-topbar{align-items:center;background:color-mix(in oklch,var(--c-color-surface-raised) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:minmax(13rem,auto) minmax(0,1fr) auto;min-height:4.25rem;padding:.6rem clamp(1rem,4vw,3rem);position:-webkit-sticky;position:sticky;top:0;z-index:35}.role-topbar .shell-brand{padding:0}.role-topbar .shell-brand .portal-logo{height:1.85rem;width:1.85rem}.role-topbar .shell-brand strong{font-size:.9rem}.role-topbar__nav{align-items:center;display:flex;gap:.35rem}.role-topbar__nav a{border-radius:999px;color:var(--c-color-text-muted);font-size:.82rem;font-weight:600;padding:.48rem .8rem;text-decoration:none}.role-topbar__nav a:hover{color:var(--c-color-text)}.role-topbar__nav a[aria-current=page]{background:var(--c-role-accent-soft);color:var(--c-color-text)}.role-topbar__account{align-items:center;display:flex;gap:.8rem}.role-topbar__powered{color:var(--c-color-text-faint);font-size:.68rem}.role-topbar__profile>div{bottom:auto;left:auto;right:0;top:calc(100% + .5rem)}.role-topbar__profile>div>span{color:var(--c-color-text-muted);font-size:.72rem}.role-portal-main{margin:0 auto;max-width:74rem;width:100%}.portal-shell--topbar .portal-shell__mobile-menu{display:none}@media (max-width:760px){.portal-shell--admin .portal-shell__topbar--command{align-items:center;background:color-mix(in oklch,var(--c-color-surface) 88%,transparent);border-bottom:1px solid var(--c-color-border);display:flex;min-height:calc(3.65rem + env(safe-area-inset-top));padding:calc(.45rem + env(safe-area-inset-top)) .85rem .45rem;position:-webkit-sticky;position:sticky;right:auto;top:0;width:100%}.portal-shell--admin .portal-shell__topbar--command:after,.portal-shell--admin .portal-shell__topbar-slot{display:none}.role-topbar{grid-template-columns:minmax(0,1fr) auto;min-height:calc(3.8rem + env(safe-area-inset-top));padding:calc(.5rem + env(safe-area-inset-top)) .85rem .5rem}.role-topbar__nav,.role-topbar__powered,.role-topbar__profile{display:none}.role-topbar__account{gap:.75rem}.portal-shell--topbar .portal-shell__mobile-menu{display:block}.portal-shell--topbar{padding-bottom:calc(4.45rem + env(safe-area-inset-bottom))}.portal-shell--topbar .portal-shell__bottom-tabs{display:grid}.role-portal-main{padding:.85rem}}.studio-dashboard{display:grid;grid-gap:.9rem;gap:.9rem}.studio-dashboard>*,.studio-kpi-band>*{min-width:0}.studio-dashboard__header{align-items:center;display:flex;gap:1rem;justify-content:space-between;min-height:2.25rem}.studio-dashboard__header h1{font-family:var(--c-font-display);font-size:1.45rem;margin:0}.studio-card-heading h2,.studio-today-hero p,.studio-today-hero span{margin:0}.studio-kpi-band{align-items:stretch;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1.4fr) minmax(24rem,.9fr)}.studio-today-hero{background:var(--c-color-structure);border-radius:var(--c-radius-lg);color:var(--c-color-on-structure);display:grid;grid-gap:.45rem;gap:.45rem;min-height:12rem;padding:1.35rem 1.45rem 1.2rem}.studio-today-hero>p{color:color-mix(in oklch,var(--c-color-on-structure) 76%,transparent);font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.studio-today-hero h2{font-family:var(--c-font-display);font-size:clamp(1.35rem,2vw,1.75rem);margin:0}.studio-today-hero>span{color:color-mix(in oklch,var(--c-color-on-structure) 86%,transparent);font-size:.79rem;line-height:1.45;max-width:44rem}.studio-today-hero>div{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;align-self:end;margin-top:auto}.studio-today-hero .c-badge{background:color-mix(in oklch,var(--c-color-on-structure) 12%,transparent);border-color:color-mix(in oklch,var(--c-color-on-structure) 24%,transparent);color:var(--c-color-on-structure)}.studio-kpi-grid{display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.studio-kpi{display:grid;grid-gap:.18rem;gap:.18rem;min-height:6.15rem;padding:.72rem .8rem}.studio-kpi small,.studio-kpi span{color:var(--c-color-text-muted);font-size:.67rem}.studio-kpi strong{font-family:var(--c-font-display);font-size:1.25rem}.studio-kpi__comparisons{align-items:center;display:flex;flex-wrap:wrap;font-size:.61rem;gap:.24rem;margin-top:auto}.studio-kpi__comparison{align-items:center;background:var(--c-color-surface-soft);border-radius:999px;color:var(--c-color-text-muted);display:inline-flex;gap:.18rem;padding:.13rem .34rem;white-space:nowrap}.studio-kpi__comparison svg{flex:0 0 auto;height:.68rem;stroke-width:2.4;width:.68rem}.studio-kpi__comparison--positive{background:var(--c-color-success-soft);color:var(--c-color-success)}.studio-kpi__comparison--negative{background:var(--c-color-danger-soft);color:var(--c-color-danger)}.studio-kpi__comparison-label{opacity:.78}.studio-kpi__comparisons strong{color:inherit;font-family:var(--c-font-sans);font-size:inherit}.studio-lens-band{align-items:center;display:flex;justify-content:space-between;min-height:2rem}.dashboard-layout__reset{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--c-color-text-muted);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;width:2rem}.dashboard-layout__reset:focus-visible,.dashboard-layout__reset:hover{background:var(--c-color-surface-soft);color:var(--c-color-text)}.studio-owner-lens{position:relative}.studio-owner-lens--locked,.studio-owner-lens>button{align-items:center;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border-strong);border-radius:999px;color:var(--c-color-text);display:inline-flex;gap:.48rem;height:2rem;padding:.18rem .75rem .18rem .22rem}.studio-owner-lens>button{cursor:pointer;font:inherit}.studio-owner-lens--locked strong,.studio-owner-lens>button strong{font-size:.72rem}.studio-owner-lens>button>svg{color:var(--c-color-text-faint);transition:transform .16s ease}.studio-owner-lens>button[aria-expanded=true]>svg{transform:rotate(180deg)}.studio-owner-lens--locked{opacity:.5}.studio-owner-lens>div{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);box-shadow:var(--c-shadow-panel);display:grid;left:0;min-width:13rem;padding:.35rem;position:absolute;top:calc(100% + .35rem);z-index:20}.studio-owner-lens>div a{align-items:center;border-radius:var(--c-radius-sm);color:var(--c-color-text);display:flex;font-size:.75rem;gap:.5rem;padding:.45rem;text-decoration:none}.studio-owner-lens>div a:hover,.studio-owner-lens>div a[aria-current=page]{background:var(--c-color-structure-soft)}.ownership-avatar{align-items:center;background:var(--c-color-structure);border-radius:50%;color:var(--c-color-on-structure);display:inline-flex;flex:0 0 auto;font-size:.62rem;font-weight:800;height:1.5rem;justify-content:center;text-transform:uppercase;width:1.5rem}.studio-timeframe{align-items:center;background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:999px;display:flex;height:2rem;padding:.2rem}.studio-timeframe a{border-radius:999px;color:var(--c-color-text-muted);font-size:.68rem;padding:.28rem .62rem;text-decoration:none}.studio-timeframe a[aria-current=page]{background:var(--c-color-structure);color:var(--c-color-on-structure)}.dashboard-notes-card,.studio-batches-card,.studio-concert-card,.studio-flags-card,.studio-needs-card{padding:0;overflow:hidden}.studio-card-heading{align-items:center;display:flex;justify-content:space-between;min-height:3.2rem;padding:.75rem .9rem}.studio-card-heading>div{align-items:center;display:flex;gap:.5rem}.studio-card-heading h2{font-size:.92rem}.studio-card-heading>a,.studio-text-button{color:var(--c-color-structure-strong);font-size:.72rem;text-decoration:none}.studio-text-button.c-button{background:transparent;border:0;min-height:auto;padding:0}.studio-batch-list,.studio-popout-list,.studio-triage-list{display:grid}.studio-batch-row,.studio-popout-row,.studio-triage-row{background:transparent;border:0;border-radius:0;border-top:1px solid var(--c-color-border);color:var(--c-color-text);height:4rem;min-height:4rem;text-align:left;text-decoration:none;transform:none;width:100%}.studio-triage-row{align-items:center;display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:auto minmax(0,1fr) auto;justify-content:normal;padding:.7rem .9rem}.studio-batch-row:hover,.studio-popout-row:hover,.studio-triage-row:hover{background:var(--c-color-surface-soft);transform:none}.studio-popout-row>span:first-child,.studio-triage-row>span:nth-child(2){display:grid;min-width:0}.studio-popout-row strong,.studio-triage-row strong{font-size:.78rem}.studio-popout-row small,.studio-triage-row small{color:var(--c-color-text-muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.severity-dot{background:var(--c-color-info);border-radius:50%;height:.5rem;width:.5rem}.severity-dot--danger{background:var(--c-color-danger)}.severity-dot--warning{background:var(--c-color-warning)}.severity-dot--sla{background:var(--c-color-accent)}.severity-dot--info{background:var(--c-color-location-a)}.severity-dot--success{background:var(--c-color-success)}.studio-popout-row{align-items:center;display:flex;justify-content:space-between;padding:.72rem .8rem}.studio-popout-row a,.studio-popout-row>a,.studio-popout-row>span:last-child{color:var(--c-color-structure-strong);font-size:.72rem;text-decoration:none}.studio-nudge-preview{display:grid;grid-gap:.75rem;gap:.75rem}.studio-popout-detail{display:grid;grid-gap:1rem;gap:1rem;min-width:min(25rem,calc(100vw - 2.3rem))}.studio-popout-detail__heading{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.studio-popout-detail dd,.studio-popout-detail dl,.studio-popout-detail>p,.studio-popout-detail__heading h3,.studio-popout-detail__heading p{margin:0}.studio-popout-detail dl{display:grid}.studio-popout-detail dl>div{align-items:baseline;border-top:1px solid var(--c-color-border);display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:6rem minmax(0,1fr);padding:.7rem 0}.studio-popout-detail dt{color:var(--c-color-text-muted);font-size:.72rem}.studio-popout-detail dd{font-size:.82rem;font-weight:700}.studio-popout-detail__actions{display:flex;justify-content:flex-start}.studio-nudge-preview{background:var(--c-color-surface-soft);border-radius:var(--c-radius-sm);margin-top:1rem;padding:.9rem}.studio-nudge-preview p{margin:0}.studio-batch-row{align-items:center;display:grid;grid-gap:.1rem .45rem;gap:.1rem .45rem;grid-template-columns:auto minmax(0,1fr) auto;justify-content:normal;padding:.6rem .9rem}.studio-batch-row__time{color:var(--c-color-text-faint);font-size:.66rem;line-height:1}.studio-batch-row__counts{color:var(--c-color-text-muted);font-size:.66rem;grid-column:2/4;justify-self:end;line-height:1}.studio-batch-row>strong{font-size:.8rem;grid-column:1/-1;line-height:1.15}.studio-batch-row>small{color:var(--c-color-text-muted);font-size:.68rem;line-height:1.15}.studio-batch-row--empty{align-content:center;cursor:default}.studio-batch-row--empty:hover{background:transparent}.studio-batch-row--empty .studio-batch-row__time,.studio-batch-row--empty>small,.studio-batch-row--empty>strong{grid-column:1/-1}.studio-batch-ticks{color:var(--c-color-text-faint);font-size:.62rem;grid-column:1/-1}.studio-batch-ticks i{color:var(--pill-color);font-style:normal;margin-left:.35rem}.dashboard-layout{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.dashboard-month-calendar button,.dashboard-widget__drag-handle{align-items:center;background:transparent;border:0;color:var(--c-color-text-muted);cursor:pointer;display:inline-flex;justify-content:center}.dashboard-widget-grid{min-width:0;width:100%}.dashboard-widget{min-width:0;position:relative}.dashboard-widget__content{height:100%;min-height:0;min-width:0}.dashboard-widget__content>.c-card{height:100%;min-height:0;overflow:auto}.dashboard-widget__drag-handle{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:999px;height:2.15rem;left:-.28rem;opacity:0;padding:0;position:absolute;top:.58rem;transition:opacity .14s ease,color .14s ease,background .14s ease,transform .14s ease;width:.92rem;z-index:4}.dashboard-widget:hover .dashboard-widget__drag-handle,.dashboard-widget__drag-handle:focus-visible,.react-draggable-dragging .dashboard-widget__drag-handle{color:var(--c-color-structure-strong);opacity:1;transform:translateX(-.12rem)}.dashboard-widget-grid>.react-grid-placeholder{background:var(--c-color-structure-soft);border:1px dashed var(--c-color-structure);border-radius:var(--c-radius-md);opacity:.8}.dashboard-widget.react-grid-item>.react-resizable-handle-se{background:linear-gradient(135deg,transparent 49%,var(--c-color-border-strong) 50%);border:0;border-radius:0 0 calc(var(--c-radius-md) - 1px) 0;bottom:0;cursor:nwse-resize;height:1.15rem;opacity:1;padding:0;right:0;touch-action:none;transform:none;transition:none;width:1.15rem}.dashboard-widget.react-grid-item>.react-resizable-handle-se:after{content:none}.dashboard-widget-grid--static{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-widget-grid--static .dashboard-widget__drag-handle{display:none}.dashboard-widget-grid--static .dashboard-widget__content>.c-card{height:auto}.dashboard-notes-card{display:grid;grid-template-rows:auto minmax(0,1fr)}.dashboard-notes-card textarea{background:transparent;border:0;border-top:1px solid var(--c-color-border);color:var(--c-color-text);font:inherit;font-size:.8rem;line-height:1.55;min-height:0;outline:none;padding:.85rem .9rem;resize:none;width:100%}.dashboard-notes-card textarea::placeholder{color:var(--c-color-text-faint)}.dashboard-notes-card textarea:focus-visible{box-shadow:inset 0 0 0 2px var(--c-color-structure)}.studio-batches-card .calendar-filter-pill{min-height:1.65rem}.studio-batches-card .calendar-filter-pill__trigger{min-height:1.35rem;padding-block:.08rem}.dashboard-month-calendar{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden!important;padding:0}.dashboard-month-calendar .studio-card-heading{gap:.6rem}.dashboard-month-calendar .studio-card-heading>div{gap:.4rem}.dashboard-month-calendar .studio-card-heading nav{align-items:center;display:flex;gap:.15rem}.dashboard-month-calendar .studio-card-heading nav strong{font-size:.68rem;min-width:6.7rem;text-align:center}.dashboard-month-calendar .studio-card-heading nav button{border-radius:var(--c-radius-sm);height:1.75rem;width:1.75rem}.dashboard-month-calendar .studio-card-heading nav button:focus-visible,.dashboard-month-calendar .studio-card-heading nav button:hover{background:var(--c-color-surface-soft);color:var(--c-color-text)}.dashboard-month-calendar__grid,.dashboard-month-calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.dashboard-month-calendar__weekdays{border-block:1px solid var(--c-color-border);color:var(--c-color-text-faint);font-size:.58rem;padding:.4rem .55rem;text-align:center}.dashboard-month-calendar__grid{align-content:stretch;gap:.12rem;padding:.5rem}.dashboard-month-calendar__grid a{align-items:center;border:1px solid transparent;border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);display:flex;font-size:.68rem;justify-content:center;min-height:1.8rem;text-decoration:none}.dashboard-month-calendar__grid a:focus-visible,.dashboard-month-calendar__grid a:hover{background:var(--c-color-surface-soft);border-color:var(--c-color-border);color:var(--c-color-text)}.dashboard-month-calendar__grid a[aria-current=date]{background:var(--c-color-structure);color:var(--c-color-on-structure);font-weight:800}.dashboard-month-calendar__outside{opacity:.35}@media (max-width:1080px){.studio-kpi-band{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr)}}@media (max-width:760px){.studio-dashboard__header{align-items:flex-start;flex-direction:column}.studio-kpi-band{grid-template-columns:1fr}.studio-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(5.3rem,auto))}.studio-timeframe{justify-content:space-between;max-width:100%;overflow-x:auto;width:100%}.dashboard-widget-grid--static{grid-template-columns:1fr}.studio-today-hero{min-height:13rem;padding:1.15rem}.studio-lens-band{align-items:flex-start;flex-wrap:wrap;gap:.6rem}.studio-owner-lens--locked strong,.studio-owner-lens>summary strong{max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.teacher-home-studio{gap:1rem}.teacher-now-hero h2,.teacher-now-hero p,.teacher-studio-heading h1,.teacher-studio-heading p{margin:0}.teacher-studio-heading h1{font-size:1.5rem}.teacher-studio-heading p{color:var(--c-color-text-muted);font-size:.78rem;margin-top:.2rem}.teacher-now-hero{background:var(--c-color-structure);border-radius:var(--c-radius-lg);color:var(--c-color-on-structure);display:grid;grid-gap:.28rem;gap:.28rem;grid-template-columns:minmax(0,1fr) auto;min-height:7rem;padding:1.25rem 1.35rem;text-decoration:none}.teacher-now-hero>span{color:color-mix(in oklch,var(--c-color-on-structure) 74%,transparent);font-size:.67rem;font-weight:800;grid-column:1;letter-spacing:.06em;text-transform:uppercase}.teacher-now-hero h2{font-size:1.35rem;grid-column:1}.teacher-now-hero p{font-size:.76rem;grid-column:1}.teacher-now-hero>strong{align-self:center;background:var(--c-color-surface-raised);border-radius:999px;color:var(--c-color-structure-strong);grid-column:2;grid-row:1/4;padding:.7rem 1rem}.teacher-now-hero--empty{grid-template-columns:1fr}.teacher-studio-buckets{align-items:start;display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-studio-buckets .teacher-panel{padding:0;overflow:hidden}.teacher-studio-buckets .parent-section-heading{min-height:3.1rem;padding:.75rem .9rem}.teacher-studio-buckets .parent-section-heading>div{align-items:center;display:flex;gap:.5rem}.teacher-debt-row{align-items:center;border-top:1px solid var(--c-color-border);display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:3.2rem minmax(0,1fr) auto;padding:.72rem .9rem}.teacher-debt-row time{color:var(--c-color-text-faint);font-size:.68rem}.teacher-debt-row>span{display:grid}.teacher-debt-row strong{font-size:.78rem}.teacher-debt-row small{color:var(--c-color-text-muted);font-size:.67rem}.teacher-debt-row>a{background:var(--c-color-brand);border-radius:999px;color:var(--c-color-on-brand);font-size:.7rem;padding:.48rem .72rem;text-decoration:none}.teacher-up-next .teacher-session-card{border:0;border-radius:0}.teacher-free-slot,.teacher-up-next .teacher-session-card{border-top:1px solid var(--c-color-border);padding:.72rem .9rem}.teacher-free-slot{align-items:center;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:3.2rem minmax(0,1fr) auto}.teacher-free-slot small,.teacher-free-slot time{color:var(--c-color-text-muted);font-size:.68rem}.teacher-free-slot>span{display:grid}.teacher-free-slot strong{font-size:.78rem}.teacher-week-batches{display:grid;grid-gap:.55rem;gap:.55rem}.teacher-week-batch{border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);overflow:hidden}.teacher-week-batch>summary{align-items:center;cursor:pointer;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:7rem minmax(0,1fr) auto;list-style:none;padding:.8rem .9rem}.teacher-week-batch>summary::-webkit-details-marker{display:none}.teacher-week-batch>div>a,.teacher-week-batch>summary>span{display:grid}.teacher-week-batch small,.teacher-week-batch time,.teacher-week-batch>div>a>span{color:var(--c-color-text-muted);font-size:.7rem}.teacher-week-batch>div{border-top:1px solid var(--c-color-border);display:grid}.teacher-week-batch>div>a{gap:.15rem;grid-template-columns:3rem minmax(0,1fr) auto;padding:.65rem .9rem;text-decoration:none}.teacher-week-batch>div>a+a{border-top:1px solid var(--c-color-border)}.teacher-studio-buckets .teacher-inline-link{margin:.75rem .9rem}.teacher-pay-panel{scroll-margin-top:5rem}@media (max-width:760px){.teacher-now-hero{grid-template-columns:1fr}.teacher-now-hero>strong{grid-column:1;grid-row:auto;justify-self:start;margin-top:.4rem}.teacher-studio-buckets{grid-template-columns:1fr}.teacher-week-batch>summary{grid-template-columns:minmax(0,1fr) auto}.teacher-week-batch>summary time{grid-column:1/-1}}.parent-billing-grid{align-items:start}.parent-billing-grid>.parent-panel:first-child{min-width:0}.parent-billing-grid>.parent-panel:last-child{position:-webkit-sticky;position:sticky;top:var(--c-space-4)}.parent-money-lines>div:last-child{padding-top:var(--c-space-3);border-top:2px solid var(--c-color-text)}.parent-payment-row{grid-template-columns:minmax(8rem,1fr) minmax(7rem,.8fr) auto}.parent-child-page .parent-panel--hero{border-left:4px solid var(--c-color-warning)}.parent-home-studio{gap:1rem}.parent-studio-heading h1,.parent-studio-heading p{margin:0}.parent-studio-heading h1{font-size:1.45rem}.parent-studio-heading p{color:var(--c-color-text-muted);font-size:.78rem;margin-top:.2rem}.parent-pay-banner{align-items:center;background:var(--c-color-structure-soft);border:1px solid color-mix(in oklch,var(--c-color-structure) 24%,transparent);border-radius:var(--c-radius-lg);display:flex;gap:.75rem;min-height:4.5rem;padding:.85rem 1rem}.parent-pay-banner--urgent{background:var(--c-color-brand-soft);border-color:color-mix(in oklch,var(--c-color-brand) 28%,transparent)}.parent-pay-banner>div{display:grid;flex:1 1;grid-gap:.15rem;gap:.15rem}.parent-pay-banner strong{font-size:.88rem}.parent-pay-banner span{color:var(--c-color-text-muted);font-size:.72rem}.parent-pay-banner form{margin:0}.parent-pay-banner>a{border:1px solid var(--c-color-border-strong);border-radius:999px;color:var(--c-color-text);font-size:.72rem;padding:.55rem .8rem;text-decoration:none}.parent-child-grid,.parent-home-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.parent-home-card{overflow:hidden;padding:0}.parent-home-card .parent-section-heading{min-height:3.2rem;padding:.75rem .9rem}.parent-home-card .parent-section-heading a{color:var(--c-color-structure-strong);font-size:.72rem;text-decoration:none}.parent-studio-session{align-items:center;border-top:1px solid var(--c-color-border);display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:3.2rem auto minmax(0,1fr) auto;padding:.72rem .9rem}.parent-studio-session time,.parent-studio-session>span:nth-child(3){display:grid}.parent-studio-session time small,.parent-studio-session time span,.parent-studio-session>span:nth-child(3) small{color:var(--c-color-text-muted);font-size:.66rem}.parent-studio-session>span:nth-child(3) strong{font-size:.78rem}.parent-studio-session .c-button{min-height:2rem;padding:.35rem .6rem}.parent-studio-avatar{align-items:center;background:var(--c-color-structure);border-radius:50%;color:var(--c-color-on-structure);display:flex;font-size:.63rem;height:2rem;justify-content:center;width:2rem}.parent-news-list{display:grid}.parent-news-list>a{align-items:center;border-top:1px solid var(--c-color-border);color:var(--c-color-text);display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:auto minmax(0,1fr);padding:.72rem .9rem;text-decoration:none}.parent-news-list>a>span{display:grid}.parent-news-list strong{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-news-list small{color:var(--c-color-text-muted);font-size:.66rem}.parent-child-card{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-lg);color:var(--c-color-text);display:grid;grid-gap:.5rem;gap:.5rem;padding:1rem;text-decoration:none}.parent-child-card>span{align-items:center;display:flex;justify-content:space-between}.parent-child-card>em,.parent-child-card>small{color:var(--c-color-text-muted);font-size:.7rem;font-style:normal}.parent-child-card>i{background:var(--c-color-surface-soft);border-radius:99px;display:block;height:.35rem;overflow:hidden}.parent-child-card>i>span{background:var(--c-color-structure);display:block;height:100%}@media (max-width:760px){.parent-billing-grid>.parent-panel:last-child{position:static}.parent-payment-row{grid-template-columns:1fr auto}.parent-pay-banner{align-items:stretch;flex-direction:column}.parent-pay-banner form .c-button,.parent-pay-banner>a{width:100%}.parent-pay-banner>a{text-align:center}.parent-child-grid,.parent-home-grid{grid-template-columns:1fr}.parent-studio-session{grid-template-columns:2.8rem auto minmax(0,1fr)}.parent-studio-session>:last-child{grid-column:2/-1;justify-self:start}}.settings-studio-header{margin-bottom:.25rem}.settings-studio-layout{align-items:start;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:13rem minmax(0,1fr)}.settings-local-nav{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border);border-radius:var(--c-radius-lg);display:grid;grid-gap:.7rem;gap:.7rem;padding:.65rem;position:-webkit-sticky;position:sticky;top:1rem}.settings-local-nav section{display:grid;grid-gap:.12rem;gap:.12rem}.settings-local-nav p{color:var(--c-color-text-faint);font-size:.61rem;font-weight:800;letter-spacing:.07em;margin:0 0 .18rem;padding:0 .45rem;text-transform:uppercase}.settings-local-nav a,.settings-local-nav section>span{align-items:center;border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);display:flex;font-size:.72rem;justify-content:space-between;min-height:2rem;padding:.4rem .45rem;text-decoration:none}.settings-local-nav a[aria-current=page]{background:var(--c-color-structure-soft);color:var(--c-color-structure-strong)}.settings-studio-content,.settings-studio-stack{display:grid;grid-gap:.85rem;gap:.85rem;min-width:0}.settings-studio-content>.people-section,.settings-studio-stack>.people-section{margin:0}.settings-profile-grid{display:grid;grid-gap:0;gap:0;grid-template-columns:minmax(8rem,.55fr) minmax(0,1fr);margin-top:.75rem}.settings-profile-grid>*{border-top:1px solid var(--c-color-border);min-width:0;padding:.7rem 0}.settings-profile-grid>span{color:var(--c-color-text-muted);font-size:.75rem}.settings-profile-grid code{color:var(--c-color-structure-strong);overflow:hidden;text-overflow:ellipsis}.settings-location-list{display:grid;margin-top:.65rem}.settings-location-list>div{align-items:center;border-top:1px solid var(--c-color-border);display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:auto minmax(8rem,.45fr) minmax(0,1fr);padding:.68rem 0}.settings-location-list span{color:var(--c-color-text-muted);font-size:.72rem}.settings-health-grid{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.75rem}.settings-health-grid>div{border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem}.settings-health-grid span{color:var(--c-color-text-muted);font-size:.68rem}.settings-health-grid strong{font-family:var(--c-font-display);font-size:1.1rem}.settings-email-preview__meta{background:var(--c-color-surface-soft);border-bottom:3px solid var(--c-color-structure);display:grid;font-size:.68rem;grid-gap:.25rem;gap:.25rem;margin-top:.7rem;padding:.7rem}.settings-email-preview__body{border:1px solid var(--c-color-border);border-top:0;display:grid;grid-gap:.5rem;gap:.5rem;padding:1rem}.settings-email-preview__body p{color:var(--c-color-text-muted);margin:0}.ownership-control{align-items:end;background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:auto minmax(10rem,16rem) auto;margin-top:.75rem;padding:.55rem}.ownership-control .c-label{font-size:.65rem;gap:.18rem}.ownership-control .c-button,.ownership-control .c-select{min-height:2rem}.ownership-control>small{align-self:center;color:var(--c-color-text-muted);font-size:.68rem}.ownership-family-card>div>h2,.settings-ownership h2,.settings-school-profile h2{margin-bottom:0}.settings-brand-preview{align-items:center;display:flex;gap:.75rem}.settings-brand-preview>.portal-logo,.settings-brand-preview>img{border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);height:3rem;object-fit:contain;padding:.2rem;width:3rem}.settings-approval-list form>span:nth-of-type(2),.settings-brand-preview>div{display:grid}.settings-approval-list small,.settings-brand-preview small,.settings-owner-pool small{color:var(--c-color-text-muted);font-size:.66rem}.settings-school-profile input[type=file]{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);color:var(--c-color-text-muted);font:inherit;padding:.35rem;width:100%}.settings-school-profile input[type=file]::-webkit-file-upload-button{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border-strong);border-radius:var(--c-radius-sm);color:var(--c-color-text);cursor:pointer;font:inherit;font-weight:700;margin-right:.7rem;min-height:2.1rem;padding:.35rem .7rem}.settings-school-profile input[type=file]::file-selector-button{background:var(--c-color-surface-raised);border:1px solid var(--c-color-border-strong);border-radius:var(--c-radius-sm);color:var(--c-color-text);cursor:pointer;font:inherit;font-weight:700;margin-right:.7rem;min-height:2.1rem;padding:.35rem .7rem}.settings-choice-row,.settings-owner-pool{border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);display:grid;grid-gap:.45rem;gap:.45rem;margin:0;padding:.75rem}.settings-choice-row legend,.settings-owner-pool legend{color:var(--c-color-text-muted);font-size:.68rem;font-weight:700;padding:0 .25rem}.settings-choice-row label,.settings-owner-pool label{align-items:center;display:flex;font-size:.76rem;gap:.5rem}.settings-owner-pool label small{margin-left:auto;text-transform:capitalize}.settings-approval-list{border-top:1px solid var(--c-color-border);display:grid;grid-gap:.35rem;gap:.35rem;margin-top:.85rem;padding-top:.85rem}.settings-approval-list h3{font-size:.82rem;margin:0 0 .2rem}.settings-approval-list form{align-items:center;display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:3rem}@media (max-width:760px){.settings-studio-layout{grid-template-columns:1fr}.settings-local-nav{display:flex;overflow-x:auto;position:static;scrollbar-width:none}.settings-local-nav::-webkit-scrollbar{display:none}.settings-local-nav section{flex:0 0 auto}.settings-local-nav p,.settings-local-nav section>span{display:none}.settings-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ownership-control{align-items:center;grid-template-columns:auto minmax(0,1fr)}.ownership-control .c-button,.ownership-control>small{grid-column:1/-1}}.calendar-page .session-calendar-card{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;top:auto}.calendar-page .session-calendar-scroll{max-height:100%;overflow:auto}.calendar-page .calendar-language-legend{border:0;font-size:.65rem;flex-wrap:nowrap;gap:.55rem;justify-content:flex-end;padding:0;white-space:nowrap}.calendar-page .calendar-location-key{flex-wrap:nowrap}.calendar-page .calendar-location-key__items{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.calendar-page .calendar-location-key__items::-webkit-scrollbar{display:none}@media (max-width:760px){.calendar-page .session-calendar-card{min-height:28rem}.calendar-page .session-calendar-scroll{max-height:65vh}}@media (max-width:760px){body:has(.calendar-page),html:has(.calendar-page){height:100%;overflow:hidden}.portal-shell:has(.calendar-page){height:100svh;min-height:0;overflow:hidden;padding-bottom:0}.portal-shell:has(.calendar-page) .portal-shell__workspace{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.portal-shell:has(.calendar-page) .portal-main{display:flex;min-height:0;overflow:hidden;padding:.65rem .85rem calc(4.45rem + env(safe-area-inset-bottom))}.portal-shell:has(.calendar-page) .portal-shell__footer{display:none}.calendar-page{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;overflow:hidden}.calendar-v2-header{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:visible;padding-bottom:.15rem}.calendar-filter-pills::-webkit-scrollbar,.calendar-language-legend::-webkit-scrollbar,.calendar-summary::-webkit-scrollbar,.calendar-v2-header::-webkit-scrollbar{display:none}.calendar-v2-header h1{grid-column:1;grid-row:1}.calendar-page-actions{align-items:center;display:flex;overflow-x:auto;grid-column:2;grid-row:1;justify-self:end;margin-left:0;scrollbar-width:none;width:auto}.calendar-page-actions .c-button{min-width:max-content;white-space:nowrap}.calendar-period-control{display:grid;grid-column:1/-1;grid-template-columns:max-content minmax(0,1fr);grid-row:2;margin-left:0;width:100%}.calendar-period-control .calendar-period{align-items:center;flex-direction:row;justify-self:end;white-space:nowrap}.calendar-filter-row{display:grid;grid-gap:.3rem;gap:.3rem;grid-template-columns:minmax(0,1fr);overflow:visible}.calendar-filter-pills{flex-wrap:wrap;max-width:100%;overflow:visible;padding:0}.calendar-page .calendar-language-legend{flex-wrap:nowrap;justify-content:flex-start;max-width:100%;overflow-x:auto;padding:0;scrollbar-width:none}.calendar-page .session-calendar-card{height:100%;min-height:0}.calendar-page .session-calendar-scroll{height:100%;max-height:none}.calendar-month-card{height:100%;min-height:0;overflow:auto}.calendar-summary{grid-template-columns:repeat(5,minmax(8.5rem,1fr));overflow-x:auto;padding-bottom:.15rem;scrollbar-width:none}.calendar-summary .calendar-stat-tile:last-child{grid-column:auto}}.teacher-absence-page{margin-inline:auto;max-width:72rem;width:100%}.teacher-absence-form__footer,.teacher-absence-page__heading,.teacher-hero__actions{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.teacher-absence-range form{align-items:end;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(2,minmax(9rem,1fr)) auto}.teacher-absence-detail__actions label,.teacher-absence-form__reason,.teacher-absence-range label{color:var(--c-color-text-muted);display:grid;font-size:.75rem;font-weight:700;grid-gap:.38rem;gap:.38rem}.teacher-absence-detail,.teacher-absence-detail__actions,.teacher-absence-detail__lessons,.teacher-absence-form,.teacher-absence-form__blocks,.teacher-absence-history{display:grid;grid-gap:.8rem;gap:.8rem}.teacher-absence-block{border:1px solid var(--c-color-border);border-radius:var(--c-radius-md);margin:0;min-width:0;padding:0}.teacher-absence-block>legend{border-bottom:1px solid var(--c-color-border);float:left;width:100%}.teacher-absence-block>legend label{align-items:center;cursor:pointer;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.7rem .8rem}.teacher-absence-block>legend+div{clear:both}.teacher-absence-block>legend span,.teacher-absence-history article>div,.teacher-absence-session>span{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.teacher-absence-block small,.teacher-absence-detail small,.teacher-absence-history small,.teacher-absence-session small{color:var(--c-color-text-muted);font-size:.7rem}.teacher-absence-block em{color:var(--c-color-brand);font-size:.68rem;font-style:normal;font-weight:700}.teacher-absence-session{align-items:center;border-top:1px solid var(--c-color-border);cursor:pointer;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:auto 6.25rem minmax(0,1fr);padding:.58rem .8rem}.teacher-absence-session:first-child{border-top:0}.teacher-absence-session:hover{background:var(--c-color-surface-soft)}.teacher-absence-session time{color:var(--c-color-text-muted);font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-absence-form__footer{border-top:1px solid var(--c-color-border);padding-top:.75rem}.teacher-absence-form__footer>span{color:var(--c-color-text-muted);font-size:.75rem}.teacher-absence-history article{align-items:start;border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:minmax(9rem,.75fr) minmax(12rem,1.5fr) auto auto;padding:.7rem 0}.teacher-absence-history article:last-child{border-bottom:0}.teacher-absence-history article>p{color:var(--c-color-text-muted);font-size:.76rem;margin:0}.teacher-absence-history__decision{border-left:2px solid var(--c-color-danger);padding-left:.55rem}.teacher-absence-detail__summary{display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.teacher-absence-detail__decision,.teacher-absence-detail__families,.teacher-absence-detail__reason,.teacher-absence-detail__summary>div{background:var(--c-color-surface-soft);border:1px solid var(--c-color-border);border-radius:var(--c-radius-sm);padding:.7rem}.teacher-absence-detail dt,.teacher-absence-detail__decision>span,.teacher-absence-detail__families>span,.teacher-absence-detail__reason>span{color:var(--c-color-text-muted);font-size:.66rem;font-weight:700;text-transform:uppercase}.teacher-absence-detail dd,.teacher-absence-detail__decision p,.teacher-absence-detail__families p,.teacher-absence-detail__reason p{font-size:.8rem;margin:.22rem 0 0}.teacher-absence-detail__lessons article{border-bottom:1px solid var(--c-color-border);display:grid;grid-gap:.16rem;gap:.16rem;padding:.58rem 0}.teacher-absence-detail__lessons time{color:var(--c-color-text-muted);font-size:.7rem}.teacher-absence-detail__actions{border-top:1px solid var(--c-color-border);padding-top:.8rem}.teacher-absence-detail__actions form{display:grid;grid-gap:.55rem;gap:.55rem}@media (max-width:760px){.teacher-absence-page__heading,.teacher-hero__actions{align-items:flex-start;flex-direction:column}.teacher-absence-history article,.teacher-absence-range form{grid-template-columns:1fr}.teacher-absence-range form .c-button{width:100%}.teacher-absence-block>legend label{grid-template-columns:auto minmax(0,1fr)}.teacher-absence-block em{grid-column:2}.teacher-absence-session{grid-template-columns:auto minmax(0,1fr)}.teacher-absence-session time{grid-column:2}.teacher-absence-detail__summary{grid-template-columns:1fr}}