.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}}.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}}.school-branch-card{flex-direction:column;min-width:0;display:flex}.school-branch-heading h2{margin-bottom:12px}.school-timezone{color:var(--text-secondary);margin:12px 0 16px;font-size:12px}.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:flex-start;gap:12px;font-size:13px;display:flex}.school-venue-title strong{overflow-wrap:anywhere}.school-venue-title>span{color:var(--text-secondary);flex-shrink:0;font-size:11px}.school-venue-list p{color:var(--text-secondary);overflow-wrap:anywhere;margin:9px 0 12px;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}}.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}.students-table .student-col-name{width:220px}.students-table .student-col-birth{width:170px}.students-table .student-col-groups{width:auto}.students-table .student-col-parents{width:22%}.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-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-col-month{width:180px}.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:normal;flex-direction:column;gap:4px;display:flex}.student-month-facts{color:var(--text-secondary);flex-wrap:wrap;gap:5px;font-size:11px;display:flex}.student-month-facts>span{background:var(--surface-subtle);border-radius:5px;padding:2px 6px}.student-month-facts>span[data-fact=present]{background:var(--success-bg);color:var(--success-fg)}.student-month-facts>span[data-fact=absent]{background:var(--danger-bg);color:var(--danger-fg)}.student-month-facts b{font-variant-numeric:tabular-nums;font-weight:650}.students-table .student-month-summary>small{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.4}.student-month-state{color:var(--text-secondary);font-size:11px}.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-facts{gap:3px;font-size:10px}.student-month-facts>span{padding-inline:4px}}@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-facts{flex-direction:column;align-items:flex-start;gap:3px;font-size:10px}.student-month-facts>span{padding:1px 4px}.students-table .student-month-summary>small{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-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-subtle);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-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-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-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}}.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}}.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-hover);border-color:var(--border-control)}.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}}.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-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%}}.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}.filterbar--calendar{flex-wrap:nowrap}.filterbar--calendar .date-control{flex:none}.filterbar--calendar .schedule-group-tags{scrollbar-width:thin;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}}.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:flex-start;gap:12px;display:flex}.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}.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}.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:290px;margin:0}.finance-toolbar .finance-search{flex:2;min-width:240px;max-width:400px}.finance-summary{color:var(--text-secondary);border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:22px;padding:15px 0;font-size:12px;display:flex}.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}}.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}}@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;--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;--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}#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:#f9fbfb}.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-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{scrollbar-width:thin;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-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 .live-table{min-width:650px}.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;background:var(--surface-base);min-width:180px;max-width:220px;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:3px solid var(--brand-500);background:var(--info-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(.97)}.live-session--cancelled{background:var(--neutral-bg);opacity:.8}.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 th:first-child,.live-journal td:first-child{min-width:150px;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}
