.service-date-input{width:100%;min-width:0;color:var(--text-primary);display:block;position:relative}.service-date-input>input:not([type=hidden]){font-variant-numeric:tabular-nums;width:100%;min-width:0;display:block;padding-right:42px!important}.service-date-input>.service-date-trigger{width:32px;min-height:32px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.service-date-trigger:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.service-date-input.is-disabled{opacity:.65}.service-date-input input[aria-invalid=true]{border-color:var(--danger-fg)}.service-calendar{border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);z-index:1000;overscroll-behavior:contain;border-radius:12px;max-width:calc(100vw - 24px);margin:0;padding:12px;font-size:13px;line-height:1.4;position:fixed;inset:auto;overflow:auto;box-shadow:0 10px 32px #17242c24}.service-calendar::backdrop{pointer-events:none;background:0 0}.service-calendar button{font:inherit;min-height:34px;color:var(--text-primary);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:5px 8px;line-height:1.3;display:inline-flex}.service-calendar button:hover:not(:disabled){background:var(--surface-hover)}.service-calendar button:disabled{opacity:.3;cursor:not-allowed}.service-calendar button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.service-calendar-heading{justify-content:space-between;align-items:center;gap:5px;margin-bottom:10px;display:flex}.service-calendar .service-calendar-period{flex:1;font-weight:650}.service-calendar-period>svg{transform:rotate(90deg)}.service-calendar-grid{gap:3px;display:grid}.service-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.service-calendar-week>span{min-height:30px;color:var(--text-secondary);place-items:center;font-size:11px;display:grid}.service-calendar-week>button{font-variant-numeric:tabular-nums;width:100%;min-height:34px;padding:4px 0}.service-calendar button.is-selected{background:var(--action-positive-bg);color:var(--action-positive-fg);font-weight:650}.service-calendar button.is-selected:hover:not(:disabled){background:var(--action-positive-bg)}.service-calendar button.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--brand-600);color:var(--brand-700)}.service-calendar-year,.service-calendar-time{color:var(--text-secondary);grid-template-columns:1fr 110px;align-items:center;gap:12px;margin:8px 0 12px;font-size:12px;display:grid}.service-calendar :is(.service-calendar-year,.service-calendar-time)>input{border:1px solid var(--border-control);background:var(--surface-base);width:100%;min-width:0;min-height:38px;color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;border-radius:7px;padding:7px 10px;font-size:14px}.service-calendar-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.service-calendar-months>button{min-height:38px}.service-calendar-time{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:12px}.service-calendar--time .service-calendar-time{border:0;margin-top:0;padding-top:0}.service-calendar-footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px;padding-top:8px;display:flex}.service-calendar-footer>button{color:var(--brand-700);font-size:12px}.service-calendar-footer>.service-calendar-done{background:var(--action-positive-bg);color:var(--action-positive-fg);margin-left:auto}@media (width<=560px){.service-calendar button,.service-calendar-week>button{min-height:38px}.service-calendar :is(.service-calendar-year,.service-calendar-time)>input,.service-date-input>input:not([type=hidden]){font-size:16px}}.service-select{vertical-align:middle;min-width:0;max-width:100%;color:var(--text-primary);font:inherit;display:inline-block;position:relative}.service-select-trigger{border:1px solid var(--border-control);background:var(--surface-base);width:100%;min-width:0;min-height:42px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;line-height:1.4;display:flex}.service-select-trigger:hover:not(:disabled){border-color:var(--text-secondary)}.service-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.service-select-chevron{color:var(--text-secondary);flex:none;display:flex;transform:rotate(90deg)}.service-select-trigger:disabled{opacity:.55;cursor:not-allowed}.service-select-trigger[aria-invalid=true]{border-color:var(--danger-fg)}.service-select-native,.field select.service-select-native,.filter-select select.service-select-native{clip-path:inset(50%);overflow:hidden;opacity:0!important;pointer-events:none!important;border:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;position:absolute!important}.service-select-error{color:var(--danger-fg);margin-top:6px;font-size:12px;line-height:1.5;display:block}.service-select-popup{background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-subtle);font:inherit;overscroll-behavior:contain;z-index:1000;border-radius:10px;min-width:0;max-width:calc(100vw - 16px);max-height:320px;margin:0;padding:5px;font-size:13px;line-height:1.4;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 8px 28px #17242c24}.service-select-popup::backdrop{background:0 0}.service-select-option{text-align:left;width:100%;min-height:38px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;line-height:1.4;display:flex}.service-select-option>span{overflow-wrap:anywhere;min-width:0}.service-select-option.is-selected{font-weight:600}.service-select-option.is-selected>svg{color:var(--brand-700)}.service-select-option.is-active:not(:disabled){background:var(--brand-50);color:var(--text-primary)}.service-select-option:disabled{color:var(--text-muted);opacity:.6;cursor:not-allowed}.service-select-group{color:var(--text-secondary);padding:10px 10px 4px;font-size:11px;font-weight:600}.service-select-empty{color:var(--text-secondary);margin:0;padding:10px}.field>.service-select{width:100%;display:block}.field .service-select-trigger{font-size:inherit}.filter-select>.service-select{flex:1;min-width:0}.filter-select .service-select-trigger{background:0 0;border:0;min-height:36px;padding:0;font-size:12px}.mode-picker>.service-select{max-width:185px}.mode-picker .service-select-trigger{border-color:var(--border-subtle);min-height:36px;padding:0 12px;font-size:12px}.student-attendance-filters .service-select-trigger{border-color:var(--border-subtle);min-height:40px;padding-block:8px;font-size:12px}@media (width<=560px){.filter-select .service-select-trigger,.mode-picker .service-select-trigger{min-height:38px;font-size:11px}.mode-picker>.service-select{max-width:143px}}@media (pointer:coarse){.service-select-trigger,.service-select-option{min-height:44px}.service-select-trigger,.field .service-select-trigger,.student-attendance-filters .service-select-trigger{font-size:16px}}button[data-quiet-pending=true]:disabled,button.danger[data-quiet-pending=true]:disabled{opacity:1;cursor:pointer}@media (hover:hover){button.secondary[data-quiet-pending=true]:disabled:hover{background:var(--surface-hover);border-color:var(--border-control)}button.primary[data-quiet-pending=true]:disabled:hover{filter:brightness(.96)}}.mobile-schedule{min-width:0;margin-top:10px}.mobile-schedule-modes{border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.mobile-schedule-modes>button{min-height:44px;color:var(--text-secondary);background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 3px;font-size:13px;font-weight:600;transition:none;display:flex}.mobile-schedule-modes>button[aria-pressed=true]{color:var(--brand-700);border-bottom-color:var(--accent)}.mobile-schedule-today-row{justify-content:flex-end;margin:4px 0 8px;display:flex}.mobile-schedule-today-row>.text-button{min-height:36px;padding:4px 0;font-size:12px}.mobile-schedule-list-nav{text-align:center;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin:0 0 16px;display:grid}.mobile-schedule-list-nav>.button-icon{min-width:44px;min-height:44px;padding:0}.mobile-schedule-list-nav>.button-icon:disabled{opacity:.35}.mobile-schedule-totals{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 9px;font-size:12px;line-height:1.45;display:flex}.mobile-schedule-cancelled-count{color:var(--danger-fg);font-size:11px}.mobile-schedule-date-section h3,.mobile-schedule-selected-heading h3{color:var(--text-secondary);margin:15px 0 9px;font-size:12px;font-weight:600;line-height:1.45}.mobile-schedule-date-section:first-of-type h3{margin-top:0}.mobile-schedule-card{text-align:left;border:1px solid var(--border-subtle);border-left:4px solid var(--session-status-fg);background:var(--session-status-bg);width:100%;min-width:0;color:var(--text-primary);border-radius:12px;flex-direction:column;gap:5px;margin:9px 0 0;padding:13px;display:flex}.mobile-schedule-card:hover{background:color-mix(in srgb,var(--session-status-bg) 94%,var(--text-primary))}.mobile-schedule-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.mobile-schedule-card-top>strong{white-space:nowrap;font-size:16px;font-weight:600}.mobile-schedule-status{text-align:right;color:var(--session-status-fg);font-size:11px;font-weight:600;line-height:1.4}.mobile-schedule-status.cancelled{color:var(--danger-fg)}.mobile-schedule-group{background:color-mix(in srgb,var(--schedule-group-color) 12%,var(--surface-base));overflow-wrap:anywhere;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;max-width:100%;padding:4px 7px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.mobile-schedule-group>i{background:var(--schedule-group-color);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:block}.mobile-schedule-meta,.mobile-schedule-coach{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.mobile-schedule-cancellation-reason{color:var(--text-secondary);overflow-wrap:anywhere;margin:4px 0;font-size:12px;line-height:1.5}.mobile-schedule-card-bottom{width:100%;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;margin-top:5px;font-size:12px;display:flex}.mobile-schedule-card-bottom>svg{color:var(--brand-700)}.mobile-schedule-empty{text-align:center;border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;flex-direction:column;align-items:center;gap:9px;margin-top:10px;padding:22px 14px;display:flex}.mobile-schedule-empty>strong{font-size:14px;line-height:1.45}.mobile-schedule-empty>span{color:var(--text-secondary);font-size:12px;line-height:1.5}.mobile-schedule-week{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;overflow:hidden}.mobile-schedule-week-day+.mobile-schedule-week-day,.mobile-schedule-week-day+.mobile-schedule-week-empty,.mobile-schedule-week-empty+.mobile-schedule-week-day,.mobile-schedule-week-empty+.mobile-schedule-week-empty{border-top:1px solid var(--border-subtle)}.mobile-schedule-week-day>summary{cursor:pointer;align-items:center;gap:9px;min-height:58px;padding:12px;list-style:none;display:flex}.mobile-schedule-week-day>summary::-webkit-details-marker{display:none}.mobile-schedule-week-day>summary>span:first-child{flex:1;min-width:0}.mobile-schedule-week-day>summary strong,.mobile-schedule-week-empty>strong{text-transform:capitalize;font-size:13px;font-weight:600;line-height:1.4}.mobile-schedule-week-day>summary small,.mobile-schedule-week-empty small{color:var(--brand-700);margin-top:2px;font-size:11px;font-weight:400;line-height:1.4;display:block}.mobile-schedule-week-day>summary>.mobile-schedule-totals{flex-direction:column;align-items:flex-end;gap:2px;max-width:42%;display:flex}.mobile-schedule-week-day>summary>svg{color:var(--text-secondary);flex-shrink:0}.mobile-schedule-week-day[open]>summary>svg{transform:rotate(90deg)}.mobile-schedule-week-day.is-today>summary,.mobile-schedule-week-empty.is-today{background:var(--brand-50)}.mobile-schedule-week-cards{padding:0 10px 12px}.mobile-schedule-week-cards>.mobile-schedule-card:first-child{margin-top:0}.mobile-schedule-week-empty{justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:12px;display:flex}.mobile-schedule-week-empty>span{color:var(--text-secondary);font-size:11px}.mobile-schedule-calendar{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;padding:10px 7px}.mobile-schedule-weekdays,.mobile-schedule-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.mobile-schedule-weekdays>span{text-align:center;color:var(--text-secondary);padding:5px 0;font-size:11px}.mobile-schedule-calendar-day{min-width:0;min-height:51px;color:var(--text-primary);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 0;font-size:13px;transition:none;display:flex}.mobile-schedule-calendar-day.is-today{background:var(--surface-subtle);font-weight:600}.mobile-schedule-calendar-day>b,.mobile-schedule-calendar-key b{background:var(--brand-50);min-width:18px;height:16px;color:var(--brand-700);border-radius:4px;justify-content:center;align-items:center;padding:0 3px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.mobile-schedule-calendar-day[aria-pressed=true]{background:var(--brand-700);color:var(--surface-base)}.mobile-schedule-calendar-day[aria-pressed=true]>b{background:var(--surface-base);color:var(--brand-700)}.mobile-schedule-calendar-spacer{height:16px;display:block}.mobile-schedule-calendar-cancelled{color:var(--danger-fg);font-size:11px;line-height:16px}.mobile-schedule-calendar-day[aria-pressed=true]>.mobile-schedule-calendar-cancelled{color:var(--surface-base)}.mobile-schedule-calendar-key{color:var(--text-secondary);padding:10px 3px 1px;font-size:11px}.mobile-schedule-calendar-key>span{align-items:center;gap:6px;display:flex}.mobile-schedule-selected-heading{justify-content:space-between;align-items:center;gap:8px;margin-top:15px;display:flex}.mobile-schedule-selected-heading h3{margin:0}.mobile-schedule-selected-heading>.mobile-schedule-totals{justify-content:flex-end;max-width:48%;font-size:11px}@media (width<=350px){.mobile-schedule-card{padding:11px}.mobile-schedule-card-top>strong{font-size:14px}.mobile-schedule-status{font-size:11px}.mobile-schedule-calendar{padding:9px 4px}.mobile-schedule-week-day>summary,.mobile-schedule-week-empty{padding:11px 9px}.mobile-schedule-calendar-key{font-size:11px}}@media (width<=767px){.filterbar--calendar{gap:10px;min-width:0;margin:0 0 13px;display:flex;overflow:visible;flex-wrap:wrap!important}.filterbar--calendar>.filter-select{flex:100%;order:0;min-width:0}.filterbar--calendar>.date-control{flex:100%;order:1;justify-content:space-between;gap:5px;width:100%;min-width:0}.filterbar--calendar>.date-control>.button-icon{background:0 0;border:0;min-width:44px;min-height:44px;padding:0}.filterbar--calendar>.date-control>strong{text-align:center;min-width:0;font-size:15px;line-height:1.4}.filterbar--calendar>.date-control>strong:first-letter{text-transform:uppercase}.filterbar--calendar>.schedule-group-picker{flex:100%;order:2;width:100%;min-width:0}.filterbar--calendar>.schedule-group-picker>.schedule-group-trigger{width:100%;min-width:0;font-size:13px}}.attendance-billing-badge{background:var(--warning-bg);width:fit-content;max-width:100%;color:var(--warning-fg);white-space:normal;overflow-wrap:anywhere;border-radius:5px;align-items:center;padding:3px 6px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.live-attendance-row .attendance-billing-badge{margin-top:7px;display:flex}.attendance-billing-summary{flex-direction:column;align-items:flex-start;gap:4px;max-width:160px;margin-top:6px;display:flex}.live-journal .attendance-billing-summary .attendance-billing-badge{padding:2px 5px;font-size:10px}.attendance-billing-hint{color:var(--text-secondary);margin:14px 0 0;font-size:12px;line-height:1.6}.attendance-unsettled-note{color:var(--warning-fg);white-space:normal;overflow-wrap:anywhere;margin-top:5px;font-size:12px;font-weight:500;line-height:1.5;display:block}.finance-summary .attendance-unsettled-note{margin-top:0}.finance-summary .finance-needs-calculation,.finance-table .finance-needs-calculation,.student-history-balance[data-state=review]{color:var(--warning-fg);font-weight:600}.finance-table .finance-needs-calculation{white-space:normal}.student-history .attendance-unsettled-note{margin:8px 0 18px}.attendance-response-indicator{vertical-align:middle;background:var(--success-bg);width:23px;height:23px;color:var(--success-fg);border:1px solid;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.attendance-response-indicator--not_coming{background:var(--danger-bg);color:var(--danger-fg)}.attendance-response-indicator.is-compact{border-radius:4px;width:17px;height:17px}.attendance-response-summary{color:var(--text-secondary);flex-wrap:wrap;gap:5px 13px;font-size:12px;line-height:1.5;display:flex}.attendance-response-summary>span{white-space:nowrap}.attendance-response-summary strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:650}.attendance-response-summary>span:first-child strong{color:var(--success-fg)}.attendance-response-summary>span:nth-child(2) strong{color:var(--danger-fg)}.live-journal .journal-response-cell{position:relative}.journal-response-cell>.attendance-response-bar{background:var(--success-fg);pointer-events:none;border-radius:0 0 3px 3px;height:4px;position:absolute;top:0;left:8px;right:8px}.journal-response-cell>.attendance-response-bar--not_coming{background:var(--danger-fg)}.mobile-journal-response-summary{margin:0 0 11px}.mobile-journal-session-responses{border-top:1px solid var(--border-subtle);margin-top:11px;padding-top:9px;display:block}.mobile-journal-session-responses>.attendance-response-summary{gap:4px 10px;font-size:11px}.mobile-journal-session-responses-caption{color:var(--text-secondary);margin-bottom:4px;font-size:11px;line-height:1.4;display:block}@media (width<=350px){.mobile-journal-pupil>.attendance-response-indicator{width:20px;height:20px}.attendance-response-summary{gap:4px 10px;font-size:11px}}.attendance-response-indicator--excused{background:var(--warning-bg);color:var(--warning-fg)}.journal-response-cell>.attendance-response-bar--excused{background:var(--warning-fg)}.attendance-response-summary>.attendance-response-excused-count strong{color:var(--warning-fg)}.mobile-journal{min-width:0;margin-top:10px}.mobile-journal-modes{border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:16px;display:grid}.mobile-journal-modes>button{min-height:44px;color:var(--text-secondary);background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 3px;font-size:13px;font-weight:600;transition:none;display:flex}.mobile-journal-modes>button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--brand-700)}.mobile-journal-day-nav{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;margin-bottom:12px;display:grid}.mobile-journal-day-nav>.button-icon{background:0 0;border:0;min-width:44px;min-height:44px;padding:0}.mobile-journal-day-nav>div{text-align:center;min-width:0}.mobile-journal-day-nav strong{overflow-wrap:anywhere;font-size:16px;display:block}.mobile-journal-day-nav small{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.4;display:block}.mobile-journal-day-nav button:disabled,.mobile-journal-agenda-nav button:disabled{opacity:.35}.mobile-journal-subhead{min-height:40px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:7px;margin:6px 0;font-size:12px;display:flex}.mobile-journal-subhead>.text-button{flex-shrink:0;align-items:center;gap:3px;min-height:40px;padding:4px 0;font-size:12px;display:flex}.mobile-journal-roster{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.mobile-journal-roster>li+li{border-top:1px solid var(--border-subtle)}.mobile-journal-pupil{background:var(--surface-base);text-align:left;width:100%;min-height:59px;color:var(--text-primary);border:0;align-items:center;gap:9px;padding:12px;display:flex}.mobile-journal-pupil>strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.4}.mobile-journal-pupil>svg:last-child{color:var(--text-secondary)}.mobile-journal-pupil:hover{background:var(--surface-row-hover)}.mobile-journal-debt{background:var(--warning-bg);min-width:24px;min-height:24px;color:var(--warning-fg);font-variant-numeric:tabular-nums;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 5px;font-size:12px;font-weight:600;display:inline-flex}.mobile-journal-fact{background:var(--surface-subtle);width:30px;height:30px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.mobile-journal-fact.present{background:var(--success-bg);color:var(--success-fg)}.mobile-journal-fact.absent{background:var(--danger-bg);color:var(--danger-fg)}.mobile-journal-fact.excused{background:var(--attendance-excused-bg);color:var(--attendance-excused-fg)}.mobile-journal-debt-key{color:var(--text-secondary);align-items:center;gap:5px;margin:9px 0 0;font-size:11px;line-height:1.45;display:flex}.mobile-journal-debt-key>.mobile-journal-debt{min-width:19px;min-height:19px;padding:1px 4px;font-size:10px}.mobile-journal-empty{background:var(--surface-base);border:1px solid var(--border-subtle);text-align:center;border-radius:12px;padding:22px 14px}.mobile-journal-empty>strong{margin-bottom:12px;font-size:14px;display:block}.mobile-journal-empty>p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.mobile-journal-empty>.secondary{white-space:normal;min-height:44px;font-size:12px}.mobile-journal-today{min-height:40px;margin:10px auto 0;font-size:12px;display:block}.mobile-journal-session-select{min-width:0;margin:0 0 10px;font-size:12px}.mobile-journal-agenda-nav{text-align:center;color:var(--text-secondary);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:7px;margin-bottom:16px;font-size:12px;display:grid}.mobile-journal-agenda-nav>.button-icon{min-width:44px;min-height:44px;padding:0}.mobile-journal-date-group h3,.mobile-journal-selected-date{color:var(--text-secondary);margin:15px 0 9px;font-size:12px;font-weight:600;line-height:1.5}.mobile-journal-date-group:first-of-type h3{margin-top:0}.mobile-journal-session{text-align:left;border:1px solid var(--border-subtle);background:var(--surface-base);width:100%;min-width:0;color:var(--text-primary);border-radius:12px;margin-top:9px;padding:13px;display:block}.mobile-journal-session:hover{background:var(--surface-row-hover)}.mobile-journal-session-heading{justify-content:space-between;align-items:center;gap:7px;display:flex}.mobile-journal-session-heading>strong{font-size:16px;font-weight:600}.mobile-journal-session-heading>small{color:var(--text-secondary);text-align:right;font-size:11px}.mobile-journal-session-meta{overflow-wrap:anywhere;color:var(--text-secondary);margin:7px 0 12px;font-size:12px;line-height:1.5;display:block}.mobile-journal-session-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-journal-session-footer>svg{color:var(--brand-700)}.mobile-journal-counts{flex-wrap:wrap;gap:5px;display:flex}.mobile-journal-count{background:var(--surface-subtle);color:var(--text-secondary);font-variant-numeric:tabular-nums;border-radius:5px;align-items:center;gap:3px;padding:3px 6px;font-size:11px;display:inline-flex}.mobile-journal-count.present{background:var(--success-bg);color:var(--success-fg)}.mobile-journal-count.absent{background:var(--danger-bg);color:var(--danger-fg)}.mobile-journal-count.excused{background:var(--attendance-excused-bg);color:var(--attendance-excused-fg)}.mobile-journal-participants{color:var(--text-secondary);align-items:center;gap:5px;font-size:12px;display:flex}.mobile-journal-calendar{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;padding:10px 7px}.mobile-journal-weekdays,.mobile-journal-dates{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.mobile-journal-weekdays>span{color:var(--text-secondary);text-align:center;padding:5px 0;font-size:11px}.mobile-journal-calendar-day{min-width:0;min-height:44px;color:var(--text-primary);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 0;font-size:13px;transition:none;display:flex;position:relative}.mobile-journal-calendar-day.is-today{background:var(--surface-subtle);font-weight:600}.mobile-journal-calendar-day[aria-pressed=true]{background:var(--brand-700);color:var(--surface-base)}.mobile-journal-calendar-dot{background:var(--brand-700);border-radius:50%;width:4px;height:4px;display:block}.mobile-journal-calendar-day[aria-pressed=true]>.mobile-journal-calendar-dot{background:var(--surface-base)}.mobile-journal-calendar-key{min-height:36px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:0 4px;font-size:11px;display:flex}.mobile-journal-calendar-key>span{align-items:center;gap:6px;display:flex}.mobile-journal-calendar-key i{background:var(--brand-700);border-radius:50%;width:5px;height:5px}.mobile-journal-calendar-key>.text-button{min-height:36px;padding:4px;font-size:11px}.mobile-journal-calendar+.mobile-journal-selected-date{margin-top:16px}.journal-action-icon,.journal-heading-short{display:none}@media (width<=767px){.live-app .page-heading.schedule-page-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px;display:flex}.live-app .page-heading.schedule-page-heading>.live-actions{flex-wrap:nowrap;flex-shrink:0;gap:6px;width:auto}.schedule-page-heading h1{letter-spacing:-.5px;min-width:0;margin:0;font-size:24px;line-height:1.2}.schedule-page-heading .journal-heading-full{display:none}.schedule-page-heading .journal-heading-short{display:inline}.schedule-page-heading .live-actions>button{border-radius:10px;justify-content:center;align-items:center;width:42px;min-width:42px;height:44px;min-height:44px;padding:0;display:inline-flex;flex:none!important}.schedule-page-heading .journal-action-icon{display:inline-flex}.schedule-page-heading .journal-action-label{display:none}.schedule-page-heading .live-actions>button:not(:last-child){background:var(--surface-base);color:var(--text-primary);border-color:var(--border-subtle)}.filterbar--journal{gap:10px;min-width:0;display:flex;flex-wrap:wrap!important;margin:0 0 13px!important;padding:0!important;overflow:visible!important}.filterbar--journal>.filter-select{flex:100%;order:0;min-width:0}.filterbar--journal>.date-control{flex:100%;order:1;justify-content:space-between;gap:5px;width:100%;min-width:0}.filterbar--journal .date-control>.button-icon{background:0 0;border:0;min-width:44px;min-height:44px;padding:0}.filterbar--journal .date-control>strong{text-align:center;min-width:0;font-size:16px}.filterbar--journal .date-control>strong:first-letter{text-transform:uppercase}.filterbar--journal>.group-tabs--inline{flex-wrap:wrap;flex:100%;order:2;gap:7px;width:100%;min-width:0;display:flex;overflow:visible}.filterbar--journal .group-tabs--inline>button{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;min-height:42px;padding:9px 13px;font-size:13px;line-height:1.4}.filterbar--journal>.search-field{display:none}.mobile-journal-group-select{flex:100%;order:2;min-width:0;margin:0;font-size:12px}.mobile-journal-group-select .service-select{max-width:100%}}@media (width<=350px){.schedule-page-heading h1{font-size:22px}.live-app .page-heading.schedule-page-heading>.live-actions{gap:4px}.schedule-page-heading .live-actions>button{width:40px;min-width:40px}.mobile-journal-pupil{gap:6px;padding:11px 10px}.mobile-journal-pupil>strong{font-size:13px}.mobile-journal-day-nav strong{font-size:14px}.mobile-journal-day-nav small{font-size:11px}.mobile-journal-calendar{padding:9px 4px}}.billing-settings,.billing-sale{min-width:0}.billing-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.billing-heading h1{margin:0}.billing-heading-actions,.billing-toolbar,.billing-inline-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.billing-tabs{border-bottom:1px solid var(--border-subtle);gap:8px;margin-bottom:20px;padding-bottom:12px;display:flex;overflow-x:auto}.billing-tabs>button{color:var(--text-secondary);font:inherit;background:0 0;border:0;border-radius:8px;flex:none;min-height:42px;padding:10px 14px}.billing-tabs>button[aria-selected=true]{background:var(--brand-50);color:var(--brand-700);font-weight:600}.billing-tabs>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.billing-toolbar{justify-content:space-between;margin-bottom:16px}.billing-note{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.55}.billing-empty{text-align:center;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:12px;padding:28px 18px}.billing-table-wrap{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;width:100%;max-width:100%;position:relative;overflow:auto}.billing-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.45}.billing-table th,.billing-table td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:14px 16px}.billing-table th{color:var(--text-secondary);background:var(--surface-subtle);font-size:12px;font-weight:600}.billing-table tr:last-child td{border-bottom:0}.billing-table td small{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.billing-table .billing-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.billing-table .billing-inline-actions{justify-content:flex-end}.billing-tag{color:var(--text-secondary);background:var(--surface-subtle);border-radius:5px;align-items:center;padding:3px 7px;font-size:12px;font-weight:500;display:inline-flex}.billing-tag[data-state=active]{background:var(--success-bg);color:var(--success-fg)}.billing-tag[data-state=pending]{background:var(--warning-bg);color:var(--warning-fg)}.billing-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;min-width:0;display:grid}.billing-fields>.field{align-self:start;min-width:0}.billing-wide{grid-column:1/-1}.billing-section{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:20px}.billing-section h3,.billing-sale h3{margin:0 0 12px;font-size:16px;font-weight:600}.billing-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}.billing-checks>label{min-height:36px;color:var(--text-primary);align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:flex}.billing-checks input{flex:none;margin-top:3px}.billing-checks span{overflow-wrap:anywhere;min-width:0}.billing-checks small{color:var(--text-secondary);margin-top:3px;font-size:12px;display:block}.billing-sale fieldset,.billing-editor fieldset{border:0;min-width:0;margin:0;padding:0}:is(.live-dialog:has(.billing-sale),.live-dialog:has(.billing-editor)){width:min(760px,100vw - 32px);max-width:760px}.billing-form-intro{color:var(--text-secondary);margin:6px 0 18px;font-size:13px;line-height:1.55}.billing-model-note{background:var(--surface-subtle);color:var(--text-secondary);border-radius:8px;margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.55}.billing-model-note strong{color:var(--text-primary);font-weight:600}.billing-preview{border-top:1px solid var(--border-subtle);margin-top:20px;padding:18px 0 0}.billing-preview dl{margin:0}.billing-preview dl>div{justify-content:space-between;align-items:flex-start;gap:20px;padding:7px 0;font-size:14px;line-height:1.5;display:flex}.billing-preview dt{color:var(--text-secondary);min-width:0}.billing-preview dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-primary);margin:0}.billing-preview .billing-total{border-top:1px solid var(--border-subtle);margin-top:8px;padding-top:14px;font-size:18px;font-weight:600}.billing-preview .billing-total dt{color:var(--text-primary)}.billing-preview-context{color:var(--text-secondary);margin:0 0 12px;font-size:13px;line-height:1.5}.billing-warning{background:var(--warning-bg);color:var(--warning-fg);border-radius:8px;margin:16px 0;padding:12px 14px;font-size:13px;line-height:1.55}.billing-success{background:var(--success-bg);color:var(--success-fg);border-radius:8px;margin:16px 0;padding:14px;line-height:1.55}.billing-status{color:var(--text-secondary);margin:12px 0;font-size:13px;line-height:1.5}.billing-sale .form-actions,.billing-editor .form-actions{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:18px}@media (width<=767px){.billing-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.billing-heading-actions{margin-left:auto}.billing-table{min-width:620px}.billing-table th,.billing-table td{padding:12px}.billing-fields{gap:16px 12px}}@media (width<=560px){:is(.live-dialog:has(.billing-sale),.live-dialog:has(.billing-editor)){width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.billing-fields,.billing-checks{grid-template-columns:minmax(0,1fr)}.billing-preview dl>div{gap:12px}.billing-preview .billing-total{font-size:16px}.billing-toolbar{align-items:flex-start}.billing-toolbar .field{width:100%}.billing-heading-actions{justify-content:flex-end;width:100%}}.billing-receive{min-width:0}.billing-receive fieldset{border:0;min-width:0;margin:0;padding:0}.live-dialog:has(.billing-receive){width:min(760px,100vw - 32px);max-width:760px}.billing-receive .form-actions{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:18px}.billing-receive .billing-advanced{margin-right:auto}.billing-receipt{font-variant-numeric:tabular-nums;margin:14px 0}.billing-receipt>div{justify-content:space-between;align-items:flex-start;gap:16px;padding:6px 0;font-size:14px;line-height:1.5;display:flex}.billing-receipt dt{min-width:0}.billing-receipt dd{text-align:right;white-space:nowrap;margin:0;font-weight:600}.billing-charge-summary{background:var(--surface-subtle);border-radius:8px;margin:16px 0;padding:8px 14px}.billing-charge-summary .billing-receipt{margin:0}.billing-charge-summary .billing-note{margin:8px 0 0}.billing-sale fieldset.billing-payment{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:20px}.billing-payment>.live-check{margin-bottom:16px}.billing-payment .billing-note{margin:12px 0 0}.billing-payment-fields{margin-top:18px}.billing-back{margin:0 0 16px}@media (width<=560px){.live-dialog:has(.billing-receive){width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.billing-receive .form-actions{flex-wrap:wrap}}.billing-steps{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);gap:20px;margin:0 0 18px;padding:0 0 14px;font-size:14px;list-style:none;display:flex}.billing-steps li[aria-current=step]{color:var(--brand-700);font-weight:600}.billing-preview-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.billing-preview-heading h3{margin:0}.billing-sale .billing-preview{border-top:0;margin-top:0;padding-top:0}.billing-payment h3{scroll-margin-top:20px}.billing-payment-outcome{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:8px}.billing-success[data-state=awaiting_payment]{background:var(--warning-bg);color:var(--warning-fg)}@media (width<=560px){.billing-preview-heading{flex-wrap:wrap;align-items:flex-start}}.billing-receipt-caption{color:inherit;margin:0 0 4px;font-size:12px}.billing-special-toggle{text-align:left;justify-content:space-between;align-items:center;gap:16px;max-width:100%;margin-top:16px;display:flex}.billing-special-toggle[hidden]{display:none}.billing-special-fields{gap:16px;margin-top:16px;display:grid}.billing-month-rules .field>small{color:var(--text-secondary);margin-top:6px;font-size:12px;font-weight:400;line-height:1.5;display:block}.billing-month-rules>.billing-section>.billing-note{margin:8px 0 16px}.pack-cycles .live-table-wrap{position:relative}.pack-cycle-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.pack-cycle-heading>div{min-width:0;max-width:700px}.pack-cycle-heading .live-subtitle{margin-top:0}.pack-cycle-heading .billing-note{margin-bottom:0}.pack-cycle-heading>.field{flex:none;width:210px}.pack-cycles-table{min-width:1030px}.pack-cycles-table td{vertical-align:middle}.pack-cycles-table td:first-child{min-width:150px}.pack-cycles-table td:nth-child(3),.pack-cycles-table td:nth-child(4),.pack-cycles-table td:nth-child(5){white-space:nowrap}.pack-cycle-footer{margin-top:14px}.billing-applicability{color:var(--text-primary);margin:6px 0}.billing-pack-equation{background:var(--surface-subtle);border-radius:8px;padding:14px;font-size:15px;line-height:1.6}.billing-pack-equation span{color:var(--text-secondary);margin-top:5px;font-size:13px;display:block}@media (width<=560px){.pack-cycle-heading{flex-direction:column;gap:14px}.pack-cycle-heading>.field{width:100%}}.live-dialog.subscription-edit-dialog{width:min(860px,100vw - 32px);max-width:860px}.subscription-edit{min-width:0;font-size:13px;line-height:1.55}.subscription-edit-heading{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.subscription-edit-heading>strong{overflow-wrap:anywhere;font-size:16px}.subscription-edit-status{background:var(--surface-subtle);color:var(--text-secondary);border-radius:6px;padding:4px 9px;font-size:12px}.subscription-edit-current{border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px;padding-bottom:20px;display:grid}.subscription-edit-current dt{color:var(--text-secondary);font-size:12px}.subscription-edit-current dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:15px;font-weight:600}.subscription-edit form{display:block!important}.subscription-edit-fields{border:0;gap:16px;min-width:0;display:grid;margin:0!important;padding:0!important}.subscription-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.subscription-edit .field{gap:8px;min-width:0;font-size:12px;display:grid}.subscription-edit .field input,.subscription-edit .field textarea{min-width:0;min-height:42px;font-size:13px}.subscription-edit textarea{resize:vertical;line-height:1.5}.subscription-edit .field small,.subscription-edit-note{color:var(--text-secondary);font-size:12px;font-weight:400;line-height:1.6}.subscription-edit .field input[readonly]{background:var(--surface-subtle);color:var(--text-secondary)}.subscription-edit-note{margin:0 0 14px}.subscription-edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.subscription-edit-actions>button{min-height:42px;font-size:13px}.subscription-edit h3{margin:0;font-size:16px}.subscription-edit h4{margin:0 0 10px;font-size:13px}.subscription-edit-review{border-top:1px solid var(--border-subtle);gap:16px;margin-top:24px;padding-top:22px;display:grid}.subscription-edit-review h3{scroll-margin-top:20px}.subscription-edit-review h3:focus{outline:none}.subscription-edit-comparison{grid-template-columns:1fr 1fr;gap:20px;display:grid}.subscription-edit-comparison>div{background:var(--surface-subtle);border-radius:8px;min-width:0;padding:16px}.subscription-edit-comparison dl{gap:12px;margin:0;display:grid}.subscription-edit-comparison dt{color:var(--text-secondary);font-size:12px}.subscription-edit-comparison dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:2px 0 0}.subscription-edit-summary{gap:10px;margin:0;display:grid}.subscription-edit-summary>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.subscription-edit-summary dt{color:var(--text-secondary)}.subscription-edit-summary dd{overflow-wrap:anywhere;margin:0;font-weight:600}.subscription-edit-warning{background:var(--warning-bg);color:var(--warning-fg);border-radius:8px;margin:14px 0;padding:12px 14px;font-size:12px;line-height:1.65}.subscription-edit-guidance{color:var(--text-secondary);margin:0 0 20px;font-size:12px}.subscription-edit-guidance ul{gap:5px;margin:0;padding-left:18px;display:grid}.subscription-edit-discard{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:20px}.subscription-edit-discard>p,.subscription-edit-success>p{color:var(--text-secondary)}.subscription-edit-success h3{color:var(--success-fg)}.subscription-edit-history{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:20px}.subscription-edit-history summary{cursor:pointer;min-height:36px;font-weight:600}.subscription-edit-history article{border-top:1px solid var(--border-subtle);padding:16px 0}.subscription-edit-history article>p{overflow-wrap:anywhere;white-space:pre-wrap}.subscription-edit-history dl{gap:10px;margin:0;display:grid}.subscription-edit-history dl>div{grid-template-columns:150px minmax(0,1fr);gap:16px;display:grid}.subscription-edit-history dt{color:var(--text-secondary)}.subscription-edit-history dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.subscription-edit-history-before{color:var(--text-secondary)}.subscription-edit-fields:disabled{opacity:.8}@media (width<=600px){.subscription-edit-current{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-edit-comparison{gap:12px}.subscription-edit-history dl>div{grid-template-columns:1fr;gap:3px}}@media (width<=480px){.live-dialog.subscription-edit-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.subscription-edit-dialog>header h2{font-size:20px}.subscription-edit-grid,.subscription-edit-comparison{grid-template-columns:1fr}.subscription-edit .field input,.subscription-edit .field textarea{min-height:44px;font-size:16px}.subscription-edit-current{gap:14px 10px}.subscription-edit-current dt{font-size:11px}.subscription-edit-current dd{font-size:14px}.subscription-edit-summary>div{grid-template-columns:1fr;gap:3px}.subscription-edit-actions>button{flex:1;min-width:130px}.subscription-edit-comparison>div{padding:14px}.subscription-edit-history article{font-size:12px}}.subscription-edit-student{color:var(--text-secondary);overflow-wrap:anywhere;margin:0 0 8px;font-size:13px}.subscription-edit-scope{background:var(--surface-subtle);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:8px;margin:0 0 20px;padding:10px 12px;line-height:1.6}.subscription-edit-scope strong{color:var(--text-primary);font-weight:600}.live-dialog.student-history-restore-dialog{width:min(960px,100vw - 32px);max-width:960px}.history-restore{min-width:0;font-size:13px;line-height:1.55}.history-restore-student{color:var(--text-secondary);margin:0 0 22px}.history-restore form{display:block!important}.history-restore-fields{border:0;gap:16px;min-width:0;display:grid;margin:0!important;padding:0!important}.history-restore-conditions{grid-template-columns:1.4fr 1fr 1fr;align-items:start;gap:14px;display:grid}.history-restore .field{gap:8px;min-width:0;font-size:12px;display:grid}.history-restore .field input,.history-restore .service-select-trigger{min-width:0;min-height:42px;font-size:13px}.history-restore-check{align-items:center;gap:10px;font-size:13px;display:flex}.history-restore input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:var(--brand-600);flex:none}.history-restore-note{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.65}.history-restore-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.history-restore-actions button{min-height:42px;font-size:13px}.history-restore-sessions{border-top:1px solid var(--border-subtle);min-width:0;margin-top:6px;padding-top:22px}.history-restore-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.history-restore h3{margin:0;font-size:16px}.history-restore-section-heading>span{color:var(--text-secondary);flex:none;font-size:12px}.history-restore-session-list{border:1px solid var(--border-subtle);border-radius:10px;margin-top:16px;overflow:hidden}.history-restore-session{background:var(--surface-base);border-top:1px solid var(--border-subtle);grid-template-columns:minmax(150px,1fr) minmax(130px,1fr);align-items:start;gap:14px 20px;padding:16px;display:grid}.history-restore-session:first-child{border-top:0}.history-restore-session[data-selected=true]{background:var(--brand-50)}.history-restore-session-pick{cursor:pointer;align-items:center;gap:12px;min-width:0;min-height:40px;display:flex}.history-restore-session-pick>span{gap:3px;min-width:0;display:grid}.history-restore-session-pick strong{font-size:13px}.history-restore-session-pick small,.history-restore-current>span,.history-restore-current>small{color:var(--text-secondary);font-size:12px}.history-restore-current{overflow-wrap:anywhere;gap:3px;min-width:0;display:grid}.history-restore-current strong{font-size:13px;font-weight:500}.history-restore-session-edit{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start;gap:14px;min-width:0;padding-left:30px;display:grid}.history-restore-create{min-height:40px;margin-top:16px;font-size:13px}.history-restore-empty{color:var(--text-secondary);margin:0;padding:18px 0}.history-restore-review{border-top:1px solid var(--border-subtle);gap:14px;margin-top:24px;padding-top:22px;display:grid}.history-restore-review h3:focus{outline:none}.history-restore-review dl{gap:10px;margin:0;display:grid}.history-restore-review dl>div{grid-template-columns:1fr 1.3fr;gap:16px;display:grid}.history-restore-review dt{color:var(--text-secondary)}.history-restore-review dd{overflow-wrap:anywhere;margin:0;font-weight:600}.history-restore-warning{background:var(--warning-bg);color:var(--warning-fg);border-radius:8px;margin:0;padding:12px 14px;font-size:12px;line-height:1.65}.history-restore-discard{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:20px}.history-restore-discard>p,.history-restore-success>p{color:var(--text-secondary);font-size:13px}.history-restore-fields:disabled{opacity:.75}.history-restore-success h3{color:var(--success-fg)}.history-restore .history-restore-review .history-restore-actions{margin-top:4px}@media (width<=720px){.history-restore-conditions{grid-template-columns:1fr 1fr}.history-restore-group{grid-column:1/-1}.history-restore-session-edit{padding-left:0}.history-restore-review dl>div{grid-template-columns:1fr 1fr}.history-restore-section-heading{align-items:baseline}}@media (width<=480px){.live-dialog.student-history-restore-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.student-history-restore-dialog>header h2{font-size:20px}.history-restore-conditions,.history-restore-session-edit{grid-template-columns:1fr}.history-restore-group{grid-column:auto}.history-restore-session{grid-template-columns:1fr;gap:10px;padding:13px}.history-restore-current{padding-left:30px}.history-restore-current>span{display:none}.history-restore-session-edit{grid-column:auto}.history-restore-review dl>div{grid-template-columns:1fr;gap:3px}.history-restore-section-heading{flex-wrap:wrap;gap:4px}.history-restore .field input,.history-restore .service-select-trigger{min-height:44px;font-size:16px}.history-restore-actions>button{flex:1;min-width:130px}.history-restore-student{margin-bottom:18px}}.history-restore-finance{background:var(--surface-subtle);border-radius:8px;gap:10px;padding:14px;display:grid}.history-restore-finance h4{margin:0;font-size:13px}.history-restore-finance p{color:var(--text-secondary);margin:0;font-size:12px}.history-restore-finance dl{font-size:12px}.history-restore-finance dd{font-weight:600}.history-restore-warning ul{gap:6px;margin:0;padding-left:16px;display:grid}.history-restore-review h3{scroll-margin-top:20px}.history-restore-preview-notes{color:var(--text-secondary);font-size:12px;line-height:1.65}.history-restore-preview-notes ul{gap:5px;margin:0;padding-left:16px;display:grid}.history-restore-month-conditions{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.history-restore-extra{color:var(--text-secondary);font-size:12px}.history-restore-extra>summary{cursor:pointer;align-content:center;min-height:36px}.history-restore-extra>div{gap:14px;padding:12px 0 4px;display:grid}.history-restore-section-heading{flex-wrap:wrap}.history-restore-section-heading>.text-button{min-height:40px;margin-left:auto;font-size:12px}.history-restore-month-row{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:12px 20px;min-width:0;padding:14px 16px;display:grid}.history-restore-month-row:first-child{border-top:0}.history-restore-month-date{gap:4px;min-width:0;display:grid}.history-restore-month-date>strong{font-size:13px}.history-restore-month-date>span,.history-restore-month-date>small{color:var(--text-secondary);font-size:12px}.history-restore-marks{align-items:center;gap:8px;min-width:0;display:flex}.history-restore-marks>button:not(.button-icon){border:1px solid var(--border-subtle);background:var(--surface-base);min-height:44px;color:var(--text-secondary);font:inherit;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:inline-flex}.history-restore-marks>button[aria-pressed=true][data-fact=present]{background:var(--success-bg);border-color:var(--success-fg);color:var(--success-fg)}.history-restore-marks>button[aria-pressed=true][data-fact=absent]{background:var(--danger-bg);border-color:var(--danger-fg);color:var(--danger-fg)}.history-restore-marks>button[aria-pressed=true][data-fact=excused]{background:var(--attendance-excused-bg);border-color:var(--attendance-excused-fg);color:var(--attendance-excused-fg)}.history-restore-marks>button:disabled{opacity:.5;cursor:not-allowed}.history-restore-marks>.history-restore-reset{flex:none;width:36px;min-height:44px}.history-restore-month-reason{grid-column:1/-1;max-width:520px}@media (width<=720px){.history-restore-month-conditions{grid-template-columns:1fr 1fr}.history-restore-month-conditions>.history-restore-group{grid-column:auto}.history-restore-month-row{grid-template-columns:minmax(0,1fr);gap:10px}.history-restore-marks{width:100%}.history-restore-marks>button:not(.button-icon){flex:1;padding-inline:8px}.history-restore-month-reason{grid-column:1}}@media (width<=480px){.history-restore-month-conditions{grid-template-columns:1fr}.history-restore-month-row{padding:12px}.history-restore-marks{gap:5px}.history-restore-marks>button:not(.button-icon){gap:4px;padding-inline:5px;font-size:11px}.history-restore-marks>.history-restore-reset{width:28px}.history-restore-marks>button>svg{width:14px}.history-restore-extra .form-columns{grid-template-columns:1fr}}.history-restore-compact-conditions{grid-template-columns:minmax(150px,1fr) 190px minmax(320px,1.7fr);align-items:start;gap:16px}.history-restore-compact-conditions>.history-restore-group{grid-column:auto}.history-restore-period{border:0;min-width:0;margin:0;padding:0}.history-restore-period>legend{color:var(--text-secondary);margin:0 0 8px;padding:0;font-size:12px;line-height:1.55}.history-restore-period>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.history-restore-period .field{position:relative}.history-restore-period-label{z-index:1;color:var(--text-secondary);pointer-events:none;font-size:12px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.history-restore-period .service-date-input>input[type=text]{padding-left:32px}@media (width<=820px){.history-restore-compact-conditions{grid-template-columns:minmax(0,1fr) 190px}.history-restore-compact-conditions>.history-restore-period{grid-column:1/-1}}@media (width<=480px){.history-restore-compact-conditions{grid-template-columns:minmax(0,1fr)}.history-restore-compact-conditions>.history-restore-period{grid-column:auto}.history-restore-period>div{grid-template-columns:minmax(0,1fr)}.history-restore-period-label{font-size:13px}}.history-restore-sessions{--history-mark-columns:72px 90px 132px 36px}.history-restore-marks{grid-template-columns:var(--history-mark-columns);gap:8px;display:grid}.history-restore-marks>button:not(.button-icon){width:100%;padding-inline:6px}.history-restore-bulk-heading{grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:12px 20px;margin-bottom:12px;padding-inline:16px;display:grid}.history-restore-bulk-heading>h3{min-width:0;margin:0}@media (width<=720px){.history-restore-sessions{--history-mark-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.45fr) 36px}.history-restore-bulk-heading{grid-template-columns:minmax(0,1fr);gap:12px}.history-restore-bulk-marks{width:100%}}@media (width<=480px){.history-restore-sessions{--history-mark-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.45fr) 28px}.history-restore-bulk-heading{padding-inline:12px}.history-restore-marks{gap:5px}}.live-dialog.history-restore-discard-dialog{width:min(460px,100vw - 32px);max-width:460px;padding:24px}.history-restore-discard-dialog>header{align-items:flex-start;gap:12px}.history-restore-discard-dialog>header h2{margin:0;font-size:20px;line-height:1.4}.history-restore-discard-dialog>header>.button-icon{flex:none}.history-restore-discard-message{color:var(--text-secondary);margin:16px 0 0;font-size:13px;line-height:1.65}.history-restore-discard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}.history-restore-discard-actions>button{min-height:44px;font-size:12px}@media (width<=480px){.live-dialog.history-restore-discard-dialog{padding:20px}.history-restore-discard-actions{grid-template-columns:1fr;display:grid}.history-restore-discard-actions>button{width:100%}}.trial-booking-dialog{width:min(640px,100vw - 32px)}.trial-booking-session{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:6px;margin-bottom:22px;padding-bottom:22px;line-height:1.45;display:flex}.trial-booking-session span{color:var(--text-muted)}.trial-booking-fields{border:0;flex-direction:column;gap:18px;min-width:0;margin:0;padding:0;display:flex}.trial-booking-modes{flex-wrap:wrap;gap:8px;margin-bottom:2px;display:flex}.trial-booking-modes button{background:var(--surface-base);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:8px;min-height:44px;padding:10px 14px;font-weight:650}.trial-booking-modes button.is-active{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-50)}.trial-booking-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.trial-booking-parent{border-top:1px solid var(--border-subtle);flex-direction:column;gap:14px;padding-top:18px;display:flex}.trial-booking-parent h3{margin:0;font-size:16px}.trial-booking-existing{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.trial-booking-existing span{color:var(--text-muted)}.trial-booking-matches{border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;gap:12px;margin-top:18px;padding:14px;display:flex}.trial-booking-matches>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.trial-booking-retry{color:var(--text-muted);line-height:1.5}@media (width<=560px){.trial-booking-dialog{width:calc(100vw - 20px)}.trial-booking-columns{grid-template-columns:1fr}.trial-booking-modes button{flex:1;padding-inline:10px}.trial-booking-session{font-size:14px}.trial-booking-dialog .form-actions{flex-wrap:wrap}.trial-booking-dialog .form-actions button{white-space:normal;flex:1;min-height:44px}}.guardian-duplicate-notice{border:1px solid var(--border-subtle);background:var(--surface-subtle);overflow-wrap:anywhere;border-radius:8px;margin:12px 0;padding:12px;font-size:13px}.guardian-duplicate-notice>ul{margin:8px 0;padding:0;list-style:none}.guardian-duplicate-notice li{justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.guardian-duplicate-notice li>span{min-width:0}.guardian-duplicate-notice small{color:var(--text-secondary);margin-top:3px;display:block}.guardian-duplicate-notice p{color:var(--text-secondary);margin:8px 0 0;line-height:1.5}.guardian-duplicate-notice li>button{white-space:normal;flex-shrink:0}@media (width<=560px){.guardian-duplicate-notice li{flex-wrap:wrap;align-items:flex-start}}.account-access{min-width:0}.account-access-heading{margin:0 0 22px}.account-access-title{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.account-access-title h3{margin:0}.account-access h3{margin:0 0 8px;font-size:16px}.account-access-heading p,.account-access-note,.account-issued>p,.account-access-confirm>p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.account-access-status{background:var(--surface-subtle);color:var(--text-secondary);border-radius:6px;flex-shrink:0;padding:5px 9px;font-size:12px}.account-access-status[data-active=true]{background:var(--success-bg);color:var(--success-fg)}.account-access-login{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:14px 0;font-size:13px;display:flex}.account-access-login>span{color:var(--text-secondary)}.account-access-login>strong{overflow-wrap:anywhere}.account-access-form{margin-top:20px}.account-access-form>fieldset{border:0;min-width:0;margin:0;padding:0;display:block}.account-access-form .field{max-width:560px;margin-bottom:18px}.account-access-form .field>small{color:var(--text-secondary);font-size:11px;line-height:1.5}.account-password-field{align-items:center;min-width:0;display:flex;position:relative}.account-password-field>input{width:100%;padding-right:90px!important}.account-password-field>button{min-height:36px;padding:6px;font-size:12px;position:absolute;right:10px}.account-access-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:22px;display:flex}.account-generate{font-size:12px}.account-issued{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:12px;margin-top:20px;padding:20px}.account-issued h4,.account-access-confirm h4{margin:0 0 8px;font-size:15px}.account-issued dl{margin:18px 0}.account-issued dl>div{grid-template-columns:80px minmax(0,1fr);gap:12px;margin-top:10px;font-size:13px;display:grid}.account-issued dt{color:var(--text-secondary)}.account-issued dd{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;margin:0}.account-issued code{font-size:14px}.account-issued-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.account-access-confirm{padding:18px 0}.account-access-note{margin-top:14px}.account-access .form-error{overflow-wrap:anywhere}@media (width<=560px){.account-access-heading p{font-size:12px}.account-access-status{font-size:11px}.account-issued{padding:14px}.account-issued dl>div{grid-template-columns:65px minmax(0,1fr);gap:8px}.account-issued-actions>.secondary{width:100%}.account-access-actions{gap:8px}.account-access-actions>button{flex:1}.account-access-form .field input{font-size:16px}.account-access-form .account-access-actions>button{flex:0 auto}}.live-dialog.guardian-dialog{width:min(820px,100vw - 32px);max-width:820px}.guardian-card{min-width:0}.guardian-dialog>header h2{overflow-wrap:anywhere;font-size:22px}.guardian-card-context{color:var(--text-secondary);margin:4px 0 18px;font-size:12px;line-height:1.6}.guardian-card-tabs{border-bottom:1px solid var(--border-subtle);gap:24px;margin-bottom:24px;display:flex}.guardian-card-tabs>button{font:inherit;min-height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 0 12px;font-size:13px;font-weight:600}.guardian-card-tabs>button.selected{border-bottom-color:var(--accent);color:var(--text-primary)}.guardian-card-tabs>button:focus-visible,.guardian-child:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.guardian-card h3,.guardian-card-fields legend{margin:0 0 16px;font-size:15px;font-weight:650;line-height:1.5}.guardian-card-fields{border:0;min-width:0;margin:0;padding:0}.guardian-card-inputs{grid-template-columns:1.2fr 1fr 1.25fr;gap:16px;display:grid}.guardian-card .field{min-width:0;font-size:12px}.guardian-card .field input{width:100%;min-width:0;min-height:40px;font-size:13px}.guardian-card-hint{color:var(--text-secondary);margin:12px 0 0;font-size:12px;line-height:1.6}.guardian-card-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;margin-top:26px;padding-top:18px;display:flex}.guardian-card-footer>.primary{min-width:110px}.guardian-card-notice{color:var(--success-fg);background:var(--success-bg);border-radius:7px;margin:0 0 18px;padding:10px 12px;font-size:12px;line-height:1.6}.guardian-card-retry{margin:0 0 16px}.guardian-card-readonly{gap:14px;margin:0;font-size:13px;line-height:1.6;display:grid}.guardian-card-readonly>div{grid-template-columns:150px minmax(0,1fr);gap:16px;display:grid}.guardian-card-readonly dt{color:var(--text-secondary)}.guardian-card-readonly dd{overflow-wrap:anywhere;margin:0}.guardian-card-readonly a{color:var(--brand-700)}.guardian-card-discard p{color:var(--text-secondary);font-size:13px;line-height:1.6}.guardian-card-discard>div{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.guardian-children{gap:12px;display:grid}.guardian-child{text-align:left;border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);background:var(--surface-base);font:inherit;cursor:pointer;border-radius:10px;min-width:0;padding:16px;display:block}.guardian-child:hover{background:var(--surface-row-hover);border-color:var(--border-subtle)}.guardian-child-heading{justify-content:space-between;align-items:center;gap:12px;font-size:15px;line-height:1.5;display:flex}.guardian-child-heading strong{overflow-wrap:anywhere}.guardian-child-meta{color:var(--text-secondary);margin-top:3px;font-size:12px;line-height:1.6;display:block}.guardian-child-group{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:18px;margin-top:14px;padding-top:12px;font-size:12px;line-height:1.6;display:flex}.guardian-child-group>span{min-width:0}.guardian-child-group>span:first-child>span{color:var(--text-secondary);margin-top:2px;display:block}.guardian-child-coach{color:var(--text-secondary);overflow-wrap:anywhere;max-width:45%}.guardian-child-empty{color:var(--text-secondary);margin-top:14px;font-size:12px;display:block}@media (width<=700px){.guardian-card-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.guardian-card-name{grid-column:1/-1}}@media (width<=480px){.live-dialog.guardian-dialog{width:calc(100vw - 20px)}.guardian-dialog>header h2{font-size:20px}.guardian-card-tabs{gap:22px;margin-bottom:20px}.guardian-card-inputs{grid-template-columns:minmax(0,1fr);gap:14px}.guardian-card-name{grid-column:auto}.guardian-card-readonly>div{grid-template-columns:minmax(0,1fr);gap:3px}.guardian-child{padding:13px}.guardian-child-group{flex-direction:column;gap:5px}.guardian-child-coach{max-width:100%}.guardian-card-discard>div{flex-direction:column}.guardian-card-discard button{white-space:normal;min-height:40px}}.administrator-comment-field{flex-direction:column;gap:7px;min-width:0;margin-top:18px;display:flex}.administrator-comment-field textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:84px;font:inherit;color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;line-height:1.5}.administrator-comment-field textarea:read-only{background:var(--surface-subtle)}.attendance-response-controls{grid-template-columns:108px 122px 44px;align-items:center;gap:6px;display:grid}.attendance-response-controls>button{border:1px solid var(--border-subtle);background:var(--surface-base);min-height:44px;font:inherit;color:var(--text-secondary);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:7px 9px;font-size:12px;display:flex}.attendance-response-controls>button[aria-pressed=true][data-response=coming]{background:var(--success-bg);border-color:var(--success-fg);color:var(--success-fg)}.attendance-response-controls>button[aria-pressed=true][data-response=not_coming]{background:var(--danger-bg);border-color:var(--danger-fg);color:var(--danger-fg)}.attendance-response-controls>button:disabled{cursor:default;opacity:.55}.attendance-response-controls>button[aria-pressed=true]:disabled{opacity:.8}.attendance-plan-readonly{color:var(--text-secondary);font-size:13px}.attendance-plan-readonly[data-response=coming]{color:var(--success-fg)}.attendance-plan-readonly[data-response=not_coming]{color:var(--danger-fg)}.attendance-response-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;display:flex}.attendance-response-intro>p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.attendance-response-recovery{border:1px solid var(--border-subtle);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;padding:12px;font-size:12px;line-height:1.5;display:flex}@media (width<=700px){.attendance-response-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;width:100%}.attendance-response-recovery{flex-direction:column;align-items:stretch}}.attendance-response-controls.has-excused{grid-template-columns:100px 112px 138px 44px}.attendance-response-controls>button[aria-pressed=true][data-response=excused]{background:var(--warning-bg);border-color:var(--warning-fg);color:var(--warning-fg)}.attendance-plan-readonly[data-response=excused]{color:var(--warning-fg)}@media (width<=700px){.attendance-response-controls.has-excused{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-response-controls.has-excused>button{width:100%;min-width:0}}.schedule-delete-fields{border:0;min-width:0;margin:0;padding:0}.schedule-delete-fields:disabled{opacity:.7}.schedule-delete-action{border-top:1px solid var(--border-subtle);min-width:0;margin-top:20px;padding-top:18px}.schedule-delete-action>p,.schedule-delete-confirm p{color:var(--text-secondary);overflow-wrap:anywhere;max-width:620px;margin:8px 0 0;font-size:12px;line-height:1.6}.schedule-delete-action .form-error{color:var(--danger-fg);margin:0 0 12px}.schedule-delete-confirm{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:8px;padding:14px}.schedule-delete-confirm>strong{font-size:14px}.schedule-delete-confirm>div{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;display:flex}.schedule-delete-action>.text-button{margin-top:8px}.schedule-delete-action>.secondary{margin-top:12px}.attendance-cancel-policy{border:0;gap:8px;min-width:0;margin:18px 0;padding:0;display:grid}.attendance-cancel-policy>legend{color:var(--text-secondary);margin-bottom:8px;padding:0;font-size:12px}.attendance-cancel-policy>label{cursor:pointer;align-items:center;gap:9px;min-height:40px;font-size:13px;line-height:1.5;display:flex}.attendance-cancel-policy input{width:16px;height:16px;accent-color:var(--brand-500);flex:none;margin:0}.attendance-cancel-policy>p,.attendance-cancel-policy-summary{color:var(--text-secondary);margin:4px 0;font-size:12px;line-height:1.6}.attendance-cancel-policy:disabled>label{cursor:default}.attendance-cancellation-details{justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 18px;display:flex}.attendance-cancellation-details>div{gap:4px;min-width:0;display:grid}.attendance-cancellation-details p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.attendance-cancellation-details small{color:var(--text-secondary);font-size:12px;line-height:1.5}.attendance-cancellation-details>.button-icon{flex:none;width:40px;min-height:40px}@media (width<=560px){.attendance-cancel-policy>label{min-height:44px}.attendance-cancellation-details{gap:8px}}.live-dialog.attendance-dialog{width:min(880px,100vw - 32px);max-width:880px;padding:24px}.attendance-dialog>header{gap:16px;margin-bottom:10px}.attendance-dialog>header h2{overflow-wrap:anywhere;font-size:24px;line-height:1.3}.attendance-session-heading{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 20px;padding-bottom:18px;display:flex}.attendance-session-meta{flex:1;gap:6px;min-width:0;font-size:14px;line-height:1.5;display:grid}.attendance-session-location{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.attendance-session-place{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px}.attendance-session-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:50%;display:flex}.attendance-session-status{white-space:nowrap;color:var(--text-secondary);background:var(--surface-subtle);border-radius:5px;flex:none;align-items:center;padding:5px 8px;font-size:11px;line-height:1.4;display:inline-flex}.attendance-session-status[data-state=completed]{color:var(--success-fg);background:var(--success-bg)}.attendance-session-status[data-state=cancelled]{color:var(--danger-fg);background:var(--danger-bg)}.attendance-tool{border:1px solid var(--border-subtle);min-height:36px;color:var(--text-secondary);background:var(--surface-base);font:inherit;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;display:inline-flex}.attendance-tool:hover{color:var(--text-primary);background:var(--surface-hover)}.attendance-roster-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;font-size:13px;display:flex}.attendance-roster-toolbar strong{font-weight:600}.attendance-roster-toolbar strong>span{color:var(--text-secondary);margin-left:6px;font-size:12px;font-weight:400}.attendance-roster-toolbar>.text-button{min-height:36px;font-size:12px}.attendance-dialog .live-attendance-list{gap:0}.attendance-dialog .attendance-participant{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;padding:18px 0}.attendance-participant-info{min-width:0}.attendance-participant-name{flex-wrap:wrap;align-items:center;gap:7px 10px;display:flex}.attendance-participant-name>strong{overflow-wrap:anywhere;font-size:18px;line-height:1.45}.attendance-dialog .attendance-participant-name .attendance-billing-badge{margin:0;display:inline-flex}.attendance-dialog .attendance-mark-options{flex-wrap:nowrap;grid-template-columns:72px 90px 132px;gap:6px;display:grid}.attendance-dialog .attendance-mark-options>button{white-space:nowrap;border-color:var(--border-subtle);min-height:44px;color:var(--text-secondary);justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:12px;display:flex}.attendance-mark-options>button>svg{flex:none}.attendance-dialog .attendance-mark-options>button.selected[data-fact=present]{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-fg)}.attendance-dialog .attendance-mark-options>button.selected[data-fact=absent]{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-fg)}.attendance-dialog .attendance-mark-options>button.selected[data-fact=excused]{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-fg)}.attendance-participant-comment{min-width:0;color:var(--text-secondary);grid-column:1/-1;font-size:12px}.attendance-participant-comment>summary{cursor:pointer;overflow-wrap:anywhere;line-height:1.5}.attendance-participant-comment>.field{margin:12px 0 0}.attendance-dialog .live-savebar{background:var(--surface-base);justify-content:flex-end;margin:0;padding:18px 0;position:sticky;bottom:-24px}.attendance-extra-actions,.attendance-delete{border-top:1px solid var(--border-subtle);margin-top:8px;padding-top:14px;font-size:12px}.attendance-extra-actions>summary,.attendance-delete>summary{color:var(--text-secondary);cursor:pointer;min-height:34px;line-height:1.5;display:list-item}.attendance-extra-actions[open]>summary,.attendance-delete[open]>summary{margin-bottom:12px}.attendance-dialog .live-edit-section{margin-bottom:20px}@media (width<=700px){.attendance-dialog .attendance-participant{grid-template-columns:minmax(0,1fr);gap:12px;padding:17px 0}.attendance-dialog .attendance-mark-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr)}.attendance-participant-name>strong{font-size:18px}.attendance-session-heading{flex-wrap:wrap;gap:10px}.attendance-session-tools{justify-content:flex-start;max-width:100%}.attendance-session-meta{flex-basis:100%;width:100%}}@media (width<=560px){.live-dialog.attendance-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.attendance-dialog>header h2{font-size:22px}.attendance-session-meta{font-size:13px}.attendance-dialog .live-savebar{flex-wrap:nowrap;gap:8px;bottom:-18px}.attendance-dialog .live-savebar>.primary{white-space:normal;flex:1;min-height:44px;padding:8px;line-height:1.4}.attendance-dialog .attendance-mark-options>button{gap:4px;padding:0 5px;font-size:12px}.attendance-roster-toolbar{margin-bottom:0}.attendance-extra-actions>summary,.attendance-delete>summary{min-height:40px}}.attendance-dialog .attendance-footer{background:var(--surface-base);z-index:2;border-top:0;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:18px;display:flex;position:sticky;bottom:-24px}.attendance-footer-start,.attendance-footer-end{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attendance-footer .primary,.attendance-footer .secondary{min-height:40px}.attendance-save-warning{color:var(--warning-fg);background:var(--warning-bg);border-radius:7px;margin:12px 0 0;padding:10px 12px;font-size:12px;line-height:1.5}.attendance-sync-conflict{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.attendance-history-panel{padding:4px 0 12px}.attendance-history-panel h3,.attendance-cancel-panel h3{margin:0 0 14px}.attendance-history-panel ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.attendance-history-panel li{border-bottom:1px solid var(--border-subtle);gap:5px;padding:14px 0;font-size:13px;line-height:1.5;display:grid}.attendance-history-panel li>span,.attendance-history-panel p{color:var(--text-secondary);margin:0;font-size:12px}.attendance-cancel-panel>p{color:var(--text-secondary);font-size:13px;line-height:1.6}.attendance-cancel-panel textarea{min-height:90px}.attendance-cancel-actions{justify-content:space-between;gap:10px;margin-top:18px;display:flex}.attendance-cancel-delete{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:16px}.attendance-cancel-delete h4{margin:0 0 8px;font-size:13px}.attendance-annul{margin-top:12px;font-size:11px}@media (width<=560px){.attendance-session-tools{gap:5px}.attendance-tool{padding:7px}.attendance-dialog .attendance-footer{flex-wrap:wrap;align-items:stretch;gap:10px;bottom:-18px}.attendance-footer-start,.attendance-footer-end{flex:1;min-width:0}.attendance-footer-start>.secondary,.attendance-footer-end>button{width:100%}.attendance-footer-end{display:flex}.attendance-footer .primary,.attendance-footer .secondary{white-space:normal;min-height:44px;padding:7px 10px}.attendance-cancel-actions{flex-wrap:wrap}.attendance-cancel-actions>button{white-space:normal;flex:1;min-height:44px;line-height:1.4}}.attendance-cancellation-reason{color:var(--text-secondary);margin:0 0 18px;font-size:13px;line-height:1.5}.attendance-footer-end>.primary{min-width:112px}.makeup-booking-dialog{max-width:850px}.makeup-booking-person{color:var(--text-secondary);margin:0 0 24px;font-size:16px}.makeup-booking-fields{border:0;gap:18px;min-width:0;margin:0;padding:0;display:grid}.makeup-booking-fields>.field,.makeup-booking-grid>.field{min-width:0;margin:0}.makeup-booking-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;display:grid}.makeup-booking-source{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:12px;padding:16px}.makeup-booking-source>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.makeup-booking-source>div:first-child>strong{font-size:14px}.makeup-booking-source>div:first-child>span{color:var(--text-secondary);font-size:12px}.makeup-booking-source>p,.makeup-booking-note{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.55}.makeup-booking-source>.makeup-booking-blocked{color:var(--warning-fg)}.makeup-booking-reserved{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.makeup-booking-reserved>span{min-width:0;font-size:13px;line-height:1.5}.makeup-booking-reserved>span>strong{overflow-wrap:anywhere;font-weight:600;display:block}.makeup-booking-reserved>button{flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:12px;display:inline-flex}.makeup-booking-target{color:var(--text-secondary);flex-wrap:wrap;gap:5px 14px;font-size:13px;line-height:1.5;display:flex}.makeup-booking-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.makeup-booking-actions>button{min-height:44px}.makeup-booking-recovery>p,.makeup-booking-discard>p{font-size:14px;line-height:1.6}.student-history-makeup-tools{justify-content:flex-end;margin:0 0 12px;display:flex}.student-history-makeup-tools>.secondary{justify-content:center;align-items:center;gap:7px;min-height:40px;font-size:13px;display:inline-flex}.attendance-makeup-note{color:var(--info-fg);overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.5;display:block}.attendance-makeup-badge{background:var(--info-bg);color:var(--info-fg);border-radius:5px;padding:3px 6px;font-size:11px;font-weight:600;display:inline-flex}@media (width<=640px){.makeup-booking-grid{grid-template-columns:minmax(0,1fr);gap:16px}.makeup-booking-person{margin-bottom:20px}.makeup-booking-source{padding:13px}.makeup-booking-reserved{flex-direction:column;align-items:stretch}.makeup-booking-reserved>button{width:100%}.makeup-booking-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.makeup-booking-actions>button{white-space:normal;width:100%;min-width:0;padding-left:10px;padding-right:10px}.makeup-booking-actions>button:only-child{grid-column:1/-1}.student-history-makeup-tools>.secondary{width:100%}}.series-manager{min-width:0}.series-manager>p{line-height:1.5}.series-context{margin:18px 0 10px}.series-item{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.series-item small{color:var(--text-secondary);margin-top:5px;line-height:1.5;display:block}.series-item p{margin:10px 0 5px}.series-item .secondary{flex-shrink:0}.series-item-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:12px;width:180px;max-width:100%;display:flex}.series-item-actions>button{width:100%;min-height:44px}.session-schedule-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.series-manager input,.series-manager select{min-width:0;max-width:100%}@media (width<=600px){.series-item{flex-direction:column;align-items:flex-start;gap:12px}.session-schedule-actions .secondary{flex:150px}.series-manager .form-columns{grid-template-columns:1fr}}.series-continuation{color:var(--text-secondary);margin:16px 0;font-size:14px;line-height:1.5}.series-extra{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin:16px 0;padding:14px 0}.series-extra summary{cursor:pointer;color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.5}.series-limit{align-items:center;gap:10px;margin:16px 0;font-size:14px;line-height:1.5;display:flex}.series-limit input{width:18px;height:18px;accent-color:var(--brand-700);flex-shrink:0}.series-extra .field{margin-bottom:4px}.weekly-branch-filter{min-width:0;margin-bottom:6px;position:relative}.weekly-branch-tabs{flex-wrap:nowrap;align-items:center;gap:8px;width:max-content;max-width:none;display:flex}.weekly-branch-chip{box-sizing:border-box;white-space:nowrap;border:1px solid var(--border-subtle);min-height:44px;font:inherit;background:var(--surface-base);color:var(--text-secondary);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.5;display:inline-flex}button.weekly-branch-chip[aria-pressed=true]{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-700)}button.weekly-branch-chip:hover{border-color:var(--brand-500)}.weekly-branch-measure{visibility:hidden;pointer-events:none;position:absolute;inset:0;overflow:hidden}.weekly-branch-filter>.service-select{width:100%;max-width:380px}.weekly-schedule{min-width:0}.weekly-context{flex-direction:column;gap:5px;margin:0 0 22px;line-height:1.45;display:flex}.weekly-context>strong{font-size:18px}.weekly-context>span{color:var(--text-secondary);font-size:13px}.weekly-schedule .weekly-effective{max-width:340px;margin-bottom:22px}.weekly-fields{border:0;flex-direction:column;gap:22px;min-width:0;margin:0;padding:0;display:flex}.weekly-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:14px;display:flex}.weekly-section-heading h3{margin:0;font-size:16px;line-height:1.4}.weekly-section-heading>span{color:var(--text-secondary);font-size:12px;line-height:1.5}.weekly-default-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(90px,.6fr);gap:12px;display:grid}.weekly-schedule :is(.weekly-default-grid,.weekly-row-main,.weekly-row-options) .field{min-width:0;margin:0}.weekly-schedule .field input,.weekly-schedule .field .service-select{width:100%;min-width:0}.weekly-days{border-top:1px solid var(--border-subtle);padding-top:22px}.weekly-day-chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.weekly-day-chips button{border:1px solid var(--border-subtle);min-width:44px;min-height:44px;color:var(--text-secondary);background:var(--surface-base);border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:10px 13px;font-size:13px;font-weight:650;line-height:1.4;display:inline-flex}.weekly-day-chips button[aria-pressed=true]{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-100)}.weekly-day-chips button:hover:not(:disabled){border-color:var(--brand-500)}.weekly-day-chips small{color:var(--text-secondary);font-size:10px}.weekly-rows{flex-direction:column;gap:12px;display:flex}.weekly-row{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:10px;min-width:0;padding:16px}.weekly-row-main{grid-template-columns:minmax(90px,1fr) minmax(110px,1fr) minmax(74px,.6fr) 44px;align-items:end;gap:12px;display:grid}.weekly-row-day{align-self:center;font-size:15px;line-height:1.4}.weekly-row-remove{border:1px solid var(--border-subtle);width:44px;height:44px;color:var(--text-secondary);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.weekly-row-remove:hover:not(:disabled){color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-bg)}.weekly-row-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:8px;display:flex}.weekly-row-summary>span{overflow-wrap:anywhere;min-width:130px;color:var(--text-secondary);flex:1;font-size:12px;line-height:1.5}.weekly-schedule .weekly-row-summary .text-button{flex-shrink:0;min-height:44px;padding-block:8px;font-size:12px}.weekly-row-options{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px;padding-top:14px;display:grid}.weekly-row-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.weekly-schedule .weekly-extra-time{align-items:center;gap:5px;min-height:44px;margin-top:0;padding-block:8px;font-size:12px;display:flex}.weekly-end{border-top:1px solid var(--border-subtle);padding-top:18px}.weekly-end>.field{max-width:340px;margin-top:14px}.weekly-hint{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.5}.weekly-notice{color:var(--text-secondary);margin:0 0 18px;font-size:13px;line-height:1.5}.weekly-notice--warning{background:var(--warning-bg);color:var(--warning-fg);border-radius:8px;padding:12px 14px}.weekly-actions{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:18px}.weekly-actions button{min-height:44px}.weekly-fields:disabled .weekly-day-chips button{cursor:not-allowed;opacity:.65}@media (width<=600px){.weekly-default-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.weekly-default-grid>.field:last-child{grid-column:1/-1;max-width:180px}.weekly-row-main{grid-template-columns:minmax(0,1fr) minmax(70px,.55fr) 44px;gap:10px}.weekly-row-day{grid-column:1/-1}.weekly-row{padding:14px}.weekly-row-summary{align-items:flex-start}.weekly-row-options{grid-template-columns:1fr}.weekly-section-heading>span{width:100%}.weekly-actions{flex-wrap:wrap;display:flex}.weekly-actions button{white-space:normal;flex:1}}@media (width<=390px){.weekly-default-grid{grid-template-columns:1fr}.weekly-default-grid>.field:last-child{grid-column:auto;max-width:none}.weekly-day-chips{gap:4px}.weekly-day-chips button{min-width:44px;padding-inline:10px}.weekly-row{padding:12px}}@media (width<=600px){.weekly-row-summary>span{flex-basis:100%}.weekly-row-actions{justify-content:space-between;width:100%}}.live-dialog.weekly-schedule-dialog{width:min(940px,100vw - 32px);max-width:940px}.weekly-schedule-dialog>header h2{font-size:22px;line-height:1.35}.weekly-group{align-items:flex-start;gap:24px;padding:22px 0}.weekly-group-info{flex:1;min-width:0}.weekly-group-info>strong{font-size:18px;line-height:1.45}.weekly-group-info>small{font-size:12px}.weekly-group-slots{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.weekly-group-slots>li{flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:14px;line-height:1.5;display:flex}.weekly-group-slots b{min-width:115px;font-weight:600}.weekly-group-slots span{font-variant-numeric:tabular-nums;white-space:nowrap}.weekly-group-slots small{flex-basis:100%;font-size:12px;margin-top:0!important}.weekly-group .series-item-actions{padding-top:4px}.weekly-stop-form>p{margin:0 0 22px;font-size:13px;line-height:1.6}.weekly-form-actions{border-top:1px solid var(--border-subtle);justify-content:space-between;gap:12px;margin-top:22px;padding-top:22px;display:flex}.weekly-form-actions>button{min-width:150px;min-height:44px}@media (width<=600px){.live-dialog.weekly-schedule-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.weekly-schedule-dialog>header h2{font-size:20px}.weekly-group{gap:14px}.weekly-group .series-item-actions{padding-top:0}.weekly-group-slots b{min-width:108px}.weekly-form-actions>button{white-space:normal;flex:1;min-width:0}}.weekly-manager .weekly-back{min-height:44px;margin-bottom:12px}.weekly-create-picker{gap:14px;min-width:0;margin:4px 0 20px;display:grid}.weekly-group-picker{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.weekly-group-picker>.weekly-branch-chip{white-space:normal;text-align:left;justify-content:flex-start;gap:8px;max-width:100%}.weekly-group-picker .live-group-dot{border-radius:50%;flex:none;width:9px;height:9px}.weekly-picker-hint{color:var(--text-secondary);margin:4px 0 0;font-size:14px}.weekly-actions>button:only-child{margin-left:auto}.weekly-existing-note{color:var(--text-secondary);margin:0 0 14px;font-size:13px;line-height:1.5}.weekly-list-picker{margin:0 0 14px}.weekly-summary-actions>.weekly-stop-hint{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.45}@media (width<=767px){.weekly-manager .weekly-group{flex-direction:column;align-items:stretch;gap:14px;padding:18px 0;display:flex}.weekly-manager .weekly-summary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:none;padding-top:0;display:grid}.weekly-manager .weekly-summary-actions>button{white-space:normal;width:100%;min-width:0;min-height:44px;padding:10px 8px;font-size:12px;line-height:1.35}.weekly-manager .weekly-summary-actions>button.danger,.weekly-manager .weekly-summary-actions>:not(button){grid-column:1/-1}.weekly-manager .weekly-summary-actions>.weekly-stop-hint{font-size:11px}.weekly-manager .weekly-group-info>strong{font-size:17px}.weekly-manager .weekly-group-slots{gap:7px;margin:14px 0}.weekly-manager .weekly-group-slots b{min-width:100px;font-size:13px}.weekly-manager .weekly-group-slots span{font-size:13px}.weekly-manager .weekly-list-picker{gap:7px}.weekly-manager .weekly-list-picker>.weekly-branch-chip{min-height:42px;padding:8px 11px;font-size:12px}}.student-card-section{min-width:0}.student-section-heading{justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:14px;display:flex}.student-card .student-section-heading h3{margin:0;font-size:14px;font-weight:650}.student-section-heading>.secondary,.student-section-add-parent>.secondary{white-space:nowrap;min-height:34px;padding:6px 10px;font-size:12px}.student-section-empty,.student-section-note{color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.55}.student-section-record{border-bottom:1px solid var(--border-subtle);min-width:0;margin:0 0 16px;padding:0 0 16px}.student-section-record:last-child{margin-bottom:0}.student-group-facts{gap:8px;margin:0;display:grid}.student-group-facts>div{grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:10px;font-size:12px;line-height:1.45;display:grid}.student-group-facts dt{color:var(--text-secondary)}.student-group-facts dd{overflow-wrap:anywhere;margin:0}.student-group-facts dd strong{font-size:13px;font-weight:600}.student-section-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px;display:flex}.student-section-row-actions>.text-button,.student-section-editor .text-button,.student-section-editor-heading .text-button{font-size:12px}.student-section-menu{position:relative}.student-section-menu>summary{cursor:pointer;border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:6px;place-items:center;width:32px;min-height:32px;font-size:20px;line-height:1;list-style:none;display:grid}.student-section-menu>summary::-webkit-details-marker{display:none}.student-section-menu>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.student-section-menu>div{z-index:5;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:8px;min-width:180px;max-width:calc(100vw - 70px);padding:6px;position:absolute;top:38px;right:0;box-shadow:0 6px 16px #00000012}.student-section-menu>div>button{text-align:left;white-space:normal;width:100%;min-height:38px;padding:9px;font-size:12px}.student-section-pending{color:var(--text-secondary);border-left:2px solid var(--brand-500);margin:12px 0 0;padding-left:8px;font-size:11px;line-height:1.5}.student-section-editor{gap:12px;min-width:0;padding-top:12px;display:grid}.student-section-editor .field{min-width:0;font-size:12px}.student-section-editor input,.student-section-editor select{width:100%;min-width:0;min-height:40px;font-size:13px}.student-section-editor .field input[type=checkbox]{width:16px;min-height:16px}.student-section-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-section-editor-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.student-section-editor-heading strong{font-weight:600}.student-parent-facts{overflow-wrap:anywhere;gap:5px;font-size:13px;line-height:1.5;display:grid}.student-parent-facts strong{font-weight:600}.student-parent-role{color:var(--text-secondary);font-size:11px}.student-parent-contact{color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.student-parent-contact a{color:inherit;overflow-wrap:anywhere;text-decoration:none}.student-parent-contact a:hover{text-decoration:underline}.student-section-rights{color:var(--text-secondary);font-size:12px}.student-section-rights>summary{cursor:pointer;align-content:center;min-height:30px;display:list-item}.student-section-rights .live-checks{margin:8px 0 0}.student-section-rights .live-checks>label:not(.field){align-items:center;gap:8px;display:flex}.student-section-rights .live-checks input[type=checkbox]{flex:none;width:16px;min-height:16px}.student-section-add-parent{position:relative}.student-section-add-options{z-index:5;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:8px;min-width:200px;max-width:calc(100vw - 70px);padding:6px;display:grid;position:absolute;top:40px;right:0;box-shadow:0 6px 16px #00000012}.student-section-add-options button{font:inherit;text-align:left;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:10px;font-size:12px}.student-section-add-options button:hover{background:var(--surface-hover)}.student-card-draft-parents{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:20px}@media (width<=600px){.student-section-heading{gap:8px}.student-card .student-section-heading h3{font-size:13px}.student-section-heading>.secondary,.student-section-add-parent>.secondary{padding:6px 8px;font-size:11px}.student-section-fields{grid-template-columns:1fr}.student-section-editor-heading{align-items:flex-start}.student-group-facts>div{grid-template-columns:60px minmax(0,1fr);gap:8px}.student-section-menu>summary{min-width:36px;min-height:36px}.student-section-row-actions{gap:10px}.student-section-rights .live-checks{padding:10px}}@media (width>=701px){.student-card-draft-groups>.student-section-record,.student-card-draft-parents>.student-section-record{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;display:grid}.student-card-draft-groups>.student-section-record>.student-group-facts{grid-area:1/1;grid-template-columns:1fr 1.4fr 1fr;gap:16px}.student-card-draft-groups .student-group-facts>div{flex-direction:column;gap:5px;display:flex}.student-card-draft-parents>.student-section-record>.student-parent-facts{grid-area:1/1}.student-card-draft-groups>.student-section-record>.student-section-row-actions,.student-card-draft-parents>.student-section-record>.student-section-row-actions{grid-area:1/2;margin-top:0}.student-card-section>.student-section-record>.student-section-editor,.student-card-section>.student-section-record>.student-section-pending,.student-card-section>.student-section-record>.student-section-editor-heading{grid-column:1/-1}.student-card-draft-parents>.student-section-record>.student-parent-facts{grid-template-columns:minmax(140px,.7fr) minmax(0,1fr);gap:5px 20px}.student-card-draft-parents .student-parent-facts>strong{grid-area:1/1}.student-card-draft-parents .student-parent-role{grid-area:2/1}.student-card-draft-parents .student-parent-contact{grid-area:1/2/3;align-self:center}}.student-card-draft-parents>.student-section-record{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:8px;margin:10px 0 0;padding:12px}.student-card-draft-parents>.student-section-record:last-child{margin-bottom:0}.student-section-add-group{margin-top:16px}.student-section-add-group>.secondary{min-height:34px;padding:6px 10px;font-size:12px}.student-card-draft-groups>.student-section-record:not(:has(~.student-section-record)){border-bottom:0;margin-bottom:0;padding-bottom:0}.student-record-clickable{cursor:pointer}.student-record-clickable:hover{background:var(--surface-row-hover)}.student-record-name{font:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;min-height:0;padding:0}.student-record-name:hover{color:var(--brand-700)}.student-record-name:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.student-section-record .student-section-editor{cursor:default}.student-card-draft-groups>.student-section-record{border:0;border-radius:8px;margin:0 0 8px;padding:12px}.student-card-draft-groups>.student-section-record:not(:has(~.student-section-record)){padding-bottom:12px}.student-card-draft-parents>.student-section-record{background:var(--surface-base)}.student-record-clickable{border-radius:8px}@media (hover:hover){.student-card .student-record-clickable:hover{background:var(--surface-row-hover)}}.student-group-facts dd .student-group-pill{background:color-mix(in srgb,var(--student-group-color,var(--brand-500)) 12%,var(--surface-base));max-width:100%;color:var(--text-primary);border-radius:7px;align-items:center;gap:7px;padding:5px 9px;line-height:1.4;display:inline-flex}.student-group-pill-dot{background:var(--student-group-color,var(--brand-500));border-radius:50%;flex-shrink:0;width:8px;height:8px}.student-group-pill .student-record-name{overflow-wrap:anywhere;min-width:0;line-height:1.4}@media (width<=767px){.student-card-draft-groups>.student-section-record{border:1px solid var(--border-subtle);background:var(--surface-base);grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:7px 10px;margin-bottom:8px;padding:12px;display:grid}.student-card-draft-groups>.student-section-record:not(:has(~.student-section-record)){border-bottom:1px solid var(--border-subtle);padding-bottom:12px}.student-card-draft-groups>.student-section-record>.student-group-facts{flex-direction:column;grid-area:1/1;gap:6px;min-width:0;display:flex}.student-card-draft-groups .student-group-facts>div{flex-flow:wrap;gap:3px 6px;font-size:12px;line-height:1.45;display:flex}.student-card-draft-groups .student-group-facts>.student-group-name-fact{order:-1;margin-bottom:3px}.student-card-draft-groups .student-group-name-fact>dt{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-card-draft-groups .student-group-name-fact>dd{max-width:100%}.student-card-draft-groups .student-group-facts dt{font-size:11px}.student-card-draft-groups .student-group-facts>div:not(.student-group-name-fact)>dt:after{content:":"}.student-card-draft-groups>.student-section-record>.student-section-row-actions{grid-area:1/2;align-self:start;margin:0;display:block}.student-card-draft-groups .student-section-menu>summary{border-radius:8px;width:44px;min-height:44px}.student-card-draft-groups>.student-section-record>.student-section-row-actions--pending,.student-card-draft-groups>.student-section-record>.student-section-pending,.student-card-draft-groups>.student-section-record>.student-section-editor{grid-area:auto/1/auto/-1}.student-card-draft-groups>.student-section-record>.student-section-row-actions--pending{justify-content:flex-start;display:flex}.student-card-draft-groups>.student-section-record>.student-section-pending{margin-top:3px}.student-card-draft-groups .student-section-add-group>.secondary{text-align:center;width:100%;min-height:44px}.student-card-draft-groups .student-section-editor .field{min-width:0}.student-card-draft-groups>.student-group-record--readonly{grid-template-columns:minmax(0,1fr)}.student-card-draft-parents>.student-section-record{grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:8px 10px;display:grid}.student-card-draft-parents>.student-section-record>.student-parent-facts{grid-area:1/1;min-width:0}.student-card-draft-parents>.student-section-record>.student-section-row-actions{grid-area:1/2;align-self:start;margin:0}.student-card-draft-parents .student-section-menu>summary{width:44px;min-height:44px}.student-card-draft-parents>.student-section-record>:is(.student-section-editor,.student-section-pending,.student-section-editor-heading){grid-column:1/-1}.student-card-draft-parents>.student-section-record:not(:has(>.student-section-row-actions)){grid-template-columns:minmax(0,1fr)}}.student-parent-picker{min-width:0;position:relative}.student-parent-picker>.field{margin-bottom:7px;line-height:normal}.student-parent-search{align-items:center;min-width:0;display:flex;position:relative}.student-parent-search>svg{width:17px;height:17px;color:var(--text-secondary);pointer-events:none;position:absolute;left:12px}.student-card .student-parent-search>input{border:1px solid var(--border-control);background:var(--surface-base);width:100%;color:var(--text-primary);border-radius:8px;min-height:40px;padding:10px 46px 10px 36px;font-size:13px}.student-parent-search>button{background:var(--surface-subtle);width:32px;color:var(--text-primary);font:inherit;cursor:pointer;border:0;border-radius:5px;padding:0;font-size:22px;line-height:1;position:absolute;top:5px;bottom:5px;right:5px}.student-parent-search>button:hover{background:var(--surface-hover)}.student-parent-search>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.student-parent-options{z-index:6;border:1px solid var(--border-subtle);background:var(--surface-base);overscroll-behavior:contain;border-radius:8px;max-height:260px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 8px 20px #00000014}.student-parent-options>button{text-align:left;width:100%;color:var(--text-primary);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:5px;flex-direction:column;gap:3px;padding:10px;font-size:13px;display:flex}.student-parent-options>button>strong{font-weight:600}.student-parent-options>button>span,.student-parent-options>p{color:var(--text-secondary);font-size:12px;line-height:1.5}.student-parent-options>p{margin:8px 10px}.student-parent-options>button:hover,.student-parent-options>button[aria-selected=true]{background:var(--surface-hover)}.student-parent-options>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.student-parent-options>.student-parent-create{border-top:1px solid var(--border-subtle);color:var(--brand-600);border-radius:0;margin-top:4px;padding-top:12px}.student-account-panel{min-width:0;margin:0 0 26px}.student-account-panel>header h3{margin:0;font-size:15px;font-weight:650;line-height:1.5}.student-account-explanation{color:var(--text-secondary);max-width:780px;margin:7px 0 14px;font-size:12px;line-height:1.7}.student-account-ledgers{gap:12px;display:grid}.student-account-ledger{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:10px;min-width:0;padding:16px}.student-account-balance{justify-content:space-between;align-items:baseline;gap:16px;min-width:0;display:flex}.student-account-balance>strong{overflow-wrap:anywhere;font-size:13px;line-height:1.5}.student-account-balance>span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:23px;font-weight:650;line-height:1.5}.student-account-history{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:6px}.student-account-history>summary{cursor:pointer;border-radius:6px;align-items:center;gap:7px;min-height:38px;font-size:12px;font-weight:550;list-style:none;display:flex}.student-account-history>summary::-webkit-details-marker{display:none}.student-account-history>summary>span{color:var(--text-secondary);font-weight:400}.student-account-history>summary>svg{flex:none}.student-account-history[open]>summary>svg{transform:rotate(90deg)}.student-account-history>ol{margin:0;padding:0;list-style:none}.student-account-history>ol>li{min-width:0;padding:12px 0}.student-account-history>ol>li+li{border-top:1px solid var(--border-subtle)}.student-account-entry{justify-content:space-between;align-items:flex-start;gap:14px;font-size:12px;line-height:1.6;display:flex}.student-account-entry>div{min-width:0}.student-account-entry strong{overflow-wrap:anywhere;font-weight:550;display:block}.student-account-entry time{color:var(--text-secondary);font-size:11px}.student-account-entry>span{color:var(--success-fg);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.student-account-entry-facts{color:var(--text-secondary);flex-wrap:wrap;gap:3px 12px;margin-top:5px;font-size:11px;line-height:1.7;display:flex}.student-account-applications{border-left:2px solid var(--border-subtle);margin:10px 0 0;padding:0 0 0 12px;list-style:none}.student-account-applications>li{color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-block:4px;font-size:11px;line-height:1.7;display:flex}.student-account-applications strong{font-variant-numeric:tabular-nums;color:var(--text-primary);margin-left:auto;font-weight:550}.student-account-applications small{width:100%;font-size:11px}.student-account-empty{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.6}.student-account-history>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.family-student-finance{margin-block:24px 30px}.family-student-finance .student-account-panel{margin-bottom:0}@media (width<=420px){.student-account-ledger{padding:14px}.student-account-balance{gap:12px}.student-account-balance>span{font-size:21px}.student-account-entry{gap:8px}}.family-single-balances{margin-top:24px}.family-single-balances>h3{margin:0 0 14px;font-size:15px;line-height:1.5}.family-single-balances>div{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;display:grid}.family-single-balances article{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:10px;min-width:0;padding:16px}.family-single-balances article>header{justify-content:space-between;align-items:baseline;gap:16px;font-size:13px;line-height:1.5;display:flex}.family-single-balances article>header>span{white-space:nowrap;font-weight:600}.family-single-balances ul{margin:12px 0 0;padding:0;list-style:none}.family-single-balances li{border-top:1px solid var(--border-subtle);justify-content:space-between;gap:16px;padding:10px 0;font-size:12px;line-height:1.6;display:flex}.family-single-balances li>div{min-width:0}.family-single-balances li strong{overflow-wrap:anywhere;font-weight:550;display:block}.family-single-balances li small{color:var(--text-secondary);font-size:11px;display:block}.family-single-balances li>span{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.student-account-source{color:var(--text-secondary);font-size:11px;line-height:1.6;display:block}.student-finance{min-width:0}.student-finance-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.student-finance-panel{min-width:0}.student-finance-heading{justify-content:space-between;align-items:center;gap:12px;min-height:38px;margin-bottom:14px;display:flex}.student-history .student-finance-heading h3{margin:0;font-size:15px;line-height:1.5}.student-finance-heading>button{flex:none;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 10px;font-size:12px;line-height:1.4;display:inline-flex}.student-finance-records{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:10px;min-width:0;padding:4px}.student-finance-subscription,.student-finance-charge{overflow-wrap:anywhere;border-radius:7px;min-width:0;padding:12px}.student-finance-subscription+.student-finance-subscription,.student-finance-charge+.student-finance-charge{border-top:1px solid var(--border-subtle)}.student-finance-subscription.interactive-record{cursor:pointer}.student-finance-subscription.interactive-record:hover{background:var(--surface-row-hover)}.student-finance-record-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:5px;display:flex}.student-finance-record-heading>strong{min-width:0;font-size:13px;font-weight:600;line-height:1.5}.student-finance-name{min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:3px;padding:0}.student-finance-name:hover{color:var(--brand-700)}.student-finance-name:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.student-finance-record-heading>.student-finance-more{border-radius:6px;flex:none;place-items:center;width:32px;min-height:32px;padding:5px;display:grid}.student-finance-subscription-facts{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:5px 12px;margin-top:10px;font-size:12px;line-height:1.5;display:flex}.student-finance-subscription-facts .student-subscription-status{color:var(--text-primary);font-weight:550}.student-finance-charge-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 0;font-size:12px;line-height:1.5;display:grid}.student-finance-charge-facts>div{min-width:0}.student-finance-charge-facts dt{color:var(--text-secondary);font-size:11px}.student-finance-charge-facts dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 0;font-weight:550}.student-finance-charge-facts dd[data-debt=true],.student-finance-balance [data-state=debt]{color:var(--danger-fg)}.student-finance-balance{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:12px;font-size:13px;line-height:1.5;display:flex}.student-finance-balance [data-state=credit]{color:var(--success-fg)}.student-finance-empty{color:var(--text-secondary);margin:0;padding:12px 0;font-size:13px;line-height:1.5}.student-finance-payment-history{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:12px}.student-finance-payment-history>summary{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:38px;font-size:13px;font-weight:600;list-style:none;display:flex}.student-finance-payment-history>summary::-webkit-details-marker{display:none}.student-finance-payment-history>summary>svg{flex:none;transform:rotate(0)}.student-finance-payment-history[open]>summary>svg{transform:rotate(90deg)}.student-finance-payment-history>summary>small{color:var(--text-secondary);font-size:12px;font-weight:400}.student-finance-history-body{padding:6px 0 0}.student-finance-payments{margin:0;padding:0;font-size:12px;line-height:1.5;list-style:none}.student-finance-payments>li{border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;min-width:0;padding:10px 0;display:grid}.student-finance-payments>li:last-child{border-bottom:0}.student-finance-payments>li>strong{font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.student-finance-payments>li>span{color:var(--text-secondary)}.student-finance-refunds{margin-top:16px}.student-finance-refunds h4{margin:0 0 6px;font-size:13px;line-height:1.5}@media (width<=800px){.student-finance-columns{grid-template-columns:minmax(0,1fr);gap:24px}}@media (width<=420px){.student-finance-heading{flex-wrap:wrap;align-items:flex-start;gap:8px}.student-finance-heading>button{min-height:40px}.student-finance-records{padding:3px}.student-finance-subscription,.student-finance-charge{padding:10px}.student-finance-charge-facts{gap:7px}.student-finance-payments>li{grid-template-columns:minmax(0,1fr) auto;gap:3px 12px}.student-finance-payments>li>time{grid-area:1/1}.student-finance-payments>li>strong{grid-area:1/2/3;align-self:center}.student-finance-payments>li>span{grid-area:2/1}}@media (pointer:coarse){.student-finance-heading>button{min-height:44px}.student-finance-record-heading>.student-finance-more{width:44px;min-height:44px}}.student-finance-singles{margin-top:24px}.student-finance-single-count-note{color:var(--text-secondary);font-size:11px;line-height:1.5}.student-history{min-width:0;color:var(--text-primary)}.student-history .student-history-section{margin:20px 0 0}.student-history .student-history-section:first-child{margin-top:0}.student-history .student-history-section>h3{margin:0 0 10px;font-size:15px;line-height:1.5}.student-history .student-history-scroll{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:10px;max-width:100%;overflow:auto}.student-history .student-history-table{border-collapse:collapse;text-align:left;width:100%;min-width:380px;font-size:12px;line-height:1.5}.student-history .student-history-table th{white-space:nowrap;color:var(--text-secondary);background:var(--surface-subtle);padding:9px 12px;font-size:11px;font-weight:600}.student-history .student-history-table td{vertical-align:top;border-top:1px solid var(--border-subtle);overflow-wrap:anywhere;padding:10px 12px}.student-history .student-history-table small{color:var(--text-secondary);margin-top:4px;font-size:11px;line-height:1.5;display:block}.student-history .student-history-attendance{min-width:480px}.student-history .student-history-charges{min-width:430px}.student-history .student-history-date{white-space:nowrap}.student-history .student-history-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.student-history .student-history-number[data-debt=true],.student-history .student-history-balance[data-state=debt],.student-history .student-history-status[data-status=cancelled]{color:var(--danger-fg)}.student-history .student-history-fact{font-weight:550}.student-history .student-history-fact[data-fact=present]{color:var(--success-fg)}.student-history .student-history-fact[data-fact=absent],.student-history .student-history-fact[data-fact=cancelled]{color:var(--danger-fg)}.student-history .student-history-fact[data-fact=excused]{color:var(--warning-fg)}.student-history .student-history-balance{font-variant-numeric:tabular-nums;margin:0 0 18px;font-size:17px;font-weight:650;line-height:1.5}.student-history .student-history-empty{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.student-history .student-history-progress{border-bottom:1px solid var(--border-subtle);padding:16px 0}.student-history .student-history-progress:first-child{padding-top:0}.student-history .student-history-progress>small{color:var(--text-secondary);font-size:12px;line-height:1.5}.student-history .student-history-progress>h3{margin:8px 0;font-size:15px;line-height:1.5}.student-history .student-history-progress>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:13px;line-height:1.6}.student-history .student-history-progress dl{flex-wrap:wrap;gap:10px 24px;margin:12px 0 0;font-size:13px;line-height:1.5;display:flex}.student-history .student-history-progress dl>div{overflow-wrap:anywhere;gap:8px;min-width:0;display:flex}.student-history .student-history-progress dt{color:var(--text-secondary)}.student-history .student-history-progress dd{margin:0;font-weight:600}@media (width<=600px){.student-history .student-history-table th,.student-history .student-history-table td{padding:9px 10px}.student-history .student-history-progress dl>div{flex-wrap:wrap;gap:3px 8px}.student-history .student-history-balance{font-size:16px}}.student-history .student-subscription-status[data-status=awaiting_payment]{color:var(--warning-fg);font-weight:600}.subscription-individual-note{color:var(--text-secondary);max-width:440px;margin-top:7px;font-size:12px}.subscription-individual-note>summary{cursor:pointer}.subscription-individual-note>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;line-height:1.6}.subscription-scope-label{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px;line-height:1.5;display:inline}.student-history .student-history-subscriptions{min-width:920px}.student-history .student-history-subscriptions td{vertical-align:middle}.student-history .student-history-subscriptions td:nth-child(4),.student-history .student-history-subscriptions td:nth-child(5),.student-history .student-history-subscriptions td:last-child{white-space:nowrap}.student-history .student-history-subscriptions .student-subscription-status{font-size:12px}.student-history .student-history-subscriptions .subscription-scope-label{color:var(--text-primary)}.student-attendance{min-width:0;color:var(--text-primary);font-size:13px;line-height:1.5}.student-attendance-toolbar,.student-attendance-results-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.student-attendance-month{align-items:center;gap:8px;display:flex}.student-attendance-month>strong{text-align:center;text-transform:capitalize;font-variant-numeric:tabular-nums;min-width:150px;font-size:15px}.student-attendance-month .button-icon{border:1px solid var(--border-subtle);background:var(--surface-base);width:34px;height:36px;min-height:36px;color:var(--text-secondary);border-radius:8px}.student-attendance-switch{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:10px;align-items:center;gap:3px;min-width:0;max-width:100%;padding:3px;display:flex}.student-attendance-switch>button{min-height:36px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-width:0;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.student-attendance-switch>button[aria-pressed=true]{background:var(--brand-50);color:var(--brand-700)}.student-attendance-switch>button>span{font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.student-attendance-switch>button:hover{background:var(--surface-hover)}.student-attendance-switch>button[aria-pressed=true]:hover{background:var(--brand-100)}.student-attendance-stats{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:20px;padding:16px 0;display:grid}.student-attendance-stats>div{border-left:1px solid var(--border-subtle);gap:3px;min-width:0;padding:0 18px;display:grid}.student-attendance-stats>div:first-child{border-left:0}.student-attendance-stats span{color:var(--text-secondary);font-size:12px}.student-attendance-stats strong{font-variant-numeric:tabular-nums;font-size:27px;font-weight:650;line-height:1.3}.student-attendance-stats small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:11px}.student-attendance-stats [data-fact=present]>strong{color:var(--success-fg)}.student-attendance-stats [data-fact=absent]>strong{color:var(--danger-fg)}.student-attendance-stats [data-fact=excused]>strong{color:var(--warning-fg)}.student-attendance-summary-note{color:var(--text-secondary);margin:9px 0 18px;font-size:11px;line-height:1.6}.student-attendance-summary-note>span{color:var(--warning-fg);font-weight:600}.student-attendance-filters{grid-template-columns:1.25fr 1fr 1fr 1fr;gap:8px;min-width:0;display:grid}.student-attendance-filters .field{gap:0;min-width:0}.student-attendance-filters select{border-color:var(--border-subtle);min-width:0;max-width:100%;min-height:40px;padding-block:8px;font-size:12px}.student-attendance-search{border:1px solid var(--border-subtle);min-width:0;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.student-attendance-search input{width:100%;min-width:0;min-height:40px;color:var(--text-primary);background:0 0;border:0;padding:8px 0;font-size:12px}.student-attendance-search:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.student-attendance-search input:focus-visible{outline:0}.student-attendance-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-attendance-results-heading{color:var(--text-secondary);margin:18px 0 10px;font-size:12px}.student-attendance-view>button{min-height:30px;padding:5px 9px;font-size:11px}.student-attendance-table-wrap{border:1px solid var(--border-subtle);border-radius:10px;max-width:100%;overflow:hidden}.student-attendance-table{table-layout:fixed;border-collapse:collapse;text-align:left;width:100%;font-size:12px}.student-attendance-table th{background:var(--surface-subtle);color:var(--text-secondary);padding:10px 12px;font-size:11px;font-weight:600}.student-attendance-table th:first-child{width:22%}.student-attendance-table th:last-child{width:26%}.student-attendance-table td{vertical-align:top;border-top:1px solid var(--border-subtle);overflow-wrap:anywhere;padding:12px}.student-attendance-table strong{font-weight:600;display:block}.student-attendance-table small,.student-attendance-day-details small{color:var(--text-secondary);margin-top:4px;font-size:11px;line-height:1.6;display:block}.student-attendance-table td:first-child{font-variant-numeric:tabular-nums}.student-attendance-badge{background:var(--neutral-bg);color:var(--neutral-fg);overflow-wrap:anywhere;border-radius:6px;max-width:100%;padding:4px 7px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.student-attendance-badge[data-fact=present]{background:var(--success-bg);color:var(--success-fg)}.student-attendance-badge[data-fact=absent]{background:var(--danger-bg);color:var(--danger-fg)}.student-attendance-badge[data-fact=excused]{background:var(--warning-bg);color:var(--warning-fg)}.student-attendance-badge[data-fact=upcoming]{background:var(--info-bg);color:var(--info-fg)}.student-attendance-badge[data-fact=cancelled]{background:var(--neutral-bg);color:var(--text-secondary);text-decoration:line-through}.student-attendance-empty{text-align:center;border:1px dashed var(--border-subtle);color:var(--text-secondary);border-radius:10px;justify-items:center;gap:8px;padding:38px 16px;display:grid}.student-attendance-empty strong{color:var(--text-primary);font-size:14px}.student-attendance-empty p{margin:0;font-size:12px}.student-attendance-empty button{margin-top:4px}.student-attendance-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:0;display:grid}.student-attendance-weekday{text-align:center;color:var(--text-secondary);padding:5px;font-size:11px}.student-attendance-day,.student-attendance-day-empty{min-width:0;min-height:76px}.student-attendance-day{border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);border-radius:8px;flex-direction:column;align-items:flex-start;gap:5px;padding:8px;font-size:13px;line-height:1.4;display:flex;position:relative}.student-attendance-day:disabled{cursor:default;color:var(--text-muted);background:var(--surface-subtle)}.student-attendance-day[aria-pressed=true]{border-color:var(--brand-600);box-shadow:inset 0 0 0 1px var(--brand-600);background:var(--brand-50)}.student-attendance-day[aria-current=date]>span:first-child{text-underline-offset:3px;font-weight:750;text-decoration:underline}.student-attendance-day:not(:disabled):hover{background:var(--surface-hover)}.student-attendance-day-marks{flex-wrap:wrap;align-items:center;gap:4px;min-height:10px;display:flex}.student-attendance-day-marks>small{color:var(--text-secondary);font-size:9px}.student-attendance-day-caption{color:var(--text-secondary);overflow-wrap:anywhere;max-width:100%;font-size:10px}.student-attendance-day-marks i,.student-attendance-legend i{background:var(--neutral-fg);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.student-attendance :is(.student-attendance-day-marks,.student-attendance-legend) i[data-fact=present]{background:var(--success-fg)}.student-attendance :is(.student-attendance-day-marks,.student-attendance-legend) i[data-fact=absent]{background:var(--danger-fg)}.student-attendance :is(.student-attendance-day-marks,.student-attendance-legend) i[data-fact=excused]{background:var(--warning-fg)}.student-attendance :is(.student-attendance-day-marks,.student-attendance-legend) i[data-fact=upcoming]{background:var(--info-fg)}.student-attendance :is(.student-attendance-day-marks,.student-attendance-legend) i[data-fact=cancelled]{background:var(--text-muted);border-radius:1px;transform:rotate(45deg)}.student-attendance :is(.student-attendance-day-marks,.student-attendance-legend) i[data-fact=unknown]{border:1px solid var(--text-secondary);background:0 0}.student-attendance :is(.student-attendance-day-marks,.student-attendance-legend) i[data-fact=excluded]{background:var(--neutral-fg);border-radius:0}.student-attendance-day-details{border:1px solid var(--border-subtle);border-radius:10px;margin-top:12px;padding:12px}.student-attendance-day-details h4{margin:0 0 8px;font-size:13px}.student-attendance-day-details article{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:14px;padding:10px 0;display:grid}.student-attendance-day-details article>div{overflow-wrap:anywhere;min-width:0}.student-attendance-day-details article strong{margin-bottom:3px;font-size:12px;font-weight:600;display:block}.student-attendance-day-details p{color:var(--text-secondary);margin:0;font-size:12px}.student-attendance-legend{color:var(--text-secondary);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:10px;display:flex}.student-attendance-legend>span{align-items:center;gap:5px;display:flex}@media (width<=800px){.student-attendance-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.student-attendance-search{grid-column:1/-1}.student-attendance-stats>div{padding-inline:12px}.student-attendance-day{min-height:68px;padding:6px}.student-attendance-day-caption{font-size:9px}}@media (width<=520px){.student-attendance-toolbar{gap:12px}.student-attendance-toolbar>.student-attendance-switch{width:100%}.student-attendance-toolbar>.student-attendance-switch>button{flex:1;padding-inline:7px;font-size:11px}.student-attendance-month{justify-content:space-between;width:100%}.student-attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:16px;padding:0}.student-attendance-stats>div{padding:12px}.student-attendance-stats>div:nth-child(3){border-left:0}.student-attendance-stats>div:nth-child(n+3){border-top:1px solid var(--border-subtle)}.student-attendance-stats strong{font-size:24px}.student-attendance-stats span{font-size:11px}.student-attendance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-attendance-filters>.field:last-child{grid-column:1/-1}.student-attendance-table th{padding:8px 6px;font-size:10px}.student-attendance-table td{padding:9px 6px;font-size:11px}.student-attendance-table th:first-child{width:28%}.student-attendance-table th:last-child{width:29%}.student-attendance-table small{font-size:10px}.student-attendance-badge{padding:4px 5px;font-size:10px}.student-attendance-calendar{gap:3px}.student-attendance-day,.student-attendance-day-empty{min-height:55px}.student-attendance-day{gap:4px;padding:5px 4px;font-size:11px}.student-attendance-day-caption{display:none}.student-attendance-day-marks{gap:3px}.student-attendance-day-marks i{width:5px;height:5px}.student-attendance-day-details article{grid-template-columns:minmax(0,1fr) minmax(0,.6fr);gap:8px}}@media (pointer:coarse){.student-attendance-switch>button,.student-attendance-month .button-icon{min-height:44px}.student-attendance-search input,.student-attendance-filters select{min-height:44px;font-size:16px}}.student-attendance-record{cursor:pointer}.student-attendance-record>td{background:0 0}.student-attendance-record:hover>td,.student-attendance-record:focus-within>td{background:var(--surface-row-hover)}.student-attendance-record>td:first-child{border-start-start-radius:8px;border-end-start-radius:8px}.student-attendance-record>td:last-child{border-start-end-radius:8px;border-end-end-radius:8px}.student-attendance-session-date{color:var(--text-primary);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;font-weight:600;display:block}.student-attendance-session-date:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.student-attendance-fact-cell{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.student-attendance-fact-cell>div{min-width:0}.student-attendance-session-more{border:1px solid var(--border-subtle);background:var(--surface-base);width:32px;height:32px;min-height:32px;color:var(--text-secondary);border-radius:8px;flex-shrink:0}.student-attendance-session-more:hover{background:var(--surface-row-hover)}.student-attendance-calendar-open{grid-column:1/-1;justify-self:start;align-items:center;gap:8px;min-height:36px;padding:7px 10px;font-size:12px;display:inline-flex}@media (width<=520px){.student-attendance-fact-cell{flex-wrap:wrap;gap:5px}.student-attendance-session-more{margin-inline-start:auto}.student-attendance-calendar-open{justify-content:center;width:100%}}@media (pointer:coarse){.student-attendance-session-more{width:44px;height:44px;min-height:44px}.student-attendance-calendar-open{min-height:44px}}.student-attendance-toolbar>.student-attendance-restore{flex:none;min-height:40px;font-size:12px}@media (width<=720px){.student-attendance-toolbar>.student-attendance-restore{min-height:44px;margin-left:auto}}.student-attendance-date-tools{justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.student-attendance-history{width:40px;min-height:40px;color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:8px;flex:none}.student-attendance-history:hover{background:var(--surface-row-hover);color:var(--text-primary)}@media (width<=520px){.student-attendance-date-tools{gap:8px;width:100%}.student-attendance-date-tools>.student-attendance-month{flex:1;gap:4px;width:auto}.student-attendance-date-tools .student-attendance-month>strong{flex:1;min-width:0;font-size:14px}.student-attendance-history{width:44px;min-height:44px}}.live-dialog:has(.student-card){width:min(1040px,100vw - 32px);max-width:1040px}.live-dialog:has(.student-card)>header{z-index:4;background:var(--surface-base);padding-block:4px;position:sticky;top:0}.live-dialog:has(.student-card)>header h2{margin:0;font-size:22px}.student-card{min-width:0}.student-card-context{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 18px;font-size:12px;line-height:1.6;display:flex}.student-card-status{background:var(--surface-subtle);color:var(--text-secondary);border-radius:5px;padding:2px 7px;font-size:11px}.student-card-status[data-state=active]{background:var(--success-bg);color:var(--success-fg)}.student-card-tabs{border-bottom:1px solid var(--border-subtle);gap:24px;margin-bottom:24px;display:flex}.student-card-tabs button{font:inherit;min-height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:8px 0 12px;font-size:13px;font-weight:600}.student-card-tabs button.selected{border-bottom-color:var(--accent);color:var(--text-primary)}.student-card-tabs button:hover{color:var(--text-primary)}.student-card-tabs button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:3px}.student-card-grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.student-card-personal,.student-card-related{min-width:0}.student-card .student-card-details h3{align-items:center;min-height:34px;margin:0;font-size:15px;font-weight:650;display:flex}.student-card-personal-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;margin-top:14px;display:grid}.student-card-details .field{font-size:12px}.student-card-details .field input,.student-card-details .field select{min-width:0;min-height:40px;font-size:13px}.student-card-hint{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.student-card-fields{border:0;min-width:0;margin:0;padding:0}.student-card-data{gap:0!important;display:block!important}.student-card .student-card-data>fieldset{border:0;margin:0;padding:0}.student-card-notice{color:var(--success-fg);background:var(--success-bg);border-radius:7px;margin:0 0 16px;padding:10px 12px;font-size:12px;line-height:1.6}.student-card-retry{margin:8px 0 16px}.student-card .student-card-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;margin-top:26px;padding-top:18px;display:flex}.student-card-footer>button{min-height:36px;padding:8px 11px;font-size:12px}.student-card-save{align-items:center;gap:16px;display:flex}.student-card-save>.primary{min-width:105px;min-height:40px;padding:10px 18px;font-size:13px}.student-card-personal-summary{gap:14px;margin:16px 0 0;font-size:13px;line-height:1.5;display:grid}.student-card-personal-summary>div{grid-template-columns:minmax(100px,1fr) 1.3fr;gap:12px;display:grid}.student-card-personal-summary dt{color:var(--text-secondary)}.student-card-personal-summary dd{margin:0}.student-card-group-summary{margin:12px 0;padding:0;list-style:none}.student-card-group-summary li{border-bottom:1px solid var(--border-subtle);gap:5px;padding:10px 0;font-size:13px;line-height:1.5;display:grid}.student-card-group-summary li span,.student-card-group-summary li small{color:var(--text-secondary);font-size:12px}.student-card-past{color:var(--text-secondary);margin:16px 0 0;font-size:12px}.student-card-past summary{cursor:pointer}.student-card-archive h3,.student-card-discard h3{margin-top:18px;font-size:17px}.student-card-archive .student-archive-explanation{max-width:650px;font-size:13px}.student-card-archive .form-actions{margin-top:0}.student-card-discard p{color:var(--text-secondary);font-size:13px;line-height:1.6}.student-card-discard>div{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.student-card input,.student-card select,.student-card textarea{scroll-margin-top:70px}.student-card-fields:disabled{opacity:.72}@media (width<=750px){.student-card-grid{grid-template-columns:1fr;gap:24px}.student-card-related{border-top:1px solid var(--border-subtle);padding-top:20px}.student-card-tabs{margin-bottom:20px}.student-card-context{margin-bottom:14px}}@media (width<=600px){.live-dialog:has(.student-card){width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.live-dialog:has(.student-card)>header h2{font-size:20px}.student-card-tabs{justify-content:space-between;gap:8px}.student-card-tabs button{min-width:0;min-height:40px;padding:9px 0;font-size:12px}.student-card-details .form-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-card-grid{gap:20px}.student-card-context{font-size:11px}.student-card .student-card-footer{align-items:flex-end;gap:12px}.student-card-save{flex-direction:column;align-items:flex-end;gap:9px}.student-card-save>.primary{min-width:105px}.student-card-footer>button{text-align:left;max-width:140px}}.student-card-status-field{align-content:start;gap:10px;min-width:0;display:grid}.student-card-contacts{grid-column:2/-1;min-width:0}.student-card-contacts .student-card-draft-parents{border:0;margin:0;padding:0}.student-card-contacts .student-section-heading{align-items:center;min-height:0;margin-bottom:10px}.student-card-contacts .student-section-heading h3{color:var(--text-secondary);font-size:12px;font-weight:500}.student-card-contacts .student-section-heading>.student-section-add-parent>.secondary{min-height:30px;padding:4px 9px;font-size:11px}.student-card-related{border-top:1px solid var(--border-subtle);padding-top:20px}.student-card-personal-summary+.student-card-contacts{margin-top:20px}.student-card-personal-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.student-card-personal-summary>div{flex-direction:column;gap:5px;display:flex}@media (width<=750px){.student-card-personal-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.student-card-contacts{grid-column:1/-1;padding-top:4px}.student-card-personal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-card-personal-fields>.field{align-self:start}.student-card-details .service-select-trigger{min-height:40px;font-size:13px}@media (pointer:coarse){.student-card-details .service-select-trigger{min-height:44px;font-size:16px}}.student-finance-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:0 0 20px;display:flex}.student-finance-actions>button{min-height:42px;font-size:13px}@media (width<=560px){.student-finance-actions{gap:10px}.student-finance-actions>button{flex:1;min-width:140px}}.student-history-entry{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.student-history-entry>button{min-height:40px;font-size:12px}.student-history-entry>small{color:var(--text-secondary);font-size:12px}.student-card-save>.secondary{min-height:40px;font-size:12px}@media (width<=600px){.student-card .student-card-footer:has(.student-card-save>.secondary){grid-template-columns:1fr;display:grid}.student-card-footer:has(.student-card-save>.secondary)>.student-card-save{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.student-card-save>.secondary{text-align:center;flex:1}}.live-dialog:has(.student-card){--student-card-gutter:24px;padding:var(--student-card-gutter)}.live-dialog:has(.student-card)>header{top:calc(-1 * var(--student-card-gutter));margin:calc(-1 * var(--student-card-gutter)) calc(-1 * var(--student-card-gutter)) 0;padding:var(--student-card-gutter) var(--student-card-gutter) 12px;background:var(--surface-base);isolation:isolate}@media (width<=600px){.live-dialog:has(.student-card){--student-card-gutter:18px}}.student-card-tabs button{transition:color .12s}@media (pointer:coarse){.student-card-tabs button{min-height:44px}.live-dialog:has(.student-card)>header>.button-icon{min-height:44px}}@media (width<=767px){.student-card .student-card-footer.student-card-footer--mobile{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;margin-top:22px;padding-top:16px;display:grid}.student-card-footer.student-card-footer--mobile>button{white-space:normal;text-align:center;justify-content:center;align-items:center;width:100%;min-width:0;max-width:none;min-height:44px;padding:10px 8px;font-size:12px;line-height:1.4;display:flex}.student-card-footer.student-card-footer--mobile>.student-card-trial-action,.student-card-footer.student-card-footer--mobile>button:only-child{grid-column:1/-1}.student-card-footer.student-card-footer--mobile>.student-card-submit-action{min-width:0}}.trial-reschedule-source{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:10px;flex-direction:column;gap:5px;margin-bottom:14px;padding:12px 14px;display:flex}.trial-reschedule-source>span{color:var(--text-secondary);font-size:13px}.trial-reschedule-dialog>p{font-size:13px;line-height:1.55}.trial-reschedule-fields{border:0;gap:15px;min-width:0;margin:20px 0 0;padding:0;display:grid}.trial-reschedule-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.trial-reschedule-fields .field{min-width:0}.trial-reschedule-warning{color:var(--warning-fg);font-size:13px;line-height:1.5}.journal-trial-actions{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.journal-trial-actions>.button-icon{width:36px;min-height:36px;color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:8px;flex-shrink:0}@media (width<=560px){.trial-reschedule-filters{grid-template-columns:minmax(0,1fr)}.trial-reschedule-dialog .form-actions{flex-wrap:wrap}.trial-reschedule-dialog .form-actions>.primary{flex:1}.journal-trial-actions{justify-self:end}.trial-reschedule-source{padding:11px 12px}}.journal-trials{min-width:0;margin-top:24px}.journal-trials>header{margin-bottom:12px}.journal-trials h2{align-items:center;gap:8px;margin:0;font-size:16px;line-height:1.5;display:flex}.journal-trials h2>span{color:var(--text-secondary);font-size:12px;font-weight:500}.journal-trial-list{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.journal-trial-row{grid-template-columns:minmax(0,1fr) 170px 140px;align-items:center;gap:16px;min-width:0;padding:12px 16px;display:grid}.journal-trial-row+.journal-trial-row{border-top:1px solid var(--border-subtle)}.journal-trial-row:hover{background:var(--surface-row-hover)}.journal-trial-person{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.journal-trial-name{text-align:left;color:var(--text-primary);overflow-wrap:anywhere;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600}.journal-trial-name:hover{color:var(--brand-700)}.journal-trial-kind{background:var(--info-bg);color:var(--info-fg);white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:550}.journal-trial-person>small{color:var(--text-secondary);font-size:11px}.journal-trial-date{text-align:left;min-height:40px;color:var(--brand-700);background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:3px 8px;padding:3px 0;font-size:12px;display:flex}.journal-trial-date>strong{font-weight:550}.journal-trial-date>span{color:var(--text-secondary);white-space:nowrap}.journal-trial-state{background:var(--neutral-bg);color:var(--neutral-fg);white-space:nowrap;border-radius:5px;justify-self:start;padding:4px 8px;font-size:11px;line-height:1.4}.journal-trial-state[data-state=present]{background:var(--success-bg);color:var(--success-fg)}.journal-trial-state[data-state=absent]{background:var(--danger-bg);color:var(--danger-fg)}.journal-trial-state[data-state=excused]{background:var(--attendance-excused-bg);color:var(--attendance-excused-fg)}.journal-trial-state[data-state=unmarked]{background:var(--warning-bg);color:var(--warning-fg)}.journal-trial-history{margin-top:12px}.journal-trial-history>summary{color:var(--text-secondary);cursor:pointer;padding:8px 0;font-size:12px}.journal-trial-history[open]>summary{margin-bottom:5px}@media (width<=700px){.journal-trial-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px}.journal-trial-person{grid-column:1/-1}.journal-trial-date{min-height:40px;font-size:12px}.journal-trial-state{justify-self:end}.journal-trials{margin-top:20px}}.journal-trials--compact{margin-top:14px}.journal-trial-disclosure{min-width:0}.journal-trial-disclosure>summary{border:1px solid var(--border-subtle);background:var(--surface-base);min-height:44px;color:var(--text-primary);cursor:pointer;overflow-wrap:anywhere;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;font-size:12px;font-weight:550;line-height:1.5;list-style:none;display:flex}.journal-trial-disclosure>summary::-webkit-details-marker{display:none}.journal-trial-disclosure>summary::marker{content:""}.journal-trial-disclosure>summary>svg{color:var(--text-secondary);flex-shrink:0;transform:rotate(90deg)}.journal-trial-disclosure[open]>summary>svg{transform:rotate(-90deg)}.journal-trial-disclosure>summary:hover{background:var(--surface-row-hover)}.journal-trial-disclosure>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.journal-trial-disclosure-content{min-width:0;padding-top:10px}.journal-trial-disclosure-content>.journal-trial-history:first-child{margin-top:0}.filterbar--calendar{flex-wrap:nowrap}.filterbar--calendar .date-control{flex:none}.filterbar--calendar .schedule-group-tags{flex:1 1 0;gap:6px;min-width:0;margin:0;padding:3px}.schedule-group-tags button{flex-shrink:0;min-height:44px}.schedule-group-picker{min-width:0;display:none;position:relative}.schedule-group-trigger{background:var(--surface-base);max-width:100%;min-height:44px;color:var(--text-primary);border:1px solid var(--border-subtle);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.schedule-group-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.schedule-group-trigger>svg{color:var(--text-secondary)}.schedule-group-trigger>svg:last-child{transform:rotate(90deg)}.schedule-group-options{z-index:75;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;gap:3px;width:max-content;min-width:100%;max-width:calc(100vw - 28px);max-height:min(340px,50dvh);padding:5px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 10px 30px #1720291f}.schedule-group-options button{min-height:44px;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font-size:12px;display:flex}.schedule-group-options button>span{align-items:center;gap:8px;display:flex}.schedule-group-options button[aria-selected=true]{background:var(--brand-50);font-weight:600}.schedule-group-options button:hover{background:var(--surface-subtle)}@media (width<=767px){.filterbar--calendar{flex-wrap:wrap}.filterbar--calendar .schedule-group-tags{display:none}.schedule-group-picker{flex:100%;display:block}.schedule-group-trigger{width:100%}.filterbar--calendar .date-control{flex:100%;min-width:0}.filterbar--calendar .date-control strong{text-align:center;flex:1}}.single-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;min-width:0;display:grid}.single-session-grid>.field{align-content:start;min-width:0}@media (width<=600px){.single-session-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.single-session-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.single-session-grid>.field:not(:nth-last-child(-n+2)){grid-column:1/-1}}.test-lab{max-width:1440px;color:var(--text-primary);padding-bottom:32px}.test-lab-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin:20px 0;display:flex}.test-lab-heading h1{margin:0 0 8px;font-size:26px;font-weight:600;line-height:1.3}.test-lab-heading p,.test-lab-clock p,.test-lab-chapter-heading p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.test-lab-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.test-lab button,.test-lab a{font-size:13px}.test-lab-clock{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;margin:20px 0;padding:20px}.test-lab-clock-intro h2{margin:0 0 8px;font-size:18px;font-weight:600}.test-lab-clock-intro p{max-width:880px}.test-lab-times{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:32px;margin:16px 0;padding:14px 0;display:flex}.test-lab-times div{gap:6px;display:grid}.test-lab-times dt{color:var(--text-secondary);font-size:12px}.test-lab-times dd{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:600}.test-lab-times div:first-child dd{color:var(--brand-700)}.test-lab-clock form{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.test-lab-clock form>.field{width:min(100%,340px)}.test-lab-clock small{color:var(--text-secondary);font-size:12px}.test-lab-clock-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.test-lab-presets{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.test-lab-error{color:var(--danger-fg);margin:12px 0;font-size:13px;line-height:1.6}.test-lab .test-lab-job-result{color:var(--success-fg);margin-top:12px}.test-lab-summary{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:16px 24px;padding:16px 0;font-size:13px;display:flex}.test-lab-summary>strong{font-size:15px;font-weight:600}.test-lab-summary span{color:var(--text-secondary)}.test-lab-summary span[data-state=passed]{color:var(--success-fg)}.test-lab-summary span[data-state=failed]{color:var(--danger-fg)}.test-lab-summary b{font-variant-numeric:tabular-nums;margin-left:4px}.test-lab-save-note{color:var(--text-secondary);max-width:940px;margin:12px 0 18px;font-size:12px;line-height:1.7}.test-lab-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.test-lab-search{flex:1;min-width:200px;max-width:440px}.test-lab-filters{flex-wrap:wrap;gap:6px;display:flex}.test-lab-filters button{border-color:var(--border-control)}.test-lab-filters button[aria-pressed=true]{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-700)}.test-lab-check{cursor:pointer;align-items:center;gap:10px;min-width:0;min-height:34px;font-size:13px;display:flex}.test-lab-check input{width:18px;height:18px;accent-color:var(--brand-700);flex:none;margin:0}.test-lab-visible{color:var(--text-secondary);margin:14px 0 20px;font-size:12px}.test-lab-chapter{margin:24px 0 32px}.test-lab-chapter-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.test-lab-chapter-heading h2{margin:0 0 5px;font-size:18px;font-weight:600;line-height:1.4}.test-lab-chapter-heading>span{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-secondary);font-size:13px}.test-lab-scenarios{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;overflow:hidden}.test-lab-scenario{border-bottom:1px solid var(--border-subtle);padding:14px 18px}.test-lab-scenario:last-child{border-bottom:0}.test-lab-scenario-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.test-lab-scenario-heading strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.5}.test-lab-result{white-space:nowrap;background:var(--surface-subtle);color:var(--text-secondary);border-radius:5px;flex:none;padding:5px 8px;font-size:11px;line-height:1.4}.test-lab-result[data-state=passed]{background:var(--success-bg);color:var(--success-fg)}.test-lab-result[data-state=failed]{background:var(--danger-bg);color:var(--danger-fg)}.test-lab-scenario details{margin:4px 0 0 28px;font-size:13px;line-height:1.7}.test-lab-scenario summary{cursor:pointer;color:var(--brand-700);width:fit-content;min-height:30px;padding:3px 0}.test-lab-scenario summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:3px}.test-lab-scenario-content{max-width:940px;padding-top:6px}.test-lab-scenario ol{margin:6px 0 12px;padding-left:20px}.test-lab-scenario li{margin:5px 0;padding-left:3px}.test-lab-expected{background:var(--surface-subtle);border-radius:8px;margin:12px 0;padding:12px}.test-lab-clock-hint{color:var(--brand-700);font-size:12px}.test-lab-scenario-actions{flex-wrap:wrap;align-items:center;gap:18px;margin:12px 0;display:flex}.test-lab-scenario-actions a{align-items:center;min-height:36px;text-decoration:none;display:inline-flex}.test-lab-scenario-actions button[aria-pressed=true]{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-fg)}.test-lab textarea{border:1px solid var(--border-control);resize:vertical;background:var(--surface-base);width:100%;min-height:80px;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.7}.test-lab-empty{border:1px dashed var(--border-control);color:var(--text-secondary);border-radius:8px;padding:24px;font-size:14px}.test-lab-reset-note{margin:16px 0 20px;font-size:14px;line-height:1.7}.test-lab-reset-actions{justify-content:flex-end}@media (width<=700px){.test-lab-heading{flex-direction:column}.test-lab-clock{padding:16px}.test-lab-clock form{align-items:flex-end}.test-lab-clock form>.field{width:100%}.test-lab-clock form>button{flex:1}.test-lab-times{gap:16px}.test-lab-clock-bottom{flex-direction:column;align-items:flex-start}.test-lab-search{flex-basis:100%;max-width:none}.test-lab-summary{gap:12px 20px}.test-lab-chapter-heading{align-items:flex-start}.test-lab-scenario{padding:12px}.test-lab-scenario-heading{flex-wrap:wrap;align-items:flex-start;gap:4px}.test-lab-scenario-heading .test-lab-check{align-items:flex-start;width:100%;padding-top:4px}.test-lab-scenario-heading input{margin-top:2px}.test-lab-result,.test-lab-scenario details{margin-left:28px}.test-lab-scenario-content{margin-left:-28px}.test-lab-presets{gap:8px 12px}.test-lab-actions{gap:8px}.test-lab-actions .secondary{min-height:44px}.test-lab-scenario-actions{gap:10px 14px}.test-lab button{min-height:40px}}@media print{.test-lab-clock,.test-lab-toolbar,.test-lab-actions,.test-lab-scenario-actions,.test-lab-scenario textarea,.test-lab-scenario summary{display:none}.test-lab-scenario details:not([open])>.test-lab-scenario-content{display:block}.test-lab-scenarios{overflow:visible}.test-lab-scenario{break-inside:avoid}.test-lab-heading{margin-top:0}}.test-lab-sync{margin:12px 0 18px;font-size:12px;line-height:1.7}.test-lab-sync>p{margin:6px 0}.test-lab-sync[data-state=saved]>p:first-child{color:var(--success-fg)}.test-lab-sync[data-state=error]>p:first-child,.test-lab-sync[data-state=conflict]>p:first-child{color:var(--danger-fg)}.test-lab-conflict-names{color:var(--text-primary);font-weight:600}.local-test-banner{border:1px solid var(--warning-fg);background:var(--warning-bg);color:var(--warning-fg);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:18px 0;padding:12px 16px;font-size:12px;display:flex}.local-test-banner>div{gap:4px;min-width:0;display:grid}.local-test-banner strong{font-weight:650}.local-test-banner .secondary{background:var(--surface-base);flex-shrink:0}@media (width<=600px){.local-test-banner{flex-direction:column;align-items:start;gap:10px}.local-test-banner .secondary{width:100%;min-height:44px}}.section-deck{min-width:0;min-height:calc(100dvh - 190px);position:relative}.section-deck[hidden],.section-deck-pane[hidden]{display:none}.section-deck-pane{opacity:1;filter:none;min-width:0;transition:opacity .12s ease-out,filter .12s ease-out}.section-deck-pane--waiting{opacity:.5;filter:blur(1px);pointer-events:none;-webkit-user-select:none;user-select:none}.section-deck-placeholder{min-height:560px;padding-top:4px}.section-deck-placeholder h1{margin:0 0 28px}.section-deck-placeholder-lines{gap:16px;max-width:100%;padding-top:16px;display:grid}.section-deck-placeholder-lines>span{background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:10px;height:110px;display:block}.section-deck-placeholder-lines>span:first-child{width:60%;max-width:640px;height:44px}.section-deck-status{white-space:nowrap;border:1px solid var(--border-subtle);background:var(--surface-base);max-width:calc(100% - 24px);color:var(--text-secondary);pointer-events:none;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:12px 17px;font-size:12px;line-height:1.6;animation:.12s step-end both section-loading-notice;display:flex;position:absolute;top:150px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #2026290a}.section-deck-status-dot{background:var(--brand-500);border-radius:50%;flex:none;width:7px;height:7px}@keyframes section-loading-notice{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.section-deck-pane{transition:none}.section-deck-pane--waiting{filter:none}}@media (width<=600px){.section-deck{min-height:calc(100dvh - 220px)}.section-deck-placeholder{min-height:540px}.section-deck-status{top:170px}}.live-app .sidebar-brand{color:#fff;align-items:center;min-height:35px;margin-bottom:40px;padding:0 9px;display:flex}.live-app .sidebar-brand .brand{color:inherit}.live-app .sidebar>nav{min-height:0;margin:-2px;padding:2px;overflow:auto}.live-app .sidebar-footer{border-top:1px solid #3b454b;gap:5px;margin-top:auto;padding-top:18px;display:grid}.live-app .sidebar-collapse{color:#aeb8be}.live-app .nav-item>svg{flex:none}.live-mobile-menu{max-height:calc(100dvh - 104px);overflow:auto}@media (width>=901px){.live-app.sidebar-is-collapsed .sidebar{width:76px;padding-inline:10px}.live-app.sidebar-is-collapsed .workspace{margin-left:76px}.live-app.sidebar-is-collapsed .sidebar-brand{justify-content:center;margin-bottom:24px;padding:0}.live-app.sidebar-is-collapsed .sidebar-section-label{display:none}.live-app.sidebar-is-collapsed .sidebar .nav-item{justify-content:center;gap:0;padding-inline:0}.live-app.sidebar-is-collapsed .sidebar .nav-item-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.live-app.sidebar-is-collapsed .sidebar .nav-chevron,.live-app.sidebar-is-collapsed .sidebar .live-settings-links{display:none}.live-app.sidebar-is-collapsed .sidebar .live-settings-nav{margin-top:14px}}.school-branch-card{flex-direction:column;min-width:0;display:flex}.school-branch-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.school-branch-heading h2{overflow-wrap:anywhere;min-width:0;margin:0}.school-catalog-edit{border:1px solid var(--border-subtle);background:var(--surface-base);flex:none;width:40px;min-height:40px}.school-catalog-edit:hover{background:var(--surface-row-hover);color:var(--text-primary)}@media (pointer:coarse){.school-catalog-edit{width:44px;min-height:44px}}.school-venue-list{margin:0 0 18px;padding:0;list-style:none}.school-venue-list li{border-top:1px solid var(--border-subtle);padding:16px 0}.school-venue-title{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.school-venue-title strong{overflow-wrap:anywhere;min-width:0}.school-venue-list p{color:var(--text-secondary);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;line-height:1.6}.school-no-venues{color:var(--text-secondary);margin:0 0 20px;font-size:12px}.school-add-venue{align-self:flex-start;margin-top:auto}@media (width<=767px){.school-settings-grid{grid-template-columns:1fr}}.school-settings-viewtools{flex-wrap:wrap;gap:12px}.school-archive-context{color:var(--text-secondary);margin:12px 0 0;font-size:12px;line-height:1.5}.school-settings-grid>.live-empty{grid-column:1/-1}.school-profile-card{max-width:840px}.school-profile-card>h2{margin:0 0 22px;font-size:18px}.school-profile-card form{gap:18px;display:grid}.school-profile-card .form-actions{justify-content:flex-end;margin:4px 0 0;display:flex}@media (width<=560px){.school-profile-card .form-columns{grid-template-columns:1fr}}.archive-tabs{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:10px;flex:none;align-items:center;gap:3px;padding:3px;display:inline-flex}.archive-tabs button{min-height:34px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12px;font-weight:550}.archive-tabs button:hover{background:var(--surface-hover)}.archive-tabs button.selected{background:var(--brand-50);color:var(--text-primary)}@media (width<=600px){.archive-tabs button{min-height:38px;padding-inline:10px}}.live-dialog.group-card-dialog{width:min(760px,100vw - 32px);max-width:760px}.group-card-context{color:var(--text-secondary);margin:0 0 18px;font-size:13px}.group-card-fields{border:0;min-width:0;margin:0;padding:0}.group-fields-grid{gap:20px;min-width:0;display:grid}.group-fields-main,.group-fields-numbers{gap:16px;min-width:0;display:grid}.group-fields-main{grid-template-columns:repeat(2,minmax(0,1fr))}.group-fields-numbers{grid-template-columns:repeat(3,minmax(0,1fr))}.group-field-wide{min-width:0}.group-fields-grid>.field{align-content:start;min-width:0}.group-field-note{color:var(--text-secondary);margin:0;font-size:11px;font-weight:400;line-height:1.5}.group-color-options{grid-template-columns:repeat(10,44px);gap:8px;max-width:100%;display:grid}.group-color-options>button{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:8px;place-items:center;width:44px;height:44px;padding:0;display:grid}.group-color-options>button>span{border-radius:5px;place-items:center;width:32px;height:32px;display:grid}.group-color-options>button[aria-pressed=true]{border:2px solid var(--brand-700);background:var(--brand-50)}.group-color-options>button:focus-visible{outline:2px solid var(--brand-700);outline-offset:2px}@media (width<=600px){.group-color-options{grid-template-columns:repeat(5,44px)}}.group-card-coaches{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0;display:flex}.group-card-coaches strong{font-size:13px}.group-card-coaches p{color:var(--text-secondary);margin:5px 0 0;font-size:12px;line-height:1.5}.group-card-coaches>small{color:var(--text-secondary);flex-basis:100%;font-size:11px}.group-card-coaches>button{min-height:44px}.group-overview-row{cursor:pointer}.group-overview-row:focus-within{background:var(--surface-row-hover)}.groups-table .group-roster-column{text-align:right;width:180px}.group-roster-open{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:44px;display:inline-flex}@media (width<=600px){.live-dialog.group-card-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.group-fields-main,.group-fields-numbers{grid-template-columns:minmax(0,1fr)}.group-field-wide{grid-column:auto}.group-card-coaches{align-items:flex-start}.group-card-coaches>button{width:100%}}.groups-table .group-mobile-branch{display:none}@media (width<=700px){.live-table.groups-table{table-layout:fixed;min-width:0}.groups-table th:nth-child(2),.groups-table td:nth-child(2),.groups-table th:nth-child(4),.groups-table td:nth-child(4){display:none}.groups-table .group-roster-column{width:60px;padding-inline:8px}.groups-table .group-members-column{white-space:nowrap;width:78px;padding-inline:8px}.groups-table th,.groups-table td{padding:12px 10px}.groups-table .group-mobile-branch{display:block}.groups-table .live-card-title{min-width:0}.groups-table .people-name{overflow-wrap:anywhere;min-width:0}.groups-table .group-roster-open{width:44px;height:44px;padding:0}.groups-table .group-roster-open>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.group-card-dialog .form-actions{margin-top:24px}.group-fields-main>.field,.group-fields-numbers>.field{min-width:0}.live-dialog.group-archive-dialog{width:min(520px,100vw - 32px);max-width:520px}.group-archive-name{margin:0 0 12px;font-weight:650}.group-archive-description{color:var(--text-secondary);margin:0 0 20px;font-size:13px;line-height:1.6}.group-archive-dialog textarea{resize:vertical;min-height:100px}.group-archive-dialog .form-actions{margin-top:20px}@media (width<=600px){.group-card-dialog .form-actions{justify-content:space-between}.group-card-dialog .form-actions>.form-action-start{margin-right:0}.live-dialog.group-archive-dialog{width:calc(100vw - 20px);padding:18px}}.people-screen-reader-title{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.people-page-heading{justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px;display:flex}.people-page-heading>.people-tabs{min-width:0;margin:0;padding:3px 0}.people-page-heading .people-tabs button{min-height:44px;padding:10px 16px;font-size:16px}.people-page-heading .people-tabs button>span{color:var(--text-secondary);margin-left:4px;font-size:13px;font-weight:500}.people-create{flex-shrink:0}.people-list-tools{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.people-list-tools>.search-field{flex:0 310px;width:310px;max-width:100%;min-height:40px;margin-left:0}.people-list-tools>.search-field input{width:100%;font-size:12px}.people-list-state{flex-shrink:0;margin-left:auto}.live-table.students-table{table-layout:fixed;width:100%;min-width:0}.live-table.students-table th,.live-table.students-table td{white-space:nowrap;padding:12px 16px;line-height:1.5;overflow:hidden}.live-table.students-table th{padding-block:12px;font-size:11px}.student-overview-row{cursor:pointer}.student-overview-row:focus-within{background:var(--surface-row-hover)}.student-name-cell,.student-birth-cell,.student-groups-cell,.student-parent-cell{white-space:nowrap;align-items:center;gap:9px;min-width:0;display:flex}.student-name-cell .people-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.students-table .student-row-status{color:var(--text-secondary);text-overflow:ellipsis;flex-shrink:0;max-width:80px;margin:0;font-size:10px;display:inline;overflow:hidden}.students-table .student-mobile-age{display:none}.students-table .student-birth-cell>small{color:var(--text-secondary);margin:0;font-size:11px;display:inline}.student-birth-cell>span{font-variant-numeric:tabular-nums}.students-table .student-groups-cell>small{text-overflow:ellipsis;flex-shrink:0;max-width:34%;margin:0;font-size:11px;display:inline;overflow:hidden}.student-groups-summary{text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:550;overflow:hidden}.student-parent-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);font-size:12px;overflow:hidden}.student-parent-phone{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:5px;font-size:11px;display:inline-flex}.student-parent-phone>a{color:var(--brand-700);text-decoration:none}.student-parent-phone>a:hover{text-decoration:underline}.students-table .student-parent-phone>small{color:var(--text-secondary);margin:0;font-size:10px}@media (width>=701px) and (width<=1250px){.students-table .student-col-name{width:180px}.students-table .student-col-birth{width:135px}.students-table .student-col-parents{width:19%}.live-table.students-table th,.live-table.students-table td{padding-inline:10px}.student-birth-cell,.student-parent-cell{flex-direction:column;align-items:flex-start;gap:3px}.student-name-cell{flex-wrap:wrap;gap:3px 6px}.student-groups-cell,.student-groups-summary{display:block}.students-table .student-groups-cell>small{max-width:100%;display:block}}@media (width<=700px){.people-page-heading{gap:10px;margin-bottom:16px}.people-page-heading .people-tabs{gap:6px}.people-page-heading .people-tabs button{padding:9px 10px;font-size:13px}.people-page-heading .people-tabs button>span{margin-left:2px;font-size:11px}.people-create{width:42px;min-height:42px;padding:0!important}.people-create>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.people-list-tools{flex-wrap:wrap;align-items:stretch;gap:10px;margin-bottom:16px}.people-list-tools>.search-field{flex:150px;width:auto;min-width:130px}.people-list-state{margin-left:0}.people-list-state .archive-tabs{min-height:40px}.people-list-state button{padding-inline:9px}.students-table .student-col-name{width:43%}.students-table .student-col-birth,.students-table .student-col-parents,.students-table th:nth-child(2),.students-table td:nth-child(2),.students-table th:nth-child(4),.students-table td:nth-child(4){display:none}.students-table .student-col-groups{width:57%}.live-table.students-table th,.live-table.students-table td{padding:11px 10px}.student-name-cell{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.student-name-cell .people-name{max-width:100%;font-size:12px}.students-table .student-row-status{display:none}.students-table .student-mobile-age{color:var(--text-secondary);margin:0;font-size:10px;display:block}.student-groups-cell{display:block}.students-table .student-groups-cell>small{max-width:100%;font-size:10px;display:block}.student-groups-summary{font-size:11px;display:block}}.people-list-tools>.search-field:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.people-list-tools>.search-field input:focus-visible{outline:0}.students-table .student-month-heading{white-space:normal}.student-month-heading>span{display:block}.student-month-heading>.student-month-heading-mobile{display:none}.students-table .student-month-heading>small{text-transform:capitalize;margin:1px 0 0;font-size:10px;font-weight:400}.student-month-summary{white-space:nowrap;vertical-align:middle;align-items:center;gap:4px;display:inline-flex}.student-month-summary>span{font-variant-numeric:tabular-nums;border-radius:5px;flex:none;justify-content:center;align-items:center;min-width:26px;height:24px;padding:0 2px;font-size:11px;font-weight:650;line-height:1;display:inline-flex}.student-month-summary>span[data-fact=unknown]{background:var(--warning-bg);color:var(--warning-fg)}.student-month-summary>span[data-fact=present]{background:var(--success-bg);color:var(--success-fg)}.student-month-summary>span[data-fact=excused]{background:var(--attendance-excused-bg);color:var(--attendance-excused-fg)}.student-month-summary>span[data-fact=absent]{background:var(--danger-bg);color:var(--danger-fg)}.student-month-state{min-height:24px;color:var(--text-secondary);align-items:center;font-size:11px;display:inline-flex}.student-month-error{color:var(--text-secondary);margin:0 0 12px;font-size:12px}@media (width>=701px) and (width<=1250px){.students-table .student-col-name{width:155px}.students-table .student-col-birth{width:115px}.students-table .student-col-month{width:140px}.student-month-summary{gap:3px}}@media (width<=700px){.students-table .student-col-name{width:34%}.students-table .student-col-groups{width:39%}.students-table .student-col-month{width:27%}.students-table .student-month-cell{padding-inline:5px}.student-month-heading>span:first-child{display:none}.student-month-heading>.student-month-heading-mobile{display:block}.student-month-summary{gap:3px}.student-month-summary>span{min-width:24px;font-size:10px}.students-table .student-month-heading{padding-inline:5px}}.groups-page-heading{justify-content:flex-end;min-height:44px}.people-list-tools{flex-wrap:wrap;justify-content:flex-start;gap:12px}.people-catalog-filters{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.people-catalog-filters>.service-select{width:180px}.people-catalog-filters .service-select-trigger{border-color:var(--border-subtle);min-height:40px;padding:9px 12px;font-size:12px}.people-catalog-filters .service-select[data-open]>.service-select-trigger{border-color:var(--brand-700)}.people-filter-reset{min-height:40px;padding:8px 3px;font-size:12px}@media (width<=700px){.people-list-tools>.search-field{order:0}.people-list-state{order:1;margin-left:auto}.people-catalog-filters{flex:1 0 100%;order:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.people-catalog-filters>.service-select{width:100%}.people-catalog-filters .service-select-trigger{min-height:42px}.people-filter-reset{justify-self:start;min-height:32px;padding-block:4px}.people-catalog-filters:has(.people-filter-reset){row-gap:4px}}.people-archive-control{align-items:center;gap:8px;display:flex}.people-archive-control>span{color:var(--text-secondary);font-size:11px}.student-catalog-extra-filters{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.student-catalog-extra-filters>.service-select{width:180px}.student-catalog-extra-filters .service-select-trigger{border-color:var(--border-subtle);min-height:40px;padding:9px 12px;font-size:12px}@media (width<=700px){.student-catalog-extra-filters{flex:1 0 100%;order:3;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.student-catalog-extra-filters>.service-select{width:100%}.student-catalog-extra-filters .service-select-trigger{min-height:42px}.people-list-tools>.people-filter-reset{order:4}}.coach-reassignment-intro{color:var(--text-secondary);margin:0 0 18px;font-size:14px;line-height:1.55}.coach-reassignment{border-top:1px solid var(--border-subtle);min-width:0;margin:22px 0 16px;padding-top:18px}.coach-reassignment>h3{margin:0 0 8px;font-size:16px}.coach-reassignment>p{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.55}.coach-transfer-item{border-top:1px solid var(--border-subtle);min-width:0;padding:16px 0}.coach-transfer-item h4{overflow-wrap:anywhere;margin:0 0 8px;font-size:14px;line-height:1.5}.coach-transfer-item .field{margin-bottom:10px}.coach-transfer-item select{width:100%;min-width:0;max-width:100%}.coach-transfer-preview{overflow-wrap:anywhere;margin:8px 0 0;font-size:13px;line-height:1.55}.coach-transfer-preview span{color:var(--text-secondary);margin-top:4px;display:block}.coach-transfer-warning{color:var(--warning-fg);overflow-wrap:anywhere;margin:8px 0 0;font-size:13px;line-height:1.55}.coach-transfer-warning .text-button{font-size:inherit}.live-dialog.group-roster-dialog{width:min(820px,100vw - 32px);max-width:820px}.group-roster-context{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;font-size:13px;line-height:1.5;display:flex}.group-roster-context>span:last-child{color:var(--text-secondary)}.group-roster-add{margin-bottom:20px}.group-roster-toolbar{align-items:center;gap:12px;display:flex}.roster-student-picker{flex:1;min-width:0}.group-roster-toolbar .search-field{width:100%;min-width:0;min-height:44px;margin:0;padding:0}.group-roster-toolbar .search-field>input{border-radius:inherit;width:100%;min-width:0;min-height:44px;font:inherit;border:0;outline:none;flex:1;padding:10px 12px;font-size:13px;display:block}.group-roster-toolbar .search-field>input:focus-visible{outline:none}.group-roster-toolbar .search-field:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.group-roster-toolbar .search-field>.button-icon{flex:none;width:40px;min-height:44px;margin-right:2px}.group-roster-toolbar>button{white-space:nowrap;min-height:44px}.roster-student-options{z-index:1000;border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);box-sizing:border-box;border-radius:10px;margin:0;padding:5px;position:fixed;inset:auto;overflow:auto;box-shadow:0 8px 24px #17221c1f}.roster-student-options>button{text-align:left;width:100%;min-height:52px;color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;font-size:13px;display:flex}.roster-student-options>button:hover,.roster-student-options>button.is-active{background:var(--surface-hover)}.roster-student-options>button>span,.roster-student-options>button>small,.roster-student-options>p{color:var(--text-secondary);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.roster-student-options>button:disabled{cursor:default;opacity:1;background:var(--surface-subtle)}.roster-student-options>button:disabled>strong{color:var(--text-secondary)}.roster-student-options>button>small{font-weight:650}.roster-student-options>p{margin:0;padding:10px}.group-roster-retry{margin:12px 0 18px}.live-table.group-roster-table{table-layout:fixed;min-width:0}.group-roster-table th:first-child{width:42%}.group-roster-table td{overflow-wrap:anywhere}.group-roster-period{color:var(--text-secondary);font-size:12px;line-height:1.6;display:block}.group-roster-table .group-roster-remove-column{text-align:right;width:84px}.group-roster-table .group-roster-remove{justify-content:center;align-items:center;gap:6px;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.group-roster-confirm{flex-direction:column;gap:14px;display:flex}.group-roster-confirm strong{font-size:13px}.group-roster-confirm p{color:var(--text-secondary);margin:6px 0 0;font-size:12px;line-height:1.6}.group-roster-confirm>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.group-roster-confirm-row{background:var(--surface-subtle)}@media (width<=600px){.live-dialog.group-roster-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.group-roster-toolbar{gap:10px}.group-roster-table th,.group-roster-table td{padding:12px 10px}.group-roster-table .group-roster-remove-column{width:54px;padding:8px 5px}.group-roster-remove{width:44px;height:44px;padding:0}.group-roster-remove>span{display:none}.group-roster-period{font-size:11px}.group-roster-table th:first-child{width:42%}.group-roster-confirm-row td{padding:14px 10px}.group-roster-confirm>div:last-child{justify-content:space-between}}.group-roster-toolbar input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.group-roster-toolbar input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}.group-roster-toolbar .search-field[data-selected=true]>input{flex:0 auto;max-width:60%}.roster-selected-status{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;font-size:12px;overflow:hidden}.student-table-region{width:100%;min-width:0;position:relative}.student-table-loading{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;justify-content:center;align-items:center;min-height:320px;display:flex}.student-table-spinner{border:2px solid var(--border-subtle);border-top-color:var(--brand-600);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite student-table-spin;display:block}@keyframes student-table-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.student-table-spinner{animation:none}}.people-tabs{white-space:nowrap;gap:8px;max-width:100%;padding:3px 0 10px;display:flex;overflow-x:auto}.people-tabs button{border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:10px;flex-shrink:0;padding:10px 16px;font-weight:600}.people-tabs button.selected{background:var(--brand-50);border-color:var(--brand-100);color:var(--text-primary)}.people-tabs button:focus-visible,.people-name:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.people-name{color:var(--text-primary);text-align:left;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:650;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.people-name:hover{text-decoration-color:currentColor}.people-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.people-toolbar .people-tabs{padding-bottom:0}.people-empty-row td{text-align:center;color:var(--text-secondary);padding:28px!important}.live-dialog:has(.people-profile){width:min(1000px,100vw - 32px);max-width:1000px}.people-profile{min-width:0}.people-profile-summary{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding-bottom:16px;display:flex}.people-profile h3{margin:22px 0 12px;font-size:16px}.people-profile .people-tabs{margin:10px 0 8px}.people-detail-list{margin:0;padding:0;list-style:none}.people-detail-list li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:20px;padding:14px 0;display:flex}.people-detail-list small,.people-profile-summary small{color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:1.5;display:block}.people-contact{overflow-wrap:anywhere;flex-direction:column;gap:5px;display:flex}.people-contact a,.people-coach a{color:var(--brand-700)}.people-coach,.people-progress{border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:12px;padding:16px}.people-coach p,.people-progress p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.people-progress small{color:var(--text-secondary)}.people-progress h3{margin:8px 0}.people-progress dl{flex-wrap:wrap;gap:24px;display:flex}.people-progress dl div{gap:8px;display:flex}.people-progress dd{margin:0;font-weight:600}.people-balance{margin:18px 0;font-size:20px;font-weight:650}.people-permissions{gap:12px;display:grid}.people-permission{align-items:flex-start;gap:10px;font-size:14px;display:flex}.people-permission input{flex-shrink:0;margin-top:3px}.people-permission small{color:var(--text-secondary);margin-top:3px;line-height:1.5;display:block}.people-form-group{border-top:1px solid var(--border-subtle);padding:16px 0}.people-form-group legend{padding:0 0 8px;font-weight:650}.people-staff-form fieldset{border-bottom:0;border-left:0;border-right:0;margin:18px 0 0}.people-staff-form textarea{resize:vertical;min-height:110px}.people-actions{flex-wrap:wrap;gap:12px;display:flex}.people-context{color:var(--text-secondary);margin:0 0 18px;font-size:13px}.people-access-state{background:var(--surface-subtle);border-radius:6px;padding:4px 8px;font-size:13px;display:inline-block}@media (width<=600px){.live-dialog:has(.people-profile){width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.people-profile-summary{flex-direction:column;align-items:flex-start;gap:8px}.people-detail-list li{flex-direction:column;gap:6px}.people-toolbar{gap:10px}.people-toolbar .search-field{width:100%;max-width:none}.people-profile .live-table{min-width:520px}.people-profile .people-tabs button{padding:10px 12px}}.people-toolbar-controls{justify-content:flex-end;align-items:center;gap:18px;min-width:0;margin-left:auto;display:flex}.people-toolbar-controls .search-field{margin-left:0}.people-archive{white-space:nowrap;min-height:40px}.group-coach-options{gap:16px}.group-coach-options label{min-height:26px;line-height:1.5}.group-coach-options input{flex:none}@media (width<=600px){.people-toolbar-controls{gap:12px;width:100%}.people-toolbar-controls .search-field{flex:1;width:auto;min-width:120px}.people-toolbar-controls .people-archive{gap:6px;font-size:11px}.people-toolbar-controls .search-field input{min-width:0}.people-toolbar-controls .people-archive input{width:16px;height:16px}}.student-archive-explanation{line-height:1.55}.student-archive-explanation ul{padding-left:22px}.student-archive-explanation li{margin:8px 0}.student-edit-tabs{margin-bottom:18px}.live-table.students-table{min-width:1100px}.students-table .student-col-name{width:16%}.students-table .student-col-birth{width:13%}.students-table .student-col-groups{width:22%}.students-table .student-col-subscription{width:19%}.students-table .student-col-parents{width:18%}.students-table .student-col-month{width:12%}.student-subscription-list{flex-direction:column;gap:4px;min-width:0;display:flex}.student-subscription-item{align-items:center;gap:6px;min-width:0;line-height:1.5;display:flex}.student-subscription-name{text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.student-catalog-subscription-status{white-space:nowrap;background:var(--surface-subtle);color:var(--text-secondary);border-radius:5px;flex:none;padding:2px 5px;font-size:10px;display:inline-block}.student-catalog-subscription-status[data-state=active]{background:var(--success-bg);color:var(--success-fg)}.student-catalog-subscription-status[data-state=awaiting]{background:var(--warning-bg);color:var(--warning-fg)}.student-subscription-empty{color:var(--text-secondary);font-size:12px}@media (width>=701px) and (width<=1250px){.live-table.students-table{min-width:1040px}.students-table .student-col-name{width:155px}.students-table .student-col-birth{width:115px}.students-table .student-col-groups,.students-table .student-col-subscription{width:210px}.students-table .student-col-parents{width:auto}.students-table .student-col-month{width:140px}}@media (width<=700px){.live-table.students-table{min-width:650px}.students-table .student-col-name{width:155px}.students-table .student-col-groups{width:175px}.students-table .student-col-subscription{width:195px}.students-table .student-col-month{width:125px}.students-table .student-col-parents,.students-table th:nth-child(5),.students-table td:nth-child(5){display:none}.students-table .student-col-subscription{display:table-column}.students-table th:nth-child(4),.students-table td:nth-child(4){display:table-cell}.student-subscription-item{flex-wrap:wrap;gap:3px 6px}.student-subscription-name{font-size:12px}.students-table th:first-child,.students-table td:first-child{z-index:1;background:var(--surface-base);box-shadow:1px 0 0 var(--border-subtle);position:sticky;left:0}.students-table th:first-child{background:var(--surface-subtle);z-index:2}.students-table .student-overview-row:hover td:first-child{background:var(--surface-row-hover)}}.live-dialog:has(.staff-create){width:min(720px,100vw - 32px);max-width:720px}.staff-create,.staff-profile{min-width:0}.staff-create-fields,.staff-access-fields,.staff-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;min-width:0;display:grid}.staff-profile-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-create-fields{border:0;margin:0;padding:0}.staff-access-wide{grid-column:1/-1}.staff-create .field,.staff-profile-fields .field{align-self:start;min-width:0}.staff-password-entry{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px;display:grid}.staff-password-control{border:1px solid var(--border-control);background:var(--surface-base);border-radius:8px;align-items:center;gap:6px;min-width:0;padding-right:10px;display:flex}.staff-password-control:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.staff-create .field .staff-password-control input{background:0 0;border:0;outline:0;flex:1;min-width:0}.staff-password-control input:focus-visible{box-shadow:none;outline:0}.staff-password-control .text-button{flex:none;min-height:40px;font-size:12px}.staff-password-entry>.secondary{min-height:42px}.staff-password-hint,.staff-access-note,.staff-access-copy>span{color:var(--text-secondary);font-size:13px;line-height:1.55}.staff-password-hint{grid-column:1/-1}.staff-access-note{margin:0 0 18px}.staff-create-branches{border:0;border-top:1px solid var(--border-subtle);min-width:0;margin:0;padding:18px 0 0}.staff-create-branches legend{color:var(--text-primary);padding:0 12px 0 0;font-size:14px;font-weight:650}.staff-branch-options{flex-wrap:wrap;gap:12px 24px;display:flex}.staff-branch-options .live-check{overflow-wrap:anywhere;min-height:36px}.staff-issued-access{padding-top:12px}.staff-issued-access .field input{font-variant-numeric:tabular-nums}.staff-access-copy{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0;display:flex}.staff-profile [hidden]{display:none!important}.staff-profile .people-profile-summary p{overflow-wrap:anywhere;margin:4px 0 0}.staff-profile .staff-profile-fields textarea{min-height:96px}.staff-profile-role{width:calc(33.3333% - 10.6667px)}.staff-profile .people-permissions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.staff-profile .live-checks{gap:12px 24px}.staff-profile .live-checks>label{min-height:30px}.staff-profile .people-form-group{margin-top:8px}.staff-discard-confirm{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:10px;margin-bottom:18px;padding:16px}.staff-discard-confirm p{margin:0 0 12px;line-height:1.5}.staff-discard-confirm>div{flex-wrap:wrap;gap:10px;display:flex}@media (width<=760px){.staff-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-profile-role{width:calc(50% - 8px)}}@media (width<=600px){.live-dialog:has(.staff-create){width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px}.staff-create-fields,.staff-access-fields,.staff-profile-fields,.staff-profile .people-permissions,.staff-password-entry{grid-template-columns:minmax(0,1fr)}.staff-password-entry>.secondary{justify-self:start}.staff-access-copy{flex-direction:column;align-items:flex-start}.staff-profile .live-checks>label{min-height:36px}.staff-profile-role{width:100%}}.student-create{min-width:0}.student-create-fields{border:0;gap:18px;min-width:0;margin:0;padding:0;display:grid}.student-create-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-create .field,.student-create .field input{min-width:0}.student-create .form-actions{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:18px}.student-create-duplicates{background:var(--warning-bg);color:var(--warning-fg);border-radius:9px;padding:14px;font-size:13px;line-height:1.55}.student-create-duplicates h3{color:inherit;margin:0 0 8px;font-size:15px}.student-create-duplicates p{margin:0 0 12px}.student-create-duplicates ul{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.student-create-duplicates li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.student-create-duplicates li>div{overflow-wrap:anywhere;min-width:0}.student-create-duplicates li strong,.student-create-duplicates li>div>span{display:block}.student-create-duplicates li button{flex:none}.student-create-archive{background:var(--surface-subtle);color:var(--text-secondary);border-radius:4px;margin-left:8px;padding:2px 6px;font-size:11px;display:inline-block}.student-create-duplicates .live-check{align-items:flex-start;font-size:12px}.student-create-duplicates .live-check input{flex:none;margin-top:3px}.student-create-duplicates>.field{color:inherit;margin-top:14px}.student-create-warning{background:var(--warning-bg);color:var(--warning-fg);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.6}.student-create-result{padding-top:16px;line-height:1.6}.student-create-result h3{color:var(--success-fg)}.student-create-result p,.student-create-discard p{font-size:13px;line-height:1.6}.student-create-discard{padding-top:12px}.student-create-discard>div{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.student-create-fields:disabled{opacity:.8}@media (width<=560px){.student-create-names{grid-template-columns:minmax(0,1fr)}.student-create-duplicates li{flex-direction:column;align-items:flex-start}.student-create-duplicates li button{align-self:flex-start}.student-create-duplicates .live-check{line-height:1.6}}.billing-branch-tabs{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.billing-branch-tabs button{border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-secondary);min-height:42px;font:inherit;border-radius:9px;padding:10px 14px;font-size:14px}.billing-branch-tabs button[aria-pressed=true]{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-100);font-weight:600}.billing-branch-tabs button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.billing-catalog-filters{flex-wrap:wrap;align-items:flex-end;gap:16px;margin:20px 0 24px;display:flex}.billing-catalog-filters>.field{width:min(320px,100%);min-width:0}.billing-catalog-filters>.field:nth-child(2){width:240px}.billing-catalog-count{color:var(--text-secondary);white-space:nowrap;align-self:center;margin-left:auto;font-size:13px}.billing-catalog-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.billing-catalog-column{min-width:0}.billing-catalog-column>header{margin:0 0 16px}.billing-catalog-column h2{align-items:center;gap:8px;margin:0;font-size:17px;line-height:1.4;display:flex}.billing-catalog-column h2 span{color:var(--text-secondary);background:var(--surface-subtle);border-radius:5px;padding:2px 6px;font-size:12px;font-weight:500}.billing-catalog-column>header p{color:var(--text-secondary);margin:5px 0 0;font-size:12px}.billing-tariff-card{border:1px solid var(--border-subtle);background:var(--surface-base);overflow-wrap:anywhere;border-radius:12px;min-width:0;margin-bottom:14px;padding:20px}.billing-card-scope{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.billing-card-scope>.billing-tag{white-space:normal;max-width:100%}.billing-card-scope p{width:100%;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.billing-tariff-card h3{margin:0 0 14px;font-size:16px;font-weight:600;line-height:1.4}.billing-card-price{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 16px;display:flex}.billing-card-price strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:25px;line-height:1.2}.billing-card-price>span{color:var(--text-secondary);font-size:12px}.billing-tariff-card ul{color:var(--text-secondary);gap:10px;margin:0;padding:0;font-size:13px;line-height:1.55;list-style:none;display:grid}.billing-tariff-card footer{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:12px}.billing-tariff-card footer .text-button{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:32px;display:inline-flex}.billing-column-empty{border-top:1px solid var(--border-subtle);color:var(--text-secondary);padding-top:20px;font-size:13px}.billing-catalog-explanation{border-left:3px solid var(--brand-500);background:var(--surface-subtle);border-radius:0 8px 8px 0;margin-top:18px;padding:16px 20px;font-size:13px;line-height:1.6}.billing-catalog-explanation p{color:var(--text-secondary);margin:6px 0 0}.billing-discount-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.billing-discount-archive{margin:0 0 20px;font-size:13px}@media (width<=1150px){.billing-catalog-columns{gap:12px}.billing-tariff-card{padding:16px}.billing-discount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.billing-catalog-columns{grid-template-columns:minmax(0,1fr)}.billing-catalog-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.billing-catalog-column>header,.billing-column-empty{grid-column:1/-1}.billing-catalog-column>header{margin:12px 0 0}.billing-tariff-card{margin:0}.billing-catalog-count{margin-left:0}}@media (width<=560px){.billing-branch-tabs{gap:6px}.billing-branch-tabs button{padding:8px 10px;font-size:13px}.billing-catalog-filters{gap:12px}.billing-catalog-filters>.field,.billing-catalog-filters>.field:nth-child(2){width:100%}.billing-catalog-column,.billing-discount-grid{grid-template-columns:minmax(0,1fr)}.billing-catalog-column>header{margin-top:16px}.billing-card-price strong{font-size:24px}}.billing-tariff-card{--billing-card-inset:20px;position:relative}.billing-card-edit{top:var(--billing-card-inset);right:var(--billing-card-inset);border:1px solid var(--border-subtle);background:var(--surface-base);width:40px;min-height:40px;color:var(--text-secondary);border-radius:8px;position:absolute}.billing-card-edit:hover{background:var(--surface-row-hover);color:var(--text-primary)}.billing-tariff-card:has(>.billing-card-edit)>.billing-card-scope{min-height:40px;padding-right:52px}@media (width<=1150px){.billing-tariff-card{--billing-card-inset:16px}}@media (pointer:coarse){.billing-card-edit{width:44px;min-height:44px}.billing-tariff-card:has(>.billing-card-edit)>.billing-card-scope{min-height:44px;padding-right:56px}}.tariff-delete-dialog{width:min(520px,100vw - 32px);max-width:520px}.tariff-delete-summary{font-size:14px;line-height:1.7}.tariff-delete-summary>strong{overflow-wrap:anywhere;margin:0 0 12px;display:block}.tariff-delete-summary>p{color:var(--text-secondary);margin:0 0 12px}.tariff-delete-dialog .form-actions{flex-wrap:wrap;gap:12px}.tariff-delete-dialog .form-actions button{min-height:42px}.data-refresh-frame{min-width:0;position:relative}.data-refresh-frame.is-initial{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;min-height:360px}.data-refresh-content{min-width:0;transition:opacity .12s ease-out}.data-refresh-frame.is-stale>.data-refresh-content{opacity:.42;filter:blur(1px);pointer-events:none;-webkit-user-select:none;user-select:none}.data-refresh-notice,.data-refresh-failure{z-index:1;background:var(--surface-base);border:1px solid var(--border-subtle);max-width:calc(100% - 32px);color:var(--text-secondary);border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;line-height:1.6;display:flex;position:absolute;inset:24px auto auto 50%;transform:translate(-50%);box-shadow:0 2px 8px #0000000a}.data-refresh-notice{width:max-content;max-width:calc(100% - 32px)}.data-refresh-notice.is-delayed{opacity:0;animation:1ms linear .12s forwards data-refresh-reveal}.data-refresh-indicator{background:var(--text-secondary);opacity:.45;border-radius:50%;flex:none;width:8px;height:8px}.data-refresh-frame.is-initial>.data-refresh-notice{inset:50% auto auto 50%;transform:translate(-50%,-50%)}.data-refresh-failure{width:max-content;color:var(--danger-fg);flex-wrap:wrap;align-items:flex-start}.data-refresh-failure p{overflow-wrap:anywhere;margin:4px 0 0}.data-refresh-failure strong{font-weight:600}.data-refresh-failure>.secondary{flex:none}.data-refresh-period{color:var(--text-secondary);margin:0 0 12px;font-size:12px;line-height:1.7}@keyframes data-refresh-reveal{to{opacity:1}}@media (prefers-reduced-motion:reduce){.data-refresh-content{transition:none}.data-refresh-notice.is-delayed{opacity:1;animation:none}}@media (width<=480px){.data-refresh-failure{width:calc(100% - 32px)}.data-refresh-failure>.secondary{min-height:44px}}.finance-overview{font-variant-numeric:tabular-nums;min-width:0;padding-block:8px 24px}.finance-overview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 24px;margin-bottom:28px;display:flex}.finance-overview-period{align-items:center;gap:8px;min-height:42px;display:flex}.finance-overview-period>strong{text-align:center;min-width:180px;font-size:16px;font-weight:600;line-height:1.5}.finance-overview-period>.button-icon{border:1px solid var(--border-subtle);background:var(--surface-base);width:40px;min-height:40px;color:var(--text-secondary);border-radius:8px;flex:none}.finance-overview-period>.button-icon:hover{background:var(--surface-row-hover)}.finance-overview-dates{grid-template-columns:repeat(2,minmax(0,170px));gap:12px;min-width:0;display:grid}.finance-overview-dates>.field{min-width:0}.finance-overview-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin:0 0 14px;display:flex}.finance-overview-section-heading>h2{margin:0;font-size:16px;font-weight:600;line-height:1.5}.finance-overview-section-heading>span{color:var(--text-secondary);font-size:12px;line-height:1.6}.finance-overview-metrics{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.finance-overview-metric{text-align:left;border:0;border-right:1px solid var(--border-subtle);min-width:0;color:var(--text-primary);font:inherit;background:0 0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;padding:20px;display:flex}.finance-overview-metric:last-child{border-right:0}.finance-overview-metric>span{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:1.6;display:flex}.finance-overview-metric>span>svg{flex:none}.finance-overview-metric>strong{overflow-wrap:anywhere;letter-spacing:-.4px;font-size:24px;font-weight:600;line-height:1.35}.finance-overview-metric>small{color:var(--text-secondary);margin-top:auto;font-size:11px;line-height:1.6}.finance-overview-metric--action{cursor:pointer}.finance-overview-metric--action:hover{background:var(--surface-row-hover)}.finance-overview-metric--net>strong{color:var(--success-fg)}.finance-overview-metric--net.is-negative>strong{color:var(--danger-fg)}.finance-overview-metric--due>strong{color:var(--warning-fg)}.finance-overview-context{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 20px;margin:10px 0 24px;display:flex}.finance-overview-context>p{color:var(--text-secondary);max-width:780px;margin:0;font-size:11px;line-height:1.7}.finance-overview-context>.text-button{white-space:normal;text-align:left;align-items:center;gap:6px;min-height:32px;padding:6px 0;font-size:11px;display:inline-flex}.finance-overview-attention{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.finance-overview-attention-item{border:1px solid var(--border-subtle);text-align:left;background:var(--surface-base);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:12px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px 12px;padding:16px 20px;display:grid}.finance-overview-attention-item:hover{background:var(--surface-row-hover)}.finance-overview-attention-item>span{align-items:center;gap:12px;min-width:0;font-size:12px;line-height:1.6;display:flex}.finance-overview-attention-item>span>strong{flex:none;font-size:20px;font-weight:600}.finance-overview-attention-item.has-attention>span>strong{color:var(--warning-fg)}.finance-overview-attention-item>.finance-overview-attention-link{color:var(--brand-700);grid-column:1/-1;font-size:12px;font-weight:550}.finance-overview-attention-item>svg{color:var(--text-secondary)}.finance-overview-attention-item>small{color:var(--text-secondary);grid-column:1/-1;font-size:11px;line-height:1.6}.finance-overview-table-wrap{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;max-width:100%;overflow:auto}.finance-overview-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;line-height:1.5}.finance-overview-table th,.finance-overview-table td{border-bottom:1px solid var(--border-subtle);text-align:right;vertical-align:middle;padding:14px 16px}.finance-overview-table thead th{color:var(--text-secondary);background:var(--surface-subtle);font-size:11px;font-weight:550}.finance-overview-table th:first-child{text-align:left}.finance-overview-table tbody th{overflow-wrap:anywhere;font-weight:550}.finance-overview-table tbody td{white-space:nowrap}.finance-overview-table tbody tr:last-child>*{border-bottom:0}.finance-overview-table td strong{font-weight:600}.finance-overview-table .finance-overview-due-value{color:var(--warning-fg)}.finance-overview-state{color:var(--text-secondary);margin:0;padding:24px 0;font-size:13px;line-height:1.7}.finance-overview-error{background:var(--danger-bg);color:var(--danger-fg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:16px;font-size:13px;display:flex}.finance-overview-error>p{overflow-wrap:anywhere;margin:0;line-height:1.7}.finance-overview-validation{color:var(--danger-fg);font-size:12px;line-height:1.7}.finance-overview button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (width<=1100px){.finance-overview-metric{padding:16px}.finance-overview-metric>strong{font-size:21px}.finance-overview-table th,.finance-overview-table td{padding:12px}}@media (width<=760px){.finance-overview-toolbar{margin-bottom:24px}.finance-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-overview-metric:nth-child(2){border-right:0}.finance-overview-metric:nth-child(-n+2){border-bottom:1px solid var(--border-subtle)}.finance-overview-attention{grid-template-columns:1fr}.finance-overview-table thead{display:none}.finance-overview-table tbody,.finance-overview-table tr{display:block}.finance-overview-table tbody tr{border-bottom:1px solid var(--border-subtle);padding:16px}.finance-overview-table tbody tr:last-child{border-bottom:0}.finance-overview-table tbody th{border:0;padding:0 0 10px;font-size:14px;display:block}.finance-overview-table tbody td{border:0;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;display:flex}.finance-overview-table tbody td:before{content:attr(data-label);text-align:left;white-space:normal;color:var(--text-secondary);max-width:65%}}@media (width<=480px){.finance-overview-period{justify-content:space-between;width:100%}.finance-overview-period>strong{min-width:0}.finance-overview-period>.button-icon{width:44px;min-height:44px}.finance-overview-dates{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.finance-overview-metric{gap:10px;padding:14px}.finance-overview-metric>strong{font-size:20px}.finance-overview-attention-item{padding:16px}.finance-overview-context>.text-button{min-height:44px}}.finance-intro{color:var(--text-secondary);max-width:800px;margin:0 0 20px;font-size:13px;line-height:1.6}.finance-toolbar,.finance-section-tools{flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0;display:flex}.finance-toolbar .field,.finance-section-tools .field{flex:1;min-width:180px;max-width:220px;margin:0}.finance-toolbar .finance-search{flex:2;min-width:220px;max-width:280px}.finance-summary{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;margin-left:auto;font-size:12px;display:flex}.finance-summary>span:not(.attendance-unsettled-note){background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:6px;min-height:42px;padding:8px 11px;display:inline-flex}.finance-summary>.attendance-unsettled-note{text-align:right;flex-basis:100%}.finance-summary strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px}.finance-debt,.finance-summary .finance-debt{color:var(--danger-fg);font-weight:600}.finance-tabs{white-space:nowrap;border-bottom:1px solid var(--border-subtle);gap:6px;max-width:100%;margin:0 0 22px;padding:0 0 10px;display:flex;overflow-x:auto}.finance-tabs button{color:var(--text-secondary);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:11px 14px;font-size:13px;display:flex}.finance-tabs button.selected{background:var(--brand-50);color:var(--brand-700);font-weight:600}.finance-tabs button span{background:var(--surface-subtle);color:var(--text-secondary);border-radius:4px;padding:2px 5px;font-size:11px}.finance-panel{min-width:0}.finance-table{min-width:710px}.finance-table .finance-numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.finance-table .finance-person{text-align:left;padding:0;font-weight:600}.finance-table td>div+div,.finance-allocation+.finance-allocation{margin-top:12px}.finance-table td{line-height:1.5}.finance-table th{white-space:nowrap}.finance-table .live-actions{flex-wrap:nowrap}.coach-profile-bio{white-space:pre-wrap;font-size:14px;line-height:1.7}.coach-profile-details{font-size:13px;line-height:1.6}.coach-profile-details dt{margin-top:18px;font-weight:600}.coach-profile-details dd{color:var(--text-secondary);margin:6px 0}@media (width<=600px){.finance-toolbar,.finance-section-tools{gap:10px}.finance-toolbar .field,.finance-section-tools .field{min-width:140px;max-width:none}.finance-toolbar .finance-search{flex-basis:100%;min-width:0}.finance-summary{gap:12px 18px}.finance-tabs button{padding:10px 12px}.finance-table th,.finance-table td{padding:13px}.finance-section-tools>.secondary{margin-left:auto}}.finance-table .finance-pending-status,.finance-pending-subscription small{color:var(--warning-fg);font-weight:600}.finance-pending-subscription{margin-top:8px}.live-table.finance-students-table{table-layout:fixed;width:max(100%,1080px);min-width:1080px}.finance-col-student{width:17%}.finance-col-group{width:14%}.finance-col-subscription{width:18%}.finance-col-period{width:20%}.finance-col-remaining{width:10%}.finance-col-money{width:8%}.finance-col-money:nth-last-child(2){width:13%}.finance-students-table th,.finance-students-table td{padding:12px 14px}.finance-student-row{cursor:pointer}.finance-student-row:focus-within{background:var(--surface-row-hover)}.finance-students-table .finance-person{min-height:24px;color:var(--text-primary);white-space:normal;overflow-wrap:anywhere;line-height:1.5}.finance-students-table td:not(.finance-numeric){overflow-wrap:anywhere}.finance-students-table .finance-period{white-space:nowrap;font-variant-numeric:tabular-nums}.finance-students-table td>div+div{margin-top:6px}.finance-subscription-label{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.finance-subscription-state{color:var(--warning-fg);background:var(--warning-bg);border-radius:5px;padding:3px 6px;font-size:10px;line-height:1.4}@media (width<=1100px){.finance-summary{margin-left:0}.finance-toolbar .finance-search{max-width:340px}}@media (width<=600px){.finance-summary{gap:7px;width:100%}.finance-summary>span:not(.attendance-unsettled-note){flex:1;justify-content:space-between;min-height:38px;padding:8px;font-size:11px}.finance-summary strong{font-size:12px}.finance-summary>.attendance-unsettled-note{text-align:left}.finance-students-table th,.finance-students-table td{padding:12px}}.finance-attention{flex-wrap:wrap;align-items:center;gap:8px 18px;margin:-5px 0 14px;display:flex}.finance-attention .attendance-unsettled-note{margin:0}.finance-unsettled-count{color:var(--warning-fg);white-space:nowrap;margin-top:4px;font-size:10px;font-weight:500;line-height:1.5;display:block}.finance-unsettled-count:empty{display:none}.finance-students-table .finance-needs-calculation,.finance-subscription-status{white-space:nowrap}.finance-table .subscription-scope-label{max-width:320px;display:inline}.finance-subscription-record{cursor:pointer}.finance-subscription-record:focus-within{background:var(--surface-row-hover)}.finance-subscription-more{width:36px;min-height:36px;padding:0}@media (pointer:coarse){.finance-subscription-more{width:44px;min-height:44px}}.finance-heading{align-items:center;gap:16px;margin-bottom:20px}.finance-heading-context{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.5}.finance-heading .live-actions{flex-shrink:0;gap:10px}.finance-heading .live-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.finance-main-tabs{border-bottom:1px solid var(--border-subtle);gap:24px;max-width:100%;margin:0 0 22px;display:flex;overflow-x:auto}.finance-main-tabs>button{min-height:46px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:7px;padding:10px 2px 12px;font-size:14px;font-weight:600;display:flex;position:relative}.finance-main-tabs>button[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--accent)}.finance-main-tabs .finance-tab-count{background:var(--warning-bg);color:var(--warning-fg);font-variant-numeric:tabular-nums;border-radius:5px;padding:2px 6px;font-size:11px}.finance-subnav{flex-wrap:wrap;gap:6px;margin:-6px 0 20px;display:flex}.finance-subnav>button{min-height:38px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;display:inline-flex}.finance-subnav>button[aria-current=page]{background:var(--surface-base);border-color:var(--border-subtle);color:var(--text-primary);font-weight:600}.finance-unpaid-explanation{color:var(--text-secondary);max-width:850px;margin:-4px 0 20px;font-size:12px;line-height:1.6}.finance-unpaid-explanation .attendance-unsettled-note{font-size:inherit;margin:0;display:inline}.finance-due-table{width:100%;min-width:920px}.finance-due-table th,.finance-due-table td{padding:14px 16px}.finance-due-table td:nth-child(2){max-width:240px}.finance-due-table th:first-child{width:24%}.finance-due-table th:nth-child(2){width:22%}.finance-due-table small{color:var(--text-secondary);margin-top:3px;font-size:12px}.finance-unpaid-pill{background:var(--warning-bg);min-width:28px;min-height:26px;color:var(--warning-fg);border-radius:6px;justify-content:center;align-items:center;padding:3px 7px;font-size:12px;font-weight:600;display:inline-flex}.finance-unknown-amount{white-space:normal;max-width:135px;color:var(--text-secondary);font-size:12px;line-height:1.5;display:inline-block}.finance-row-action{white-space:nowrap;min-height:36px;padding:7px 10px;font-size:12px}.finance-section-tools .finance-tariff-link{order:2;align-items:center;gap:7px;margin-left:auto;display:flex}@media (width<=700px){.finance-heading{flex-direction:column;align-items:flex-start}.finance-heading .live-actions{flex-wrap:wrap;width:100%;display:flex}.finance-heading .live-actions>button{flex:1;min-width:145px;padding:10px;font-size:12px}.finance-main-tabs{gap:19px;margin-bottom:18px}.finance-main-tabs>button{font-size:13px}.finance-subnav{gap:3px;margin-bottom:16px}.finance-subnav>button{padding:8px;font-size:11px}.finance-section-tools .finance-tariff-link{margin-left:0}.finance-heading-context{font-size:12px}.finance-due-table{width:100%;min-width:0}.finance-due-table thead{display:none}.finance-due-table tbody,.finance-due-table tr,.finance-due-table td{display:block}.finance-due-table tr{border-bottom:1px solid var(--border-subtle);padding:14px}.finance-due-table tr:last-child{border-bottom:0}.finance-due-table td{border:0;min-width:0;padding:6px 0;max-width:none!important}.finance-due-table td[data-label]{white-space:normal;justify-content:space-between;align-items:center;gap:16px;display:flex}.finance-due-table td[data-label]:before{content:attr(data-label);color:var(--text-secondary);text-align:left;flex-shrink:0;font-size:11px;font-weight:400}.finance-due-table td:nth-child(2){text-align:right;font-size:12px}.finance-due-table td:last-child{padding-top:12px}.finance-due-table td:last-child button{justify-content:center;width:100%;min-height:42px}}.analytics-screen{font-variant-numeric:tabular-nums;min-width:0;padding-bottom:24px}.analytics-description{color:var(--text-secondary);max-width:780px;margin:0 0 24px;font-size:13px;line-height:1.7}.analytics-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 24px;margin-bottom:24px;display:flex}.analytics-period{align-items:center;gap:8px;min-height:42px;display:flex}.analytics-period>strong{text-align:center;min-width:180px;font-size:16px;font-weight:600;line-height:1.5}.analytics-period>.button-icon{border:1px solid var(--border-subtle);background:var(--surface-base);width:40px;min-height:40px;color:var(--text-secondary);border-radius:8px;flex:none}.analytics-period>.button-icon:hover{background:var(--surface-row-hover)}.analytics-dates{grid-template-columns:repeat(2,minmax(0,170px));gap:12px;min-width:0;display:grid}.analytics-dates>.field{min-width:0}.analytics-kpis,.analytics-money{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.analytics-kpis>div,.analytics-money>div{border-right:1px solid var(--border-subtle);min-width:0;padding:20px}.analytics-kpis>div:last-child,.analytics-money>div:last-child{border-right:0}.analytics-kpis dt,.analytics-money dt{color:var(--text-secondary);font-size:12px;line-height:1.6}.analytics-kpis dd,.analytics-money dd{letter-spacing:-.4px;overflow-wrap:anywhere;margin:8px 0 10px;font-size:26px;font-weight:600;line-height:1.4}.analytics-kpis p,.analytics-money p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.6}.analytics-attendance{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;margin-top:20px;padding:22px}.analytics-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.analytics-section-heading h2{margin:0;font-size:16px;font-weight:600;line-height:1.5}.analytics-section-heading p{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.6}.analytics-rate{text-align:right;flex-direction:column;flex:none;gap:4px;display:flex}.analytics-rate>strong{font-size:26px;font-weight:600;line-height:1.25}.analytics-rate>span{color:var(--text-secondary);max-width:230px;font-size:11px;line-height:1.6}.analytics-attendance-bar{background:var(--surface-subtle);border-radius:4px;gap:2px;height:14px;display:flex;overflow:hidden}.analytics-segment{min-width:3px;display:block}.analytics-segment--present{background:var(--success-fg)}.analytics-segment--absent{background:var(--danger-fg)}.analytics-segment--excused{background:var(--warning-fg)}.analytics-segment--unmarked{background:var(--text-muted)}.analytics-attendance-legend{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 18px;display:grid}.analytics-attendance-legend dt{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;line-height:1.6;display:flex}.analytics-attendance-legend dd{margin:6px 0 0 16px;font-size:21px;font-weight:600;line-height:1.4}.analytics-dot{border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.analytics-explanation{color:var(--text-secondary);margin:12px 0 0;font-size:11px;line-height:1.8}.analytics-explanation strong{color:var(--text-primary);font-weight:600}.analytics-session-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.analytics-session-notes>div{grid-template-columns:18px minmax(0,1fr);gap:6px 10px;min-width:0;padding:16px;display:grid}.analytics-session-notes svg{color:var(--text-secondary);margin-top:2px}.analytics-session-notes span{font-size:12px;line-height:1.7}.analytics-session-notes strong{font-weight:600}.analytics-session-notes small{color:var(--text-secondary);grid-column:2;font-size:11px;line-height:1.6}.analytics-session-notes .has-attention>span strong,.analytics-session-notes .has-attention>svg{color:var(--warning-fg)}.analytics-finance{border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:24px}.analytics-finance .secondary{flex:none;justify-content:center;align-items:center;gap:10px;display:inline-flex}.analytics-money{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-money dd{font-size:22px}.analytics-money .is-positive{color:var(--success-fg)}.analytics-money .is-negative{color:var(--danger-fg)}.analytics-state,.analytics-empty{color:var(--text-secondary);margin:0;padding:20px 0;font-size:13px;line-height:1.7}.analytics-error{background:var(--danger-bg);color:var(--danger-fg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:16px;font-size:13px;line-height:1.7;display:flex}.analytics-error>p{overflow-wrap:anywhere;margin:0}.analytics-screen button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (width<=1000px){.analytics-kpis>div,.analytics-money>div{padding:16px}.analytics-money{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-money>div:nth-child(2){border-right:0}.analytics-money>div:nth-child(-n+2){border-bottom:1px solid var(--border-subtle)}}@media (width<=600px){.analytics-kpis{grid-template-columns:1fr}.analytics-kpis>div{border-right:0;border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;display:grid}.analytics-kpis>div:last-child{border-bottom:0}.analytics-kpis dd{grid-area:1/2/3;margin:0;font-size:24px}.analytics-kpis p{grid-column:1}.analytics-attendance{padding:16px}.analytics-attendance-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.analytics-section-heading{flex-wrap:wrap;align-items:start;gap:12px}.analytics-session-notes{grid-template-columns:1fr;gap:0}.analytics-rate{max-width:180px}.analytics-rate>strong{font-size:24px}.analytics-finance .analytics-section-heading{align-items:center}.analytics-finance .secondary{min-height:44px}.analytics-money dd{font-size:20px}}@media (width<=480px){.analytics-period{justify-content:space-between;width:100%}.analytics-period>strong{min-width:0}.analytics-period>.button-icon{width:44px;min-height:44px}.analytics-dates{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.analytics-attendance .analytics-section-heading{grid-template-columns:1fr;display:grid}.analytics-rate{text-align:left;flex-direction:row;align-items:center;gap:12px;max-width:none}.analytics-rate>span{max-width:190px}.analytics-money>div{padding:14px}}.import-screen{min-width:0}.import-intro{color:var(--text-secondary);margin:7px 0 0;font-size:13px;line-height:1.6}.import-steps{flex-wrap:wrap;gap:28px;margin:24px 0;padding:0;list-style:none;display:flex}.import-steps li{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;line-height:1.6;display:flex}.import-steps li>span{border:1px solid var(--border-subtle);background:var(--surface-base);width:25px;height:25px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.import-workspace{grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);align-items:start;gap:28px;display:grid}.import-source{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;min-width:0;padding:24px}.import-source h2,.import-explainer h2,.import-results h2{margin:0 0 18px;font-size:16px;line-height:1.5}.import-source fieldset{border:0;min-width:0;margin:0;padding:0}.import-template{align-items:center;gap:8px;margin:0 0 4px;font-size:12px;display:inline-flex}.import-note{color:var(--text-secondary);margin:8px 0 20px;font-size:12px;line-height:1.7}.import-upload{text-align:center;border:1px dashed var(--border-control);background:var(--surface-canvas);color:var(--text-secondary);cursor:pointer;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-width:0;padding:28px 16px;display:flex;position:relative}.import-upload strong{color:var(--text-primary);overflow-wrap:anywhere;max-width:100%;font-size:13px;font-weight:600}.import-upload span{font-size:11px;line-height:1.6}.import-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.import-upload:focus-within{outline:2px solid var(--focus-ring);outline-offset:3px}.import-csv-source{color:var(--text-secondary);margin:18px 0;font-size:12px}.import-csv-source summary{cursor:pointer;min-height:34px;line-height:1.7}.import-csv-source .field{margin-top:12px}.import-csv-source textarea{overflow-wrap:anywhere;font:12px/1.6 ui-monospace,SFMono-Regular,monospace}.import-validate{margin-top:4px}.import-explainer{color:var(--text-secondary);padding:18px 0;font-size:13px;line-height:1.8}.import-explainer h2{color:var(--text-primary);margin-bottom:14px}.import-explainer p{margin:0 0 16px}.import-balance-note{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:8px;padding:14px}.import-results{min-width:0;margin-top:28px}.import-results>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.import-results h2{margin-bottom:5px}.import-results>header p,.import-results>header>span{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.import-preview-table{min-width:520px}.import-results-actions{justify-content:flex-end;margin-top:18px;display:flex}.import-errors{color:var(--danger-fg);background:var(--danger-bg);border-radius:8px;padding:14px 28px;font-size:12px;line-height:1.8}.import-complete{color:var(--success-fg);flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;font-size:13px;display:flex}.import-complete .secondary{margin-left:auto}.import-refresh-error{margin-top:16px}@media (width<=800px){.import-workspace{grid-template-columns:minmax(0,1fr);gap:12px}.import-explainer{padding:12px 2px}.import-steps{gap:10px 16px;margin:18px 0}.import-steps li{font-size:11px}.import-source{padding:18px}.import-results-actions .primary,.import-validate{width:100%}.import-complete .secondary{margin-left:0}}.parent-finance-screen,.parent-finance-summary{min-width:0;color:var(--text-primary);font-size:14px;line-height:1.5}.parent-finance-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.parent-finance-heading h1{margin:0;font-size:24px;font-weight:650;line-height:1.3}.parent-finance-heading>span{color:var(--text-secondary);font-size:12px}.parent-finance-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.parent-finance-column{gap:20px;min-width:0;display:grid}.parent-finance-section{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:14px;min-width:0;padding:22px}.parent-finance-section h2,.parent-finance-summary h2{margin:0 0 16px;font-size:16px;font-weight:650;line-height:1.4}.parent-finance-subscription{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:10px;min-width:0;padding:16px}.parent-finance-subscription+.parent-finance-subscription{margin-top:12px}.parent-finance-subscription header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.parent-finance-subscription h3{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:650;line-height:1.5}.parent-finance-badge{background:var(--neutral-bg);color:var(--neutral-fg);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:550;line-height:1.5}.parent-finance-badge[data-tone=success]{background:var(--success-bg);color:var(--success-fg)}.parent-finance-badge[data-tone=warning]{background:var(--warning-bg);color:var(--warning-fg)}.parent-finance-meta{color:var(--text-secondary);overflow-wrap:anywhere;margin:8px 0;font-size:12px}.parent-finance-dates{margin:10px 0;font-size:13px}.parent-finance-subscription-bottom{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding-top:10px;font-size:13px;display:flex}.parent-finance-subscription-bottom>span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.parent-finance-note{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.6;display:block}.parent-finance-empty{color:var(--text-secondary);margin:8px 0;font-size:13px;line-height:1.65}.parent-finance-due{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:30px;font-weight:650;line-height:1.3}.parent-finance-due[data-tone=danger],.parent-finance-summary-facts strong[data-tone=danger]{color:var(--danger-fg)}.parent-finance-warning{background:var(--warning-bg);color:var(--warning-fg);border-radius:8px;margin-top:16px;padding:12px 14px;font-size:13px}.parent-finance-warning p{margin:5px 0 0;font-size:12px;line-height:1.6}.parent-finance-list{margin:12px 0 0;padding:0;list-style:none}.parent-finance-list>li{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;gap:14px;min-width:0;padding:12px 0;font-size:13px;display:flex}.parent-finance-list>li>div{overflow-wrap:anywhere;min-width:0}.parent-finance-list>li strong{font-weight:600}.parent-finance-list>li>strong,.parent-finance-list>li>span{font-variant-numeric:tabular-nums;flex-shrink:0}.parent-finance-list small{color:var(--text-secondary);margin-top:3px;font-size:12px;display:block}.parent-finance-details{border-top:1px solid var(--border-subtle);margin-top:12px}.parent-finance-details>summary{cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:8px 0;font-size:13px;font-weight:550;list-style:none;display:flex}.parent-finance-details>summary::-webkit-details-marker{display:none}.parent-finance-details>summary:before{content:"›";text-align:center;flex-shrink:0;width:12px;font-size:20px}.parent-finance-details[open]>summary:before{transform:rotate(90deg)}.parent-finance-details>summary>span{color:var(--text-secondary);margin-left:auto;font-weight:400}.parent-finance-details>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.parent-finance-detail-content{padding-block:8px}.parent-finance-singles{margin-top:12px}.parent-finance-singles>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.parent-finance-section .student-account-panel{margin-bottom:0}.parent-finance-section .student-account-ledger{border:0;border-radius:0;padding:0}.parent-finance-section .student-account-history>summary{min-height:44px}.parent-finance-section .student-account-entry time,.parent-finance-section .student-account-entry-facts,.parent-finance-section .student-account-applications>li,.parent-finance-section .student-account-applications small,.parent-finance-section .student-account-source{font-size:12px}.parent-finance-summary{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden}.parent-finance-summary-button,.parent-finance-summary-body{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;min-width:0;padding:22px;display:block}.parent-finance-summary-button{min-height:44px}.parent-finance-summary-button:hover{background:var(--surface-row-hover)}.parent-finance-summary-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.parent-finance-summary-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.parent-finance-summary-heading h2{margin:0}.parent-finance-summary-title{overflow-wrap:anywhere;font-size:18px;font-weight:650;line-height:1.4;display:block}.parent-finance-summary-status{color:var(--text-secondary);margin-top:5px;font-size:13px;display:block}.parent-finance-summary-facts{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px 20px;margin-top:18px;padding-top:14px;font-size:13px;display:flex}.parent-finance-summary-facts>span{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.parent-finance-summary-facts strong{font-variant-numeric:tabular-nums;font-weight:650}.parent-finance-summary-link{color:var(--brand-700);margin-top:16px;font-size:13px;font-weight:600;display:block}.parent-finance-summary>h2{margin:22px 22px 0}.parent-finance-state{background:var(--surface-base);border-radius:10px;padding:22px;font-size:13px}.parent-finance-state p{color:var(--text-secondary);margin:0;line-height:1.7}.parent-finance-button{background:var(--surface-base);min-height:44px;color:var(--text-primary);border:1px solid var(--border-control);border-radius:8px;margin-top:14px;padding:10px 16px;font-size:13px;font-weight:550}.parent-finance-button:hover{background:var(--surface-hover)}@media (width<=767px){.parent-finance-columns{grid-template-columns:minmax(0,1fr);gap:16px}.parent-finance-column{gap:16px}.parent-finance-heading{flex-wrap:wrap;gap:8px;margin-bottom:16px}.parent-finance-heading h1{font-size:20px}.parent-finance-section{border-radius:12px;padding:18px}.parent-finance-summary-button,.parent-finance-summary-body{padding:18px}.parent-finance-subscription{padding:14px}.parent-finance-due{font-size:27px}.parent-finance-button{width:100%}.parent-finance-summary-facts{gap:8px 16px}.parent-finance-list>li{gap:10px}.parent-finance-section .student-account-entry{flex-wrap:wrap}.parent-finance-section .student-account-balance{flex-wrap:wrap;gap:4px 12px}.parent-finance-column{display:contents}.parent-finance-subscriptions-section{order:0}.parent-finance-due-section{order:1}.parent-finance-account-section{order:2}.parent-finance-singles-section{order:3}.parent-finance-payments-section{order:4}.parent-finance-archive-section{order:5}}.parent-content-page{width:100%;min-width:0;max-width:1040px;color:var(--text-primary);margin:0 auto;font-size:14px;line-height:1.6}.parent-content-heading{margin-bottom:24px}.parent-content-heading h1{letter-spacing:-.5px;margin:0 0 8px;font-size:26px;font-weight:650;line-height:1.25}.parent-content-heading p{color:var(--text-secondary);margin:0;font-size:14px}.parent-content-section{min-width:0;margin-bottom:28px}.parent-content-section>h2{margin:0 0 14px;font-size:17px;font-weight:650;line-height:1.4}.parent-news-list,.parent-event-list,.parent-progress-list{gap:16px;min-width:0;display:grid}.parent-content-card{border:1px solid var(--border-subtle);background:var(--surface-base);overflow-wrap:anywhere;border-radius:16px;min-width:0;padding:24px}.parent-content-card h2,.parent-content-card h3{letter-spacing:-.2px;margin:9px 0 12px;font-size:18px;font-weight:650;line-height:1.4}.parent-content-date{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.5;display:block}.parent-content-body{white-space:pre-wrap;overflow-wrap:anywhere;max-width:76ch;margin:0;font-size:14px;line-height:1.75}.parent-event-location{color:var(--text-secondary);margin:0 0 12px;font-size:13px}.parent-event-response{border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:16px}.parent-event-response>p{margin:0 0 12px;font-size:13px}.parent-event-response>.parent-content-muted{margin-bottom:0}.parent-event-options{flex-wrap:wrap;gap:8px;display:flex}.parent-event-options>button{border:1px solid var(--border-control);background:var(--surface-base);min-width:44px;min-height:44px;color:var(--text-primary);border-radius:9px;padding:10px 14px;font-size:13px;font-weight:550;line-height:1.4}.parent-event-options>button:hover{background:var(--surface-hover)}.parent-event-options>button[aria-pressed=true]{background:var(--brand-50);border-color:var(--brand-700);color:var(--brand-700)}.parent-event-options>button:disabled{opacity:.6}.parent-content-muted{color:var(--text-secondary);font-size:13px}.parent-content-empty,.parent-content-loading,.parent-content-error{border:1px solid var(--border-subtle);background:var(--surface-base);overflow-wrap:anywhere;border-radius:14px;margin:0 0 20px;padding:24px}.parent-content-empty h2,.parent-content-empty h3{margin:0 0 8px;font-size:16px;line-height:1.4}.parent-content-empty p{color:var(--text-secondary);max-width:65ch;margin:0;font-size:14px}.parent-content-error p{color:var(--danger-fg);margin:0 0 14px}.parent-content-error>button{white-space:normal;min-height:44px;font-size:14px}.parent-content-details{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;min-width:0;margin:16px 0}.parent-content-details>summary{cursor:pointer;overflow-wrap:anywhere;min-height:52px;padding:15px 18px;font-size:14px;font-weight:550}.parent-content-details>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:10px}.parent-content-details-body{min-width:0;padding:4px 20px 20px}.parent-content-details-body .live-section-heading{flex-wrap:wrap;gap:12px}.parent-content-details-body .live-section-heading h2{font-size:16px}.parent-content-details-body :is(button,.primary,.secondary){white-space:normal;min-height:44px;font-size:13px}.parent-content-details-body :is(.live-fineprint,.live-card small,.status){font-size:12px}.parent-content-details-body .live-card{overflow-wrap:anywhere;min-width:0}.parent-progress-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:12px;display:flex}.parent-progress-metrics{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:16px 32px;margin:20px 0 0;padding-top:16px;display:flex}.parent-progress-metrics>div{overflow-wrap:anywhere;min-width:0;max-width:100%}.parent-progress-metrics dt{color:var(--text-secondary);font-size:12px}.parent-progress-metrics dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:22px;font-weight:600;line-height:1.4}.parent-progress-metrics dd span{font-size:14px;font-weight:400}@media (width>=880px){.parent-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-content-heading{margin-bottom:28px}.parent-news-list .parent-content-card{padding:24px 28px}}@media (width<=600px){.parent-content-heading h1{font-size:24px}.parent-content-card{padding:20px}.parent-content-card h2,.parent-content-card h3{font-size:17px}.parent-event-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.parent-event-options>button:last-child{grid-column:1/-1}.parent-content-details-body{padding-inline:16px}.parent-content-details-body .live-section-heading{align-items:flex-start}.parent-content-details-body .live-section-heading>button{width:100%}.parent-progress-metrics{gap:14px 24px}}.parent-portal{min-width:0;max-width:1160px;margin:0 auto}.parent-child-header{justify-content:space-between;align-items:flex-start;gap:18px;margin:0 0 25px;display:flex}.parent-child-header>div{min-width:0}.parent-greeting{color:var(--text-secondary);margin:0 0 7px;font-size:13px;line-height:1.6}.parent-child-header h1{letter-spacing:-.6px;margin:0;font-size:27px;font-weight:700;line-height:1.25}.parent-child-choice{width:min(420px,100%);min-width:0}.parent-child-choice .service-select-trigger{letter-spacing:-.5px;min-height:45px!important;box-shadow:none!important;background:0 0!important;border:1px solid #0000!important;padding:5px 8px!important;font-size:25px!important;font-weight:700!important;line-height:1.3!important}.parent-child-choice .service-select-value{overflow-wrap:anywhere;min-width:0;white-space:normal!important}.parent-child-choice .service-select{width:100%;min-width:0}.parent-child-choice .service-select-trigger:hover{border-color:var(--border-subtle)!important}.parent-child-groups{flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;display:flex}.parent-child-group{background:color-mix(in srgb,var(--parent-group-color,var(--brand-500)) 10%,var(--surface-base));overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:6px;max-width:100%;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.parent-child-group>i{background:var(--parent-group-color,var(--brand-500));border-radius:50%;flex:none;width:6px;height:6px}.parent-child-group>span{color:var(--text-secondary);margin-left:3px;font-size:12px;font-weight:400}.parent-contact-button{border:1px solid var(--border-subtle);background:var(--surface-base);min-height:44px;color:var(--brand-700);border-radius:9px;justify-content:center;align-items:center;gap:7px;max-width:100%;padding:10px 13px;font-size:12px;display:flex}.parent-contact-button>svg{flex:none}.parent-home-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.parent-home-main,.parent-home-side,.parent-child-content{min-width:0}.parent-session{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:14px;min-width:0;padding:19px}.parent-session--next{border-top:4px solid var(--accent);padding-top:16px}.parent-session>header{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.parent-session-when{background:var(--brand-50);color:var(--brand-700);white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:12px}.parent-session-when.is-cancelled{color:var(--danger-fg);background:var(--danger-bg)}.parent-session-time{letter-spacing:-.8px;font-variant-numeric:tabular-nums;margin:0 0 7px;font-size:31px;font-weight:700;line-height:1.2}.parent-session-date{text-transform:capitalize;margin:0 0 18px;font-size:14px;line-height:1.6}.parent-session-place{align-items:flex-start;gap:10px;margin:9px 0;font-size:14px;line-height:1.5;display:flex}.parent-session-place>svg{color:var(--text-secondary);flex:none;margin-top:2px}.parent-session-place>div{min-width:0}.parent-session-place strong{overflow-wrap:anywhere;font-weight:600}.parent-session-place span{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:4px;font-size:12px;display:block}.parent-coach-link{min-height:40px;color:var(--brand-700);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;font-size:13px;line-height:1.5;display:inline-flex}.parent-coach-link svg{flex:none}.parent-session-reply{border-top:1px solid var(--border-subtle);margin-top:10px;padding-top:13px}.parent-reply-status{align-items:center;gap:6px;margin:0 0 10px;font-size:13px;line-height:1.6;display:flex}.parent-reply-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.parent-reply-buttons>button{border:1px solid var(--border-subtle);background:var(--surface-base);white-space:normal;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:44px;padding:11px 8px;font-size:13px;font-weight:600;line-height:1.4;display:flex}.parent-reply-buttons>.parent-reply-primary{background:var(--action-positive-bg);color:var(--action-positive-fg);border-color:var(--action-positive-bg)}.parent-reply-buttons>.is-selected{background:var(--success-bg);border-color:var(--success-fg);color:var(--success-fg)}.parent-reply-buttons>button:disabled,.parent-reply-reset:disabled{opacity:.55}.parent-reply-reset{color:var(--text-secondary);text-underline-offset:3px;background:0 0;border:0;min-height:36px;padding:8px 0 2px;font-size:12px;text-decoration:underline}.parent-session-note{color:var(--text-secondary);margin:0 0 12px;font-size:12px;line-height:1.65}.parent-session--cancelled{border-color:var(--border-subtle)}.parent-cancellation-reason{color:var(--danger-fg);margin:12px 0 0;font-size:13px;line-height:1.6}.parent-section-heading{justify-content:space-between;align-items:center;gap:14px;margin:22px 0 10px;display:flex}.parent-section-heading h2,.parent-home-news h2{margin:0;font-size:15px;font-weight:650;line-height:1.5}.parent-text-link{min-height:36px;color:var(--brand-700);text-align:left;background:0 0;border:0;align-items:center;gap:4px;padding:7px 0;font-size:12px;display:inline-flex}.parent-text-link>svg{flex:none}.parent-upcoming-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:15px;padding:14px 0;font-size:13px;line-height:1.5;display:flex}.parent-upcoming-row:last-child{border-bottom:0}.parent-upcoming-row strong{text-transform:capitalize;font-size:13px;font-weight:600;display:block}.parent-upcoming-row div>span{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:5px;font-size:12px;display:block}.parent-upcoming-row>span{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.parent-home-news{margin-top:18px}.parent-news-preview{text-align:left;width:100%;color:var(--text-primary);background:0 0;border:0;padding:0;display:block}.parent-news-preview>strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.5;display:block}.parent-news-preview>p{color:var(--text-secondary);-webkit-line-clamp:4;overflow-wrap:anywhere;white-space:pre-line;-webkit-box-orient:vertical;margin:7px 0 10px;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.parent-news-preview>time{color:var(--text-secondary);font-size:12px}.parent-quiet-note{color:var(--text-secondary);margin:8px 0;font-size:12px;line-height:1.65}.parent-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.parent-quick-links>button{border:1px solid var(--border-subtle);min-width:0;min-height:44px;color:var(--text-primary);background:0 0;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;padding:11px 9px;font-size:12px;display:flex}.parent-quick-links>button>svg:last-child{margin-left:auto}.parent-quick-links>button:only-child{grid-column:1/-1}.parent-empty{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;min-width:0;padding:22px 18px}.parent-empty h2,.parent-empty h3{margin:0;font-size:15px;font-weight:600;line-height:1.5}.parent-empty p{color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.65}.parent-cancel-notices{gap:9px;margin-bottom:14px;display:grid}.parent-cancel-notice{background:var(--warning-bg);color:var(--warning-fg);border-radius:9px;padding:13px}.parent-cancel-notice strong{font-size:13px;font-weight:600;line-height:1.5}.parent-cancel-notice p{overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;line-height:1.6}.parent-period>.parent-section-heading{margin-top:0}.parent-month-picker{align-items:center;gap:5px;min-width:0;display:flex}.parent-month-picker strong{text-transform:capitalize;text-align:center;min-width:130px;font-size:14px;line-height:1.5}.parent-month-picker>.button-icon{min-width:44px;min-height:44px;padding:7px}.parent-schedule-grid{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:start;gap:23px;margin-top:20px;display:grid}.parent-month-calendar{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;padding:15px 12px}.parent-calendar-weekdays,.parent-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.parent-calendar-weekdays>span{color:var(--text-secondary);text-align:center;padding:5px 0 9px;font-size:12px}.parent-calendar-days>button{min-width:0;min-height:53px;color:var(--text-primary);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 0;font-size:13px;display:flex}.parent-calendar-days>button.is-today{background:var(--surface-subtle);font-weight:600}.parent-calendar-days>button[aria-pressed=true]{background:var(--brand-700);color:var(--surface-base)}.parent-calendar-days>button>b{background:var(--brand-50);min-width:17px;height:16px;color:var(--brand-700);border-radius:4px;place-items:center;padding:1px 3px;font-size:12px;font-weight:600;display:grid}.parent-calendar-days>button>i{height:16px;display:block}.parent-calendar-days>button>small{height:16px;font-size:12px}.parent-calendar-days>button[aria-pressed=true]>b{background:var(--surface-base);color:var(--brand-700)}.parent-calendar-key{color:var(--text-secondary);margin:10px 2px 0;font-size:12px;line-height:1.5}.parent-selected-sessions{min-width:0}.parent-selected-sessions>h3{text-transform:capitalize;margin:0 0 12px;font-size:14px;font-weight:600;line-height:1.5}.parent-selected-sessions>.parent-session+.parent-session{margin-top:12px}.parent-visits-list{border-top:1px solid var(--border-subtle)}.parent-visit-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:17px 0;display:flex}.parent-visit-row>div{min-width:0}.parent-visit-row strong{font-size:14px;font-weight:600;line-height:1.5;display:block}.parent-visit-row div>span{color:var(--text-secondary);margin-top:5px;font-size:12px;line-height:1.6;display:block}.parent-fact{background:var(--neutral-bg);color:var(--neutral-fg);text-align:center;border-radius:6px;flex:none;max-width:45%;padding:5px 8px;font-size:12px;line-height:1.4}.parent-fact--present{background:var(--success-bg);color:var(--success-fg)}.parent-fact--absent{background:var(--danger-bg);color:var(--danger-fg)}.parent-fact--excused{background:var(--attendance-excused-bg);color:var(--attendance-excused-fg)}.parent-history-caption{color:var(--text-secondary);margin:0 0 15px;font-size:12px;line-height:1.6}.parent-contact-links{gap:12px;display:grid}.parent-contact-links>a{overflow-wrap:anywhere;min-height:44px;color:var(--brand-700);align-items:center;font-size:14px;line-height:1.6;display:flex}.parent-contact-school{color:var(--text-secondary);font-size:14px;line-height:1.5}.parent-mobile-more{display:none}.parent-app .parent-finance-heading>h2,.parent-app .parent-content-heading>h2{margin:0;font-size:20px;line-height:1.4}.parent-app .local-test-banner{font-size:12px}.parent-app .parent-finance-summary{margin:0}.parent-app .parent-finance-summary .parent-finance-summary-content{min-width:0}@media (width<=1000px){.parent-home-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.parent-session-time{font-size:27px}.parent-schedule-grid{grid-template-columns:1fr}.parent-month-calendar{max-width:450px}.parent-child-choice{max-width:360px}}@media (width<=767px){.parent-mobile-more{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:9px;place-items:center;min-width:40px;min-height:44px;padding:8px;display:grid}.parent-app .topbar-controls{gap:8px}.parent-child-header{gap:10px;margin-bottom:20px}.parent-child-header h1{font-size:23px;line-height:1.3}.parent-child-choice .service-select-trigger{font-size:23px!important}.parent-child-choice{max-width:100%}.parent-child-header .parent-contact-button{min-width:44px;padding:10px}.parent-child-header .parent-contact-button>span{display:none}.parent-greeting{margin-bottom:5px;font-size:13px}.parent-home-columns{grid-template-columns:1fr;gap:19px}.parent-session{padding:16px}.parent-session--next{padding-top:14px}.parent-session-time{font-size:30px}.parent-home-side{flex-direction:column;display:flex}.parent-home-news{margin-top:14px}.parent-upcoming .parent-section-heading{margin-top:17px}.parent-quick-links{margin-top:19px}.parent-period>.parent-section-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.parent-month-picker{justify-content:space-between;width:100%}.parent-month-picker strong{font-size:14px}.parent-schedule-grid{gap:18px;margin-top:12px}.parent-month-calendar{max-width:none;padding:12px 8px}.parent-calendar-days{gap:2px}.parent-calendar-days>button{min-height:50px}.parent-selected-sessions>h3{font-size:14px}.parent-child-groups{gap:6px}.parent-child-group>span{font-size:12px}.parent-child-choice .service-select-trigger{padding-left:0!important}.parent-portal .parent-finance-heading,.parent-portal .parent-content-heading{margin-top:0}.parent-visits-list{margin-top:13px}.parent-visit-row{gap:10px}.parent-fact{font-size:12px}.parent-app .sidebar-section-label{font-size:11px}.parent-session-place{font-size:14px}.parent-session-reply .form-error{font-size:12px}}@media (width<=359px){.parent-session-time{font-size:26px}.parent-reply-buttons>button{font-size:12px}.parent-child-header h1{font-size:21px}.parent-child-choice .service-select-trigger{font-size:21px!important}.parent-child-group{padding:5px 6px}.parent-child-group>span{display:block}}.parent-session-date{text-transform:none}.parent-session-date:first-letter,.parent-upcoming-row strong:first-letter{text-transform:uppercase}.parent-upcoming-row strong{text-transform:none}@media (width<=767px){.parent-home-main>.parent-upcoming{display:none}}.live-app .topbar{gap:16px}.live-app .topbar-controls{gap:18px;min-width:0}.live-app .workspace-context{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.branch-context{min-width:0;color:var(--text-primary);align-items:center;gap:8px;font-size:12px;display:flex}.branch-context>svg{color:var(--text-secondary);flex:none}.branch-context>span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:550;overflow:hidden}.account-popover-root{flex:none;position:relative}.account-trigger{color:var(--text-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:4px;font-size:12px;font-weight:550;display:flex}.account-trigger .avatar{background:var(--surface-hover);width:34px;height:34px;color:var(--text-secondary);font-size:11px}.account-popover{background:var(--surface-base);border:1px solid var(--border-subtle);z-index:70;border-radius:12px;width:260px;max-width:calc(100vw - 32px);padding:6px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #17221c1f}.account-popover-identity{border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;gap:6px;margin-bottom:4px;padding:12px 10px;display:grid}.account-popover-identity small{color:var(--text-secondary);font-size:11px}.account-popover button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:12px 10px;font-size:12px;display:flex}.account-popover button:hover{background:var(--surface-hover)}.account-popover .account-logout{border-top:1px solid var(--border-subtle);color:var(--danger-fg);border-radius:0;margin-top:4px}.live-settings-nav{margin-top:14px}.live-settings-nav>.nav-item{width:100%}.live-settings-nav .nav-chevron{margin-left:auto;transform:rotate(90deg)}.live-settings-nav .nav-chevron.is-open{transform:rotate(-90deg)}.live-settings-links{padding:3px 0 2px 16px}.live-settings-links .nav-item{min-height:39px;padding-block:9px;font-size:12px}.live-settings-links .nav-item svg{width:17px;height:17px}.section-description{color:var(--text-secondary);max-width:820px;margin:-4px 0 20px;font-size:13px;line-height:1.7}.theme-example{flex-wrap:wrap;align-items:center;gap:14px;padding:20px 0;display:flex}.live-branch-empty{padding-block:30px}@media (width<=767px){.live-app .topbar{flex-wrap:wrap;gap:8px;min-height:70px;padding-block:12px}.live-app .topbar-controls{gap:8px;margin-left:auto}.live-app .workspace-context{display:none}.branch-context{gap:3px;font-size:11px}.branch-trigger>span,.branch-context>span{max-width:140px}.account-trigger{gap:5px}.account-trigger>span:not(.avatar){text-overflow:ellipsis;max-width:70px;overflow:hidden}.account-trigger .avatar{width:30px;height:30px}.live-settings-nav{margin-top:7px}.live-settings-links{padding-left:12px}.live-app .mobile-brand .brand{font-size:20px}.section-description{font-size:12px;line-height:1.6}}@media (width<=389px){.branch-trigger>span,.branch-context>span{max-width:106px}.account-trigger>span:not(.avatar){display:none}.live-app .topbar-controls{gap:4px}}.branch-picker{flex:none;position:relative}.branch-trigger{max-width:220px;min-height:40px;font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;font-weight:550;display:flex}.branch-trigger>svg{color:var(--text-secondary);flex:none}.branch-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch-trigger:hover,.branch-trigger[aria-expanded=true]{background:var(--surface-hover)}.branch-options{z-index:75;border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;gap:3px;width:max-content;min-width:220px;max-width:min(320px,100vw - 28px);max-height:min(340px,100dvh - 120px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 32px #17221c1f}.branch-options button{width:100%;min-height:40px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.branch-options button span{overflow-wrap:anywhere;white-space:normal;min-width:0}.branch-options button svg{color:var(--brand-700);flex:none}.branch-options button:hover,.branch-options button:focus-visible{background:var(--surface-hover)}.branch-options button[aria-selected=true]{background:var(--brand-50);font-weight:600}@media (width<=767px){.branch-trigger{gap:5px;max-width:155px;padding-inline:5px;font-size:11px}.branch-options{min-width:200px;font-size:12px}.branch-options button{min-height:44px}}.workspace-scope{min-width:0;position:relative}.workspace-scope-content[inert]{pointer-events:none;-webkit-user-select:none;user-select:none;visibility:hidden}.workspace-scope[aria-busy=true]{min-height:calc(100dvh - 160px)}.workspace-scope-loading{background:var(--surface-base);border:1px solid var(--border-subtle);color:var(--text-secondary);z-index:1;border-radius:9px;padding:13px 18px;font-size:13px;position:absolute;top:120px;left:50%;transform:translate(-50%)}@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{color:#202629;font-synthesis:none;text-rendering:optimizelegibility;--surface-canvas:#f5f7f8;--surface-base:#fff;--surface-subtle:#f1f4f5;--surface-hover:#edf1f2;--surface-row-hover:color-mix(in srgb,var(--text-primary) 2.5%,var(--surface-base));--text-primary:#202629;--text-secondary:#59656b;--text-muted:#657178;--border-subtle:#e4e9ec;--border-control:#87959e;--focus-ring:#146c43;--brand-50:#edf9df;--brand-100:#e0f4c2;--brand-500:#1f9d55;--brand-600:#157a40;--brand-700:#0e5a2e;--accent:#c5f94b;--success-bg:#dcf6e6;--success-fg:#0d6335;--warning-bg:#fff1c7;--warning-fg:#7a4b00;--attendance-excused-bg:#fff0df;--attendance-excused-fg:#98430b;--danger-bg:#ffe1df;--danger-fg:#a12622;--info-bg:#def;--info-fg:#075a9f;--neutral-bg:#e8ece9;--neutral-fg:#435047;--action-positive-bg:#c5f94b;--action-positive-fg:#202629;--action-danger-hover-bg:var(--danger-fg);--action-danger-hover-fg:#fff;--logo-accent:#c5f94b;--sidebar-bg:#202629;--sidebar-text:#c9d0d4;background:#f5f7f8;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}button:focus-visible{z-index:3;position:relative}button svg{flex-shrink:0}button{transition:background-color .14s,border-color .14s,color .14s}[hidden]{display:none!important}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text-primary)}svg{vertical-align:middle;flex-shrink:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--text-primary);padding:15px;position:fixed;top:-80px;left:250px}.skip-link:focus{top:12px}.muted{color:var(--text-secondary)}.eyebrow{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.brand{color:var(--text-primary);flex-shrink:0;align-items:center;line-height:0;display:inline-flex}.brand-logo{width:148px;height:auto;display:block;overflow:visible}.brand-logo-accent{fill:var(--logo-accent)}.brand--compact .brand-logo{width:31px}.app-shell{min-height:100vh}.sidebar{background:var(--sidebar-bg);width:224px;color:var(--sidebar-text);z-index:8;flex-direction:column;padding:29px 16px 15px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar>.brand{color:#fff;margin-bottom:40px;padding:0 9px}.sidebar-section-label{letter-spacing:.09em;text-transform:uppercase;color:#a2adb4;margin-bottom:14px;padding:0 13px;font-size:10px}.sidebar nav{gap:5px;display:grid}.nav-item{text-align:left;width:100%;color:var(--sidebar-text);background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;min-height:46px;padding:0 13px;font-size:13px;display:flex}.nav-item:hover:not(:disabled){color:#fff;background:#31393e}.nav-item--active,.nav-item--active:hover:not(:disabled){background:var(--accent);color:#1b2427;font-weight:600}.nav-item:disabled{color:#96a2aa}.nav-badge{background:#00000014;border-radius:6px;place-items:center;width:21px;height:21px;margin-left:auto;font-size:11px;display:grid}.nav-separator{background:#3b454b;height:1px;margin:14px 12px}.sidebar-footer{margin-top:auto;padding-top:40px}.school-identity{border-top:1px solid #3b454b;align-items:center;gap:10px;margin-top:13px;padding:18px 7px;display:flex}.school-identity strong,.sidebar-user strong{color:#edf1f3;font-size:11px;font-weight:550;display:block}.school-identity small,.sidebar-user small{color:#aeb8be;margin-top:5px;font-size:10px;display:block}.school-avatar{background:#333d43;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.sidebar-user{border-top:1px solid #3b454b;align-items:center;gap:10px;padding:17px 7px 3px;display:flex}.sidebar-user .avatar{color:#e4f1e2;background:#48534e;border:2px solid #65726a}.workspace{max-width:1860px;margin-left:224px;padding:0 28px 20px}.topbar{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;height:78px;margin-bottom:20px;display:flex}.workspace-context{align-items:center;gap:11px;font-size:12px;font-weight:550;display:flex}.context-dot{background:var(--brand-700);border-radius:50%;width:7px;height:7px}.context-separator{color:#9ba5aa;margin:0 2px}.topbar-controls{align-items:center;gap:14px;display:flex}.mode-picker{color:var(--text-secondary);align-items:center;gap:9px;font-size:11px;display:flex}.mode-picker select{background:var(--surface-base);border:1px solid var(--border-subtle);max-width:185px;min-height:36px;color:var(--text-primary);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23202629' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px;border-radius:8px;padding:0 34px 0 12px;font-size:12px}.mobile-brand{display:none}.avatar{color:#43555c;background:#e8eef0;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:600;display:inline-grid}.button-icon{width:36px;min-height:36px;color:var(--text-secondary);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.button-icon:hover,.button-icon.is-active{color:var(--text-primary);background:var(--surface-subtle)}.demo-notice{color:var(--text-secondary);align-items:center;gap:10px;margin:0 0 27px;font-size:11px;line-height:1.6;display:flex}.demo-label{color:#48565e;white-space:nowrap;background:#e7ecef;border-radius:5px;padding:3px 7px;font-weight:600}.theme-settings{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:17px 20px;display:flex}.theme-settings strong{font-size:14px}.theme-settings p{color:var(--text-secondary);margin:5px 0 0;font-size:12px}.theme-settings .field{min-width:200px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.breadcrumb{color:var(--text-secondary);margin-bottom:8px;font-size:11px;line-height:1.5}.breadcrumb span{color:#89949b;margin:0 6px}.page-heading h1{letter-spacing:-.95px;margin:0;font-size:28px;font-weight:700;line-height:1.25}.heading-actions{align-items:center;gap:12px;display:flex}.page-date{color:var(--text-secondary);font-size:12px}.primary,.secondary,.primary-dark,.text-button,.danger{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:40px;padding:0 14px;font-size:12px;font-weight:550;display:inline-flex}.primary{background:var(--action-positive-bg);color:var(--action-positive-fg);border:1px solid #0000}.primary:hover:not(:disabled){filter:brightness(.96)}.primary-dark{color:#fff;background:#202629;border:1px solid #202629}.primary-dark:hover{background:#384247}.secondary{background:var(--surface-base);border:1px solid var(--border-subtle);color:var(--text-primary)}.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-control)}.primary:disabled,.secondary:disabled{opacity:.5}.text-button{min-height:32px;color:var(--brand-700);background:0 0;border:0;padding:0}.segmented{background:#e9edf0;border-radius:9px;gap:3px;padding:3px;display:flex}.segmented button{min-height:33px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:11px;display:flex}.segmented .selected{color:#fff;background:#202629;box-shadow:0 1px 3px #17212b12}.filterbar{flex-wrap:wrap;align-items:center;gap:11px;margin-bottom:20px;display:flex}.filter-select{background:var(--surface-base);border:1px solid var(--border-subtle);min-height:38px;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.filter-select select{color:var(--text-primary);background:0 0;border:0;max-width:185px;font-size:12px}.date-control{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:8px;align-items:center;display:flex}.date-control>span{text-align:center;text-transform:capitalize;min-width:131px;font-size:12px;font-weight:500}.search-field{background:var(--surface-base);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:7px;min-height:38px;margin-left:auto;padding:0 10px;display:flex}.search-field input{width:150px;color:var(--text-primary);background:0 0;border:0;min-width:0;font-size:11px}.search-field input::placeholder{color:var(--text-secondary)}.search-field .button-icon{width:23px;min-height:28px}.group-tabs{gap:8px;margin-bottom:26px;padding:3px 0;display:flex;overflow-x:auto}.group-tabs button{white-space:nowrap;border:1px solid var(--border-subtle);min-height:37px;color:var(--text-secondary);background:var(--surface-base);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.group-tabs .selected{background:var(--brand-50);border-color:var(--brand-100);color:var(--text-primary);font-weight:600}.tab-count{color:var(--text-secondary);font-size:10px}.group-dot{background:var(--brand-500);border-radius:50%;width:6px;height:6px;display:inline-block}.group-dot--blue{background:#3870be}.group-dot--orange{background:#cc783e}.group-dot--violet{background:#8a63c0}.journal-meta{justify-content:space-between;gap:15px;margin-bottom:11px;font-size:11px;display:flex}.journal-meta strong{margin-right:6px;font-size:12px;font-weight:600}.journal-scroll{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;max-width:100%;overflow:auto}.journal-table{border-spacing:0;border-collapse:separate;width:100%;min-width:1050px;font-size:11px}.journal-table caption{text-align:left}.journal-table th,.journal-table td{text-align:center;vertical-align:middle;border-bottom:1px solid var(--border-subtle);border-right:1px solid #f0f3f4;height:62px;padding:0}.journal-table thead th{height:68px;color:var(--text-primary);background:#fbfcfd;min-width:47px;font-weight:600}.journal-table thead th>span{margin-bottom:3px;font-size:12px;display:block}.journal-table th>small{color:var(--text-secondary);font-size:10px;font-weight:400;display:block}.journal-table th>em{margin-top:3px;font-size:8px;font-style:normal;font-weight:500;display:block}.journal-table tbody tr:last-child>*{border-bottom:0}.journal-table tbody tr:hover>*{background:var(--surface-row-hover)}.journal-table .student-col{text-align:left;z-index:2;width:207px;min-width:207px;box-shadow:1px 0 0 var(--border-subtle);background:#fff;padding:0 15px;position:sticky;left:0}.journal-table thead .student-col{background:#fbfcfd}.journal-table tbody .student-col{white-space:nowrap;font-size:11px;font-weight:500}.student-col .avatar{width:31px;height:31px;margin-right:10px;font-size:10px}.total-col{font-variant-numeric:tabular-nums;width:45px;min-width:45px}.journal-table .total-col:last-child{width:67px;min-width:67px}.journal-table .today-col{background:var(--brand-50)}.journal-table .cancelled-col{color:var(--warning-fg)}.journal-table th.cancelled-col{background:#fffaf0}.cell-button{width:100%;height:100%;min-height:44px;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.cell-button:hover{background:var(--brand-100)}.cell-button.is-selected{background:var(--brand-100);box-shadow:inset 0 0 0 1.5px var(--brand-700);border-radius:7px}.mark{border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:17px;line-height:1;display:inline-flex}.mark--present{background:var(--success-fg);color:#fff}.mark--absent{color:#943522;background:#ffddd4}.mark--unmarked{background:0 0;border:1px solid #82929b}.mark--cancelled{color:var(--warning-fg);font-size:15px}.mark--future{color:#b7c1c7;font-size:24px}.journal-legend{flex-wrap:wrap;align-items:center;gap:20px;margin:18px 2px 25px;display:flex}.journal-legend>span{color:var(--text-secondary);align-items:center;gap:7px;font-size:10px;display:flex}.journal-legend .mark{width:16px;height:16px}.cell-detail{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;justify-content:space-between;align-items:center;gap:17px;padding:17px 20px;display:flex}.cell-detail>div{min-width:0}.cell-detail strong{font-size:11px;font-weight:550;display:block}.cell-detail small{color:var(--text-secondary);margin-bottom:6px;font-size:10px;line-height:1.5;display:block}.detail-person{align-items:center;gap:11px;display:flex}.detail-person .avatar{width:39px;height:39px;font-size:12px}.detail-person strong{margin-bottom:4px;font-size:13px}.detail-person small{margin-bottom:0}.cell-detail .detail-mark{align-items:center;gap:7px;display:flex}.cell-detail .mark{width:14px;height:14px}.calendar-all{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.calendar-all input{accent-color:var(--brand-700)}.calendar-layout{grid-template-columns:minmax(0,1fr) 233px;gap:15px;display:grid}.calendar-scroll{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;overflow:auto}.week-calendar{min-width:720px}.week-heading{border-bottom:1px solid var(--border-subtle);grid-template-columns:44px repeat(5,minmax(0,1fr));display:grid}.week-day{text-align:center;justify-content:center;align-items:center;gap:7px;padding:12px;display:flex}.week-day small{color:var(--text-secondary);text-transform:capitalize;font-size:11px}.week-day strong{font-size:13px;font-weight:600}.week-day.is-today{background:var(--brand-50)}.week-day.is-today strong{background:var(--accent);color:var(--text-primary);border-radius:7px;padding:6px}.week-body{grid-template-columns:44px repeat(5,minmax(0,1fr));height:475px;display:grid}.time-gutter{padding-top:1px}.time-gutter span{height:93px;color:var(--text-secondary);text-align:center;padding:9px 2px 0;font-size:9px;display:block}.week-column{border-left:1px solid var(--border-subtle);background:repeating-linear-gradient(#0000 0 92px,#e9edef 92px 93px);position:relative}.calendar-event{border:1px solid #0000;border-left:3px solid var(--event-border,#4177b9);text-align:left;color:var(--text-primary);border-radius:7px;flex-direction:column;align-items:flex-start;gap:5px;padding:9px 6px;font-size:10px;display:flex;position:absolute;left:5px;right:5px;overflow:hidden}.calendar-event strong{font-size:11px}.calendar-event>span{font-size:9px}.calendar-event .event-time{font-size:9px;font-weight:500}.calendar-event em{background:#fff9;border-radius:4px;padding:3px 5px;font-size:8px;font-style:normal;font-weight:600}.calendar-event.is-selected{box-shadow:0 0 0 1.5px var(--brand-700)}.group-color--blue{--event-border:#4379bf;color:#244d83;background:#eaf2ff}.group-color--orange{--event-border:#d6854d;color:#82471d;background:#fff0e4}.group-color--violet{--event-border:#9271cf;color:#6c45a3;background:#f0eafe}.session-inspector{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;align-self:start;padding:20px 16px}.session-inspector h2{letter-spacing:-.4px;margin:11px 0 7px;font-size:18px}.inspector-time{color:var(--text-secondary);font-size:12px}.status{white-space:nowrap;border-radius:6px;align-items:center;padding:4px 8px;font-size:10px;font-weight:550;display:inline-flex}.status--success{color:var(--success-fg);background:var(--success-bg)}.status--warning{color:var(--warning-fg);background:var(--warning-bg)}.status--danger{color:var(--danger-fg);background:var(--danger-bg)}.status--info{color:var(--info-fg);background:var(--info-bg)}.status--neutral{color:var(--neutral-fg);background:var(--neutral-bg)}.session-inspector dl{border-top:1px solid var(--border-subtle);margin-top:22px;padding:15px 0 0}.session-inspector dl div{margin:0 0 17px}.session-inspector dt{color:var(--text-secondary);align-items:center;gap:7px;font-size:10px;display:flex}.session-inspector dd{margin:5px 0 0 24px;font-size:12px;font-weight:500}.session-inspector .primary-dark{width:100%;margin:4px 0 15px}.inspector-note{margin:0;font-size:10px;line-height:1.7}.directory{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;overflow:hidden}.directory-head,.directory-row{grid-template-columns:1.2fr 1fr 1.2fr;align-items:center;gap:15px;width:100%;padding:16px 20px;display:grid}.directory-head{background:var(--surface-subtle);color:var(--text-secondary);font-size:11px}.directory-row{border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface-base);text-align:left;min-height:64px;font-size:11px}.directory-row:hover{background:var(--surface-row-hover)}.directory-row>span{align-items:center;gap:10px;display:flex}.directory-row>span:last-child{color:var(--text-secondary);justify-content:space-between}.directory-row strong{font-weight:500}.groups-directory{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.group-summary{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;padding:22px}.group-summary-icon{border-radius:12px;place-items:center;width:45px;height:45px;margin-bottom:22px;display:grid}.group-summary h2{margin-bottom:7px;font-size:20px}.group-summary p{color:var(--text-secondary);font-size:11px}.group-summary dl{border-top:1px solid var(--border-subtle);margin-top:20px;padding:17px 0}.group-summary dl div{justify-content:space-between;gap:14px;margin-bottom:14px;font-size:11px;display:flex}.group-summary dt{color:var(--text-secondary)}.group-summary dd{margin:0}.group-summary .secondary{width:100%}.mobile-nav{display:none}.empty-state{text-align:center;background:var(--surface-base);border:1px dashed var(--border-subtle);border-radius:12px;padding:55px 20px}.empty-state>svg{color:var(--text-secondary);margin-bottom:15px}.empty-state h2{margin:0 0 8px;font-size:17px}.empty-state p{color:var(--text-secondary);font-size:12px;line-height:1.6}.local-notice{background:var(--success-bg);color:var(--success-fg);border-radius:8px;align-items:center;gap:8px;margin:0 0 15px;padding:8px 12px;font-size:12px;display:flex}.local-notice .button-icon{margin-left:auto}.field{color:var(--text-secondary);gap:7px;font-size:12px;display:grid}.field input,.field select{border:1px solid var(--border-control);background:var(--surface-base);width:100%;color:var(--text-primary);border-radius:8px;min-height:42px;padding:10px 12px}.field strong{color:var(--text-primary);padding:10px 0;font-size:14px;font-weight:550}.form-dialog{border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);border-radius:16px;width:min(480px,100% - 24px);padding:24px;box-shadow:0 16px 60px #17242c30}.form-dialog::backdrop{background:#14212870}.form-dialog header{justify-content:space-between;align-items:center;gap:15px;display:flex}.form-dialog h2{margin:7px 0 12px;font-size:21px}.form-dialog form{gap:18px;margin-top:20px;display:grid}.dialog-note{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.7}.form-dialog footer{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.form-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-error{color:var(--danger-fg);margin:0;font-size:12px}.state{max-width:560px;margin:12vh auto;padding:32px}.state>.brand{color:var(--text-primary);margin-bottom:25px}.state h1{font-size:26px}.state--error{border:1px solid var(--danger-fg);background:#fff;border-radius:15px}.skeleton{background:#e1e7e8;border-radius:8px;height:40px;margin-top:20px;animation:1.4s infinite pulse}.skeleton--short{width:65%}@keyframes pulse{50%{opacity:.5}}@media (width>=1600px){.workspace{padding-left:40px;padding-right:40px}.journal-table th,.journal-table td{height:68px}.journal-table .student-col{width:245px;min-width:245px}.journal-table tbody .student-col{font-size:12px}.journal-table .student-col .avatar{width:35px;height:35px}}@media (width<=1200px){.workspace{padding-left:20px;padding-right:20px}.filterbar{gap:8px}.search-field{margin-left:0}.heading-actions{gap:8px}.page-heading h1{font-size:25px}.calendar-layout{grid-template-columns:minmax(0,1fr)}.session-inspector{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.session-inspector .eyebrow{width:100%}.session-inspector h2,.session-inspector p,.session-inspector dl{margin:0}.session-inspector dl{border:0;gap:20px;width:100%;padding:0;display:flex}.session-inspector dl div{margin:0}.session-inspector .primary-dark{width:auto;margin:0}.session-inspector .inspector-note{flex:1}}@media (width<=900px){.sidebar{display:none}.workspace{margin-left:0;padding:0 20px 100px}.topbar{height:74px}.workspace-context{display:none}.mobile-brand{display:block}.mobile-brand .brand-logo{width:110px}.mobile-nav{z-index:10;border-top:1px solid var(--border-subtle);background:var(--surface-base);padding:8px 12px max(8px,env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-height:48px;color:var(--text-secondary);background:0 0;border:0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;display:flex}.mobile-nav button.selected{background:var(--brand-50);color:var(--brand-700)}.groups-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.group-summary:last-child{grid-column:1/-1}.topbar-avatar{display:none}}@media (width<=560px){.workspace{padding:0 14px 95px}.topbar{height:67px;margin-bottom:15px}.topbar-controls{gap:3px}.mode-picker>span{display:none}.mode-picker select{max-width:143px;min-height:38px;font-size:11px}.brand{gap:8px}.mobile-brand .brand-logo{width:110px}.theme-toggle{width:33px}.demo-notice{align-items:flex-start;gap:7px;margin-bottom:23px;font-size:10px}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:17px;margin-bottom:20px}.page-heading h1{font-size:25px}.heading-actions{justify-content:space-between;gap:7px;width:100%}.segmented button{gap:5px;min-height:37px;padding:0 8px;font-size:10px}.primary,.secondary,.primary-dark{min-height:44px;padding:0 11px;font-size:11px}.breadcrumb{font-size:10px}.filterbar{gap:8px}.filter-select{flex:1;min-height:42px;padding:0 8px}.filter-select select{width:100%;max-width:128px;font-size:11px}.date-control{flex:1;min-height:42px}.date-control>span{width:100%;min-width:130px;font-size:11px}.date-control .button-icon{min-height:40px}.search-field{flex:1;min-height:42px;padding:0 8px}.search-field input{width:100%;font-size:11px}.group-tabs{margin-bottom:18px;margin-right:-14px;padding-right:14px}.group-tabs button{gap:6px;min-height:42px;padding:0 10px;font-size:11px}.tab-count{display:none}.journal-meta{flex-direction:column;gap:5px;margin-bottom:10px}.journal-meta .muted{font-size:10px}.journal-table{min-width:940px}.journal-table .student-col{width:160px;min-width:160px;padding:0 9px}.journal-table tbody .student-col{font-size:10px}.student-col .avatar{width:25px;height:25px;margin-right:6px;font-size:9px}.journal-table td,.journal-table th{height:59px}.journal-table thead th{min-width:44px}.journal-legend{gap:12px 15px;margin:15px 0 19px}.journal-legend>span{gap:5px;font-size:9px}.cell-detail{flex-wrap:wrap;gap:18px;padding:15px}.cell-detail .detail-person{width:100%}.cell-detail>div:not(.detail-person){flex:1}.cell-detail .secondary{width:100%}.calendar-layout{gap:12px}.week-calendar{min-width:650px}.calendar-all{min-height:35px}.session-inspector{padding:18px}.session-inspector dl{flex-wrap:wrap;gap:16px}.session-inspector .inspector-note{flex-basis:100%}.session-inspector .primary-dark{width:100%}.groups-directory{grid-template-columns:1fr}.group-summary:last-child{grid-column:auto}.directory-head{display:none}.directory-row{grid-template-columns:1fr auto;gap:6px;padding:14px}.directory-row>span:last-child{grid-column:1/-1;margin-left:44px;font-size:10px}.directory-row>span:nth-child(2){font-size:10px}.directory-row strong{font-size:11px}.theme-settings{flex-direction:column;align-items:flex-start;gap:13px;padding:15px}.theme-settings .field{width:100%}.form-dialog{padding:20px}.page-date{margin-top:7px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}.topbar{height:68px;margin-bottom:16px}.demo-notice,.page-heading{margin-bottom:20px}.filterbar{margin-bottom:16px}.group-tabs{margin-bottom:18px}.journal-table th,.journal-table td{height:54px}.journal-table thead th{height:62px}.journal-table .student-col{width:225px;min-width:225px}.journal-table tbody .student-col,.journal-table .total-col{font-size:12px}.journal-legend{margin-top:16px;margin-bottom:18px}.cell-detail{padding:15px 18px}.cell-detail strong{font-size:12px}.journal-scroll-hint{display:none}@media (width<=560px){.topbar{height:67px;margin-bottom:15px}.demo-notice{margin-bottom:23px}.journal-table .student-col{width:185px;min-width:185px}.journal-table tbody .student-col{font-size:12px}.journal-table .student-col .avatar{width:26px;height:26px}.journal-table th,.journal-table td{height:59px}.journal-scroll-hint{color:var(--text-secondary);align-items:center;gap:6px;margin:8px 0 0;font-size:11px;display:flex}.coach-student__identity strong{font-size:15px}.coach-parent-reply{font-size:12px}.coach-attendance-button,.parent-child-tab strong{font-size:14px}.parent-reply-button{font-size:15px}}.primary-dark:disabled{opacity:.5;cursor:not-allowed}@media (width<=560px){.filter-select{flex:calc(50% - 4px);min-width:calc(50% - 4px)}.date-control,.search-field{flex:150px}.coach-session{padding:17px}.coach-session h2{margin:14px 0 10px;font-size:23px}.coach-session__branch{margin:8px 0 12px;font-size:12px}.coach-session__stats{padding-top:12px}.coach-session__stats strong{font-size:22px}.coach-session__stats span{margin-top:3px}}.filterbar--journal{flex-wrap:nowrap;margin-left:-3px;margin-right:-3px;padding:4px 3px;overflow-x:auto}.filterbar--journal>*{flex-shrink:0}.filterbar--journal .group-tabs--inline{flex:none;gap:6px;margin:0;padding:0;overflow:visible}.filterbar--journal .group-tabs--inline button{min-height:38px}.filterbar--journal .filter-select,.filterbar--journal .date-control,.filterbar--journal .search-field{flex:none}@media (width<=560px){.filterbar--journal .filter-select{flex:none;min-width:112px}.filterbar--journal .date-control{flex:none;min-width:190px}.filterbar--journal .search-field{flex:0 0 180px}.filterbar--journal .group-tabs--inline{margin:0;padding:0}.filterbar--journal .group-tabs--inline button{min-height:44px}}button.danger{background:var(--surface-base);border:1px solid var(--border-subtle);color:var(--text-primary)}button.danger:disabled{opacity:.5}button.danger.text-button{padding-inline:8px}button.danger:focus-visible{outline-color:var(--action-danger-hover-bg)}button.danger:active:not(:disabled){background:var(--action-danger-hover-bg);border-color:var(--action-danger-hover-bg);color:var(--action-danger-hover-fg)}@media (hover:hover){button.danger:hover:not(:disabled){background:var(--action-danger-hover-bg);border-color:var(--action-danger-hover-bg);color:var(--action-danger-hover-fg)}}@media (prefers-reduced-motion:reduce){button{transition:none}}.coach-layout,.parent-layout{width:100%;min-width:0}.coach-layout{grid-template-columns:minmax(240px,310px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.coach-session,.coach-attendance,.parent-next-training,.parent-subscription,.parent-announcement{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:18px;min-width:0}.coach-session{padding:24px;position:sticky;top:24px}.coach-session__heading,.parent-card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.coach-session__heading{flex-wrap:wrap}.coach-session h2{letter-spacing:-.7px;margin:24px 0 18px;font-size:26px;line-height:1.2}.coach-session__details{color:var(--text-primary);gap:12px;font-size:14px;display:grid}.coach-session__details span,.parent-location{align-items:center;gap:8px;display:flex}.coach-session__details svg,.parent-location svg,.coach-fact-note svg{width:18px;height:18px;color:var(--text-secondary);flex-shrink:0}.coach-session__branch{color:var(--text-secondary);margin:12px 0 22px;font-size:13px}.coach-session__stats{border-top:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;gap:20px 16px;padding-top:20px;display:grid}.coach-session__stats strong{letter-spacing:-1px;font-size:28px;line-height:1.15;display:block}.coach-session__stats span{color:var(--text-secondary);margin-top:5px;font-size:12px;display:block}.coach-attendance__header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.coach-attendance__header h2{letter-spacing:-.35px;margin:0 0 6px;font-size:19px}.coach-attendance__header p{color:var(--text-secondary);margin:0;font-size:13px}.coach-attendance__header .secondary{white-space:nowrap}.coach-attendance__header button svg,.coach-save-bar button svg{width:18px;height:18px}.coach-student{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.coach-student__identity{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.coach-student__identity>div{min-width:0}.coach-student__identity strong{overflow-wrap:anywhere;font-size:14px;line-height:1.5;display:block}.coach-student__avatar{background:var(--surface-subtle);width:40px;height:40px;color:var(--text-secondary);border-radius:13px;flex-shrink:0;font-size:12px}.coach-parent-reply{color:var(--text-primary);margin-top:3px;font-size:12px;line-height:1.45;display:block}.coach-parent-reply>span{color:var(--text-secondary)}.coach-student__fact{display:none}.coach-attendance-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.coach-attendance-button{background:var(--surface-base);border:1px solid var(--border-control);min-height:44px;color:var(--text-secondary);border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:12px;font-weight:650;display:inline-flex}.coach-attendance-button svg{width:15px;height:15px}.coach-attendance-button--present.is-selected{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-fg)}.coach-attendance-button--absent.is-selected{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-fg)}.coach-reset{background:var(--surface-base);border-color:var(--border-subtle);min-width:44px;min-height:44px}.coach-reset svg{width:16px;height:16px}.coach-reset:disabled{opacity:.35;cursor:default}.coach-fact-note{color:var(--text-secondary);background:var(--surface-subtle);gap:9px;margin:0;padding:16px 24px;font-size:12px;line-height:1.6;display:flex}.coach-save-bar{border-top:1px solid var(--border-subtle);background:var(--surface-base);border-radius:0 0 18px 18px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.coach-save-bar strong,.coach-save-bar span{display:block}.coach-save-bar strong{font-size:13px}.coach-save-bar span{color:var(--text-secondary);margin-top:5px;font-size:11px}.coach-save-bar .primary{white-space:nowrap;min-height:46px}.parent-child-tabs{gap:12px;margin-bottom:24px;display:flex}.parent-child-tab{border:1px solid var(--border-subtle);background:var(--surface-base);text-align:left;min-width:180px;min-height:76px;color:var(--text-primary);border-radius:13px;align-items:center;gap:12px;padding:16px;display:flex}.parent-child-tab.is-selected{border-color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--text-primary)}.parent-child-tab>span:nth-child(2){flex:1;min-width:0}.parent-child-tab strong{font-size:14px;display:block}.parent-child-tab small{color:var(--text-secondary);margin-top:5px;font-size:12px;display:block}.parent-child-tab>svg{width:16px;height:16px;color:var(--text-primary);flex-shrink:0}.parent-child-avatar{background:var(--surface-subtle);width:38px;height:38px;color:var(--text-secondary);border-radius:12px;flex-shrink:0}.parent-child-tab.is-selected .parent-child-avatar{background:var(--accent);color:var(--text-primary)}.parent-content-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);align-items:start;gap:24px;display:grid}.parent-next-training{padding:28px}.parent-card-heading>svg{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.parent-training-time{margin-top:28px}.parent-training-time>span{color:var(--text-secondary);font-size:14px;font-weight:550}.parent-training-time h2{letter-spacing:-2px;margin:5px 0 22px;font-size:46px;line-height:1.12}.parent-next-training>h3{letter-spacing:-.3px;margin:0 0 12px;font-size:18px}.parent-location{color:var(--text-secondary);flex-wrap:wrap;column-gap:7px;margin:0 0 28px;font-size:13px;line-height:1.6}.parent-location>span{font-size:12px}.parent-reply-box{border-top:1px solid var(--border-subtle);padding-top:24px}.parent-reply-heading strong{font-size:15px;display:block}.parent-reply-heading span{color:var(--text-secondary);margin-top:6px;font-size:12px;display:block}.parent-reply-actions{gap:10px;margin-top:16px;display:flex}.parent-reply-button{border:1px solid var(--border-control);min-height:48px;color:var(--text-primary);background:var(--surface-base);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:650;display:flex}.parent-reply-button>svg{width:18px;height:18px}.parent-reply-button--going.is-selected{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-fg)}.parent-reply-button--absent.is-selected{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-fg)}.parent-reply-state{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;margin:12px 0 0;font-size:12px;line-height:1.5;display:flex}.parent-reply-state .text-button{min-height:44px;padding:0 8px}.parent-disclaimer{color:var(--text-secondary);margin:12px 0 0;font-size:11px;line-height:1.6}.parent-secondary-cards{gap:20px;display:grid}.parent-subscription,.parent-announcement{padding:24px}.parent-subscription h3{letter-spacing:-.5px;margin:24px 0 14px;font-size:21px;line-height:1.4}.parent-subscription p{color:var(--text-secondary);margin:18px 0 0;font-size:12px;line-height:1.6}.parent-announcement>p{margin:20px 0;font-size:14px;line-height:1.75}.parent-announcement__source{color:var(--text-secondary);font-size:12px}@media (width<=1200px){.coach-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:18px}.coach-student{display:block}.coach-attendance-actions{margin-top:14px;margin-left:52px}.coach-student__fact{color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:11px;display:block}.coach-student--present .coach-student__fact{color:var(--success-fg)}.coach-student--absent .coach-student__fact{color:var(--danger-fg)}}@media (width<=900px){.coach-layout{grid-template-columns:1fr}.coach-session{position:static}.coach-session h2{margin-top:20px}.coach-session__stats{grid-template-columns:repeat(4,1fr)}.coach-session__details{flex-wrap:wrap;gap:12px 22px;display:flex}.parent-content-grid{grid-template-columns:minmax(0,1fr)}.parent-secondary-cards{grid-template-columns:1fr 1fr}}@media (width<=560px){.coach-layout{gap:16px}.coach-session{border-radius:15px;padding:20px}.coach-session h2{margin:20px 0 16px;font-size:24px}.coach-session__stats{gap:12px}.coach-session__stats strong{font-size:24px}.coach-session__stats span{font-size:10px;line-height:1.5}.coach-attendance{border-radius:15px}.coach-attendance__header{align-items:flex-start;gap:10px;padding:20px 16px}.coach-attendance__header h2{font-size:16px}.coach-attendance__header p{max-width:150px;font-size:11px;line-height:1.5}.coach-attendance__header .secondary{min-height:44px;padding:0 10px;font-size:11px}.coach-student{padding:18px 16px}.coach-student__identity{gap:10px}.coach-student__identity strong{font-size:14px}.coach-student__fact{display:none}.coach-parent-reply{font-size:11px}.coach-attendance-actions{gap:8px;margin-left:50px}.coach-attendance-button{flex:1;min-height:46px;padding:0 10px;font-size:12px}.coach-reset{min-height:46px}.coach-fact-note{padding:16px;font-size:11px}.coach-save-bar{z-index:3;border-radius:0 0 15px 15px;flex-wrap:wrap;gap:10px;padding:14px 16px;position:sticky;bottom:78px;box-shadow:0 -6px 18px #0000000d}.coach-save-bar>div{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.coach-save-bar span{text-align:right;margin:0;font-size:10px}.coach-save-bar .primary{width:100%;min-height:48px}.parent-child-tabs{gap:10px;margin-bottom:18px}.parent-child-tab{flex:1;gap:8px;min-width:0;min-height:70px;padding:13px 10px}.parent-child-tab strong{font-size:13px}.parent-child-tab small{font-size:10px}.parent-child-tab>svg{display:none}.parent-child-avatar{border-radius:10px;width:32px;height:32px;font-size:12px}.parent-next-training{border-radius:15px;padding:22px 20px}.parent-training-time{margin-top:22px}.parent-training-time h2{letter-spacing:-1.6px;margin-bottom:20px;font-size:42px}.parent-next-training>h3{font-size:17px}.parent-location{margin-bottom:22px}.parent-content-grid{gap:16px}.parent-secondary-cards{grid-template-columns:1fr;gap:16px}.parent-subscription,.parent-announcement{border-radius:15px;padding:22px 20px}.parent-subscription h3{margin-top:20px;font-size:20px}.parent-reply-box{padding-top:20px}.parent-reply-button{font-size:13px}.parent-reply-state{font-size:11px}.parent-card-heading .eyebrow{font-size:10px}}@media (prefers-reduced-motion:no-preference){.coach-attendance-button,.parent-reply-button,.parent-child-tab{transition:background-color .15s,border-color .15s,color .15s}}@media (width<=560px){.coach-session{padding:17px}.coach-session h2{margin:14px 0 10px;font-size:23px}.coach-session__branch{margin:8px 0 12px;font-size:12px}.coach-session__stats{padding-top:12px}.coach-session__stats strong{font-size:22px}.coach-session__stats span{margin-top:3px}.coach-student__identity strong{font-size:15px}.coach-parent-reply{font-size:12px}.coach-attendance-button,.parent-child-tab strong{font-size:14px}.parent-reply-button{font-size:15px}}.live-auth{place-items:center;min-height:100vh;padding:30px 20px;display:grid}.live-auth-card{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:16px;width:min(440px,100%);padding:32px}.live-auth-card>.brand{color:var(--text-primary);margin-bottom:28px}.live-auth-card h1{letter-spacing:-.8px;margin-bottom:8px;font-size:25px}.live-auth-card form{gap:17px;margin-top:25px;display:grid}.live-auth-card footer .primary{width:100%;margin-top:6px}.live-auth-links{text-align:left;gap:3px;margin-top:24px;display:grid}.live-auth-links .text-button{white-space:normal;justify-content:flex-start}.live-auth-card p{font-size:13px;line-height:1.6}.live-role-label{color:var(--text-secondary);font-size:12px}.live-error{background:var(--danger-bg);border-radius:9px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;padding:14px;display:flex}.live-loading{color:var(--text-secondary);padding:30px 0;font-size:13px}.live-empty{text-align:center;background:var(--surface-base);border:1px dashed var(--border-control);border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:45px 20px;display:flex}.live-empty svg{color:var(--text-secondary)}.live-empty p{max-width:450px;color:var(--text-secondary);margin:0;font-size:13px;line-height:1.7}.live-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px;display:grid}.live-card{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;min-width:0;padding:22px}.live-card h2{letter-spacing:-.5px;margin:8px 0 14px;font-size:20px}.live-card p{color:var(--text-secondary);overflow-wrap:anywhere;font-size:13px;line-height:1.7}.live-card-title{align-items:center;gap:10px;display:flex}.live-card-title h2{margin:0 0 8px}.live-group-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.live-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.live-subtitle{margin:30px 0 15px;font-size:19px}.live-table-wrap{border:1px solid var(--border-subtle);background:var(--surface-base);border-radius:12px;max-width:100%;overflow:auto}.live-table{border-collapse:separate;border-spacing:0;width:100%;min-width:600px;font-size:12px}.live-table th{text-align:left;background:var(--surface-subtle);color:var(--text-secondary);font-size:11px;font-weight:600}.live-table th,.live-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:16px}.live-table tbody tr:last-child td{border-bottom:0}.live-table tbody tr:hover{background:var(--surface-row-hover)}.live-table td strong{font-weight:550}.live-table small{color:var(--text-secondary);margin-top:6px;font-size:11px;display:block}.live-tag{background:var(--neutral-bg);border-radius:5px;margin:2px;padding:4px 7px;font-size:10px;display:inline-block}.live-plain-list{padding:0;font-size:13px;list-style:none}.live-plain-list li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.live-plain-list span{color:var(--text-secondary)}.live-checks{border:1px solid var(--border-subtle);border-radius:8px;gap:12px;padding:14px;font-size:12px;display:grid}.live-checks legend{color:var(--text-secondary)}.live-checks label,.live-check{align-items:center;gap:9px;font-size:12px;display:flex}.live-checks input,.live-check input{accent-color:var(--brand-700);width:16px;height:16px}.live-dialog{width:min(650px,100% - 24px);max-height:calc(100dvh - 32px);overflow:auto}.live-dialog textarea,.live-auth textarea{border:1px solid var(--border-control);resize:vertical;background:var(--surface-base);width:100%;color:var(--text-primary);border-radius:8px;padding:12px;font-size:12px;line-height:1.6}.live-dialog h3{margin-top:10px;font-size:16px}.journal-summary{justify-content:space-between;gap:12px;margin:12px 0;font-size:12px;display:flex}.journal-summary span{color:var(--text-secondary)}.live-journal{--journal-student-width:340px;--journal-date-width:64px}.live-journal .live-table{table-layout:fixed;min-width:calc(var(--journal-student-width) + var(--journal-column-count) * var(--journal-date-width))}.live-journal .journal-student-column{width:var(--journal-student-width)}.journal-student{white-space:normal;overflow-wrap:anywhere;align-items:center;gap:10px;min-width:0;display:flex}.journal-student>strong{flex:1;min-width:0;display:block}.live-journal .journal-student>.attendance-billing-summary{flex-direction:row;flex:none;align-items:center;max-width:none;margin-top:0}.live-journal .journal-student .attendance-billing-badge{white-space:nowrap}.live-journal th,.live-journal td{text-align:center;border-right:1px solid var(--border-subtle);min-width:58px;height:58px;padding:0}.live-journal th:first-child,.live-journal td:first-child{z-index:1;text-align:left;width:var(--journal-student-width);min-width:var(--journal-student-width);max-width:var(--journal-student-width);background:var(--surface-base);box-shadow:1px 0 var(--border-subtle);padding:15px;position:sticky;left:0}.live-journal th:first-child{background:var(--surface-subtle)}.live-today{background:var(--brand-50)!important}.live-date-button{width:100%;height:100%;color:var(--text-primary);background:0 0;border:0;padding:10px 8px;font-size:13px;font-weight:600}.live-date-button small{font-size:9px;font-weight:400}.live-mark{width:27px;height:27px;color:var(--text-secondary);background:0 0;border:0;border-radius:50%;place-items:center;font-size:20px;display:inline-grid}.live-mark--present{background:var(--success-fg);color:#fff}.live-mark--absent{background:var(--danger-bg);color:var(--danger-fg)}.live-mark--excused{background:var(--warning-bg);color:var(--warning-fg);font-size:11px}.live-mark--excluded{background:var(--neutral-bg);font-size:15px}.live-mark--cancelled{color:var(--warning-fg)}.live-calendar{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:repeat(7,minmax(130px,1fr));display:grid;overflow:auto}.live-calendar-day{border-right:1px solid var(--border-subtle);min-height:420px;padding:12px}.live-calendar-day:last-child{border-right:0}.live-calendar-day h2{text-align:center;text-transform:capitalize;margin:2px 0 22px;font-size:13px}.live-session{text-align:left;border:0;border-left:4px solid var(--session-status-fg);background:var(--session-status-bg);width:100%;color:var(--text-primary);border-radius:7px;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:12px;padding:14px 10px;font-size:11px;display:flex}.live-session strong{font-size:11px}.live-session span{font-size:13px;font-weight:600}.live-session small{font-size:10px}.live-session:hover{filter:brightness(.98)}.date-control>strong{text-transform:capitalize;text-align:center;min-width:140px;padding:0 10px;font-size:12px}.live-template-link{margin-top:18px}.live-template{border-bottom:1px solid var(--border-subtle);padding:17px 0;font-size:12px}.live-template p{color:var(--text-secondary);margin:8px 0}.live-session-meta{gap:8px;margin-bottom:22px;font-size:12px;display:grid}.live-session-meta span{color:var(--text-secondary)}.live-attendance-list{gap:10px;display:grid}.live-attendance-row{border-bottom:1px solid var(--border-subtle);gap:13px;padding:15px 0;font-size:13px;display:grid}.live-attendance-row small{color:var(--text-secondary);margin-top:7px;font-size:11px;line-height:1.7;display:block}.live-fact-options{flex-wrap:wrap;gap:6px;display:flex}.live-fact-options button{background:var(--surface-base);border:1px solid var(--border-control);min-height:40px;color:var(--text-secondary);border-radius:7px;padding:0 12px;font-size:12px}.live-fact-options button.selected{border-color:var(--brand-700);background:var(--brand-50);color:var(--brand-700);font-weight:600}.live-fact-options button:disabled{opacity:.6}.live-savebar{background:var(--surface-base);border-top:1px solid var(--border-subtle);z-index:2;margin-top:12px;padding:15px 0;position:sticky;bottom:-24px}.live-edit-section{border-top:1px solid var(--border-subtle);margin-top:22px;padding-top:15px}.live-demo-return{background:var(--warning-bg);color:var(--warning-fg);z-index:20;justify-content:flex-end;align-items:center;gap:20px;padding:8px 22px;font-size:12px;display:flex;position:sticky;top:0}.live-mobile-menu{display:none}@media (width<=900px){.live-app .live-mobile-nav{grid-template-columns:repeat(4,1fr)}.live-mobile-menu{z-index:15;border:1px solid var(--border-control);background:var(--surface-base);border-radius:14px;padding:15px;display:block;position:fixed;bottom:80px;left:14px;right:14px;box-shadow:0 10px 45px #20262925}.live-mobile-menu nav{gap:5px;display:grid}.live-mobile-menu .nav-item{color:var(--text-primary)}.live-mobile-menu .nav-item:hover{background:var(--surface-subtle)}.live-role-label{display:none}}@media (width<=560px){.live-auth{padding:16px}.live-auth-card{padding:24px}.live-app .page-heading>.live-actions{width:100%}.live-app .live-actions>.primary{flex:1}.live-card,.live-dialog{padding:18px}.journal-summary{flex-direction:column;font-size:11px}.live-journal{--journal-student-width:260px}.live-journal .journal-student>.attendance-billing-summary{flex-wrap:wrap;justify-content:flex-end;max-width:120px}.live-journal th:first-child,.live-journal td:first-child{padding:12px}.live-journal td:first-child{font-size:11px}.live-calendar{grid-template-columns:repeat(7,160px)}.live-calendar-day{min-height:360px}.live-fact-options button{min-height:44px;padding:0 10px}.live-demo-return{gap:8px;padding:8px;font-size:10px}.live-demo-return .secondary{font-size:10px}.live-savebar{bottom:-18px}.form-columns,.field,.field input,.field select{min-width:0}}.live-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 14px;display:flex}.live-section-heading h2{margin:0;font-size:19px}.live-fineprint{margin-top:15px;font-size:12px;line-height:1.7}.live-inline-card{margin-bottom:10px;font-size:13px}.live-prose{white-space:pre-wrap}.live-report-grid{margin:18px 0}.live-card>.field{margin:15px 0}.live-card textarea{border:1px solid var(--border-control);background:var(--surface-base);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;padding:12px;font-size:12px}.sidebar{overflow-y:auto}.sidebar .nav-item{min-height:39px}.sidebar-footer{padding-top:20px}.live-tag-action{min-height:26px;margin-left:7px;font-size:9px}.live-family-history{min-width:100%;font-size:11px}.live-family-history th,.live-family-history td{padding:13px 10px}.live-dialog>.muted,.live-dialog .live-savebar+.muted{font-size:12px;line-height:1.7}.live-app .skip-link{max-width:calc(100vw - 32px);left:16px}.live-school-contact{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:20px;padding:14px;font-size:12px;display:flex}.live-school-contact a{overflow-wrap:anywhere;white-space:normal}.live-app .field select,.live-app .filter-select select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2359656B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:38px}.live-app .filter-select select{background-position:right 4px center;min-height:36px;padding-right:28px}.journal-cancellations{color:var(--text-secondary);margin-top:18px;font-size:12px}.journal-cancellations summary{cursor:pointer;width:fit-content;padding:10px 0}.journal-session-list{gap:8px;margin-top:12px;display:grid}.journal-session-row{text-align:left;border:1px solid var(--border-control);background:var(--surface-base);width:100%;color:var(--text-primary);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 16px;font-size:12px;display:flex}.journal-session-row span,.journal-session-row small{color:var(--text-secondary)}.journal-session-row small{overflow-wrap:anywhere;flex-basis:100%}.journal-session-row:hover{border-color:var(--text-secondary)}.live-dialog .form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.live-dialog .form-actions .form-action-start{margin-right:auto}.live-dialog .form-actions--danger{justify-content:flex-start}.live-dialog .form-actions>button{white-space:normal;min-height:44px}.live-journal td.journal-student-cell{padding:0}.journal-student-open{width:100%;height:100%;min-height:58px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;padding:15px}.journal-student-open:hover{background:var(--brand-50)}.journal-student-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}@media (width<=560px){.journal-student-open{padding:12px}}.schedule-session-card{--session-status-bg:var(--info-bg);--session-status-fg:var(--info-fg)}.schedule-session-card[data-session-status=completed]{--session-status-bg:var(--success-bg);--session-status-fg:var(--success-fg)}.schedule-session-card[data-session-status=cancelled]{--session-status-bg:var(--danger-bg);--session-status-fg:var(--danger-fg)}.schedule-session-group{align-items:center;gap:7px;display:inline-flex}.schedule-session-group>i{background:var(--schedule-group-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.journal-session-row.schedule-session-card{border-left:4px solid var(--session-status-fg);background:var(--session-status-bg)}.journal-session-row.schedule-session-card:hover{background:color-mix(in srgb,var(--session-status-bg) 94%,var(--text-primary))}.journal-session-row.schedule-session-card>span{color:var(--session-status-fg)}@media (width<=767px){.live-app .live-dialog :is(.form-actions,.weekly-form-actions,.history-restore-actions,.history-restore-discard-actions,.subscription-edit-actions,.account-access-actions,.account-issued-actions,.guardian-card-footer,.attendance-cancel-actions,.student-card-actions-buttons,.session-schedule-actions,.series-manager .series-item-actions:not(.weekly-summary-actions),.group-roster-retry,.test-lab-reset-actions),.live-app .live-dialog :is(.guardian-card-discard,.student-create-discard,.student-card-discard,.schedule-delete-confirm)>div,.live-app .live-dialog .group-roster-confirm>div:last-child{flex-wrap:wrap;justify-content:flex-start;align-items:stretch;gap:10px;min-width:0;display:flex}.live-app .live-dialog :is(.form-actions,.weekly-form-actions,.history-restore-actions,.history-restore-discard-actions,.subscription-edit-actions,.account-access-actions,.account-issued-actions,.guardian-card-footer,.attendance-cancel-actions,.student-card-actions-buttons,.session-schedule-actions,.series-manager .series-item-actions:not(.weekly-summary-actions),.group-roster-retry,.test-lab-reset-actions)>button,.live-app .live-dialog :is(.guardian-card-discard,.student-create-discard,.student-card-discard,.schedule-delete-confirm)>div>button,.live-app .live-dialog .group-roster-confirm>div:last-child>button{white-space:normal;overflow-wrap:anywhere;text-align:center;flex:calc(50% - 5px);justify-content:center;width:auto;min-width:0;max-width:none;min-height:44px;margin-inline:0;line-height:1.4}.live-app .live-dialog :is(.form-actions,.weekly-form-actions,.history-restore-actions,.history-restore-discard-actions,.subscription-edit-actions,.account-access-actions,.account-issued-actions,.guardian-card-footer,.attendance-cancel-actions,.student-card-actions-buttons,.session-schedule-actions,.series-manager .series-item-actions:not(.weekly-summary-actions),.group-roster-retry,.test-lab-reset-actions)>button:nth-child(odd of button):nth-last-child(1 of button),.live-app .live-dialog :is(.guardian-card-discard,.student-create-discard,.student-card-discard,.schedule-delete-confirm)>div>button:nth-child(odd of button):nth-last-child(1 of button),.live-app .live-dialog .group-roster-confirm>div:last-child>button:nth-child(odd of button):nth-last-child(1 of button){flex-basis:100%}.live-app .live-dialog :is(.form-actions,.weekly-form-actions,.history-restore-actions,.history-restore-discard-actions,.subscription-edit-actions,.account-access-actions,.account-issued-actions,.guardian-card-footer,.attendance-cancel-actions,.student-card-actions-buttons,.session-schedule-actions,.series-manager .series-item-actions:not(.weekly-summary-actions),.group-roster-retry,.test-lab-reset-actions)>:not(button){flex:100%;min-width:0}.live-app .live-dialog .series-manager .series-item{flex-direction:column;align-items:stretch}.live-app .live-dialog .series-manager .series-item-actions:not(.weekly-summary-actions){flex-direction:row;width:100%;max-width:none}.live-app .live-dialog.attendance-dialog .attendance-footer{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.live-app .live-dialog.attendance-dialog .attendance-footer-start,.live-app .live-dialog.attendance-dialog .attendance-footer-end{display:contents}.live-app .live-dialog.attendance-dialog .attendance-footer :is(.attendance-footer-start,.attendance-footer-end)>button{white-space:normal;width:100%;min-width:0;min-height:44px;padding:9px 10px;line-height:1.4}:is(.live-app .live-dialog.attendance-dialog .attendance-footer:has(.attendance-footer-start:empty) .attendance-footer-end>button:only-child,.live-app .live-dialog.attendance-dialog .attendance-footer:has(.attendance-footer-end:empty) .attendance-footer-start>button:only-child){grid-column:1/-1}}
