.teacher-page{display:grid;grid-gap:var(--space-5);gap:var(--space-5);width:min(100%,1480px);margin-inline:auto;font-size:var(--font-size-sm)}.teacher-section{min-width:0;border-top:1px solid var(--color-border);padding-top:var(--space-4)}.teacher-section:first-child{border-top:0;padding-top:0}.teacher-surface{min-width:0;padding:var(--space-4)}.teacher-summary-grid,.teacher-surface{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-card)}.teacher-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.teacher-summary-item{min-width:0;padding:var(--space-3) var(--space-4)}.teacher-summary-item+.teacher-summary-item{border-left:1px solid var(--color-border)}.teacher-summary-item span{display:block}.teacher-summary-item dt,.teacher-summary-item span{color:var(--color-text-muted);font-size:.78rem}.teacher-summary-item dd{margin:0}.teacher-summary-item strong{display:block;margin-top:var(--space-1);font-size:1rem;overflow-wrap:anywhere}.teacher-summary-item.student-summary-notes{grid-column:1/-1;border-top:1px solid var(--color-border);border-left:0}.teacher-summary-item.student-summary-notes strong{white-space:pre-wrap}.student-lifecycle-preview{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.student-lifecycle-preview .teacher-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-lifecycle-lessons{display:grid;max-height:min(38vh,320px);overflow-y:auto;border-block:1px solid var(--color-border)}.student-lifecycle-lessons p{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;margin:0;padding:var(--space-3) 0}.student-lifecycle-lessons p+p{border-top:1px solid var(--color-border)}.student-lifecycle-lessons span,.student-lifecycle-lessons time{display:block;min-width:0}.student-lifecycle-lessons p>span:last-child,.student-lifecycle-lessons time{color:var(--color-text-muted);font-size:.78rem}.student-profile-disclosure{position:relative}.student-profile-disclosure>summary>span:first-child>strong{font-size:var(--font-size-lg);line-height:1.2}.student-profile-disclosure[open]>summary{padding-right:calc(var(--space-10) * 3)}.student-profile-actions{position:absolute;top:var(--space-3);right:calc(var(--space-4) + var(--space-10));z-index:1}.teacher-dashboard-main{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);grid-gap:var(--space-4);gap:var(--space-4);align-items:stretch}.teacher-calendar-panel,.teacher-day-panel{min-width:0}.teacher-day-panel{display:flex;max-height:min(680px,70vh);flex-direction:column;gap:var(--space-3);overflow:hidden}.teacher-day-agenda{display:grid;min-width:0;min-height:0;grid-gap:var(--space-6);gap:var(--space-6);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.teacher-agenda-group{min-width:0}.teacher-agenda-group-header{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;min-height:var(--control-md);flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);background:var(--color-surface);padding-bottom:var(--space-2)}.teacher-agenda-group-header h3{margin:0;font-size:var(--font-size-sm);font-weight:600}.teacher-agenda-group-header span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.teacher-agenda-empty{margin:0;padding-block:var(--space-3);color:var(--color-text-muted)}.teacher-agenda-history{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.teacher-agenda-history .teacher-agenda-group-header h3,.teacher-agenda-history .teacher-dashboard-lesson-link{color:var(--color-text-muted)}.teacher-agenda-history .teacher-dashboard-lesson-link strong{font-weight:400;text-decoration:line-through}.teacher-agenda-history-summary{cursor:pointer;list-style:none}.teacher-agenda-history-summary::-webkit-details-marker{display:none}.teacher-agenda-history-summary:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-focus);outline-offset:2px}.teacher-agenda-history-summary-meta{display:flex;align-items:center;gap:var(--space-2)}.teacher-agenda-history-chevron{display:inline-block;color:var(--color-text-muted);font-size:var(--font-size-sm)}.teacher-agenda-history[open] .teacher-agenda-history-chevron{transform:rotate(180deg)}.teacher-agenda-entry{min-width:0;container-type:inline-size}.teacher-agenda-entry+.teacher-agenda-entry{border-top:1px solid var(--color-border)}.teacher-lesson-agenda,.teacher-stack-list,.teacher-task-list{display:grid}.teacher-agenda-row,.teacher-task-row{display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;min-width:0;padding:var(--space-3) 0;border-top:1px solid var(--color-border);color:inherit;text-decoration:none}.teacher-agenda-row:first-child,.teacher-task-row:first-child{border-top:0}.teacher-agenda-row strong,.teacher-task-row strong{display:block;overflow-wrap:anywhere}.teacher-agenda-row small,.teacher-task-row small{display:block;margin-top:2px;color:var(--color-text-muted)}.teacher-dashboard-lesson-row{display:grid;grid-template-columns:minmax(min(18rem,100%),1fr) auto;grid-gap:var(--space-2) var(--space-3);gap:var(--space-2) var(--space-3);align-items:center;min-width:0;padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.teacher-dashboard-lesson-row:first-child{border-top:0}.teacher-dashboard-lesson-link{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:center;min-width:0;color:inherit;text-decoration:none}.teacher-dashboard-lesson-link strong{display:-webkit-box;min-width:0;overflow:hidden;overflow-wrap:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.teacher-dashboard-lesson-link time{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.teacher-dashboard-lesson-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:var(--space-1);border-radius:var(--radius-sm)}.teacher-dashboard-lesson-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:flex-end}.teacher-dashboard-inline-form{display:inline-flex}.teacher-dashboard-action-feedback{grid-column:1/-1}@container (max-width: 36rem){.teacher-dashboard-lesson-row{grid-template-columns:minmax(0,1fr)}.teacher-dashboard-lesson-actions{justify-content:flex-start}}@container (max-width: 22rem){.teacher-dashboard-lesson-link{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}}.teacher-task-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.teacher-task-group{min-width:0;align-self:start}.teacher-task-group .ui-section-header{padding-bottom:var(--space-2)}.teacher-task-group .ui-empty-state-component{min-height:64px;padding:var(--space-3) var(--space-2)}.teacher-content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.85fr);grid-gap:var(--space-5);gap:var(--space-5);align-items:start}.course-detail-page .teacher-content-grid{grid-template-columns:minmax(0,2fr) minmax(320px,.9fr)}.teacher-content-aside,.teacher-content-main{display:grid;grid-gap:var(--space-4);gap:var(--space-4);min-width:0}.teacher-content-aside{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-height) + var(--space-4))}.teacher-danger-zone{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;border:1px solid var(--color-destructive-border);border-radius:var(--radius-medium);background:var(--color-destructive-surface);padding:var(--space-4)}.teacher-danger-zone h2{margin:0;color:var(--color-destructive-text);font-size:1rem}.teacher-danger-zone p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.teacher-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.student-one-to-one-fields .ui-form-field{align-content:start}.teacher-form-stack{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.calendar-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);min-width:0}.teacher-calendar-panel .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding-inline:var(--space-3)}.teacher-calendar-panel .calendar-toolbar>.calendar-period-step:first-child,.teacher-calendar-panel .calendar-toolbar>a:first-child{justify-self:start}.calendar-period-step,.calendar-period-trigger{border:0;background:transparent;color:var(--color-primary);font:inherit;cursor:pointer}.calendar-period-trigger{display:inline-flex;min-height:32px;align-items:baseline;justify-content:center;gap:var(--space-2);border-radius:var(--radius-small);padding:0 var(--space-3);color:var(--color-text);font-weight:700}.calendar-period-summary{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:400}.calendar-period-step:hover,.calendar-period-trigger:hover{background:var(--color-hover)}.calendar-period-grid a:focus-visible,.calendar-period-grid button:focus-visible,.calendar-period-step:focus-visible,.calendar-period-trigger:focus-visible{outline:3px solid var(--color-ring);outline-offset:2px}.calendar-period-step{display:inline-grid;width:32px;height:32px;place-items:center;border-radius:var(--radius-small);font-size:1.25rem}.calendar-period-grid{display:grid;min-height:310px;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3)}.calendar-month-picker,.calendar-year-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-period-grid a,.calendar-period-grid button{display:grid;min-width:0;place-items:center;border:1px solid transparent;border-radius:var(--radius-medium);background:transparent;color:var(--color-text);font:inherit;text-decoration:none;cursor:pointer}.calendar-period-grid a:hover,.calendar-period-grid button:hover{background:var(--color-hover)}.calendar-period-grid .is-selected{border-color:var(--color-calendar-selected);background:var(--color-calendar-selected);color:var(--color-calendar-selected-text);font-weight:700}.calendar-period-grid .is-outside-range{color:var(--color-text-muted);opacity:.62}.calendar-export-control{position:relative;display:inline-flex;align-items:center}.calendar-export-button{min-height:32px;padding:0 var(--space-3);white-space:nowrap}.calendar-export-label-short{display:none}.calendar-export-error{position:absolute;z-index:4;top:calc(100% + var(--space-2));right:0;width:min(280px,70vw);padding:var(--space-2) var(--space-3);border:1px solid var(--color-danger-border);border-radius:var(--radius-small);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--font-size-xs);line-height:1.5;text-align:left}.schedule-export-menu{position:relative;display:inline-flex;align-items:center}.schedule-export-trigger{white-space:nowrap}.schedule-export-popover{position:absolute;z-index:20;top:calc(100% + var(--space-2));right:0;display:grid;width:max-content;min-width:156px;max-width:min(240px,calc(100vw - var(--space-6)));padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-popover);box-shadow:var(--shadow-subtle)}.schedule-export-popover button{min-height:36px;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.schedule-export-popover button:focus-visible,.schedule-export-popover button:hover{background:var(--color-surface-muted);outline:none}.schedule-export-error{position:absolute;z-index:21;top:calc(100% + var(--space-2));right:0;width:min(300px,calc(100vw - var(--space-6)));padding:var(--space-2) var(--space-3);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);font-size:var(--font-size-xs)}.student-first-class-picker{width:100%;max-width:100%;min-width:0;margin:0;padding:0;border:0}.student-first-class-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.student-first-class-heading>strong{min-width:0}.student-first-class-switch{flex:0 0 auto;max-width:100%;padding-inline:0;color:var(--color-text-muted);white-space:normal;text-align:right}.student-first-class-switch:hover{color:var(--color-primary)}.student-first-class-picker>p,.student-first-class-picker>small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.student-first-new-class-fields{grid-template-columns:minmax(0,1.7fr) minmax(130px,.8fr);align-items:start;margin-bottom:var(--space-2)}.student-first-class-options{display:grid;width:100%;max-width:100%;max-height:220px;margin-bottom:var(--space-2);overflow-x:hidden;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.student-first-class-options label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-width:0;padding:var(--space-3);cursor:pointer}.student-first-class-options input{width:auto;min-width:16px;margin:0;flex:0 0 auto}.student-first-class-options label+label{border-top:1px solid var(--color-border)}.student-first-class-options small,.student-first-class-options span,.student-first-class-options strong{display:block;min-width:0;overflow-wrap:anywhere}.student-first-class-options span{min-width:0}.student-first-class-options small{color:var(--color-text-muted)}.student-first-class-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-first-class-count{white-space:nowrap;text-align:right}.teacher-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.teacher-form-wide{grid-column:1/-1}.teacher-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.teacher-money{text-align:right}.teacher-date,.teacher-money{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-date{white-space:nowrap}.teacher-course-members,.teacher-lesson-rows{display:grid}.teacher-filter-grid{display:grid;align-items:end;grid-gap:var(--space-3);gap:var(--space-3);width:100%;min-width:0}.teacher-student-filter-grid{grid-template-columns:minmax(300px,2fr) minmax(130px,1fr) minmax(150px,1fr) minmax(170px,1fr) auto}.teacher-course-filter-grid{grid-template-columns:minmax(300px,2fr) repeat(3,minmax(140px,1fr)) auto}.teacher-billing-filter-grid{grid-template-columns:minmax(132px,.7fr) minmax(132px,.7fr) minmax(160px,1fr) minmax(190px,1.15fr) minmax(130px,.75fr) auto}.teacher-filter-search{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2)}.teacher-filter-count{grid-column:1/-1;justify-self:end;color:var(--color-text-muted);font-size:var(--font-size-xs)}.billing-details-header-actions,.billing-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.billing-filter-actions{flex-wrap:wrap}.export-label-compact{display:none}.billing-page>.ui-inline-notice{margin-top:calc(var(--space-2) * -1)}.billing-revenue-summary{display:grid;grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(170px,1fr));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-card)}.billing-revenue-summary-item{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-4);border-left:1px solid var(--color-border)}.billing-revenue-summary-item:first-child{border-left:0}.billing-revenue-summary-item>small,.billing-revenue-summary-item>span{color:var(--color-text-muted)}.billing-revenue-summary-item>span{font-size:var(--font-size-xs)}.billing-revenue-summary-item>strong{font-family:var(--font-mono);font-size:var(--font-size-lg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-revenue-summary-item>small{line-height:1.45}.billing-revenue-summary-item.is-primary{box-shadow:inset 3px 0 0 var(--color-primary);background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.billing-revenue-summary-item.is-primary>strong{font-size:1.25rem}.billing-student-list{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-card)}.billing-student-list-head,.billing-student-row{display:grid;grid-template-columns:minmax(160px,1.15fr) minmax(120px,.75fr) minmax(170px,1fr) minmax(165px,1fr) minmax(210px,1.2fr) minmax(150px,.85fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:center;min-width:0}.billing-student-list-head{padding:var(--space-2) var(--space-4);background:var(--color-surface-secondary);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600}.billing-student-list-head>:last-child{text-align:center}.billing-student-row{margin:0;padding:var(--space-4);border-top:1px solid var(--color-border)}.billing-student-row>*{min-width:0}.billing-student-identity{display:grid;grid-gap:2px;gap:2px}.billing-student-identity small,.billing-student-identity span,.billing-student-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-student-identity small,.billing-student-identity span{color:var(--color-text-muted)}.billing-charge-label{color:var(--color-text);font-style:normal;font-weight:600}.billing-cell-stack{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.billing-cell-stack>span{display:grid;grid-template-columns:minmax(60px,max-content) max-content;align-items:baseline;justify-content:start;grid-gap:var(--space-2);gap:var(--space-2)}.billing-cell-stack small{color:var(--color-text-muted)}.billing-cell-stack strong,.billing-revenue-cell strong,.billing-total-cell strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.billing-not-applicable{color:var(--color-text-muted)}.billing-revenue-cell{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.billing-revenue-cell strong{font-size:1rem}.billing-revenue-cell small,.billing-total-cell small{color:var(--color-text-muted);line-height:1.45}.billing-status-cell em{color:var(--color-text);font-style:normal;font-weight:600}.billing-total-cell{display:grid;grid-gap:2px;gap:2px}.billing-total-cell strong{font-size:1rem}.billing-row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2)}.billing-settlement-action{min-width:0}.billing-action-feedback{max-width:220px}.billing-action-feedback:empty{display:none}.billing-details-drawer .ui-drawer-body{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.billing-details-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-medium)}.billing-details-summary>span{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-3)}.billing-details-summary>span+span{border-left:1px solid var(--color-border)}.billing-details-summary small{color:var(--color-text-muted)}.billing-details-summary strong{font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-detail-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.billing-detail-list{display:grid;align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-top:var(--space-4);border-block:1px solid var(--color-border)}.billing-detail-row{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:0;padding:var(--space-4) 0}.billing-detail-row+.billing-detail-row{border-top:1px solid var(--color-border)}.billing-detail-row>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.billing-detail-row>header div{display:grid;grid-gap:2px;gap:2px;min-width:0}.billing-detail-row>header small{color:var(--color-text-muted)}.billing-detail-course-identity{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.billing-detail-course-identity .ui-status-badge{min-height:20px}.billing-detail-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:0}.billing-detail-row dl>div{display:grid;grid-gap:2px;gap:2px}.billing-detail-row dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.billing-detail-row dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.billing-detail-row footer{display:flex;justify-content:flex-end}.billing-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted)}.billing-details-drawer .billing-pagination{padding-top:var(--space-3)}.teacher-setting-list{display:grid;border-block:1px solid var(--color-border)}.teacher-setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;cursor:pointer}.teacher-setting-row+.teacher-setting-row{border-top:1px solid var(--color-border)}.teacher-setting-row small,.teacher-setting-row strong{display:block}.teacher-setting-row small{margin-top:var(--space-1);color:var(--color-text-muted);line-height:1.45}.teacher-setting-row .teacher-setting-inline-note{display:inline;margin:0;font-weight:400}.teacher-setting-row input{flex:0 0 auto;width:18px;height:18px}.teacher-student-picker{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0;padding-block:var(--space-3);border-block:1px solid var(--color-border)}.teacher-student-picker-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.teacher-student-picker-label>span{flex:0 0 auto;color:var(--color-text-muted);font-size:var(--font-size-xs)}.teacher-student-picker-selected{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.teacher-student-selected-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.teacher-student-selected-row small,.teacher-student-selected-row strong{display:block;overflow-wrap:anywhere}.teacher-student-selected-row small{margin-top:2px;color:var(--color-text-muted)}.teacher-student-combobox{position:relative;min-width:0}.billing-student-filter .teacher-student-combobox>input:not([type=hidden]){padding-right:54px}.billing-student-filter-clear{position:absolute;z-index:1;top:50%;right:var(--space-1);transform:translateY(-50%)}.teacher-student-picker-label>.field{margin:0}.teacher-student-search-input{width:100%}.teacher-field-label-hint{margin-left:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:400}.teacher-schedule-choice-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.teacher-student-picker-list{display:grid;position:absolute;z-index:5;top:calc(100% + var(--space-1));right:0;left:0;max-height:224px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-popover);box-shadow:var(--shadow-subtle)}.teacher-student-picker-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:var(--space-3);gap:var(--space-3);width:100%;min-height:var(--control-lg);padding:var(--space-2) var(--space-3);border:0;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.teacher-student-picker-row+.teacher-student-picker-row{border-top:1px solid var(--color-border)}.teacher-student-picker-row[aria-selected=true]{background:var(--color-muted)}.teacher-student-picker-row:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.teacher-student-picker-row:disabled{cursor:not-allowed;opacity:.55}.teacher-student-picker-indicator{width:18px;height:18px;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-input)}.teacher-student-picker-indicator.is-selected{border:5px solid var(--color-primary)}.teacher-student-picker-row small,.teacher-student-picker-row strong{display:block;overflow-wrap:anywhere}.teacher-student-picker-row small{margin-top:2px;color:var(--color-text-muted)}.teacher-student-picker-empty{margin:0;padding:var(--space-3);color:var(--color-text-muted)}.teacher-student-picker-help{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.teacher-course-identity{display:flex;align-items:center;gap:var(--space-2);min-width:0}.teacher-course-name-link{min-width:0;color:var(--color-text);font-weight:700;overflow-wrap:anywhere;text-decoration:none}.teacher-course-name-link:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.teacher-course-name-link:focus-visible{border-radius:var(--radius-small);outline:3px solid var(--color-focus);outline-offset:2px}.teacher-form-stack .course-check{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;grid-gap:var(--space-2);gap:var(--space-2);cursor:pointer}.teacher-form-stack .course-check input{width:18px;height:18px;margin:2px 0 0;padding:0}.teacher-form-stack .course-check small,.teacher-form-stack .course-check strong{display:block}.teacher-form-stack .course-check small{margin-top:2px;color:var(--color-text-muted);line-height:1.45}.teacher-member-summary{display:grid;grid-template-columns:minmax(110px,1fr) minmax(80px,.65fr) minmax(90px,.75fr) minmax(240px,2.5fr) 112px;grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.teacher-member-summary>div{min-width:0}.teacher-member-summary small,.teacher-member-summary span{display:block;color:var(--color-text-muted);font-size:var(--font-size-xs)}.teacher-member-summary strong{overflow-wrap:anywhere}.teacher-member-summary>.teacher-inline-actions{align-self:center;justify-content:flex-end}.teacher-member-financials{display:grid;min-width:0}.teacher-member-financials.is-prepaid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.teacher-member-financials>div{min-width:0}.member-fee-input{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.member-fee-input .ui-button{justify-self:start}.teacher-lesson-actions{justify-content:flex-end;flex-wrap:wrap}.teacher-lesson-actions,.teacher-more-actions-panel{display:flex;align-items:center;gap:var(--space-2)}.weekday-picker{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;border:0}.weekday-picker legend{margin-bottom:var(--space-2);font-weight:700}.weekday-picker button{display:inline-flex;align-items:center;min-height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-input);color:var(--color-text);cursor:pointer;font:inherit}.weekday-picker button[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-foreground)}.weekday-picker button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.teacher-publication-unavailable{padding-block:var(--space-2)}.teacher-lesson-row,.teacher-member-row{min-width:0;padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.teacher-lesson-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:var(--space-3);column-gap:var(--space-3);align-items:center}.teacher-lesson-row>.teacher-agenda-row{padding:0;border-top:0}.teacher-lesson-row>.teacher-lesson-actions{min-width:max-content}.teacher-lesson-row>.teacher-stack-list{grid-column:1/-1}.teacher-lesson-row:first-child,.teacher-member-row:first-child{border-top:0}.teacher-course-members.is-one-to-one .teacher-member-row{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.teacher-member-history{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.teacher-member-history>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-md);cursor:pointer}.teacher-member-history>summary small{color:var(--color-text-muted)}.teacher-member-history[open]>summary{margin-bottom:var(--space-2)}.teacher-attendance-list{display:grid;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.teacher-attendance-row{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(150px,.7fr) minmax(180px,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:end;padding:var(--space-3);background:var(--color-surface)}.teacher-attendance-row+.teacher-attendance-row{border-top:1px solid var(--color-border)}.lesson-completion-attendance-list{display:grid;max-height:min(52vh,460px);overflow-y:auto;margin-top:var(--space-4);border-block:1px solid var(--color-border)}.lesson-completion-dialog{width:min(720px,calc(100vw - 32px))}.lesson-completion-dialog .ui-dialog-content>div:first-child{min-width:0}.lesson-completion-attendance-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,.8fr) minmax(170px,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:end;padding:var(--space-3) 0}.lesson-completion-attendance-row+.lesson-completion-attendance-row{border-top:1px solid var(--color-border)}.lesson-completion-student{display:grid;grid-gap:var(--space-1);gap:var(--space-1);align-self:center}.lesson-completion-student small{color:var(--color-text-muted);line-height:1.45}.teacher-attendance-student{align-self:center}.teacher-attendance-student small,.teacher-attendance-student strong{display:block;overflow-wrap:anywhere}.teacher-attendance-student small{margin-top:var(--space-1);color:var(--color-text-muted)}.calendar-day-number{position:relative;width:-moz-fit-content;width:fit-content}.calendar-today-sparkle{position:absolute;top:-2px;left:-10px;width:8px;height:8px;color:var(--color-primary);pointer-events:none}.calendar-grid>a.is-selected .calendar-today-sparkle{color:var(--color-calendar-selected-text,var(--color-primary-foreground))}.teacher-calendar-panel .calendar-grid>a{justify-items:center;text-align:center}.calendar-grid>a.is-outside-month{border-color:transparent;background:color-mix(in srgb,var(--color-muted) 20%,transparent);color:color-mix(in srgb,var(--color-text-muted) 52%,var(--color-surface))}.calendar-grid>a.is-outside-month small{color:color-mix(in srgb,var(--color-text-muted) 42%,var(--color-surface))}.calendar-grid>a.is-outside-month.is-today .calendar-day-number,.calendar-grid>a.is-outside-month.is-today .calendar-today-sparkle{color:color-mix(in srgb,var(--color-text-muted) 52%,var(--color-surface))}.calendar-grid>a.is-outside-month.is-today .calendar-day-number{font-weight:400}.calendar-grid>a.is-outside-month .calendar-lesson-dot{background:color-mix(in srgb,var(--color-danger) 38%,var(--color-surface))}.calendar-grid>a.is-outside-month:hover{background:color-mix(in srgb,var(--color-muted) 48%,var(--color-surface));color:color-mix(in srgb,var(--color-text-muted) 72%,var(--color-surface))}.calendar-grid>a.is-outside-month.is-selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-muted) 38%,var(--color-surface))}.calendar-lesson-dot{position:absolute;top:-2px;right:-7px;width:6px;height:6px;border-radius:999px;background:var(--color-danger);pointer-events:none}@media (max-width:720px){.student-lifecycle-preview .teacher-summary-grid{grid-template-columns:1fr}.student-lifecycle-lessons p{grid-template-columns:1fr;gap:var(--space-1)}.lesson-completion-attendance-row,.teacher-attendance-row{grid-template-columns:1fr;align-items:stretch}.lesson-completion-dialog{width:calc(100vw - 24px)}}.teacher-publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.teacher-publication-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-small)}.teacher-publication-meta{color:var(--color-text-muted);font-size:.82rem}.teacher-notification-center .notification-page-list{border-top:1px solid var(--color-border)}.teacher-notification-center .notification-page-item{border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent}.teacher-notification-center .notification-page-item>button{min-height:0;padding:var(--space-3) 88px var(--space-3) var(--space-2)}.teacher-notification-center .notification-page-item.is-unread{box-shadow:inset 3px 0 0 var(--color-warning)}@media (max-width:1023px){.course-detail-page .teacher-content-grid,.teacher-content-grid,.teacher-dashboard-main{grid-template-columns:1fr}.teacher-content-aside{position:static}.teacher-billing-filter-grid,.teacher-course-filter-grid,.teacher-student-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-filter-count{justify-self:start}.billing-revenue-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-revenue-summary-item:nth-child(odd){border-left:0}.billing-revenue-summary-item:nth-child(n+3){border-top:1px solid var(--color-border)}.billing-student-list{border:0;background:transparent;overflow:visible}.billing-student-list-head{display:none}.billing-student-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-card)}.billing-student-row:first-of-type{margin-top:0}.billing-student-row>[data-label]:before{display:block;margin-bottom:var(--space-1);color:var(--color-text-muted);content:attr(data-label);font-size:var(--font-size-xs);font-weight:600}.billing-row-actions{justify-content:flex-start}}@media (max-width:767px){.teacher-page{gap:var(--space-4)}.billing-revenue-summary{grid-template-columns:1fr}.billing-revenue-summary-item{border-top:1px solid var(--color-border);border-left:0}.billing-revenue-summary-item:first-child{border-top:0}.teacher-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-summary-item:nth-child(odd){border-left:0}.teacher-summary-item:nth-child(n+3){border-top:1px solid var(--color-border)}.teacher-billing-filter-grid,.teacher-course-filter-grid,.teacher-dashboard-main,.teacher-form-grid,.teacher-student-filter-grid,.teacher-task-board{grid-template-columns:1fr}.teacher-day-panel{max-height:none;overflow:visible}.teacher-day-agenda{overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto}.teacher-agenda-group-header{position:static}.teacher-agenda-row,.teacher-task-row{grid-template-columns:1fr auto;gap:var(--space-2)}.teacher-agenda-row>:first-child,.teacher-task-row>:first-child{grid-column:1/-1}.teacher-danger-zone{align-items:flex-start;flex-direction:column}.teacher-publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-member-summary{grid-template-columns:1fr 1fr}.teacher-member-financials{grid-column:1/-1}.teacher-member-financials.is-prepaid{grid-template-columns:1fr 1fr}.teacher-member-summary .teacher-inline-actions{grid-column:1/-1;justify-content:flex-start}.teacher-more-actions-panel{flex-wrap:wrap;width:100%}.teacher-student-picker-label{align-items:center}.teacher-course-identity{align-items:flex-start;flex-direction:column}.teacher-lesson-row{grid-template-columns:1fr;row-gap:var(--space-2)}.teacher-lesson-row>.teacher-lesson-actions{min-width:0;justify-content:flex-start}.teacher-dashboard-lesson-row{grid-template-columns:1fr}.teacher-dashboard-lesson-actions{justify-content:flex-start}.teacher-dashboard-lesson-link{min-height:var(--control-lg)}.billing-detail-row dl,.billing-details-summary,.billing-student-row{grid-template-columns:1fr}.billing-details-summary>span+span{border-top:1px solid var(--color-border);border-left:0}.billing-detail-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.billing-filter-actions{justify-content:flex-start}.billing-row-actions{align-items:stretch;flex-direction:column}.billing-row-actions .ui-dialog-trigger,.billing-row-actions .ui-dialog-trigger>.ui-button,.billing-row-actions>.ui-button{width:100%}.billing-pagination{justify-content:space-between;gap:var(--space-2)}}@media (max-width:479px){.calendar-toolbar{gap:var(--space-2)}.calendar-toolbar-actions{gap:var(--space-1)}.calendar-export-label-full{display:none}.calendar-export-label-short{display:inline}.export-label-full{display:none}.export-label-compact{display:inline}.calendar-export-button{padding-inline:var(--space-2)}.teacher-summary-grid{grid-template-columns:1fr}.teacher-summary-item+.teacher-summary-item{border-left:0;border-top:1px solid var(--color-border)}.teacher-surface{padding:var(--space-3)}.teacher-publication-grid{grid-template-columns:1fr}}.schedule-slot-editor{display:grid;grid-gap:10px;gap:10px;min-width:0;padding:0;border:0}.schedule-slot-editor legend{margin-bottom:8px;font-weight:700}.schedule-slot-row{display:grid;grid-template-columns:minmax(110px,.8fr) repeat(2,minmax(130px,1fr)) auto;grid-gap:10px;gap:10px;align-items:end}.schedule-create-slot-editor,.schedule-create-slot-row{width:100%;max-width:100%;gap:var(--space-3)}.schedule-create-slot-row{display:grid;min-width:0;grid-gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.schedule-create-slot-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.schedule-create-slot-header strong{font-size:var(--font-size-sm)}.schedule-create-slot-time-group,.schedule-create-slot-times,.schedule-create-slot-weekdays{min-width:0;max-width:100%}.schedule-create-slot-weekdays>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:var(--space-1);gap:var(--space-1)}.schedule-create-slot-weekdays .ui-button{width:100%;min-width:0;padding-inline:var(--space-1)}.schedule-create-slot-time-group{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.schedule-create-slot-time-group>span{font-weight:600}.schedule-create-slot-times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;grid-gap:var(--space-3);gap:var(--space-3)}.schedule-create-slot-time-separator{display:grid;min-height:var(--control-md);place-items:center;color:var(--color-text-muted)}.schedule-create-slot-add{justify-self:start}.schedule-plan-list,.schedule-plan-preview{display:grid;grid-gap:14px;gap:14px}.schedule-plan-item{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.ui-shell[data-color-mode=dark] .schedule-plan-item{background:var(--color-surface-secondary)}@media (prefers-color-scheme:dark){.ui-shell[data-color-mode=system] .schedule-plan-item{background:var(--color-surface-secondary)}}.schedule-plan-item>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.schedule-plan-item>header>div{display:grid;grid-gap:5px;gap:5px}.schedule-plan-item>header small,.schedule-plan-metrics{color:var(--color-text-muted)}.schedule-plan-metrics{display:flex;flex-wrap:wrap;gap:8px 18px}.schedule-plan-metrics strong,.schedule-plan-note{color:var(--color-text)}.schedule-plan-note{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;margin:0}.schedule-plan-note span{color:var(--color-text-muted)}.ui-shell[data-color-mode=dark] .schedule-plan-item>header small,.ui-shell[data-color-mode=dark] .schedule-plan-metrics,.ui-shell[data-color-mode=dark] .schedule-plan-note span{color:color-mix(in srgb,var(--color-text-muted) 58%,var(--color-text))}@media (prefers-color-scheme:dark){.ui-shell[data-color-mode=system] .schedule-plan-item>header small,.ui-shell[data-color-mode=system] .schedule-plan-metrics,.ui-shell[data-color-mode=system] .schedule-plan-note span{color:color-mix(in srgb,var(--color-text-muted) 58%,var(--color-text))}}.schedule-plan-revisions{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.schedule-plan-revisions p{display:grid;grid-template-columns:auto 1fr;grid-gap:3px 12px;gap:3px 12px;margin:0;padding:8px 0;border-top:1px solid var(--border)}.schedule-plan-revisions p>small{grid-column:1/-1;color:var(--text-muted)}.schedule-plan-occurrences{max-height:260px;overflow:auto;margin-top:8px;padding:8px 10px;border-left:2px solid var(--border-strong)}.schedule-plan-occurrences p{margin:0;padding:5px 0}.schedule-plan-delete-options{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.schedule-plan-delete-options fieldset{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:0;border:0}.schedule-plan-delete-options legend{margin-bottom:var(--space-2);color:var(--color-text);font-weight:700}.schedule-plan-delete-statuses{display:flex;flex-wrap:wrap;gap:var(--space-2)}.schedule-plan-delete-statuses button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.schedule-plan-delete-statuses button:hover{border-color:var(--color-primary);color:var(--color-text)}.schedule-plan-delete-statuses button.is-selected{border-color:var(--color-primary);background:var(--color-selected);color:var(--color-selected-text)}.schedule-plan-delete-statuses button span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-plan-delete-lessons{display:grid;max-height:240px;overflow:auto;border-block:1px solid var(--color-border)}.schedule-plan-delete-lessons>div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-3);gap:var(--space-3);padding:8px 4px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.schedule-plan-delete-lessons>div:last-child{border-bottom:0}.schedule-plan-delete-lessons>div.is-selected{color:var(--color-text)}.schedule-plan-delete-lessons small{color:inherit;white-space:nowrap}@media (max-width:640px){.schedule-slot-row{grid-template-columns:1fr}.schedule-create-slot-weekdays>div{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-create-slot-times{gap:var(--space-2)}.schedule-plan-item>header{flex-direction:column}.schedule-plan-delete-lessons>div{grid-template-columns:1fr;gap:2px}}.feedback-thread,.publication-recipient-picker{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.lesson-publication-disclosure{padding:0}.lesson-publication-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);list-style:none;cursor:pointer}.lesson-publication-disclosure>summary::-webkit-details-marker{display:none}.lesson-publication-disclosure>summary>span:first-child{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.lesson-publication-disclosure>summary strong{font-size:var(--font-size-lg)}.lesson-publication-disclosure>summary small{color:var(--color-text-muted);font-size:var(--font-size-sm)}.lesson-publication-disclosure-action{flex:0 0 auto;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:700}.lesson-publication-disclosure[open] .lesson-publication-disclosure-action{font-size:0}.lesson-publication-disclosure[open] .lesson-publication-disclosure-action:after{content:"收起";font-size:var(--font-size-sm)}.lesson-publication-disclosure-content{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:0 var(--space-4) var(--space-4)}.publication-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.publication-recipient-row{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--border)}.publication-recipient-row>span{display:grid;grid-gap:2px;gap:2px;min-width:0}.publication-recipient-row small,.publication-student-status-row small{color:var(--text-muted)}.publication-recipient-row.is-published{background:var(--surface-muted)}.publication-student-status-list{display:grid;border:1px solid var(--border)}.publication-student-status-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--border)}.publication-student-status-row:last-child{border-bottom:0}.publication-student-status-row>span{display:flex;align-items:baseline;gap:var(--space-2)}.feedback-reply-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:0;padding:0;list-style:none}.feedback-reply-list>li{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border)}.feedback-reply-list header{display:flex;justify-content:space-between;gap:var(--space-3)}.feedback-reply-list time{color:var(--text-muted);font-size:var(--font-size-sm)}.feedback-reply-list p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-reply-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2)}.feedback-pending-files{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin:0;padding:0;list-style:none}.feedback-pending-files li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border)}.feedback-pending-files span{min-width:0;overflow-wrap:anywhere}.feedback-handle-form{display:grid;justify-items:start;grid-gap:var(--space-2);gap:var(--space-2)}@media (max-width:640px){.publication-recipient-list{grid-template-columns:1fr}.publication-student-status-row{align-items:flex-start}.publication-student-status-row>span{display:grid;grid-gap:2px;gap:2px}}.assignment-page{max-width:1080px;margin-inline:auto}.after-class-primary-tabs{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.after-class-primary-tabs>a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-lg);padding-inline:var(--space-1);border-bottom:2px solid transparent;color:var(--color-text-muted);font-weight:700;text-decoration:none}.after-class-primary-tabs>a.is-active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.after-class-feedback-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.after-class-feedback-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding-block:var(--space-3)}.after-class-feedback-main,.after-class-feedback-progress{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.after-class-feedback-main small,.after-class-feedback-progress{color:var(--color-text-muted);font-size:var(--font-size-sm)}.after-class-feedback-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.after-class-feedback-progress .is-alert{color:var(--color-danger);font-weight:700}.after-class-feedback-actions{justify-content:flex-end;flex-wrap:nowrap}.lesson-feedback-archive-control{display:inline-flex;align-items:center;gap:var(--space-2)}.lesson-feedback-archive-control>form{display:none}.lesson-feedback-archive-control .ui-form-error{max-width:220px;color:var(--color-danger)}.after-class-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.after-class-pagination>:last-child{justify-self:end}.after-class-pagination a{color:var(--color-primary);font-weight:700;text-decoration:none}.assignment-filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.assignment-filter-bar a{min-height:var(--control-sm);display:inline-flex;align-items:center;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);text-decoration:none}.assignment-filter-bar a span{min-width:1.4em;margin-left:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}.assignment-filter-bar a.is-active{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}.assignment-filter-bar a.is-active span{color:color-mix(in srgb,var(--color-primary-foreground) 72%,transparent)}.assignment-detail-stack,.assignment-list{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.assignment-list-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4);color:inherit;text-decoration:none}.assignment-list-row:hover{background:color-mix(in srgb,var(--color-surface) 88%,var(--color-muted))}.assignment-list-row:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.assignment-list-main{min-width:0;display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.assignment-title-line{display:flex;align-items:center;gap:var(--space-2)}.assignment-history time,.assignment-list-main small,.assignment-meta{color:var(--color-text-muted)}.assignment-counts{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-size-sm)}.assignment-counts span{white-space:nowrap}.assignment-create-form{max-width:760px;padding:var(--space-5)}.assignment-readonly{padding:var(--space-5)}.assignment-readonly>h2{margin:0 0 var(--space-3)}.assignment-readonly>p{white-space:pre-wrap;line-height:1.65}.assignment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.assignment-recipient-picker-summary{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.assignment-recipient-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.assignment-recipient-summary-heading h2{margin:0;font-size:var(--font-size-md)}.assignment-recipient-summary-heading p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.assignment-recipient-tags{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1)}.assignment-recipient-tags span{max-width:180px;padding:3px var(--space-2);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.assignment-recipient-empty{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.assignment-recipient-dialog{width:min(640px,calc(100vw - 32px));max-height:min(88dvh,720px)}.assignment-recipient-dialog-layout{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(88dvh,720px)}.assignment-recipient-dialog-layout>footer,.assignment-recipient-dialog-layout>header{padding:var(--space-4) var(--space-5)}.assignment-recipient-dialog-layout>header{border-bottom:1px solid var(--color-border)}.assignment-recipient-dialog-layout>header h2{margin:0;font-size:var(--font-size-lg)}.assignment-recipient-dialog-layout>header p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.assignment-recipient-dialog-body{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-height:0;padding:var(--space-4) var(--space-5);overflow:hidden}.assignment-recipient-bulk-actions,.assignment-recipient-filter{display:flex;flex-wrap:wrap;gap:var(--space-1)}.assignment-recipient-bulk-actions{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.assignment-recipient-dialog-list{min-height:120px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;border-block:1px solid var(--color-border)}.assignment-recipient-dialog-row{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(90px,.55fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-height:46px;padding:var(--space-2);border-bottom:1px solid var(--color-border);cursor:pointer}.assignment-recipient-dialog-row:last-child{border-bottom:0}.assignment-recipient-dialog-row>span:not(.ui-status-badge){color:var(--color-text-muted);font-size:var(--font-size-sm)}.assignment-recipient-dialog-row.is-disabled{background:var(--color-surface-muted);color:var(--color-text-muted);cursor:default}.assignment-recipient-dialog-row.is-disabled strong{font-weight:500}.assignment-recipient-no-results{margin:0;padding:var(--space-6);color:var(--color-text-muted);text-align:center}.assignment-recipient-dialog-layout>footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.assignment-recipient-dialog-layout>footer>div{display:flex;gap:var(--space-2)}.assignment-recipient-list{display:grid}.assignment-recipient-list>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.assignment-recipient-list>div>span{display:flex;align-items:center;gap:var(--space-2)}.assignment-recipient-list small{color:var(--color-text-muted)}.assignment-history{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.assignment-history>li{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.assignment-history header{display:flex;justify-content:space-between;gap:var(--space-3)}.assignment-history p{white-space:pre-wrap}.assignment-history aside{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-secondary);color:var(--color-text)}.assignment-history aside p,.assignment-history aside strong{color:inherit}.assignment-history a{display:inline-block;margin-right:var(--space-3);color:var(--color-primary)}.assignment-media-composer{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.assignment-pending-files{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin:0;padding:0;list-style:none;color:var(--color-text-muted);font-size:var(--font-size-sm)}.assignment-pending-files li{overflow-wrap:anywhere}.assignment-media-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-3)}.assignment-media-list a{color:var(--color-primary);overflow-wrap:anywhere}@media (max-width:720px){.after-class-primary-tabs{gap:var(--space-3)}.after-class-feedback-row{grid-template-columns:minmax(0,1fr) auto}.after-class-feedback-progress{grid-column:1/-1}.after-class-feedback-actions{align-self:start}.assignment-list-row{grid-template-columns:minmax(0,1fr) auto}.assignment-counts{grid-column:1/-1}.assignment-recipient-summary-heading{align-items:flex-start}.assignment-recipient-dialog-row{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2)}.assignment-recipient-dialog-row>span:not(.ui-status-badge){grid-column:2}.assignment-recipient-dialog-row .ui-status-badge{grid-column:3;grid-row:1/span 2}.assignment-recipient-dialog-layout>footer{align-items:stretch;flex-direction:column}.assignment-recipient-dialog-layout>footer>div{display:grid;grid-template-columns:1fr 1fr}.assignment-recipient-dialog-layout>footer .ui-button{width:100%}}.first-use-after-class-hint{padding:var(--space-5)}.first-use-after-class-hint,.first-use-context-hint,.first-use-flow-hint{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.first-use-after-class-hint h2,.first-use-tour-card h2{margin:2px 0 var(--space-1);font-size:var(--font-size-lg)}.first-use-after-class-hint p,.first-use-tour-copy p{margin:0;color:var(--color-text-muted)}.first-use-context-hint,.first-use-flow-hint{align-items:center;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-muted);color:var(--color-text-muted)}.schedule-defaults-hint{width:-moz-fit-content;width:fit-content;max-width:100%;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-color:transparent;background:color-mix(in srgb,var(--color-muted) 64%,var(--color-surface));font-size:var(--font-size-xs);line-height:1.45}.schedule-defaults-hint .ui-button{min-height:auto;padding:var(--space-1) var(--space-2);font-size:inherit}.schedule-mode-back{margin-top:calc(var(--space-1) * -1);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.schedule-mode-back .ui-button{font-weight:600}.first-use-after-class-hint p+p{margin-top:var(--space-2)}.first-use-error{margin:var(--space-2) 0 0;color:var(--color-danger);font-size:var(--font-size-sm)}.first-use-compact-tasks{overflow:hidden;padding:0;border-left:3px solid var(--color-primary)}.first-use-compact-tasks summary{display:flex;min-height:var(--control-lg);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-primary);cursor:pointer;font-weight:600;list-style:none}.first-use-compact-tasks summary::-webkit-details-marker{display:none}.first-use-compact-tasks summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.first-use-compact-next{flex:1 1;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:400}.first-use-compact-chevron{margin-left:auto;font-size:22px;transition:transform .12s ease}.first-use-compact-tasks[open] .first-use-compact-chevron{transform:rotate(90deg)}.first-use-compact-tasks ul{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:0 var(--space-4) var(--space-4);list-style:none}.first-use-compact-tasks li{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted)}.first-use-compact-tasks li>span:first-child{display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;font-size:var(--font-size-xs)}.first-use-compact-tasks li.is-done{color:var(--color-primary)}.first-use-compact-tasks li.is-done>span:first-child{border-color:var(--color-primary);background:var(--color-primary);color:white}.first-use-compact-tasks a{color:var(--color-primary);font-weight:600}.first-use-tour{position:fixed;inset:0;z-index:120;pointer-events:none}.first-use-tour-shade{position:fixed;z-index:120;pointer-events:auto;background:rgba(14,28,23,.5)}.first-use-tour-shade-full{inset:0}.first-use-tour-ring{position:fixed;z-index:121;pointer-events:none;border:1px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}.first-use-tour-card{position:fixed;z-index:122;pointer-events:auto;max-height:calc(100vh - 32px);overflow-y:auto;padding:var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-popover);box-shadow:0 14px 36px rgba(14,28,23,.22);outline:none}.first-use-tour-card.is-centered{top:50%;left:50%;width:min(420px,calc(100vw - 32px));transform:translate(-50%,-50%)}.first-use-tour-close{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;width:var(--control-sm);height:var(--control-sm);place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:20px}.first-use-tour-close:hover{background:var(--color-muted);color:var(--color-text)}.first-use-tour-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.first-use-tour-progress{display:flex;width:calc(100% - 36px);align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:600}.first-use-tour-progress:after{content:"";flex:1 1;height:4px;border-radius:var(--radius-xs);background:var(--color-muted)}.first-use-tour-progress i{position:absolute;top:27px;left:58px;max-width:calc(100% - 98px);height:4px;border-radius:var(--radius-xs);background:var(--color-primary)}.first-use-tour-copy{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.first-use-tour-copy small{display:block;color:var(--color-text-muted)}.first-use-tour-notes{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-muted)}.first-use-tour-notes div{display:grid;grid-template-columns:112px minmax(0,1fr);grid-gap:var(--space-2);gap:var(--space-2)}.first-use-tour-notes dt{color:var(--color-text);font-weight:600}.first-use-tour-notes dd{margin:0;color:var(--color-text-muted)}.first-use-tour-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}@media (max-width:700px){.first-use-after-class-hint{flex-direction:column}.first-use-tour-card,.first-use-tour-card.is-centered{top:auto!important;right:var(--space-3)!important;bottom:var(--space-3)!important;left:var(--space-3)!important;width:auto!important;max-height:min(70vh,620px);transform:none}.first-use-tour-notes div{grid-template-columns:1fr;gap:2px}.first-use-tour-actions .ui-button{flex:1 1 auto}}@media (prefers-reduced-motion:reduce){.first-use-compact-chevron{transition:none}}@media (max-width:560px){.first-use-compact-tasks summary{align-items:flex-start;flex-wrap:wrap}.first-use-compact-next{flex-basis:calc(100% - 32px);order:3}}.lesson-attendance-summary{display:grid;justify-items:start;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.lesson-attendance-summary small{color:var(--color-text-muted);line-height:1.45;overflow-wrap:anywhere}.lesson-teacher-notes{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary);color:var(--color-text)}.lesson-teacher-notes span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.lesson-teacher-notes p{margin:0;color:var(--color-text);line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.parent-page{width:min(100%,1480px);margin-inline:auto}.parent-page .ui-page-header-component{margin-bottom:var(--space-1)}.parent-filter-bar{align-items:center;padding:var(--space-2)}.parent-filter-label{margin-right:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700}.parent-filter-links{display:flex;flex-wrap:wrap;gap:var(--space-1)}.parent-filter-links a{min-height:var(--control-sm);padding:6px var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none}.parent-filter-links a:hover{background:var(--color-surface-muted);color:var(--color-text)}.parent-filter-links a.is-active{border-color:var(--color-primary);background:var(--color-selected);color:var(--color-selected-text);font-weight:700}.parent-home-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);grid-gap:var(--space-4);gap:var(--space-4)}.parent-calendar-panel,.parent-day-panel{min-width:0;padding:var(--space-4)}.parent-day-list{display:grid;margin-top:var(--space-3)}.parent-day-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border)}.parent-day-row time{font-family:var(--font-mono);font-size:var(--font-size-sm)}.parent-day-row-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.parent-day-row-main small,.parent-day-row-main span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.parent-student-summary{margin-top:var(--space-1)}.parent-student-identity{display:grid;grid-gap:2px;gap:2px}.parent-student-identity small{color:var(--color-text-muted)}.parent-low-credit{color:var(--color-accent);font-weight:700}.parent-bind-empty{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;grid-gap:var(--space-6);gap:var(--space-6);padding:var(--space-6)}.parent-bind-empty-copy{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.parent-bind-empty-copy p{margin:0;color:var(--color-text-muted)}.parent-bind-form{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.parent-page .parent-course-list{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.parent-course-card{display:grid;grid-gap:var(--space-4);gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card)}.parent-course-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.parent-course-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-width:0}.parent-course-heading h2{flex-basis:100%;margin:0;font-size:var(--font-size-lg);overflow-wrap:anywhere}.parent-course-heading p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.parent-course-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-1)}.parent-course-next{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-accent-soft)}.parent-course-next>span:first-child{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700}.parent-course-next>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);min-width:0}.parent-course-next time{font-family:var(--font-mono);font-weight:700}.parent-course-facts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin:0;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.parent-course-facts div{display:flex;align-items:baseline;gap:var(--space-2)}.parent-course-facts dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.parent-course-facts dd{margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700}.parent-course-lessons{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.parent-course-lesson-section{min-width:0}.parent-course-lesson-section>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1)}.parent-course-lesson-section h3{margin:0;font-size:var(--font-size-md)}.parent-course-lesson-section>header span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.parent-course-lesson-section.is-history{color:var(--color-text-muted)}.parent-course-lesson-list{display:grid}.parent-course-lesson-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);min-height:44px;padding-block:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.parent-course-lesson-row:first-child{border-top:0}.parent-course-lesson-time{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);min-width:0}.parent-course-lesson-time span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.parent-course-lesson-time time{font-family:var(--font-mono)}.parent-course-publication-state{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap}.parent-course-section-empty{margin:0;padding-block:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.parent-course-more{border-top:1px solid var(--color-border)}.parent-course-more summary{width:-moz-fit-content;width:fit-content;padding:var(--space-2) 0;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:700;cursor:pointer}.parent-course-more[open] summary{margin-bottom:var(--space-1)}.parent-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card)}.parent-detail-facts div{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-3) var(--space-4);border-right:1px solid var(--color-border)}.parent-detail-facts div:last-child{border-right:0}.parent-detail-facts span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.parent-detail-section{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.parent-ledger-disclosure{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card)}.parent-ledger-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);list-style:none;cursor:pointer}.parent-ledger-disclosure>summary::-webkit-details-marker{display:none}.parent-ledger-disclosure>summary>span:first-child{display:grid;grid-gap:2px;gap:2px}.parent-ledger-disclosure>summary strong{font-size:var(--font-size-md)}.parent-ledger-disclosure>summary small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.parent-ledger-disclosure-action{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:700}.parent-ledger-disclosure[open] .parent-ledger-disclosure-action{font-size:0}.parent-ledger-disclosure[open] .parent-ledger-disclosure-action:after{content:"收起";font-size:var(--font-size-sm)}.parent-ledger-disclosure-content{padding:0 var(--space-4) var(--space-4)}.parent-ledger-value{font-family:var(--font-mono)}.parent-lesson-identity{display:grid;grid-gap:2px;gap:2px}.parent-lesson-identity small{color:var(--color-text-muted)}.parent-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-4);border:1px solid var(--color-destructive-border);border-radius:var(--radius-md);background:var(--color-destructive-surface)}.parent-danger-zone h2{margin:0;color:var(--color-destructive-text);font-size:var(--font-size-md)}.parent-danger-zone p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.parent-publication-layout{display:grid;grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-5)}.parent-page.parent-publication-page{max-width:none}.parent-publication-copy{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.parent-publication-copy section{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.parent-publication-copy section:first-child{padding-top:0;border-top:0}.parent-publication-copy h2{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.parent-publication-copy p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.parent-publication-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,280px));justify-content:start;grid-gap:var(--space-3);gap:var(--space-3)}.parent-publication-thumbnail{width:100%;min-width:0;padding:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:zoom-in}.parent-publication-thumbnail .publication-image-fallback,.parent-publication-thumbnail img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.parent-image-dialog{max-width:none;max-height:calc(100dvh - 32px);width:min(920px,calc(100vw - 32px));padding:0;overflow:hidden;border:0;border-radius:var(--radius-lg);background:transparent}.parent-image-dialog::-webkit-backdrop{background:rgba(16,26,21,.78)}.parent-image-dialog::backdrop{background:rgba(16,26,21,.78)}.parent-image-dialog-content{position:relative;display:grid;place-items:center;min-height:180px}.parent-image-dialog-content img{display:block;max-width:100%;max-height:calc(100dvh - 64px);object-fit:contain;border-radius:var(--radius-md)}.parent-image-dialog-close{position:absolute;z-index:1;top:var(--space-2);right:var(--space-2);min-height:var(--control-md);padding-inline:var(--space-3);border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-sm);background:rgba(20,28,24,.8);color:#fff;cursor:pointer}.parent-me-account{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:var(--space-4);gap:var(--space-4)}.parent-account-actions,.parent-account-summary{padding:var(--space-4)}.parent-account-summary{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.parent-account-summary strong{font-size:var(--font-size-lg)}.profile-name-readable{min-width:0;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.ui-shell-identity{min-width:0}.feedback-reply-list header{min-width:0;flex-wrap:wrap}.feedback-reply-list header .profile-name-readable{flex:1 1 160px}.feedback-reply-list header time{flex:0 0 auto}.parent-account-summary{min-width:0}.parent-profile-editor{scroll-margin-top:var(--space-8);padding:var(--space-4)}.parent-profile-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4);max-width:480px}.parent-profile-form input{width:100%;min-width:0}.parent-account-summary span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.parent-me-student-list{display:grid;border-top:1px solid var(--color-border)}.parent-me-student-row{display:flex;width:100%;min-height:52px;justify-content:space-between;padding-inline:0;border-bottom:1px solid var(--color-border);border-radius:0}.parent-me-student-row>span:first-child{display:grid;grid-gap:2px;gap:2px;text-align:left}.parent-me-student-row small{color:var(--color-text-muted)}.parent-account-actions{display:grid;align-content:start;grid-gap:var(--space-3);gap:var(--space-3)}.parent-account-actions h2{margin:0;font-size:var(--font-size-md)}.parent-account-actions>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.parent-notification-page .notification-page-list{border-radius:var(--radius-md);overflow:hidden}@media (max-width:1023px){.parent-home-workspace,.parent-me-account{grid-template-columns:1fr}}@media (max-width:767px){.parent-bind-empty{grid-template-columns:1fr}.parent-day-row{grid-template-columns:84px minmax(0,1fr)}.parent-day-row>:last-child{grid-column:2;justify-self:start}.parent-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-detail-facts div:nth-child(2){border-right:0}.parent-detail-facts div:nth-child(n+3){border-top:1px solid var(--color-border)}.parent-publication-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-danger-zone{align-items:flex-start;flex-direction:column}}@media (max-width:479px){.parent-page{min-width:0}.parent-bind-empty,.parent-calendar-panel,.parent-day-panel{padding:var(--space-3)}.parent-course-heading{align-items:flex-start;flex-direction:column}.parent-course-actions{justify-content:flex-start}.parent-course-card{padding:var(--space-3)}.parent-course-next{grid-template-columns:1fr auto}.parent-course-next>span:first-child{grid-column:1/-1}.parent-course-facts{gap:var(--space-2) var(--space-4)}.parent-course-lesson-row{grid-template-columns:minmax(0,1fr) auto}.parent-course-lesson-row>a,.parent-course-publication-state{grid-column:1/-1;justify-self:start}.parent-detail-facts{grid-template-columns:1fr}.parent-detail-facts div{padding-block:var(--space-2);border-right:0;border-top:1px solid var(--color-border)}.parent-detail-facts div:first-child{border-top:0}.parent-publication-gallery{grid-template-columns:1fr}.parent-image-dialog{width:calc(100vw - 16px)}}.auth-shell{display:grid;place-items:center;min-height:100svh;padding:var(--space-6) var(--space-4) max(var(--space-6),env(safe-area-inset-bottom));overflow-y:auto;background:var(--color-background)}.auth-shell-panel{box-sizing:border-box;width:min(100%,440px);padding:var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.auth-shell-header,.auth-shell-panel{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.auth-shell-brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.auth-shell-header-action{flex:0 0 auto}.auth-shell-brand{display:flex;align-items:center;gap:var(--space-3)}.auth-shell-brand>img{display:block;width:40px;height:40px;border-radius:var(--radius-md);object-fit:cover}.auth-shell-brand>div{display:grid;grid-gap:1px;gap:1px}.auth-shell-brand strong{font-size:var(--font-size-md)}.auth-shell-brand small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.auth-shell-copy{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.auth-shell-copy h1{margin:0;font-size:var(--font-size-xl);line-height:1.25}.auth-shell-copy>p:last-child{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65}.auth-shell-body,.auth-shell-notice{min-width:0}.auth-shell-body{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.auth-shell-footer{padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.55;text-align:center}.auth-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:var(--space-3);gap:var(--space-3)}.auth-code-row .ui-button{min-width:112px}.auth-role-group{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:0;border:0}.auth-role-group legend{margin-bottom:var(--space-1);font-size:.8125rem;font-weight:700}.auth-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.auth-role-option{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--control-lg);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-secondary);white-space:nowrap;cursor:pointer}.auth-role-option input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;flex:0 0 18px;width:18px;height:18px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.auth-role-option span{min-width:0;white-space:nowrap;word-break:keep-all}.auth-role-option:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.auth-feedback:empty{display:none}.auth-form-actions{display:flex;justify-content:flex-end}.auth-join-status{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.auth-join-status p{margin:0;color:var(--color-text-muted)}.auth-onboarding-panel{width:min(100%,460px)}.auth-onboarding-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.auth-login-panel{width:min(100%,520px)}.login-phone-mode,.login-wechat-mode{min-width:0}.login-capability-status{margin:0;padding:var(--space-6) 0;color:var(--color-text-muted);text-align:center}.login-mobile-guidance{display:grid;justify-items:start;grid-gap:var(--space-3);gap:var(--space-3)}.login-mobile-guidance p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.wechat-qr-login{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3)}.wechat-qr-frame{position:relative;display:grid;place-items:center;width:min(100%,320px);min-height:400px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-secondary)}.wechat-qr-container{width:300px;min-height:400px}.wechat-qr-container iframe{display:block;width:300px;height:400px;border:0}.wechat-qr-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;text-align:center}.wechat-qr-copy{display:grid;grid-gap:var(--space-1);gap:var(--space-1);text-align:center}.wechat-qr-copy strong{font-size:var(--font-size-md)}.wechat-qr-copy span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.wechat-qr-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}@media (max-width:479px){.auth-shell{align-items:start;padding:var(--space-4) var(--space-4) max(var(--space-6),env(safe-area-inset-bottom))}.auth-shell-panel{padding:var(--space-5) var(--space-4);box-shadow:none}.auth-code-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.auth-code-row .ui-button{min-width:96px;padding-inline:var(--space-2)}.auth-shell-brand-row{align-items:center}.auth-shell-header-action .ui-button{padding-inline:var(--space-2)}.auth-login-panel{width:100%}}@media (max-width:399px){.auth-role-options{grid-template-columns:1fr}}@media (max-width:374px){.auth-code-row{grid-template-columns:1fr}.auth-code-row .ui-button{width:100%}}.support-help{position:relative}.support-help-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.support-help-popover{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:60;width:min(288px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-popover);color:var(--color-text);box-shadow:var(--shadow-subtle)}.support-help-popover>header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.support-help-popover nav{display:grid;padding:var(--space-1)}.support-help-popover a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-height:54px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:inherit;text-decoration:none}.support-help-popover a:hover{background:var(--color-hover)}.support-help-popover a:focus-visible{outline:3px solid var(--color-focus);outline-offset:-1px}.support-help-popover a>span:first-child{display:grid;grid-gap:2px;gap:2px;min-width:0}.support-help-popover a strong{font-size:var(--font-size-sm)}.support-help-popover a small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.support-help-popover a>span:last-child{color:var(--color-text-muted);font-size:22px;line-height:1}.support-center{max-width:960px;gap:var(--space-6)}.support-center-sections{display:grid;grid-gap:var(--space-8);gap:var(--space-8)}.support-section{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.support-action-row,.support-contact-list{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card)}.support-action-row{display:grid;grid-template-columns:var(--control-touch) minmax(0,1fr) var(--control-sm);align-items:center;grid-gap:var(--space-3);gap:var(--space-3);width:100%;min-height:72px;padding:var(--space-3) var(--space-4);color:var(--color-text);text-align:left;cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.support-action-row:hover{background:var(--color-hover)}.support-action-row:active{background:var(--color-selected)}.support-action-row:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.support-action-row>span:nth-child(2){display:grid;grid-gap:2px;gap:2px;min-width:0}.support-action-row strong{font-size:var(--font-size-md);font-weight:600;line-height:1.4}.support-action-row small{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5;overflow-wrap:anywhere}.support-action-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-md);background:var(--color-selected);color:var(--color-primary)}.support-action-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.support-row-chevron{display:grid;width:var(--control-sm);height:var(--control-sm);place-items:center end;color:var(--color-text-muted);font-size:24px;line-height:1}.support-contact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);min-height:64px;padding:var(--space-2) var(--space-4)}.support-contact-row+.support-contact-row{border-top:1px solid var(--color-border)}.support-contact-row>span{display:grid;grid-gap:2px;gap:2px;min-width:0}.support-contact-row small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.4}.support-contact-row strong{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;line-height:1.45}.support-contact-row .ui-button{flex:0 0 auto}.support-community-dialog{width:min(500px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-popover);color:var(--color-text);box-shadow:var(--shadow-subtle)}.support-community-dialog::-webkit-backdrop{background:var(--color-overlay)}.support-community-dialog::backdrop{background:var(--color-overlay)}.support-community-dialog-panel{display:grid}.support-community-dialog-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.support-community-dialog-panel>header>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.support-community-dialog-panel>header span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.04em}.support-community-dialog-panel h2{margin:0;font-size:var(--font-size-lg);font-weight:600;line-height:1.4;overflow-wrap:anywhere}.support-dialog-close{display:grid;flex:0 0 var(--control-touch);width:var(--control-touch);height:var(--control-touch);margin:calc(-1 * var(--space-1));place-items:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:20px;font-weight:400;line-height:1;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.support-dialog-close:hover{background:var(--color-hover);color:var(--color-text)}.support-dialog-close:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.support-qr-stage{display:grid;justify-items:center;padding:var(--space-6) var(--space-8) var(--space-5);text-align:center}.support-qr-stage img{display:block;width:min(320px,100%);aspect-ratio:1;margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-foreground);object-fit:contain}.support-qr-stage>strong{font-size:var(--font-size-md);font-weight:600;line-height:1.4}.support-qr-stage>span{max-width:36ch;margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6;overflow-wrap:anywhere}.support-community-unavailable{display:grid;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-6) var(--space-5);text-align:center}.support-community-unavailable p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.support-qr-placeholder{display:grid;width:116px;height:116px;place-items:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-xs)}.support-dialog-contact{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-secondary)}.support-dialog-contact>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.6}.support-dialog-contact>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.support-dialog-contact span{display:grid;grid-gap:2px;gap:2px;min-width:0}.support-dialog-contact small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.4}.support-dialog-contact strong{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;line-height:1.45}.support-toast{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:90;max-width:min(320px,calc(100vw - 32px));padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-background);box-shadow:var(--shadow-subtle);font-size:var(--font-size-sm)}@media (max-width:560px){.support-help-popover{position:fixed;top:calc(var(--mobile-appbar-height) + var(--space-2));right:var(--space-3);left:var(--space-3);width:auto}.support-action-row,.support-contact-row{gap:var(--space-3);padding-inline:var(--space-3)}.support-community-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.support-community-dialog-panel>header,.support-dialog-contact{padding-inline:var(--space-4)}.support-qr-stage{padding:var(--space-5) var(--space-4)}.support-qr-stage img{width:min(300px,100%)}.support-toast{right:var(--space-3);bottom:max(var(--space-3),env(safe-area-inset-bottom));left:var(--space-3);max-width:none;text-align:center}}@media (prefers-reduced-motion:reduce){.support-community-dialog{scroll-behavior:auto}}