.favorite-button{width:44px;min-height:44px;color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:inline-flex}.favorite-button.is-favorite{color:#b77908;background:#f5ae201f}.journal-favorite-row{align-items:stretch;gap:8px;display:flex}.journal-favorite-row .journal-group-button{flex:1;min-width:0}.journal-favorites{margin-bottom:20px}.favorite-journals{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.favorite-journal{border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:8px;display:flex}.favorite-journal>button:first-child{text-align:left;background:0 0;border:0;flex:1;min-width:0}.favorite-journal small{color:var(--muted);margin-top:5px;display:block}.notification-tools,.notification-actions,.curator-tools,.journal-view-switch,.pair-navigation{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.notification-tools label,.curator-risk-filter{align-items:center;gap:8px;display:flex}.notification-tools input,.curator-risk-filter input{width:auto}.notification-list article{border-bottom:1px solid var(--border);padding:20px 0}.notification-list article.notification-new{border-left:3px solid var(--primary);padding-left:16px}.notification-list article p{white-space:pre-wrap;overflow-wrap:anywhere}.notification-count{background:var(--primary);color:#fff;border-radius:20px;min-width:23px;margin-left:auto;padding:2px 7px;font-size:12px}.curator-tools{align-items:end;margin-bottom:18px}.curator-tools label{min-width:180px}.curator-tools .curator-risk-filter{align-self:center;min-width:0}.curator-matrix table{min-width:800px}.curator-matrix th,.curator-matrix td{white-space:normal;vertical-align:top;min-width:185px}.curator-matrix small{color:var(--muted);margin-top:7px;line-height:1.6;display:block}.curator-matrix thead button{text-align:left;font-weight:600}.curator-cell-link{text-align:left;background:0 0;border:0;width:100%;padding:0}.curator-attention{background:#e8881c14}.curator-debt{color:var(--danger,#b91c1c);font-size:12px}.curator-matrix caption{text-align:left;padding:0 0 16px;font-weight:600}.journal-view-switch{margin-bottom:12px}.pair-navigation{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:16px}.pair-navigation label{flex:1;min-width:150px}.pair-description{overflow-wrap:anywhere;margin:8px 0 16px;line-height:1.6}.journal-grid-table.single-lesson{table-layout:fixed;width:100%;min-width:0}.journal-grid-table.single-lesson tr>th:first-child{white-space:normal;width:calc(100% - 116px);min-width:0;max-width:none}.journal-grid-table.single-lesson .student-profile-link{white-space:normal;overflow-wrap:anywhere}.journal-grid-table.single-lesson td{width:116px}.journal-grid-table.single-lesson .grid-cell{min-height:48px}.journal-grid-table.single-lesson th[data-lesson]{width:116px;min-width:0}.journal-grid-table.single-lesson .grid-cell input{font-size:16px}.journal-grid-table .grid-final{white-space:normal;text-align:center;min-width:130px}.grid-final button{font-size:13px}.semester-status{color:var(--muted);font-size:12px}.journal-focused .journal-grid-table.single-lesson tr>th:first-child{white-space:normal;width:calc(100% - 116px);min-width:0;max-width:none}.journal-focused .journal-grid-table.single-lesson .grid-cell input{font-size:16px}.journal-focused .journal-grid-table.single-lesson thead th[data-lesson]{width:116px;min-width:0}.journal-focused .journal-grid-table.single-lesson{width:100%;min-width:0}@media (max-width:600px){.curator-tools{align-items:stretch}.curator-tools label{width:100%}.favorite-journals{grid-template-columns:1fr}.pair-navigation{gap:8px;padding:12px}.pair-navigation label{flex-basis:100%;order:-1;width:100%}.pair-navigation button{flex:1;min-height:44px}.journal-view-switch button{min-height:44px}.journal-grid-table.single-lesson tr>th:first-child{padding:10px;left:0}.journal-grid-table.single-lesson .student-profile-link{font-size:13px}.journal-grid-table.single-lesson .student-number{margin-right:6px}.notification-actions button{min-height:44px}.journal-grid-table.single-lesson caption{white-space:normal}}.topbar-notifications{position:relative}.topbar-notifications .notification-count{min-width:18px;padding:1px 5px;font-size:10px;position:absolute;top:-6px;right:-6px}@media (max-width:700px){.pair-navigation{z-index:4;background:var(--surface);position:sticky;top:8px}}.pair-navigation label{margin:0}@media (max-width:700px){.single-pair-mode .journal-target{display:none}.single-pair-mode .journal-compact-heading{margin:8px 0;padding-right:54px;position:relative}.single-pair-mode .journal-compact-heading>div:last-child{position:absolute;top:0;right:0}.single-pair-mode .journal-compact-heading h1{font-size:19px}.single-pair-mode .journal-compact-heading p{margin-bottom:0;font-size:11px}.single-pair-mode .journal-toolbar{gap:8px;margin:8px 0}.single-pair-mode .journal-student-search{gap:4px;margin:8px 0}.single-pair-mode .journal-student-search button:disabled{display:none}.single-pair-mode .journal-student-search>span{padding:2px 0}.single-pair-mode .journal-view-switch{margin-bottom:8px}.single-pair-mode .pair-navigation{gap:6px;margin-bottom:8px;padding:10px}.single-pair-mode .pair-description{margin:4px 0 8px;font-size:12px}.single-pair-mode .grid-meta{font-size:11px}.single-pair-mode .section-heading{margin:6px 0}.single-pair-mode .section-heading>span{font-size:11px}}.curator-cell-link{display:block}.curator-tools label:has(input[type=search]){min-width:270px}@media (max-width:700px){.single-pair-mode>.journal-view-switch{margin-bottom:4px}.single-pair-mode>.section-heading:has(h2){display:none}.single-pair-mode .journal-grid-table.single-lesson thead th{height:auto}.single-pair-mode .journal-grid-table.single-lesson th[data-lesson]{padding:4px}.single-pair-mode .journal-grid-table.single-lesson .journal-completion{margin:2px 0;font-size:9px}}
.notification-message{max-width:900px;margin:12px 0 16px}.notification-message h3{margin:0 0 14px;font-size:18px;line-height:1.4}.notification-schedule-change{border:1px solid var(--border);background:var(--surface-subtle);border-radius:9px;min-width:0;margin:10px 0;padding:14px 16px}.notification-subject{overflow-wrap:anywhere;font-size:15px;line-height:1.5;display:block}.notification-list .notification-slot{color:var(--text);margin:8px 0;font-size:14px;font-weight:600}.notification-list .notification-groups,.notification-list .notification-room{color:var(--muted);margin:5px 0;font-size:13px;line-height:1.5}.notification-list .notification-change-field{color:var(--text);margin:8px 0 0;font-size:13px}.notification-change-kind{color:var(--blue);margin-bottom:8px;font-size:12px;font-weight:600;display:inline-block}.notification-details{margin-top:12px}.notification-details>summary{cursor:pointer;color:var(--blue);padding:5px 0;font-size:13px}.notification-history{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;margin-top:8px;padding:12px 14px;font-size:13px}.notification-history>div+div{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.notification-list .notification-history p{margin:8px 0;line-height:1.6}.notification-actions{flex-wrap:wrap;gap:8px;display:flex}.notification-list>article{min-width:0}.notification-list>article>small{color:var(--muted);display:block}@media (max-width:600px){.notification-message h3{font-size:17px}.notification-schedule-change{padding:12px}.notification-list>article.notification-new{padding-left:12px}.notification-tools{gap:8px}.notification-actions button{flex:1}.notification-message,.notification-history{overflow-wrap:anywhere}}.notification-card{border-radius:8px;position:relative}.notification-open:after{content:"";cursor:pointer;border-radius:8px;position:absolute;inset:0}.notification-open:disabled:after{cursor:wait}.notification-open:focus-visible:after{outline:2px solid var(--primary);outline-offset:2px}.notification-card:has(.notification-open:not(:disabled)):hover{background:var(--hover)}.notification-card .notification-details,.notification-card .notification-actions>button:not(.notification-open){z-index:1;position:relative}@media (max-width:600px){.notification-list>.section-heading{flex-wrap:wrap;gap:8px}.notification-list>.section-heading>h2{flex-basis:100%;margin-bottom:0}.notification-actions button{flex:140px}}
.notification-popover-anchor{display:inline-flex;position:relative}.notification-popover{z-index:40;background:var(--surface);border:1px solid var(--border);width:420px;max-width:calc(100vw - 24px);color:var(--text);text-align:left;border-radius:12px;position:absolute;top:calc(100% + 14px);right:0;overflow:hidden;box-shadow:0 16px 48px #0003}.notification-popover-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.notification-popover-heading h2{margin:0 0 4px;font-size:17px}.profile .notification-popover button{border:1px solid var(--border);min-height:36px;margin:0;padding:9px 12px}.notification-popover-items{overscroll-behavior:contain;max-height:min(520px,100dvh - 230px);padding:0 18px;overflow-y:auto}.notification-popover-items>article{border-bottom:1px solid var(--border);min-width:0;padding:16px 0}.notification-popover-items>article:last-child{border-bottom:0}.notification-popover-items>article.notification-preview-new{border-left:3px solid var(--primary);margin:12px 0;padding-left:12px}.profile .notification-popover b,.profile .notification-popover small{white-space:normal;text-overflow:clip;max-width:none;overflow:visible}.profile .notification-popover b{font-size:13px}.profile .notification-popover small{font-size:11px}.notification-popover .notification-message{margin:8px 0 0}.notification-popover .notification-message h3{margin:0 0 8px;font-size:15px}.notification-popover .notification-schedule-change{background:0 0;border:0;margin:0;padding:0}.notification-popover p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:12px;line-height:1.5}.notification-popover .notification-slot{color:var(--text);font-weight:600}.notification-popover .notification-preview-empty{padding:20px 0}.notification-popover-footer{border-top:1px solid var(--border);padding:12px 18px}.profile .notification-popover-footer button{width:100%;color:var(--blue)}@media (max-width:760px){.notification-popover{width:auto;max-width:none;position:fixed;top:78px;left:12px;right:12px}.notification-popover-items{max-height:calc(100dvh - 230px)}.profile .notification-popover button{min-height:44px}}.profile .notification-popover .notification-open{color:var(--blue);margin-top:8px;font-size:12px}.notification-popover .notification-open-error{padding:0 18px}
.student-portal .main-content{overflow-wrap:anywhere}.student-task-section{margin:24px 0}.student-task-section>.section-heading{flex-wrap:wrap;gap:12px}.student-task-section>.section-heading h2,.student-task-section>.section-heading p{margin:0}.student-task-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-task-panel{min-width:0}.student-task-heading{color:var(--blue);align-items:center;gap:10px;display:flex}.student-task-heading h3{color:var(--text);flex:1;margin:0}.student-task-overdue .student-task-heading{color:var(--danger)}.student-task-list{margin:0;padding:0;list-style:none}.student-task-list li{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:14px 0}.student-task-list li>small{color:var(--muted);line-height:1.5;display:block}.student-task-list li>p{margin:8px 0 0;font-size:13px}.student-task-link{text-align:left;width:100%;color:var(--blue);white-space:normal;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;padding:0;display:flex}.student-task-link svg{flex-shrink:0}.student-task-empty{color:var(--muted);padding:12px 0;font-size:14px}@media (max-width:1100px){.student-task-grid{grid-template-columns:1fr}}.schedule-agenda-section{min-width:0}.schedule-agenda{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.schedule-agenda-day{grid-template-columns:minmax(0,1fr)}.schedule-agenda-column{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;padding:14px}.schedule-agenda-column.is-today{border-color:var(--primary)}.schedule-agenda-column>header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:12px;display:flex}.schedule-agenda-column>header h3{text-transform:capitalize;flex:1;margin:0;font-size:15px}.schedule-agenda-column>header time{color:var(--muted);font-size:12px}.schedule-agenda-column .student-slot{border:1px solid var(--border);background:var(--bg);overflow-wrap:anywhere;border-radius:10px;margin-top:12px;padding:14px;display:block}.schedule-agenda-column .student-slot.cancelled{border-left:3px solid var(--danger)}.schedule-agenda-column .student-slot-time{color:var(--blue);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.schedule-agenda-column .student-slot-time small{font-size:11px}.schedule-agenda-column .student-slot-labels{gap:6px;margin-top:12px}.schedule-agenda-column .student-slot-labels .badge{white-space:normal}.schedule-agenda-column .student-slot-content h3{font-size:15px;line-height:1.4}.schedule-agenda-column .student-slot-content p{font-size:12px;line-height:1.5}.schedule-agenda-column>.empty{margin:0;padding:24px 8px}.schedule-agenda-section>.pagination{margin-top:16px}@media (max-width:1100px){.schedule-agenda{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-agenda-day{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.schedule-agenda{grid-template-columns:minmax(0,1fr)}.schedule-agenda-column,.schedule-agenda-column .student-slot{padding:12px}.student-schedule-toolbar input{min-width:0;max-width:100%}.student-schedule-toolbar label{flex:0 0 170px;min-width:0}}.student-selected-teacher{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.student-selected-teacher h2{margin:4px 0 0}.student-teacher-list{overscroll-behavior:contain;max-height:340px;padding:3px;overflow-y:auto}.student-schedule-start{scroll-margin-top:86px}.student-schedule-start:focus{outline:none}@media (max-width:760px){.student-selected-teacher{flex-direction:column;align-items:flex-start}.student-teacher-list{max-height:40dvh}}.student-welcome{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.student-welcome p{margin-bottom:0}.student-home-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;display:grid}.student-home-side{align-content:start;gap:22px;display:grid}.student-home-side>.panel>button{margin:5px 8px 0 0}.student-home-side .student-profile-table td,.student-home-side .student-profile-table th{white-space:normal}.student-slot{border-top:1px solid var(--border);gap:20px;padding:20px 0;display:flex}.student-slot-time{flex:0 0 125px}.student-slot-time b,.student-slot-time small{display:block}.student-slot-content{flex:1;min-width:0}.student-slot-content h3{margin:10px 0}.student-slot-content p{margin:5px 0}.student-slot-labels{flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.student-slot.cancelled{border-left:3px solid var(--danger);padding-left:12px}.student-slot-moved{color:var(--blue)}.student-homework{border:1px solid var(--border);border-radius:8px;margin-top:12px;padding:10px}.student-homework p{white-space:pre-wrap}.student-portal summary{cursor:pointer}.student-portal summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.student-filters{margin-bottom:22px}.student-filter-selects{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-filter-selects label{min-width:0;margin:0}.student-filter-selects select{min-width:0;max-width:100%}.student-date-filter{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:14px;display:flex}.student-date-filter label{margin:0}.student-date-filter button{min-height:46px}.student-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.student-subject-card{flex-direction:column;align-items:flex-start;gap:10px;min-width:0;display:flex}.student-subject-card h2,.student-subject-card p{margin:0}.student-subject-card>.badge{white-space:normal}.student-subject-card button{text-align:left;margin-top:auto}.student-identity{margin-bottom:18px}.student-identity p{margin-bottom:0}.student-record{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px 0;display:grid}.student-record h2{margin-bottom:8px}.student-record p{margin:5px 0}.student-record-value{color:var(--blue);align-self:start;font-size:24px}.student-record details{grid-column:1/-1}.student-record details p{border-top:1px solid var(--border);padding:10px 0}.student-schedule-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:20px 0;display:flex}.student-schedule-toolbar label{margin:0}.student-schedule-toolbar input{width:170px}.student-schedule-toolbar>button{min-height:44px}.student-schedule-toolbar>div{gap:8px;margin-left:auto;display:flex}.student-teacher-picker{margin-bottom:20px}.student-teacher-search{align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.student-teacher-search label{flex:1;margin:0}.student-teacher-search button{min-height:46px}.student-teacher-list{flex-wrap:wrap;gap:8px;display:flex}.student-teacher-list button{white-space:normal;text-align:left}@media (max-width:1000px){.student-home-grid,.student-home-side{grid-template-columns:1fr}}@media (max-width:760px){.student-welcome{flex-direction:column;align-items:flex-start}.student-home-grid{gap:18px}.student-filter-selects,.student-subject-grid{grid-template-columns:1fr}.student-date-filter label{flex:1;min-width:120px}.student-date-filter input{width:100%;min-width:0}.student-slot{flex-direction:column;gap:10px}.student-slot-time{flex-wrap:wrap;flex:auto;gap:10px;display:flex}.student-slot-time small{align-self:center}.student-schedule-toolbar>div{width:100%;margin-left:0}.student-schedule-toolbar>div button{flex:1}.student-record{grid-template-columns:1fr}.student-record-value{font-size:21px}.student-teacher-search{flex-wrap:wrap}.student-teacher-search label{flex-basis:100%;min-width:0}.student-teacher-list{flex-direction:column}.student-teacher-list button{justify-content:flex-start}.student-portal .pagination>span:first-child{flex-basis:100%;margin-right:0}}
.journal-grid-scroll{border:1px solid var(--border);background:var(--surface);border-radius:10px;max-height:70vh;overflow:auto}.journal-grid-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.journal-grid-table caption{text-align:left;padding:10px;font-weight:600}.journal-grid-table th,.journal-grid-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;min-width:92px;padding:0}.journal-grid-table thead th{background:var(--surface);z-index:2;padding:6px;position:sticky;top:0}.journal-grid-table th:first-child{text-align:left;white-space:normal;background:var(--surface);z-index:1;min-width:230px;max-width:280px;padding:10px;position:sticky;left:0}.journal-grid-table thead th:first-child{z-index:3}.journal-grid-table th small{display:block}.journal-grid-table thead button{background:0 0;border:0;padding:3px}.grid-cell{min-height:60px;position:relative}.grid-cell input{text-align:center;width:100%;min-width:90px;color:inherit;background:0 0;border:2px solid #0000;border-radius:0;margin:0;padding:8px;font-size:17px;font-weight:700}.grid-cell input:focus{outline:2px solid var(--primary);outline-offset:-2px;background:var(--surface)}.grid-cell input:read-only{cursor:default}.grid-cell:focus-within{box-shadow:inset 0 0 0 2px var(--primary)}.grid-cell small{white-space:normal;max-width:180px;display:block}.grid-cell.error{border-radius:0;margin:0;padding:0}.grid-cell-error{color:var(--danger);padding:4px}.grid-tokens{justify-content:center;gap:2px;padding-bottom:3px;font-size:12px;display:flex}.mark-slash{color:var(--muted);padding-right:2px}.grid-save-state{min-height:20px;margin:6px 0}.grid-save-state button{margin-left:10px}.grid-legend{flex-wrap:wrap;gap:12px;padding:10px 0;font-size:12px;display:flex}.mark-excellent,.grid-excellent{color:#168044}.mark-good,.grid-good{color:#2369c5}.mark-satisfactory,.grid-satisfactory{color:#a56a00}.mark-poor,.grid-poor{color:#c73535}.mark-excused,.grid-excused{color:#8752bd}.mark-neutral,.grid-neutral{color:var(--text)}[data-theme=dark] :is(.mark-excellent,.grid-excellent){color:#66d695}[data-theme=dark] :is(.mark-good,.grid-good){color:#81b9ff}[data-theme=dark] :is(.mark-satisfactory,.grid-satisfactory){color:#efc364}[data-theme=dark] :is(.mark-poor,.grid-poor){color:#ff9494}[data-theme=dark] :is(.mark-excused,.grid-excused){color:#c2a1ef}.grid-cell:not(:focus-within) input{color:#0000}.grid-cell .grid-tokens{pointer-events:none;font-size:17px;font-weight:700;position:absolute;inset:8px 0 auto}.grid-cell:focus-within .grid-tokens{display:none}@media (max-width:760px){.journal-grid-table th:first-child{min-width:150px;max-width:170px;font-size:12px}.journal-grid-scroll{max-height:75vh}}.journal-focused .journal-compact-heading{margin:8px 0 12px}.journal-focused .journal-compact-heading h1{font-size:22px}.journal-focused .journal-compact-heading .eyebrow{display:none}.journal-focused .section-heading{margin:10px 0}.journal-focused .journal-secondary{margin-top:24px}.journal-focused .journal-grid-scroll{border:2px solid #8b9caf;border-radius:8px;height:65vh;max-height:80vh}.journal-focused .journal-grid-table th,.journal-focused .journal-grid-table td{border-bottom:1px solid #8b9caf;border-right:1px solid #8b9caf}.journal-focused .grid-cell{min-height:46px}.journal-focused .grid-cell input,.journal-focused .grid-cell .grid-tokens{font-size:21px;font-weight:800}.journal-focused .grid-cell input{min-height:46px}.journal-focused .grid-cell:not(:focus-within):has(.grid-tokens span){background:color-mix(in srgb,currentColor 9%,var(--surface))}.journal-focused .grid-cell:focus-within{box-shadow:inset 0 0 0 3px var(--primary)}.journal-focused .journal-grid-table thead th{border-bottom:2px solid #657b94}.journal-focused .journal-grid-table tbody tr:hover>th{background:var(--accent-soft)}[data-theme=dark] .journal-focused .journal-grid-table th,[data-theme=dark] .journal-focused .journal-grid-table td{border-color:#65788e}.journal-grid-table thead button{border-radius:6px;flex-direction:column;gap:2px;width:100%;display:flex}.journal-grid-table thead button:hover{background:var(--accent-soft)}.journal-grid-table thead button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.grid-task-label{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;display:block}.grid-task-label.assigned{color:var(--primary);font-weight:700}.journal-focused .journal-grid-table .target-column{background:var(--accent-soft)}.journal-focused .journal-grid-table thead .target-column{box-shadow:inset 0 -3px var(--primary)}.journal-target{border:1px solid var(--border);background:var(--accent-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:10px 12px;font-size:13px;display:flex}.journal-target button{flex-shrink:0}.grid-cell-readonly{background:color-mix(in srgb,var(--muted) 6%,var(--surface))}.grid-cell-lock{color:var(--muted);pointer-events:none;position:absolute;top:4px;right:4px}.grid-cell .grid-cell-blocked-hint{color:var(--muted);text-align:left;padding:5px 6px;font-size:11px;line-height:1.35}.grid-cell .grid-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grid-cell .grid-cell-retry{white-space:normal;max-width:160px;margin:3px;padding:5px;font-size:11px}.grid-no-member{color:var(--muted);min-width:90px;padding:10px;display:block}.grid-no-member small{white-space:normal;max-width:160px;font-size:11px;display:none}.grid-no-member:focus{outline:2px solid var(--primary);outline-offset:-2px}.grid-no-member:focus small{display:block}.grid-conflict-label{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.grid-conflict-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.grid-conflict-values>div{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:8px;padding:12px}.grid-conflict-values>div:last-child{border-color:var(--primary)}.grid-conflict-values dt{color:var(--muted);margin-bottom:8px;font-size:12px}.grid-conflict-values dd{margin:0}.grid-conflict-values strong{font-size:18px;display:block}.grid-conflict-values small{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.4;display:block}.grid-conflict-actions{flex-wrap:wrap}.grid-conflict-actions button{white-space:normal}@media (max-width:540px){.grid-conflict-values{grid-template-columns:1fr;gap:8px;margin:12px 0}.grid-conflict-values>div{padding:9px 12px}.grid-conflict-values dt{margin-bottom:4px}.grid-conflict-values small{margin-top:3px}.grid-conflict-actions button{width:100%}}
.journal-student-search{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0;display:flex}.journal-student-search label{flex:1;min-width:220px;max-width:450px;margin:0;font-size:12px}.journal-student-search input{padding:9px 12px}.journal-student-search>span{color:var(--muted);padding:9px 0;font-size:12px}.journal-student-search button{font-size:12px}.journal-fill-filter{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 0 14px;font-size:12px;display:flex}.journal-fill-filter label{color:var(--text);align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.journal-fill-filter input{width:16px;height:16px;margin:0}.journal-fill-filter small{flex-basis:100%;font-size:11px}.journal-focused .journal-grid-table thead th[data-lesson]{min-width:104px;padding:6px}.journal-grid-table thead .journal-column-details{font-size:13px;line-height:1.3}.journal-grid-table thead .journal-column-trigger{width:34px;min-height:26px;color:var(--muted);border:1px solid var(--border);flex-direction:row;margin:3px auto 0;padding:3px;display:flex}.journal-completion{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:5px;margin:5px 0 0;padding:3px 5px;font-size:10px;font-weight:500;line-height:1.4;display:inline-block}.completion-attention,.completion-empty{color:var(--text);background:color-mix(in srgb,#ee981d 14%,var(--surface));border-color:color-mix(in srgb,#ee981d 60%,var(--border))}.completion-complete{color:var(--text);background:color-mix(in srgb,#45972e 12%,var(--surface));border-color:color-mix(in srgb,#45972e 50%,var(--border))}.journal-column-menu{z-index:100;border:1px solid var(--input-border);background:var(--surface);width:min(300px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);border-radius:12px;padding:14px;position:fixed;overflow-y:auto;box-shadow:0 10px 35px #0003}.journal-column-menu>strong{margin-bottom:8px;display:block}.journal-column-menu p{margin:6px 0;font-size:12px}.journal-column-menu>button{text-align:left;white-space:normal;justify-content:flex-start;width:100%;margin-top:9px;font-size:13px;display:flex}.journal-column-menu>small{margin-top:7px;font-size:11px;line-height:1.45;display:block}.journal-focused .journal-grid-table .journal-no-students{color:var(--muted);text-align:left;white-space:normal;padding:24px}@media (max-width:600px){.journal-student-search{align-items:center;gap:8px}.journal-student-search label{flex-basis:100%;max-width:none}.journal-student-search>span{margin-left:auto}.journal-fill-filter{gap:8px}.journal-fill-filter>span{flex-basis:100%}}
.schedule-settings{gap:16px;display:grid}.settings-tabs,.settings-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-tabs [aria-selected=true]{background:var(--accent-soft);border-color:var(--blue)}.settings-toolbar>input{flex:1;min-width:160px}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-fields label{margin:0}.settings-fields input,.settings-fields textarea{margin-top:6px}.settings-days,.settings-bells{grid-column:1/-1}.settings-days{flex-wrap:wrap;gap:14px;display:flex}.settings-days label{align-items:center;gap:5px;display:flex}.settings-days input,.settings-bells input[type=checkbox]{width:auto;margin:0}.settings-bells>div{grid-template-columns:100px 1fr 1fr;align-items:center;gap:14px;margin-bottom:10px;display:grid}.schedule-settings td{white-space:normal;overflow-wrap:anywhere;min-width:100px}.schedule-settings th{white-space:normal}.schedule-room-select{grid-column:1/-1}.schedule-export-form{gap:14px;display:grid}.schedule-export-actions{flex-wrap:wrap;gap:10px;display:flex}.schedule-print-frame{border:1px solid var(--border);background:#fff;width:100%;height:60vh}@media (max-width:600px){.settings-fields{grid-template-columns:1fr}.settings-bells>div{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);gap:8px}.settings-toolbar>*{width:100%}.schedule-export-actions>*{flex:1;min-width:90px}}dialog:has(.schedule-settings){width:min(1000px,100vw - 32px)}dialog:has(.schedule-export-form){width:min(1120px,100vw - 32px)}.schedule-settings td:last-child{white-space:nowrap;min-width:120px}@media (max-width:600px){.schedule-settings table,.schedule-settings tbody{width:100%;display:block}.schedule-settings thead{display:none}.schedule-settings tr{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;margin-bottom:12px;padding:8px;display:flex}.schedule-settings td{white-space:normal;border:0;width:50%;padding:8px;display:block;min-width:0!important}.schedule-settings td:first-child,.schedule-settings td:nth-child(3),.schedule-settings td:last-child{width:100%}.schedule-settings td:before{content:attr(data-label);color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.schedule-settings .table-scroll{overflow:visible}}
.journal-grade-import{gap:14px;display:grid}.journal-grade-import .management-toolbar{align-items:end}.journal-grade-import .management-toolbar label{flex:1;min-width:0}.journal-import-preview{max-height:45vh}.journal-import-preview td{white-space:normal;min-width:85px}.journal-import-preview td:nth-child(2){min-width:190px}@media (max-width:600px){.journal-grade-import .management-toolbar{grid-template-columns:1fr;display:grid}.journal-grade-import .management-toolbar>*{width:100%}}
.ktp-view{gap:18px;display:grid}.ktp-metrics{flex-wrap:wrap;gap:16px 26px;display:flex}.ktp-metrics span{color:var(--muted);font-size:12px}.ktp-metrics b{color:var(--text);font-size:20px;display:block}.ktp-notice{background:var(--notice-bg);color:var(--notice-text);border-radius:8px;padding:12px}.ktp-topic h3{overflow-wrap:anywhere;margin:7px 0}.ktp-topic p{margin-bottom:8px}.ktp-details{gap:10px;display:grid}.ktp-details dt{color:var(--muted);font-size:12px}.ktp-details dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0 0}.ktp-download{padding:10px}.ktp-lessons>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.ktp-lessons span{overflow-wrap:anywhere;min-width:0}.ktp-lessons button{flex-shrink:0}.ktp-preview{overflow-wrap:anywhere;max-height:260px;overflow:auto}.ktp-issues{color:var(--notice-text);padding-left:22px}@media (max-width:650px){.ktp-topic .section-heading,.ktp-view>.panel>.section-heading,.ktp-lessons>div{flex-direction:column;align-items:flex-start}}
.lesson-task{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:16px 0;padding:16px}.lesson-task h3{margin-top:0}.lesson-task-fields{grid-template-columns:minmax(0,2fr) minmax(120px,1fr);gap:12px;display:grid}.lesson-task-fields label{min-width:0;margin:8px 0}.lesson-task-fields input,.lesson-task-fields select{width:100%}.lesson-task .hint{margin-top:8px}.lesson-task form button{margin-top:12px}.lesson-task .error button{margin-left:8px}@media (max-width:520px){.lesson-task-fields{grid-template-columns:1fr}.lesson-task{padding:12px}}dialog:has(.lesson-task){width:min(880px,100vw - 32px)}.lesson-task fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.lesson-task fieldset>label{min-width:0;margin:0}.lesson-task fieldset>.lesson-task-fields,.lesson-task fieldset>.hint,.lesson-task fieldset>button{grid-column:1/-1}.lesson-task fieldset>button{justify-self:start}@media (max-width:600px){.lesson-task fieldset{grid-template-columns:1fr}}
.attestation-view{gap:18px;display:grid}.attestation-card{gap:16px;display:grid}.attestation-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.attestation-meta small,.attestation-meta b{display:block}.attestation-meta b{overflow-wrap:anywhere;margin-top:5px}.attestation-setup-fields{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:16px;display:grid}.attestation-setup-fields label{margin-top:10px}.attestation-table input,.attestation-table select{min-width:145px;margin:0}.attestation-table th,.attestation-table td{vertical-align:middle}.attestation-summary{flex-wrap:wrap;gap:10px;display:flex}.attestation-summary span{border:1px solid var(--border);background:var(--surface-subtle);border-radius:8px;padding:10px 14px}.attestation-actions{gap:12px;display:grid}.attestation-actions label{margin:0}.attestation-history{border-top:1px solid var(--border);padding-top:16px}.attestation-history article{border-bottom:1px solid var(--border);padding:12px 0}.attestation-history article p{margin:5px 0}.attestation-statement{border:1px solid var(--success-border);border-radius:8px;padding:14px}.attestation-reviewed{background:var(--notice-bg);color:var(--notice-text)}.attestation-completed{border-color:var(--success-border);color:var(--green)}@media (max-width:760px){.attestation-meta{grid-template-columns:1fr 1fr}.attestation-setup-fields{grid-template-columns:1fr}.attestation-table input,.attestation-table select{min-width:135px}.attestation-view .table-scroll{margin-inline:-8px}.attestation-summary span{flex:120px}}
.journal-period{margin:20px 0}.journal-period fieldset{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.journal-period label{margin:0;font-size:12px}.journal-period select,.journal-period input{width:auto;max-width:100%}.journal-period-arrows{gap:8px;display:flex}.journal-period .hint{margin-top:10px}.journal-topic-preview{white-space:nowrap;text-overflow:ellipsis;max-width:155px;margin:6px auto;font-size:11px;font-weight:400;display:block;overflow:hidden}.journal-date-button{color:var(--blue);padding:4px 6px;font-weight:600}.lesson-details-grid{gap:14px;margin:20px 0;display:grid}.lesson-details-grid dt{color:var(--muted);font-size:12px}.lesson-details-grid dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.lesson-roster-heading{margin:24px 0 8px}.journal-empty{margin-top:20px}.journal-mobile .lesson-details-button{margin:10px 0}.journal-tab-content[aria-busy=true]{opacity:.65;pointer-events:none}.journal-mobile select{max-width:100%}.journal-table th:first-child{white-space:normal;max-width:260px}.journal-table th:last-child small{white-space:normal}.journal-total-label{margin:14px 0}@media (max-width:760px){.journal-period fieldset{align-items:stretch}.journal-period label{flex:125px;min-width:0}.journal-period select,.journal-period input{width:100%}.journal-period-arrows{align-self:end}.journal-period button{min-height:40px}.tabs{flex-wrap:wrap;gap:12px}.student-row{gap:12px}.student-row>span{overflow-wrap:anywhere;min-width:0}.student-row .cell-button{flex-shrink:0}.journal-period .pagination{margin-top:14px}}.journal-selection{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.journal-selection label{min-width:0;margin:0}.journal-selection select{min-width:0}.assignment-card h2{overflow-wrap:anywhere}.journal-subject-card{align-self:start;padding:0;overflow:hidden}.journal-subject-toggle{background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:stretch;gap:24px;width:100%;min-height:180px;padding:24px;display:flex}.journal-subject-toggle:hover{background:var(--hover)}.journal-subject-toggle h2{margin:7px 0 8px}.journal-subject-toggle .eyebrow{margin:0;display:block}.subject-open-label{color:var(--blue);justify-content:space-between;align-items:center;font-size:12px;display:flex}.journal-subject-toggle[aria-expanded=true] .subject-open-label svg{transform:rotate(90deg)}.journal-group-list{border-top:1px solid var(--border);padding:18px}.journal-group-list>p{margin:0 0 8px;font-size:12px}.journal-group-button{text-align:left;border:0;border-radius:8px;justify-content:space-between;width:100%;padding:13px 10px}.journal-group-button>span{min-width:0}.journal-group-button b,.journal-group-button small{display:block}.journal-group-button small{white-space:normal;overflow-wrap:anywhere;margin-top:3px}.journal-group-button .archive-label{color:var(--danger)}@media (max-width:1000px){.journal-selection{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.journal-selection{grid-template-columns:1fr}}@media (max-width:760px){.journal-subject-toggle{min-height:150px;padding:19px}.journal-group-list{padding:12px}.journal-group-button{padding:12px 8px}}.record-check{align-items:center;gap:10px;margin:10px 0;display:flex!important}.record-check input[type=checkbox]{width:18px;min-width:18px;height:18px;margin:0}.record-roster{border:1px solid var(--border);border-radius:8px;max-height:260px;padding:8px;overflow:auto}.record-selection{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.record-history{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.record-history article{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:12px 0}.record-history article p{white-space:pre-wrap;margin:6px 0}.record-before{opacity:.65}.record-history small{display:block}.journal-table th>.text-button{width:max-content;max-width:100%;margin:7px auto 0;display:flex}
.journal-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0 6px;display:flex}.journal-main-tabs{gap:6px;display:flex}.journal-toolbar .journal-period{flex:1;margin:0}.journal-period.compact fieldset{align-items:center;gap:8px}.journal-period.compact label{align-items:center;gap:8px;display:flex}.journal-period.compact .hint{display:none}.journal-period.compact input,.journal-period.compact select{margin:0;padding:8px}.journal-more{margin-left:auto;position:relative}.journal-more summary,.grid-help summary{cursor:pointer;color:var(--muted);padding:8px;font-size:13px}.journal-more>div{z-index:12;border:1px solid var(--border);background:var(--surface);border-radius:10px;width:260px;padding:14px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0002}.journal-more>div>button{text-align:left;background:0 0;border:0;width:100%;display:block}.journal-more .summary-strip{margin:10px 0;font-size:12px;display:block}.journal-more .summary-strip span{margin:6px 0;display:block}.journal-focused .journal-compact-heading{margin:12px 0}.journal-focused .journal-compact-heading h1{font-size:22px}.journal-focused .section-heading h2{color:var(--muted);font-size:14px;font-weight:500}.grid-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.grid-save-state{min-height:18px;margin:0;font-size:12px}.grid-help{margin-left:auto;position:relative}.grid-help[open]{max-width:600px}.grid-help p{color:var(--muted);font-size:13px}.journal-focused .journal-grid-scroll{border:1px solid var(--input-border);border-radius:8px;height:auto;min-height:240px;max-height:calc(100vh - 285px)}.journal-grid-table caption{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.journal-focused .journal-grid-table th,.journal-focused .journal-grid-table td{border-color:var(--input-border);min-width:64px}.journal-focused .journal-grid-table thead th{border-bottom:1px solid var(--input-border);background:var(--surface-subtle);height:58px;padding:8px 3px}.journal-grid-table thead button{color:var(--blue);font-size:13px}.journal-grid-table thead small{color:var(--muted);margin-top:6px;font-size:10px;font-weight:400}.journal-focused .journal-grid-table th:first-child{white-space:normal;min-width:245px;max-width:265px;padding:10px}.journal-grid-table .student-number{width:24px;color:var(--muted);font-size:12px;display:inline-block}.journal-grid-table .student-profile-link{max-width:210px;color:var(--text);font-size:13px;text-decoration:none}.journal-grid-table .student-profile-link:hover{text-decoration:underline}.journal-focused .journal-grid-table tbody tr:nth-child(5n)>*{border-bottom-color:var(--navy)}.journal-focused .journal-grid-table .active-column,.journal-focused .journal-grid-table .active-row>th{background:var(--accent-soft)}.journal-focused .journal-grid-table .grid-average{background:var(--surface-subtle);border-left:1px solid var(--input-border);z-index:1;min-width:75px;font-size:12px;position:sticky;right:0}.journal-focused .journal-grid-table thead .grid-average{z-index:3}.journal-focused .grid-cell{min-height:44px}.journal-focused .grid-cell input{min-width:62px;min-height:44px;padding:8px 2px;font-size:16px;font-weight:500}.journal-focused .grid-cell:not(:focus-within):has(.grid-tokens span){background:0 0}.journal-focused .grid-cell:focus-within{box-shadow:inset 0 0 0 2px var(--primary)}.journal-focused .grid-cell .grid-tokens{justify-content:center;align-items:center;padding:0;font-size:15px;display:flex;inset:0}.journal-focused .grid-cell:focus-within .grid-tokens{display:none}.grid-grades{align-items:center;gap:3px;display:flex}.grade-badge{background:var(--primary);color:#fff;border:0;border-radius:2px;justify-content:center;align-items:center;width:20px;height:22px;font-weight:700;line-height:1;display:inline-flex}.grade-5{background:#45972e}.grade-4{background:#65a13b}.grade-3{background:#ee981d}.grade-2{background:#d72132}.grid-attendance{font-size:12px;font-weight:500;position:absolute;top:3px;left:4px}.grid-presence{color:var(--muted);font-size:22px}.cell-picker{z-index:100;background:var(--surface);width:min(280px,100vw - 24px);color:var(--text);border:1px solid var(--input-border);border-radius:12px;padding:12px;position:fixed;box-shadow:0 10px 35px #0003}.cell-picker-grades{gap:8px;display:flex}.cell-picker-grades .grade-badge{color:#fff;border-radius:6px;flex:1;width:40px;height:38px;padding:0;font-size:20px}.cell-picker-attendance{gap:5px;padding:10px 0;display:flex}.cell-picker-attendance button{padding:7px;font-size:12px}.cell-picker-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.cell-picker-footer>button{color:var(--muted);background:0 0;border:0;padding:5px;font-size:12px}.cell-picker-footer summary{cursor:pointer;font-size:12px}.cell-picker-footer details[open]{position:relative}.cell-picker-footer details>button{width:100%;margin-top:6px;font-size:12px;display:block}.lesson-quick-actions{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}dialog:has(.grade-picker){border-radius:0;width:min(470px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:24px;position:fixed;inset:0 0 0 auto;overflow-y:auto}dialog:has(.grade-picker) .dialog-body{padding:0}@media (max-width:760px){.journal-toolbar{gap:8px}.journal-toolbar .journal-period{flex-basis:100%;order:3}.journal-period.compact label{flex:0 auto}.journal-focused .journal-grid-table th:first-child{min-width:170px;max-width:180px}.journal-grid-table .student-profile-link{max-width:140px;font-size:12px}.journal-grid-table .student-number{width:18px}.journal-focused .journal-grid-scroll{max-height:65vh}.journal-more>div{right:0}.journal-grid-table .grid-average{min-width:60px!important}}
.curator-task-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.curator-task-tabs button[aria-pressed=true],.curator-task-stats button[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.curator-task-stats button{text-align:left;white-space:normal;font:inherit;color:inherit;justify-content:start;display:grid}.curator-task-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;display:flex}.curator-task-filters label{flex:180px;gap:8px;min-width:0;font-weight:600;display:grid}.curator-task-filters select,.curator-task-filters input{width:100%;min-width:0}.curator-task-filters .curator-task-search{flex:2 260px}.curator-task-table table{width:100%;min-width:850px}.curator-task-table th,.curator-task-table td{vertical-align:top;white-space:normal}.curator-task-table th:first-child{width:23%}.curator-task-table td:nth-child(2){width:35%}.curator-task-table small,.curator-task-table b{margin-top:7px;display:block}.curator-task-subject{color:var(--blue);text-align:left;white-space:normal;background:0 0;border:0;padding:0}.curator-task-overdue{color:var(--danger)}.curator-task-status{border:1px solid var(--border);border-radius:7px;padding:5px 8px;font-size:12px;display:inline-block}.curator-task-status.returned,.curator-task-status.missing{background:var(--surface-subtle)}.curator-task-pages{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin:16px 0;display:flex}.curator-task-pages span{font-size:13px}@media (max-width:600px){.curator-task-filters label{flex-basis:100%}.curator-task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.curator-task-pages{justify-content:flex-start}}@media (max-width:700px){.curator-task-table{padding:12px}.curator-task-table table{white-space:normal;min-width:0;display:block}.curator-task-table caption{text-align:left;margin-bottom:12px;display:block}.curator-task-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.curator-task-table tbody{gap:12px;display:grid}.curator-task-table tbody tr{border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.curator-task-table th:first-child,.curator-task-table td:nth-child(2){width:auto}.curator-task-table tbody th,.curator-task-table tbody td{overflow-wrap:anywhere;min-width:0;padding:12px;display:block}.curator-task-table tbody td:last-child{border-bottom:0}.curator-task-table [data-label]:before{content:attr(data-label);color:var(--muted);margin-bottom:7px;font-size:10px;font-weight:400;display:block}.curator-task-table button{white-space:normal;text-align:left}}
.schedule-workbench{gap:14px;display:grid}.editor-filters{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:12px;padding:16px;display:grid}.editor-filters label,.editor-controls label{min-width:0;margin:0;font-size:12px}.editor-search{grid-column:1/-1}.editor-filters input,.editor-filters select,.editor-controls select{padding:8px}.editor-controls,.editor-selection{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.editor-controls span{margin-right:auto}.editor-controls [aria-pressed=true]{border-color:var(--blue);color:var(--blue)}.editor-selection{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px}.editor-selection label,.editor-ack{align-items:center;gap:8px;margin:0;display:flex}.editor-selection select{width:auto;margin:0}.editor-selection input,.editor-ack input,.editor-table input,.editor-days input{flex:none;width:17px;height:17px;margin:0}.editor-table-scroll{border:1px solid var(--border);border-radius:10px;max-height:70vh;overflow:auto}.editor-table{background:var(--surface);white-space:normal;min-width:900px}.editor-table th{z-index:1;position:sticky;top:0}.editor-table td,.editor-table th{vertical-align:middle;padding:10px}.editor-table small{display:block}.editor-table tr.selected{background:var(--accent-soft)}.editor-table select{min-width:118px;margin:0;padding:6px;font-size:12px}.editor-days{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.editor-days section,.editor-days article{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px}.editor-days article{margin-top:10px}.editor-days p{margin:6px 0}.editor-days label{gap:8px;display:flex}.editor-change-list{max-height:38vh;margin:12px 0;overflow:auto}.editor-change-list>div,.editor-change-list>article{border-bottom:1px solid var(--border);padding:12px 0}.editor-change-list p{overflow-wrap:anywhere;margin:5px 0}dialog:has(.editor-change-list){width:min(900px,100vw - 32px)}@media (max-width:600px){.editor-filters{grid-template-columns:1fr 1fr}.editor-selection select,.editor-controls .primary{width:100%}}.drag-board table{white-space:normal;table-layout:fixed;min-width:1200px}.drag-board th:first-child{width:55px}.drag-board td{vertical-align:top;border:1px solid var(--border);height:100px;padding:5px}.drag-board article{border:1px solid var(--input-border);background:var(--surface);border-radius:6px;margin:3px 0;padding:8px}.drag-board article[draggable=true]{cursor:grab}.drag-board article p{margin:5px 0}.drag-board article button{padding:4px;font-size:12px}.drag-board .drop-hover{background:var(--accent-soft);outline:2px solid var(--primary)}dialog:has(.template-editor){width:min(1000px,100vw - 32px)}.template-editor .editor-change-list button{margin-right:6px}.template-editor fieldset{border:0;padding:0}
.schedule-week{gap:16px;display:grid}.week-toolbar,.draft-toolbar,.week-footer{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.week-toolbar>div:nth-child(2){gap:3px;margin-right:auto;display:grid}.week-toolbar small{color:var(--muted)}.week-navigation,.week-actions,.draft-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-navigation input{width:145px;margin:0;padding:8px}.week-navigation button,.week-actions button,.draft-toolbar button,.week-footer button{align-items:center;gap:6px;display:inline-flex}.draft-toolbar>span{align-items:center;gap:7px;margin-right:auto;display:flex}.week-grid{grid-template-columns:repeat(7,minmax(190px,1fr));gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.week-grid.day-view{grid-template-columns:minmax(280px,520px);justify-content:center;overflow:visible}.week-day{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-self:start;min-width:190px;padding:10px}.week-day>header{border-bottom:1px solid var(--border);justify-content:space-between;padding:4px 3px 10px;display:flex}.week-day>header small{color:var(--muted)}.week-day article{border:1px solid var(--border);background:var(--background);cursor:default;border-radius:10px;margin-top:10px;padding:10px;position:relative}.week-day article.selected{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.week-day article.cancelled{opacity:.65}.week-day article.cancelled:after{content:"";border-top:2px solid var(--danger);position:absolute;top:50%;left:8px;right:8px}.week-day article>div{justify-content:space-between;gap:6px;font-size:13px;display:flex}.week-day article h3{margin:9px 0 5px;font-size:14px;line-height:1.35}.week-day article p,.week-day article small{color:var(--muted);margin:4px 0;font-size:12px;line-height:1.45}.week-day article strong{color:var(--danger);margin:7px 0;font-size:12px;display:block}.week-day article button{z-index:1;width:100%;margin-top:8px;position:relative}.validation{border:1px solid var(--border);border-radius:12px;gap:5px;padding:14px;display:grid}.validation span{color:var(--muted)}.validation p{margin:4px 0}.week-footer span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.schedule-week .modal label{gap:6px;margin:12px 0;display:grid}@media (max-width:900px){.week-grid{display:block;overflow:visible}.week-day{min-width:0;margin-bottom:12px}.week-day:has(article:first-of-type){grid-template-columns:1fr 1fr;gap:10px;display:grid}.week-day>header{grid-column:1/-1}.week-day article{margin-top:0}}@media (max-width:600px){.week-toolbar,.draft-toolbar{align-items:stretch}.week-navigation,.week-actions,.week-navigation input{width:100%}.week-actions button,.draft-toolbar button{flex:1;justify-content:center}.week-day:has(article:first-of-type){display:block}.week-day>header{margin-bottom:10px}.week-day article{margin-top:10px}}.week-grid .journal-picker{min-width:0;max-width:100%;margin-left:0}.week-grid .journal-picker button{white-space:normal;width:100%}
.schedule-form fieldset{border:0;min-width:0;margin:16px 0;padding:0}.schedule-form legend{margin-bottom:12px;font-weight:600}.schedule-fields{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.schedule-assignment-list{border:1px solid var(--border);border-radius:8px;max-height:230px;margin:12px 0;overflow:auto}.schedule-assignment-list label{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;margin:0;padding:12px;display:flex}.schedule-assignment-list label:last-child{border-bottom:0}.schedule-assignment-list label:hover{background:var(--hover)}.schedule-assignment-list input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;padding:0}.schedule-assignment-list span{overflow-wrap:anywhere;min-width:0;line-height:1.45}.schedule-assignment-list small{color:var(--muted);margin-top:4px;font-weight:400;display:block}.schedule-form .hint{display:block}.schedule-history article,.schedule-notifications article{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:16px 0}.schedule-history{margin-top:20px}.schedule-history p{margin:8px 0}.schedule-edit-button{margin-top:10px}.schedule-notifications p{white-space:pre-wrap;line-height:1.6}.schedule-tools{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.schedule-tools input{flex:1;min-width:0}@media (max-width:600px){.schedule-fields{grid-template-columns:1fr}.schedule-form .dialog-actions{flex-wrap:wrap}.schedule-form .dialog-actions button{width:100%}}.schedule-form .schedule-joint-toggle{align-items:flex-start;gap:10px;font-size:12px;display:flex}.schedule-joint-toggle input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;padding:0}.schedule-joint-toggle span{min-width:0}.schedule-joint-toggle small{margin-top:4px;font-weight:400;display:block}
.week-day article{background:var(--bg)}.week-filter{max-width:520px;margin:0}
.schedule-simple-header{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:16px;padding:20px;display:grid}.schedule-week-heading,.schedule-next-step,.schedule-secondary-actions,.editor-taskbar,.editor-taskbar>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-week-heading h2{margin:0 0 6px;font-size:20px}.schedule-state{color:var(--muted);font-size:12px}.schedule-state.editing{color:var(--blue);font-weight:700}.schedule-next-step{border-top:1px solid var(--border);padding-top:14px}.schedule-next-step p{color:var(--muted);margin:4px 0 0;font-size:13px}.schedule-next-step>div{flex:1;min-width:220px}.schedule-secondary-actions{justify-content:flex-start}.schedule-more{min-width:0}.schedule-more summary,.editor-extra-filters summary{cursor:pointer;color:var(--muted);border-radius:6px;padding:8px;font-size:13px}.schedule-more summary:focus-visible,.editor-extra-filters summary:focus-visible{outline:2px solid var(--blue)}.schedule-more[open]{flex-basis:100%}.schedule-more>div{background:var(--background);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.editor-taskbar{padding:14px 0}.editor-taskbar>div{justify-content:flex-start}.editor-taskbar small{color:var(--muted);font-size:12px}.schedule-workbench>.editor-filters{grid-template-columns:minmax(220px,2fr) repeat(2,minmax(160px,1fr));padding:12px}.schedule-workbench>.editor-filters .editor-search{grid-column:auto}.editor-extra-filters{margin-top:-10px}.editor-extra-filters .editor-filters{padding:12px}.editor-selection{font-size:12px}.editor-selection>span{color:var(--muted);margin-right:auto}.schedule-check{margin:0;padding:12px}.schedule-check>button{margin-left:12px}@media (max-width:700px){.schedule-simple-header{padding:14px}.schedule-week-heading>div,.schedule-week-heading .week-navigation{width:100%}.schedule-week-heading h2{font-size:18px}.schedule-next-step>.primary,.editor-taskbar>.primary{width:100%}.schedule-workbench>.editor-filters{grid-template-columns:1fr 1fr}.schedule-workbench>.editor-filters .editor-search{grid-column:1/-1}.editor-taskbar small{flex-basis:100%}.schedule-secondary-actions>button,.schedule-more{width:100%}.schedule-more>div{display:grid}.editor-extra-filters .editor-filters{grid-template-columns:1fr 1fr}}.editor-table .cell-quick-edit{text-align:left;border:1px dashed var(--border);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:7px;display:block}.editor-table .cell-quick-edit:hover,.editor-table .cell-quick-edit:focus-visible{border-color:var(--blue);background:var(--accent-soft);outline:2px solid var(--blue);outline-offset:1px}.editor-table .cell-quick-edit small{color:var(--blue)}
.schedule-simple-header{gap:10px;padding:14px 18px}.schedule-week-heading h2{font-size:18px}.schedule-editing-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.schedule-editing-hint button{margin-left:12px}.schedule-secondary-actions{justify-content:flex-end}.schedule-more>div{background:var(--surface)}.schedule-workbench{gap:10px;margin-top:12px}.schedule-workbench>.editor-taskbar{padding:4px 0}.schedule-change-count{color:var(--muted);font-size:13px}.schedule-workbench>.editor-filters.simple-filters{grid-template-columns:minmax(150px,1fr) minmax(230px,2fr) auto;align-items:end;padding:12px}.simple-filters .editor-search{grid-column:auto}.workbench-more{padding-bottom:8px;position:relative}.workbench-more summary{cursor:pointer;color:var(--muted);font-size:13px}.workbench-more>div{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:290px;max-height:65vh;padding:14px;position:absolute;top:100%;right:0;overflow:auto;box-shadow:0 8px 24px #0002}.workbench-more>div>button{text-align:left;width:100%;margin-bottom:5px;display:block}.workbench-more .editor-extra-filters{margin:8px 0 0}.workbench-more .editor-filters{border:0;grid-template-columns:1fr;padding:8px;display:grid}.workbench-more label select{width:100%}.schedule-workbench .editor-controls{color:var(--muted);font-size:12px}.schedule-workbench .editor-controls button{background:0 0;border:0;padding:4px 8px;font-size:12px}.schedule-workbench .drag-board{background:var(--surface);max-height:70vh}.schedule-workbench .drag-board table{min-width:1050px}.schedule-workbench .drag-board td{background:var(--surface-subtle);height:72px}.schedule-workbench .drag-board article{background:var(--surface);border:1px solid var(--input-border);border-left:3px solid var(--blue);box-shadow:none;border-radius:7px;padding:10px}.schedule-workbench .drag-board article b{color:var(--muted);font-size:11px;font-weight:500}.schedule-workbench .drag-board article p{font-size:12px;font-weight:600;line-height:1.4}.schedule-workbench .drag-board article small{color:var(--muted);font-size:10px;line-height:1.6;display:block}.schedule-workbench .drag-board article button{border:1px solid var(--input-border);background:var(--surface);width:100%;color:var(--blue);border-radius:5px;margin-top:8px;padding:5px}.schedule-workbench .drag-board article button:hover{background:var(--accent-soft)}.pair-action-picker{gap:10px;display:grid}.pair-action-picker p{color:var(--muted);margin:0 0 8px}.pair-action-picker>button{text-align:left;background:var(--surface-subtle);border-radius:8px;padding:14px}.pair-action-picker summary,.resource-options summary,.publication-filters summary{cursor:pointer;color:var(--muted);padding:10px 0;font-size:13px}.pair-action-picker details button{margin-top:10px}.schedule-check{border:0;font-size:12px;background:0 0!important;padding:8px 0!important}.schedule-check>button{padding:4px 8px;font-size:11px}.resource-options .resource-picker{background:var(--surface-subtle);border-radius:8px;margin-bottom:14px;padding:12px}.schedule-workbench .editor-table{min-width:800px}@media (max-width:760px){.schedule-week-heading .week-navigation{justify-content:flex-start}.schedule-week-heading .week-navigation input{max-width:155px}.schedule-workbench>.editor-filters.simple-filters{grid-template-columns:1fr auto}.simple-filters .editor-search{grid-area:2/1/auto/-1}.schedule-workbench .editor-taskbar>.primary{width:auto}.workbench-more{padding:8px}.workbench-more>div{width:min(290px,100vw - 40px)}.schedule-workbench .drag-board{background:0 0;border:0;max-height:none}.schedule-workbench .drag-board table{width:100%;min-width:0;display:block}.schedule-workbench .drag-board thead{display:none}.schedule-workbench .drag-board tbody{gap:10px;display:grid}.schedule-workbench .drag-board tr{display:contents}.schedule-workbench .drag-board tr>th{display:none}.schedule-workbench .drag-board td{border-radius:10px;height:auto;padding:12px;display:none}.schedule-workbench .drag-board td:has(article){display:block}.schedule-workbench .drag-board td:before{content:attr(data-day-label);color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.schedule-workbench .drag-board article b,.schedule-workbench .drag-board article small{font-size:12px}.schedule-workbench .drag-board article p{font-size:14px}}.pair-edit-context{gap:5px;margin:0 0 18px;display:grid}.pair-edit-context span{color:var(--muted);font-size:13px}.pair-edit-tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.pair-edit-tabs>button{padding:8px 10px;font-size:12px}.pair-edit-tabs>button[aria-pressed=true]{color:#fff;background:var(--primary);border-color:var(--primary)}.pair-edit-tabs details{margin-left:auto;font-size:12px}.pair-edit-tabs summary,.manual-resource summary,.resource-settings summary,.pair-change-description summary{cursor:pointer;color:var(--muted);padding:8px 0;font-size:12px}.pair-edit-tabs details button{margin-top:8px;display:block}.compact-resources{background:var(--surface-subtle);border-radius:8px;padding:12px}.compact-resources h3{margin:0 0 10px;font-size:15px}.compact-resources label{font-size:12px}.compact-resources .editor-change-list{max-height:220px;margin-top:10px;overflow:auto}.compact-resources .editor-change-list>div{border:0;padding:4px 0}.compact-resources .editor-change-list button{text-align:left;background:var(--surface);border-radius:6px;width:100%;padding:9px;font-size:13px}.compact-resources .hint{font-size:11px}.resource-selection{margin:10px 0;font-size:13px;font-weight:600}.manual-resource[open]{background:var(--surface-subtle);border-radius:8px;padding:8px}.pair-move-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pair-preview{background:var(--surface-subtle);color:var(--muted);border-radius:8px;margin:14px 0;padding:10px 12px;font-size:12px}.pair-preview p{margin:4px 0}.pair-preview.has-issues{color:var(--text);border-left:3px solid #ee981d}.pair-edit-form .dialog-actions{margin-top:14px}.schedule-check details summary{cursor:pointer;padding:9px 0}.schedule-issues{gap:10px;max-height:50vh;margin:12px 0;display:grid;overflow:auto}.schedule-issues article{border:1px solid var(--border);background:var(--surface);color:var(--text);border-left:3px solid #ee981d;border-radius:8px;padding:12px}.schedule-issues article>p{color:var(--muted);margin:0 0 10px;font-size:12px}.schedule-issue-pair{justify-content:space-between;align-items:center;gap:12px;margin:8px 0;display:flex}.schedule-issue-pair span{gap:5px;font-size:12px;display:grid}.schedule-issue-pair small{color:var(--muted)}.schedule-issue-pair>div{flex-wrap:wrap;gap:6px;display:flex}.schedule-issue-pair button{padding:6px 9px;font-size:11px}.publication-problems{margin:16px 0}.publication-problems>b{font-size:15px}@media (max-width:760px){.pair-edit-tabs{grid-template-columns:1fr 1fr;display:grid}.pair-edit-tabs details{grid-column:1/-1;margin:0}.schedule-issue-pair{flex-direction:column;align-items:flex-start}.schedule-issues{max-height:60vh}.pair-move-fields{gap:8px}}.schedule-warning-list{gap:14px;min-width:0;margin:10px 0 16px;font-size:14px;display:grid}.schedule-warning-intro{color:var(--muted);max-width:900px;margin:0;line-height:1.6}.schedule-warning{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);overflow-wrap:anywhere;border-left:3px solid #ee981d;border-radius:10px;padding:18px}.schedule-warning h3{margin:0 0 10px;font-size:15px}.schedule-warning-reasons{margin:0 0 14px;padding-left:20px;line-height:1.6}.schedule-warning-reasons li+li{margin-top:6px}.schedule-warning-lessons{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.schedule-warning-lesson{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;min-width:0;padding:14px}.schedule-warning-lesson-title{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.schedule-warning-lesson>b{font-size:14px;line-height:1.5;display:block}.schedule-warning-lesson>p{color:var(--muted);margin:7px 0 12px;font-size:13px}.schedule-warning-lesson dl{gap:8px;margin:0;font-size:13px;display:grid}.schedule-warning-lesson dl>div{grid-template-columns:100px minmax(0,1fr);gap:8px;display:grid}.schedule-warning-lesson dt{color:var(--muted)}.schedule-warning-lesson dd{margin:0}.schedule-warning .schedule-warning-advice{color:var(--text);margin:14px 0 0;font-size:13px;line-height:1.6}.schedule-warning>p{white-space:pre-line;margin:0}@media (max-width:760px){.schedule-warning{padding:14px}.schedule-warning-lessons{grid-template-columns:1fr}.schedule-warning-lesson dl>div{grid-template-columns:1fr;gap:2px}}
.student-account-bulk{margin-bottom:24px}.student-account-bulk fieldset{min-width:0}.bulk-filters{grid-template-columns:1fr 1fr;gap:16px;display:grid}.student-account-bulk table input:not([type=checkbox]){min-width:180px;margin:0}.student-account-bulk table select{min-width:175px;margin:0}.student-account-bulk td.wrap{min-width:190px;max-width:300px}.student-account-bulk td input[type=checkbox]{width:18px;height:18px}.bulk-preview,.bulk-result{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.bulk-preview h3,.bulk-result h3{font-size:17px}.bulk-recent{margin-top:24px}.bulk-recent summary{cursor:pointer;color:var(--blue)}.bulk-result code{-webkit-user-select:all;user-select:all}.bulk-result>p{overflow-wrap:anywhere;font-size:13px}.bulk-result .table-scroll{margin-bottom:18px}@media (max-width:760px){.bulk-filters{grid-template-columns:1fr;gap:0}.student-account-bulk .management-actions,.student-account-bulk .pagination{flex-wrap:wrap}.bulk-recent button{margin-top:8px}.student-account-bulk h2{overflow-wrap:anywhere}}
.user-kind-tabs{gap:24px;margin-top:0}.user-kind-tabs button{align-items:center;gap:8px;min-height:44px;display:flex}.user-kind-count{background:var(--surface-subtle);color:var(--muted);border-radius:20px;padding:2px 8px;font-size:11px}.user-kind-tabs .active .user-kind-count{background:var(--accent-soft);color:var(--blue)}#users-kind-panel .management-toolbar{flex-wrap:wrap}#users-kind-panel .management-toolbar>input{flex:1;min-width:200px}
