.week-grid{display:grid;gap:16px}.week-grid-controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.week-grid-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.week-grid-range{min-width:150px;text-align:center;font-size:16px}.week-grid-step{width:44px;height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);display:grid;place-items:center}.week-grid-step:hover{background:var(--brand-50)}.week-grid-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.week-grid-body{display:grid;min-width:760px}.week-grid-corner{border-bottom:1px solid var(--line)}.week-grid-day-head{display:flex;gap:6px;align-items:baseline;padding:12px 10px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);font-size:13px;color:var(--ink-secondary)}.week-grid-day-head b{font-size:16px;color:var(--ink)}.week-grid-day-head.is-today b{background:var(--brand-800);color:#fff;border-radius:999px;padding:0 8px}.week-grid-axis{position:relative;color:var(--ink-muted);font-size:12px}.week-grid-axis span{position:absolute;right:8px;transform:translateY(-50%)}.week-grid-axis span:first-child{transform:none}.week-grid-column{position:relative;border-left:1px solid var(--line)}.week-grid-line{position:absolute;left:0;right:0;border-top:1px solid var(--line);opacity:.6}.week-lesson{position:absolute;display:grid;grid-auto-rows:max-content;align-content:start;gap:1px;padding:3px 8px;border:0;border-left:4px solid var(--brand-600);border-radius:var(--radius-sm);background:var(--brand-50);color:var(--ink);text-align:left;overflow:hidden;font-size:12px;line-height:1.25}.week-lesson strong{font-size:13px;overflow-wrap:anywhere}.week-lesson:hover{box-shadow:var(--shadow-2)}.week-lesson[aria-pressed=true]{outline:2px solid var(--brand-800);outline-offset:1px}.week-lesson:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.week-lesson.tone-substitution,.swatch.tone-substitution{background:var(--gold-100);border-left-color:var(--gold-500)}.week-lesson.tone-muted,.swatch.tone-muted{background:var(--surface-muted);border-left-color:var(--line-strong)}.week-grid-legend{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--ink-secondary)}.week-grid-legend li{display:flex;align-items:center;gap:8px}.swatch{width:16px;height:16px;border-radius:4px;background:var(--brand-50);border-left:4px solid var(--brand-600);display:inline-block}.week-grid-note,.week-grid-empty{margin:0;font-size:14px}@media print{.workspace-shell{display:block!important}.week-grid-controls,.sidebar,.workspace-sidebar,.topbar,.workspace-topbar,.workspace-modulebar,.workspace-menu-trigger,.workspace-footer,.module-tabs,.module-tabs-frame,.skip-link,.week-detail{display:none!important}.week-grid-scroll{overflow:visible;border:0}.week-grid-body{min-width:0}.week-lesson{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.week-view-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.week-entity{min-width:220px;margin:0}.teaching-groups{display:grid;gap:16px}.teaching-groups-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.teaching-groups-filters .field{margin:0;min-width:180px;flex:1 1 180px}.teaching-groups th small{display:block;color:var(--ink-muted);font-weight:400}.student-360-table .student-360-open{display:flex;align-items:center;gap:10px;border:0;background:none;padding:6px 0;color:var(--brand-800);font-weight:600;text-align:left}.student-360-table .student-360-open:hover{text-decoration:underline}.student-360-pager{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.student-360-page .student-360-workspace{grid-template-columns:minmax(0,1fr)}.context-toolbar .student-360-search input{border:0;padding:0;min-height:0;box-shadow:none;background:transparent}.context-toolbar .student-360-search input{border:0!important;padding:0!important;margin:0!important;min-height:0!important;height:40px;box-shadow:none!important;background:transparent!important;outline:0}.student-360-table th,.student-360-table td{vertical-align:middle;padding-block:8px}.student-360-table th[scope=row]{font-weight:600}.teaching-groups td:last-child,.staff-list td:last-child{white-space:nowrap}.teaching-groups th[scope=row],.staff-list th[scope=row]{font-weight:600;color:var(--ink)}.substitution-overview th[scope=row]{font-weight:600;color:var(--ink);white-space:nowrap}.substitution-overview td:nth-child(2){white-space:nowrap}.school-link-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.school-link-list li{display:grid;gap:4px;padding:14px 4px;border-top:1px solid var(--line)}.school-link-list li:first-child{border-top:0}.school-link-list a{display:inline-flex;align-items:center;gap:8px;color:var(--mojo-link);font-size:16px;width:fit-content}.school-link-list a:hover{text-decoration:underline}.school-link-list p{margin:0;color:var(--ink-secondary)}.school-link-actions{display:flex;gap:4px;margin-top:4px}.school-link-form{display:grid;gap:12px;max-width:640px}.school-link-confirm{display:grid;gap:12px}.school-news-feed{display:grid;gap:16px}.school-news-form{display:grid;gap:12px;max-width:720px}.school-news-post{display:grid;gap:8px}.school-news-post h2{margin:0;font-size:20px}.school-news-post p{margin:0}.school-news-body{white-space:pre-line;line-height:1.6;overflow-wrap:anywhere}.school-calendar-month{min-width:170px;text-transform:capitalize}.school-calendar-grid{table-layout:fixed;min-width:720px;border-collapse:collapse}.school-calendar-grid th{text-align:center}.school-calendar-grid td{height:96px;vertical-align:top;padding:6px;border:1px solid var(--line);overflow:hidden}.school-calendar-grid td b{display:block;font-size:13px;margin-bottom:4px}.school-calendar-grid td.is-outside{background:var(--surface-muted);color:var(--ink-muted)}.school-calendar-grid td.is-today b{display:inline-block;background:var(--brand-800);color:#fff;border-radius:999px;padding:0 8px}.school-calendar-chip{display:block;margin-top:2px;padding:2px 6px;border-radius:5px;background:var(--brand-50);border-left:3px solid var(--brand-600);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-event-form{display:grid;gap:12px;max-width:640px}.school-event-dates{display:flex;gap:16px;flex-wrap:wrap}.school-event-dates .field{margin:0}.school-event-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:4px}.school-event-list li{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.school-event-list li:first-child{border-top:0}.school-event-list p{margin:0;white-space:pre-line}.survey-list{display:grid;gap:16px}.survey-card{display:grid;gap:8px}.survey-card h2{margin:0;font-size:20px}.survey-card p{margin:0}.survey-description{white-space:pre-line}.survey-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.survey-form{display:grid;gap:16px;max-width:720px}.survey-form h2{margin:0}.survey-question{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;display:grid;gap:8px;margin:0}.survey-question legend{font-weight:600;padding:0 6px}.survey-option{display:flex;gap:10px;align-items:center;min-height:36px}.survey-required{color:var(--danger)}.survey-results{display:grid;gap:16px}.survey-result{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.survey-result h3{margin:0;font-size:17px}.survey-result p{margin:0}.survey-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}.survey-bars li{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(120px,2fr) auto;gap:12px;align-items:center}.survey-bar{display:block;height:12px;border-radius:6px;background:var(--surface-muted);overflow:hidden}.survey-bar i{display:block;height:100%;background:var(--brand-600)}.survey-texts{margin:0;padding-left:18px;display:grid;gap:6px}@media(max-width:600px){.survey-bars li{grid-template-columns:1fr auto}.survey-bars .survey-bar{grid-column:1 / -1;order:3}}.survey-bars li{grid-template-columns:minmax(120px,1.2fr) minmax(120px,2fr) 96px}.survey-bars li>b{text-align:right}.survey-results>button{justify-self:start}@media(max-width:600px){.survey-bars li{grid-template-columns:1fr auto}}.attendance-legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0 0 16px;padding:0;font-size:13px;color:var(--ink-muted)}.attendance-legend b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:6px;background:var(--surface-muted);color:var(--ink)}.attendance-grid th,.attendance-grid td{text-align:center;padding:6px 4px;min-width:30px}.attendance-grid th.attendance-name{text-align:left;position:sticky;left:0;background:var(--surface,#fff);min-width:170px;white-space:nowrap;font-weight:600}.attendance-cell{font-weight:700;font-size:13px}.attendance-absent_unexcused{background:#fde2e0;color:#a4281f}.attendance-absent_excused{background:#fff0cf;color:#8a5a00}.attendance-late{background:#e5ecff;color:#2b4c9b}.attendance-exempted,.attendance-remote_present{background:#ece8f6;color:#55418a}.attendance-present{color:#2f7d4f}.class-teacher-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:6px;margin-bottom:18px;background:var(--surface-muted);border-radius:12px}.class-teacher-tab{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border:0;border-radius:8px;background:transparent;color:var(--ink-secondary);font-size:.875rem}.class-teacher-tab[aria-pressed=true]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1,0 1px 2px #0002)}.class-teacher-menu{position:relative}.class-teacher-dropdown{position:absolute;z-index:20;top:100%;left:0;min-width:200px;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-2,0 6px 20px #0002)}.class-teacher-dropdown button{display:block;width:100%;padding:8px 12px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:.875rem}.class-teacher-dropdown button:hover{background:var(--brand-50)}.class-teacher-class{min-width:120px}.class-teacher-toolbar,.class-teacher-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.class-teacher-icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:var(--surface-muted);color:var(--ink-secondary)}.class-teacher-icon-button[aria-pressed=true]{background:var(--brand-50);color:var(--brand-800)}.class-teacher-table th,.class-teacher-table td{text-align:left;vertical-align:middle}.class-teacher-avatar{display:block;width:45px;height:45px;border:1px solid #ccc;border-radius:50%;background:#fff}.class-teacher-avatar-cell{width:75px}.class-teacher-arrow{display:inline-grid;place-items:center;color:var(--brand-800)}.class-teacher-dot{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:var(--ink-muted)}.class-teacher-dot.is-active{background:#e3b83a}.class-teacher-bolt{margin-left:6px;vertical-align:-3px;color:var(--brand-800)}.class-teacher-link{padding:0;border:0;background:none;color:var(--brand-800);font-weight:600;text-decoration:none;cursor:pointer}.class-teacher-split{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:24px}.class-teacher-side{margin:0;padding:0;list-style:none}.class-teacher-side button{width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--brand-800)}.class-teacher-side button[aria-pressed=true]{background:var(--brand-50)}.class-teacher-meetings{margin:0;padding:0;list-style:none;display:grid;gap:14px}.class-teacher-meetings li{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:10px}.class-teacher-meetings span{font-size:13px;color:var(--ink-muted)}.class-teacher-scale{display:inline-flex;gap:8px}.class-teacher-scale label{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;cursor:pointer;font-size:13px}.class-teacher-scale label.is-chosen{background:var(--brand-800);border-color:var(--brand-800);color:#fff}.class-teacher-scale input{position:absolute;opacity:0;pointer-events:none}.class-teacher-scale label:focus-within{outline:3px solid var(--gold-500)}.class-teacher-check{flex-direction:row;align-items:center;gap:10px}.class-teacher-form .field{margin-bottom:14px}@media(max-width:720px){.class-teacher-split{grid-template-columns:1fr}}.class-teacher-form .class-teacher-check{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px}.class-teacher-form .class-teacher-check input{width:20px;min-width:0;height:20px;padding:0}.class-teacher-content form>.button{width:auto;margin-top:16px}.class-teacher-form>.button{width:auto}.class-teacher-slider{display:block;width:100%;margin:0 0 10px;accent-color:var(--brand-800)}.class-teacher-marks th,.class-teacher-marks td{white-space:nowrap}.class-teacher-marks tbody td,.class-teacher-marks tfoot td,.class-teacher-marks thead th[scope=colgroup]{text-align:center}.class-teacher-marks tfoot th,.class-teacher-marks tfoot td{background:#f7f9f7;font-weight:600}.class-teacher-marks tfoot .class-teacher-marks-high th,.class-teacher-marks tfoot .class-teacher-marks-high td{color:#087f08}.class-teacher-marks tfoot .class-teacher-marks-low th,.class-teacher-marks tfoot .class-teacher-marks-low td{color:#b7791f}.class-teacher-marks tbody th,.class-teacher-marks tfoot th{padding-left:16px}.class-teacher-picked{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.875rem;color:var(--ink-secondary)}.class-teacher-picked .button{width:auto}.class-teacher-empty{margin:8px 0;padding:16px;border:1px solid var(--line);border-radius:10px;text-align:center;color:var(--ink-muted)}.class-teacher-legend{margin:12px 0 4px;font-size:.875rem}.class-teacher-badge{display:inline-block;min-width:20px;padding:1px 6px;border-radius:6px;background:var(--surface-muted);text-align:center;font-weight:600}.class-teacher-report{display:flex;align-items:center;gap:4px;margin:12px 0 0}.class-teacher-report-link{display:inline-grid;place-items:center;padding:2px;border:0;background:none;color:var(--brand-800);cursor:pointer}.class-teacher-print-title{display:none}@media print{.class-teacher-tabs,.class-teacher-slider,.class-teacher-report,.class-teacher-class{display:none!important}body:has(.class-teacher-print-title) .page-header{display:none!important}.class-teacher-print-title{display:block;margin-bottom:12px;font-size:1.25rem;font-weight:700}.class-teacher-content .table-scroll{overflow:visible}}@media(max-width:600px){.week-grid-body{min-width:840px}.week-lesson small,.week-lesson strong,.week-lesson span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-lesson strong{overflow-wrap:normal}.substitution-overview th,.substitution-overview td{white-space:nowrap}}.week-lesson.tone-main,.swatch.tone-main{background:#e5f2f9;border-left:3px solid #007cc1}.week-lesson.tone-substitution,.swatch.tone-substitution{background:#fff6c5;border-left:3px solid #f0ce24}.week-lesson.tone-cancelled,.swatch.tone-cancelled{background:repeating-linear-gradient(-45deg,#fff,#fff 10px,#99cae6 10px 20px);border-left:3px solid #007cc1}.week-lesson.tone-nonacademic,.swatch.tone-nonacademic{background:#d6eeea;border-left:3px solid #35a894}.week-lesson .week-lesson-line{display:flex;justify-content:space-between;gap:5px;font-size:10px}.week-lesson .week-lesson-line span{white-space:nowrap}.week-lesson .week-lesson-top{font-size:12px;color:var(--ink-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-grid-legend{font-size:11px;gap:8px 18px}.week-grid-legend .swatch{width:20px;height:20px;border-radius:0;border:1px solid #888}.week-grid-column-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-parity{display:inline-flex;align-items:center;min-height:38px;padding:0 4px;color:#dc3545;font-size:.9375rem}.schedule-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.schedule-filters .schedule-filter{margin:0;min-width:150px;max-width:12rem}.schedule-tabs-and-filters{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.schedule-tabs-and-filters .view-switch{margin-bottom:0}.school-schedule-building+.school-schedule-building{margin-top:15px}.school-schedule-building h2{margin:0 0 8px;font-size:1.25rem;font-weight:300}.school-schedule-chips{display:flex;flex-wrap:wrap;gap:10px}.school-schedule-chips button{min-width:44px;min-height:38px;padding:6px 12px;border:1px solid #f8f9fa;border-radius:6px;background:#f8f9fa;color:var(--ink)}.school-schedule-chips button:hover{background:#e2e6ea}.schedule-pdf{display:flex;margin-top:16px}.schedule-pdf-link{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--brand-800);font-size:1rem}.schedule-pdf-link:hover{text-decoration:underline}.page-title-with-leading{display:flex;align-items:center;gap:12px}.page-title-with-leading h1{margin-bottom:0}.schedule-back{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--brand-800);color:#fff}.schedule-week-picker{display:flex;align-items:center;gap:4px}.schedule-week-step{display:grid;place-items:center;width:36px;height:38px;border:0;background:none;color:var(--ink)}.schedule-week-field{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:.9375rem;white-space:nowrap;cursor:pointer}.schedule-week-field input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}@media print{.schedule-filters,.schedule-tabs-and-filters,.schedule-pdf,.schedule-back{display:none!important}.week-grid-legend .swatch{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media(max-width:600px){.schedule-filters{width:100%}.schedule-filters .schedule-filter{flex:1 1 140px;max-width:none}.schedule-week-field{font-size:.8125rem;padding:6px 8px}}.week-lesson.is-compact{align-content:center;padding-block:0;line-height:12px}.week-lesson.is-compact .week-lesson-line{flex-wrap:wrap;justify-content:flex-start;column-gap:6px;line-height:12px}.week-lesson.is-compact .week-lesson-line span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.class-teacher-goals-legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:16px;margin-left:auto;padding:0 8px;font-size:.8125rem;color:var(--ink-secondary)}.class-teacher-goals-legend>span{display:inline-flex;align-items:center;gap:6px}.class-teacher-goals-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:50%;background:#f1f3f2;color:#212529;font-size:.6875rem;font-weight:700}.class-teacher-goals-badge.is-dark{background:#6c757d;color:#fff}.class-teacher-goals th,.class-teacher-goals td{text-align:center;white-space:nowrap}.class-teacher-goals thead th{font-weight:700}.class-teacher-goals tbody th{text-align:left;font-weight:400;min-width:160px}.class-teacher-goals td{padding:0;min-width:56px}.class-teacher-goal-cell{display:block;width:100%;min-height:38px;padding:8px 6px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.class-teacher-goal-cell:hover,.class-teacher-goal-cell:focus-visible{background:var(--brand-50)}.class-teacher-goal-dialog{width:min(800px,calc(100vw - 32px))}.class-teacher-goal-table{min-width:0}.class-teacher-goal-table th,.class-teacher-goal-table td{vertical-align:middle}.class-teacher-goal-select{width:100px;min-height:34px}.class-teacher-goal-error{display:block;margin-top:4px;color:#dc3545;font-size:.75rem}.class-teacher-tabs-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:18px}.class-teacher-tabs-row>.class-teacher-tabs{margin-bottom:0}@media(max-width:480px){.confirmation-dialog.class-teacher-goal-dialog{padding:24px 12px}.class-teacher-goal-table th,.class-teacher-goal-table td{padding:8px 6px;white-space:normal}.class-teacher-goal-table th:last-child{min-width:72px}}@media print{.class-teacher-goals-legend{display:none!important}}.behaviour-dialog{width:min(560px,calc(100vw - 32px))}.behaviour-form{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px 16px;align-items:center}.behaviour-form-label{font-size:.875rem;color:var(--ink-muted)}.behaviour-form-pupil{padding:6px 10px;border-radius:6px;background:var(--surface-muted);font-size:.9375rem}.behaviour-form input,.behaviour-form select,.behaviour-form textarea{width:100%;min-width:0}.behaviour-form textarea{min-height:96px;resize:vertical}.behaviour-radios{display:flex;flex-wrap:wrap;gap:8px 18px}.behaviour-radios label{display:inline-flex;align-items:center;gap:6px;font-size:.9375rem}.behaviour-submit{margin-top:20px}.behaviour-error{margin:12px 0 0;color:#dc3545;font-size:.875rem}.behaviour-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(7,minmax(104px,1fr));align-items:end;gap:10px;margin-bottom:18px}.behaviour-filter{display:grid;gap:4px;min-width:0;margin:0}.behaviour-filter>span{font-size:.75rem;color:var(--ink-muted)}.behaviour-filter select{width:100%}.behaviour-search{min-width:0}.behaviour-search-box{display:flex;align-items:center;gap:4px}.behaviour-search .behaviour-search-box input{flex:1 1 0;width:0!important;min-width:0!important;min-height:44px}.behaviour-search-button{display:grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink-secondary)}.behaviour-period{position:relative}.behaviour-period-button{width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;text-align:left;font:inherit;font-size:.875rem;color:var(--ink)}.behaviour-period-panel{position:absolute;z-index:40;top:calc(100% + 6px);right:0;display:grid;gap:10px;width:min(280px,calc(100vw - 32px));padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-2)}.behaviour-period-actions{display:flex;justify-content:flex-end;gap:8px}.behaviour-empty p{margin:0}.behaviour-card{padding:12px 16px}.behaviour-table{width:100%;border-collapse:collapse;font-size:.875rem}.behaviour-table th{padding:10px 8px;text-align:left;font-weight:400;color:var(--ink-muted);background:var(--surface-soft);white-space:nowrap}.behaviour-table td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}.behaviour-center{text-align:center}.behaviour-badge{display:inline-block;padding:2px 7px;border-radius:999px;font-size:.6875rem;font-weight:700;line-height:1.4;cursor:help}.behaviour-badge.is-comment{background:#146c43;color:#fff}.behaviour-badge.is-action{background:#ffc107;color:#212529}.behaviour-pen{display:grid;place-items:center;width:32px;height:32px;margin:0 auto;border:0;border-radius:8px;background:transparent;color:var(--brand-800)}.behaviour-pen:hover,.behaviour-pen:focus-visible{background:var(--brand-50)}.behaviour-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}.behaviour-pupils{width:100%;min-width:0}.behaviour-pupils td{padding:8px 10px;border-bottom:1px solid var(--line)}.behaviour-pupils td:last-child{width:110px;white-space:nowrap;color:var(--ink-secondary)}.behaviour-pupils tr.is-selected td{background:#e8f5e9}.behaviour-pupil{padding:0;border:0;background:transparent;color:var(--brand-800);text-align:left;font:inherit;cursor:pointer}.behaviour-pupil[aria-pressed=true]{text-decoration:underline}.behaviour-blocks{margin:0;padding:0;list-style:none}.behaviour-blocks li{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}.behaviour-block-head{display:flex;justify-content:space-between;gap:12px}.behaviour-block-head span{white-space:nowrap;color:var(--ink-secondary);font-size:.875rem}.behaviour-blocks p{margin:0}.behaviour-blocks em{font-size:.875rem;color:var(--ink-secondary)}.capability-search-row{display:flex;align-items:center;gap:4px}.capability-search-row>a{flex:1;min-width:0}.capability-search-concern{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:8px;background:transparent;color:#dc3545}.capability-search-concern:hover,.capability-search-concern:focus-visible{background:#fdecee}@media(max-width:1280px){.behaviour-filters{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.behaviour-search{grid-column:span 2}}@media(max-width:720px){.behaviour-split{grid-template-columns:minmax(0,1fr)}.behaviour-form{grid-template-columns:1fr;gap:6px}.behaviour-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.behaviour-period-panel{left:0;right:auto}}.behaviour-checks{display:grid;gap:6px}.behaviour-checks label{display:flex;align-items:center;gap:8px;font-size:.9375rem}.behaviour-form .behaviour-checks input{width:18px;min-width:18px;height:18px;min-height:18px;flex:none;margin:0}.behaviour-form input.behaviour-check{width:18px;min-width:18px;height:18px;min-height:18px;justify-self:start}.mojo-tabs{display:inline-flex;gap:4px;padding:6px;margin-bottom:18px;background:var(--surface-muted);border-radius:12px}.mojo-tabs button{min-height:36px;padding:6px 14px;border:0;border-radius:8px;background:transparent;color:var(--ink-secondary);font-size:.875rem;cursor:pointer}.mojo-tabs button[aria-pressed=true]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1,0 1px 2px #0002)}.mojo-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:18px}.mojo-filters .field{margin:0;min-width:150px;flex:0 1 200px}.mojo-filters .mojo-search{flex:1 1 100%;max-width:320px}.mojo-period{border:0;padding:0}.mojo-period legend{padding:0;margin-bottom:6px;font-size:.875rem;font-weight:600;color:var(--ink)}.mojo-period div{display:flex;align-items:center;gap:6px}.mojo-period input{min-width:0}.school-attendance th[scope=colgroup]{text-align:left;font-weight:600}.school-attendance td:nth-child(2){white-space:nowrap;text-align:left}@media(max-width:600px){.mojo-filters .field{flex:1 1 140px}.mojo-filters .mojo-search{max-width:none}}.mojo-checklist{position:relative}.mojo-checklist>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);font-size:.875rem;line-height:1.5;text-align:left;cursor:pointer}.mojo-checklist>button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mojo-checklist-menu{position:absolute;top:100%;left:0;z-index:20;display:grid;min-width:100%;max-height:280px;overflow:auto;margin-top:4px;padding:4px 12px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;box-shadow:0 8px 24px #0000001f}.class-editor{display:grid;gap:12px;min-width:0}.class-editor-parity{color:#dc3545}.class-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.class-editor-views{display:flex;gap:4px}.class-editor-views .button{min-width:44px;padding:8px 10px}.class-editor-views .button[aria-pressed=false]{opacity:.65}.class-editor-notice{margin:0;padding:10px 12px;border-radius:8px;background:var(--brand-50,#eef6fb)}.class-editor-notice.is-error{background:#fdecee;color:#9b1c2a}.class-editor .field,.class-editor-dialog .field{display:grid;gap:4px;font-weight:600;font-size:.875rem}.class-editor .field input,.class-editor .field select,.class-editor-dialog .field input,.class-editor-dialog .field select{min-height:38px;font-weight:400}.class-editor-parity-field{border:0;padding:0;margin:0;display:grid;gap:4px}.class-editor-parity-field label{display:flex;gap:6px;align-items:center;font-weight:400}.class-editor-weeks{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.class-editor-month{display:grid;gap:4px;flex:0 0 auto}.class-editor-month-title{font-size:.75rem;color:var(--ink-muted)}.class-editor-month-weeks{display:flex;gap:2px}.class-editor-week{width:28px;height:28px;padding:0;border:2px solid transparent;border-radius:4px;background:#f5f5f5;font-size:.75rem;cursor:pointer}.class-editor-week.is-holiday{background:#fff6c5}.class-editor-week.is-current{font-weight:700}.class-editor-week.is-selected{background:#35a894;color:#fff;border-color:#ea5454}.class-editor-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:16px;align-items:start}.class-editor-grid{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.class-editor-grid-head,.class-editor-grid-body{display:grid;grid-template-columns:48px repeat(var(--days,5),minmax(120px,1fr));min-width:680px}.class-editor-grid-head{position:sticky;top:0;z-index:1;background:#fff;border-bottom:1px solid var(--line)}.class-editor-grid-head span{padding:8px 6px;font-weight:700;font-size:.8125rem}.class-editor-grid-head em{font-style:normal;margin-left:4px;padding:1px 6px;border-radius:10px;background:#f0f0f0;font-weight:500}.class-editor-grid-head .is-today em{background:#007cc1;color:#fff}.class-editor-grid-body{position:relative}.class-editor-hours{position:relative;border-right:1px solid var(--line)}.class-editor-hours span{position:absolute;left:4px;transform:translateY(-50%);font-size:.6875rem;color:var(--ink-muted)}.class-editor-hours span:first-child{transform:none}.class-editor-hours span:last-child{transform:translateY(-100%)}.class-editor-day{position:relative;border-right:1px solid var(--line)}.class-editor-slot{position:absolute;left:4px;right:4px;display:flex;gap:3px;padding:14px 3px 3px;background:#f5f5f5;border-left:3px solid #bbb;overflow:hidden}.class-editor-slot.is-over,.class-editor-placeholder.is-over{outline:2px dashed #007cc1;outline-offset:-2px}.class-editor-slot-label{position:absolute;top:1px;left:5px;font-size:.6875rem;color:#777}.class-editor-now{position:absolute;left:0;right:0;height:0;border-top:2px solid #dc3545;pointer-events:none}.class-card{position:relative;flex:1 1 0;min-width:0;display:grid;align-content:start;gap:1px;padding:2px 4px;border:0;border-left:3px solid #007cc1;background:#e5f2f9;color:var(--ink);font-size:.75rem;line-height:1.25;text-align:left;cursor:pointer;overflow:hidden}.class-card.is-draggable{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.class-card[aria-pressed=true]{box-shadow:inset 0 0 0 2px #007cc1}.class-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-card-time{color:var(--ink-muted)}.class-card-line{display:flex;justify-content:space-between;gap:4px;white-space:nowrap;overflow:hidden}.class-card-parity{position:absolute;top:2px;right:2px;width:10px;height:5px;border-radius:10px 10px 0 0;background:#dc3545}.class-card-online{font-size:.6875rem;color:#007cc1}.class-editor-panel{display:grid;gap:12px}.class-editor-placeholders{display:grid;gap:8px}.class-editor-placeholder{padding:8px;border:1px dashed var(--line-strong);border-radius:6px;background:#fafafa}.class-editor-placeholder header{display:grid;font-size:.8125rem;margin-bottom:6px}.class-editor-placeholder header span{color:var(--ink-muted)}.class-editor-placeholder>div{display:flex;flex-wrap:wrap;gap:4px}.class-editor-placeholder .class-card{flex:0 0 112px;min-height:38px}.class-editor-unassigned .class-card{flex:1 1 100%}.class-editor-unassigned .class-card strong{white-space:normal;overflow-wrap:anywhere}.class-editor-unassigned .class-card-line{flex-wrap:wrap;justify-content:flex-start;gap:0 6px;white-space:normal}.class-editor-form{display:grid;gap:10px}.class-editor-ghost{position:fixed;z-index:50;pointer-events:none;padding:4px 8px;background:#e5f2f9;border-left:3px solid #007cc1;font-size:.75rem;box-shadow:0 4px 12px #0000002e}.class-editor-list{display:grid;gap:12px}.class-editor-list table{width:100%;border-collapse:collapse;font-size:.875rem}.class-editor-list th,.class-editor-list td{padding:8px;border-bottom:1px solid var(--line);text-align:left}.class-editor-list-groups p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0}.class-editor-dialog-fields{border:0;padding:0;margin:0 0 12px;display:grid;gap:10px}.person-dialog.class-editor-save{width:min(1000px,calc(100vw - 32px))}.class-editor-changes{margin:8px 0;padding-left:20px}.class-editor-only-week{display:flex;gap:8px;align-items:center;margin:8px 0}.class-editor-preview ul,.class-editor-refusal ul{margin:6px 0;padding-left:20px}.class-editor-refusal{display:grid;gap:8px;margin:8px 0}@media(max-width:800px){.class-editor-body{grid-template-columns:1fr}}.day-copy-dialog{max-width:560px}.day-copy-alert{padding:12px 14px;border-radius:6px;background:#e7f1fb;color:#084298}.day-copy-alert p{margin:0 0 8px}.day-copy-alert p:last-child{margin-bottom:0}.day-copy-fields{display:grid;gap:12px;border:0;padding:0;margin:12px 0}.day-copy-required{color:#dc3545;margin-left:2px}.day-copy-hint{position:relative;display:inline-block}.day-copy-hint-button{border:0;background:none;padding:0;color:#35a894;cursor:pointer;font:inherit}.day-copy-hint-text{position:absolute;z-index:5;left:0;top:1.6em;width:max-content;max-width:260px;padding:6px 10px;border:1px solid #ced4da;border-radius:6px;background:#fff;color:#212529;box-shadow:0 4px 12px #0000001f}.day-copy-progress{height:8px;border-radius:4px;background:#e9ecef;overflow:hidden;margin:8px 0}.day-copy-progress i{display:block;height:100%;width:0;background:#35a894}.day-copy-progress.is-running i{animation:day-copy-run 2.5s ease-out forwards}.day-copy-progress.is-done i{width:100%;transition:width .3s ease-out}@keyframes day-copy-run{0%{width:0}to{width:90%}}@media(prefers-reduced-motion:reduce){.day-copy-progress.is-running i{animation:none;width:50%}}.day-copy-error{margin:0 0 8px;padding:10px 12px;border-radius:8px;background:#fdecee;color:#9b1c2a}.day-copy-done{margin:0 0 8px}.timetable-canvas{display:grid;gap:12px;min-width:0}.canvas-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.canvas-views{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid #ced4da}.canvas-views button{border:0;background:#f8f9fa;padding:6px 14px;font-weight:700;cursor:pointer}.canvas-views button[aria-pressed=true]{background:#6c757d;color:#fff}.canvas-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.canvas-filters .field{margin:0}.canvas-check{max-width:180px}.canvas-check.is-ok{background:#198754;border-color:#198754;color:#fff}.canvas-check.is-danger{background:#dc3545;border-color:#dc3545;color:#fff}.canvas-card{display:grid;gap:10px;min-width:0}.canvas-card-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.canvas-days{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.canvas-days button{border:1px solid transparent;border-radius:6px;background:#f8f9fa;padding:6px 10px;font-weight:700;cursor:pointer}.canvas-days button[aria-pressed=true]{background:#6c757d;color:#fff}.canvas-parity{color:#dc3545;font-weight:600}.canvas-options{display:flex;flex-wrap:wrap;gap:10px}.canvas-options .field{margin:0}.canvas-layout{display:grid;grid-template-columns:minmax(0,1fr) 216px;gap:12px;min-width:0}.canvas-scroll{overflow:auto;max-width:100%;border:1px solid #e3e6ea;max-height:78vh}.canvas-grid{position:relative;display:grid}.canvas-corner,.canvas-head{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #e3e6ea;height:36px}.canvas-corner{left:0;z-index:4}.canvas-head{font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 2px;border-left:1px solid #f0f0f0}.canvas-axis{position:sticky;left:0;z-index:2;background:#fff}.canvas-axis span{position:absolute;right:4px;transform:translateY(-50%);font-size:11px;color:#6c757d}.canvas-axis span:first-child{transform:none}.canvas-column{position:relative;border-left:1px solid #f0f0f0}.canvas-line{position:absolute;left:0;right:0;border-top:1px solid #f0f0f0}.canvas-event{position:absolute;box-sizing:border-box;background:#e5f2f9;border:0;border-left:3px solid #007cc1;border-radius:0;padding:1px 3px;font-size:12px;line-height:1.25;text-align:left;overflow:hidden;cursor:pointer;color:#212529}.canvas-event span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.canvas-event.is-cancelled{background:#f1f1f1;border-left-color:#acadad;color:#6c757d;text-decoration:line-through}.canvas-event.is-substituted{border-left-color:#f0ad4e}.canvas-conflict{position:absolute;box-sizing:border-box;background:#dc354524;border:1px solid #dc3545;font-size:11px;line-height:1.2;padding:1px 3px;overflow:hidden;color:#842029;pointer-events:auto;z-index:1}.canvas-conflict span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.canvas-tooltips{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:14px}.canvas-classes h2{font-size:16px;margin:0 0 8px}.canvas-tiles{display:grid;gap:8px}.canvas-tile{position:relative;width:200px;min-height:50px;box-sizing:border-box;border:1px solid #e3e6ea;background:#fff;text-align:left;padding:4px 8px;cursor:pointer;overflow:hidden}.canvas-tile-bar{position:absolute;inset:0 auto 0 0;background:#cdffdd}.canvas-tile strong,.canvas-tile small{position:relative;display:block}.canvas-empty{color:#6c757d;padding:12px}@media(max-width:900px){.canvas-layout{grid-template-columns:minmax(0,1fr)}.canvas-tile{width:100%}}.canvas-tab-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.canvas-transfer{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid #ced4da}.canvas-transfer button{border:0;background:#f8f9fa;padding:6px 14px;font-weight:700;cursor:pointer}.lesson-popup{z-index:50;box-sizing:border-box;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 6px 18px #00000026;padding:10px 12px;font-size:14px}.lesson-popup:focus{outline:2px solid #35a894;outline-offset:1px}.lesson-popup p{margin:4px 0 0}.lesson-popup-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.lesson-popup-close{border:0;background:transparent;padding:2px;cursor:pointer;line-height:0}.substitution-add-picker{position:relative}.substitution-add-picker>.button{display:inline-flex;align-items:center;gap:6px}.substitution-add-menu{position:absolute;right:0;top:100%;z-index:30;display:grid;gap:6px;width:min(300px,calc(100vw - 32px));max-height:360px;margin-top:4px;padding:8px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;box-shadow:0 8px 24px #0000001f}.substitution-add-menu input{width:100%;min-height:38px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:7px;font:inherit}.substitution-add-menu ul{list-style:none;margin:0;padding:0;overflow:auto;max-height:290px}.substitution-add-menu li button{width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:.875rem;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.substitution-add-menu li button:hover,.substitution-add-menu li button:focus-visible{background:var(--brand-50)}.substitution-add-menu p{margin:4px 10px;font-size:.875rem}.substitution-week-field{display:flex;flex-direction:column;gap:4px}.substitution-week-field>span{font-size:.8125rem;color:var(--ink-muted)}.person-dialog.substitution-add-dialog{width:min(1040px,calc(100vw - 32px))}.substitution-add-columns{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}.substitution-add-columns h3{font-size:1rem;margin:0 0 12px}.substitution-add-params{display:grid;grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:8px 12px;margin:0 0 12px;font-size:.875rem}.substitution-add-params dt{color:var(--ink-muted)}.substitution-add-params dd{margin:0;overflow-wrap:anywhere}.substitution-add-required{color:#dc3545;margin-left:2px}.substitution-add-type{display:inline-flex;align-items:center;gap:6px}.substitution-add-error{margin:0 0 8px;padding:10px 12px;border-radius:8px;background:#fdecee;color:#9b1c2a}.substitution-add-department{margin:0 0 8px}.substitution-add-busy{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 8px;font-size:.875rem}.substitution-add-busy label{display:inline-flex;align-items:center;gap:6px}.substitution-add-staff{max-height:400px;overflow:auto}.substitution-add-staff tr.is-busy td{background:#ddd}.substitution-add-person{padding:0;border:0;background:none;color:var(--brand-800);font:inherit;text-align:left;cursor:pointer}.substitution-add-person:hover{text-decoration:underline}.substitution-add-person[aria-pressed=true]{font-weight:700}@media(min-width:861px){.substitution-add-staff table{min-width:0}}@media(max-width:860px){.substitution-add-columns{grid-template-columns:minmax(0,1fr)}}.ktp-list{display:grid;gap:16px;min-width:0}.ktp-filters .field{min-width:150px;flex:1 1 150px}.ktp-table-scroll{background:#fff}.ktp-list-table th,.ktp-list-table td{vertical-align:middle}.ktp-hours-head,.ktp-center{text-align:center}.ktp-unused{color:#ffc107;vertical-align:middle}.ktp-open-cell{width:52px;text-align:center}.ktp-open{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--mojo-primary);color:#fff;cursor:pointer}.ktp-open:hover,.ktp-open:focus-visible{background:var(--mojo-primary-hover);color:#fff}.ktp-empty{display:grid;justify-items:center;gap:8px;padding:56px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;text-align:center}.ktp-empty h2{margin:0;font-size:1.25rem}.ktp-empty p{margin:0;color:var(--ink-secondary)}.ktp-staff-toolbar,.page-header .page-actions:has(.ktp-status){display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:12px}.ktp-staff-toolbar{margin-bottom:12px}.ktp-status{margin:0;min-width:140px}.ktp-status span{font-size:.75rem;color:var(--ink-secondary)}.ktp-card{display:grid;gap:24px;align-items:start}@media(min-width:1200px){.ktp-card{grid-template-columns:minmax(0,3fr) minmax(260px,1fr)}}@media(max-width:1199px){.ktp-card.is-staff .ktp-card-side{order:-1}}.ktp-card-main{display:grid;gap:16px;min-width:0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px}.ktp-card-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.ktp-card-toolbar .page-actions{display:flex;flex-wrap:wrap;gap:8px}.ktp-radios{display:flex;flex-wrap:wrap;gap:8px 20px}.ktp-radios .checkbox-row{margin:0;font-size:.875rem}.ktp-tree{min-width:640px}.ktp-tree th,.ktp-tree td{vertical-align:middle}.ktp-number{white-space:nowrap}.ktp-topic-number,.ktp-topic-name{padding-left:32px}.ktp-caret{padding:0 6px 0 0;border:0;background:transparent;color:var(--ink-secondary);font-size:.75rem;cursor:pointer}.ktp-hours-cell{text-align:center}.ktp-icon{min-width:32px;min-height:32px;color:var(--mojo-primary)}.ktp-card-side{display:grid;gap:24px;min-width:0}.ktp-side-block{display:grid;gap:12px}.ktp-side-block h2{margin:0;font-size:1.25rem}.ktp-params{width:100%;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0}.ktp-params th[scope=row]{width:45%;padding:10px 12px;background:transparent;font-weight:400;color:var(--ink-secondary);text-align:left;vertical-align:top}.ktp-params td{padding:10px 12px;overflow-wrap:anywhere}.ktp-params tr+tr>*{border-top:1px solid var(--line)}.ktp-side-block>.ktp-link{justify-self:start;padding:14px 16px;width:100%;background:#fff;border:1px solid var(--line);border-radius:12px}.ktp-link{padding:0;border:0;background:none;color:var(--mojo-link);font:inherit;text-align:left;cursor:pointer}.ktp-link:hover,.ktp-link:focus-visible{color:var(--mojo-link-hover);text-decoration:underline}.ktp-link:disabled{color:var(--ink-muted);cursor:default;text-decoration:none}.person-dialog.ktp-dialog-wide{width:min(900px,calc(100vw - 32px))}.ktp-form{display:grid;gap:16px;min-width:0}.ktp-form fieldset{display:grid;gap:14px}.ktp-row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:12px}.ktp-label{padding-top:10px;font-size:.875rem;color:var(--ink-secondary)}.ktp-label.is-required:before{content:"* ";color:var(--danger,#dc3545)}.ktp-control>input:not([type=checkbox]),.ktp-control>select,.ktp-control>textarea{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;font:inherit}.ktp-control>textarea{min-height:88px;resize:vertical}.ktp-control>input.ktp-hours{max-width:140px}.ktp-control>input[type=checkbox]{margin-top:12px}.ktp-actions{justify-content:flex-start;gap:10px}.ktp-plan-dialog{display:grid;gap:24px}@media(min-width:760px){.ktp-plan-dialog{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.ktp-groups{display:grid;align-content:start;gap:12px}.ktp-groups h3{margin:0;font-size:1.125rem;font-weight:500}.ktp-groups p{margin:0}.ktp-group-list{display:grid;gap:8px;margin:0;padding:0;border:0}.ktp-order{display:grid;gap:6px;margin:0 0 16px;padding:0;list-style:none}.ktp-order li{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:9px}.ktp-order li.is-dragged{opacity:.6}.ktp-order li.is-over{border-color:var(--mojo-primary)}.ktp-handle{display:grid;place-items:center;min-width:32px;min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--ink-secondary);font-size:1.125rem;cursor:grab;touch-action:none}@media(max-width:600px){.ktp-row{grid-template-columns:1fr;gap:6px}.ktp-label{padding-top:0}.ktp-control>input[type=checkbox]{margin-top:0}}.users-tabs{display:inline-flex;gap:0;margin:0 0 16px;padding:0;background:#e0e0e0;border-radius:8px;max-width:100%;overflow-x:auto}.users-tabs button{min-height:32px;padding:6px 12px;border:1px solid #e0e0e0;border-radius:8px;background:transparent;color:#212529;font:inherit;font-size:14px;cursor:pointer;white-space:nowrap}.users-tabs button[aria-selected=true]{background:#fff;color:var(--ink)}.users-tabs button:focus-visible{outline:2px solid var(--milc-dark-green);outline-offset:-2px}.people-list-table td.list-avatar-cell{width:61px;padding-right:0}.list-avatar{display:block;width:45px;height:45px;border:1px solid #ccc;border-radius:50%;background:#fff}.people-list-table th[scope=row]{font-weight:400}.people-list-table td.list-open-cell{width:52px;text-align:right}.list-open{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:#35a894;color:#fff;cursor:pointer}.list-open:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.role-pills{display:flex;flex-wrap:wrap;gap:4px}.role-pill{display:inline-block;padding:3px 7px;border-radius:800px;background:#f8f9fa;color:#212529;font-size:10.5px;font-weight:700;white-space:nowrap}.access-icon{display:inline-grid;place-items:center;min-width:32px;min-height:32px;padding:0;border:0;border-radius:6px;background:none;color:#6c757d}button.access-icon{cursor:pointer}button.access-icon:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.access-icon.access-expired{color:var(--danger)}.access-icon.access-login{color:#212529}.users-invite-all{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:0;border-radius:8px;background:none;color:#6c757d;cursor:pointer}.users-invite-all:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.invite-summary{margin:0}.users-invite-all:disabled{cursor:default;opacity:.5}.staff-card-info{width:auto;max-width:100%;border-collapse:collapse}.staff-card-info th[scope=row]{min-width:160px;padding:8px 24px 8px 0;font-weight:400;color:var(--ink-secondary);text-align:left;vertical-align:top}.staff-card-info td{padding:8px 0;color:var(--ink);overflow-wrap:anywhere}.staff-card-table th[scope=row]{font-weight:400}.staff-card-table tfoot th,.staff-card-table tfoot td{font-weight:600}.staff-card-classes{margin-top:24px}.staff-card-classes caption{padding:0 0 8px;font-weight:600;text-align:left}.staff-card-empty{margin:16px 0;color:var(--ink-secondary)}.staff-list-name{color:var(--mojo-link);text-decoration:none}.staff-list-name:hover,.staff-list-name:focus-visible{color:var(--mojo-link-hover);text-decoration:underline}.staff-card-schedule-controls{justify-content:flex-end;align-items:center;margin-bottom:12px}.roles-tabs-and-filters{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;min-width:0}.roles-tabs-and-filters>.users-tabs{margin:0}.roles-filters{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:12px 16px;min-width:0}.roles-filters .field{position:relative;margin:0;flex:0 1 180px;min-width:120px}.roles-filters .field>span{font-size:.75rem;color:var(--ink-muted)}.roles-filters select,.roles-filters input{min-height:35px;border-radius:8px}.roles-filters .roles-search{flex-basis:220px}.roles-filters .roles-search input{padding-right:30px}.roles-search-clear{position:absolute;right:6px;bottom:6px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-muted);cursor:pointer}.roles-card{display:grid;gap:12px;min-width:0;padding:20px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-1,0 1px 2px #0001)}.roles-card-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.roles-card .button{min-height:31px;padding:4px 10px;border-radius:6px;font-size:.8125rem;font-weight:500}.roles-expand{color:var(--brand-800);border-color:var(--brand-700)}.roles-collapse{color:#4d5359;border-color:#6c757d}.roles-group{display:grid;gap:8px;min-width:0}.roles-group-header{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 16px;border:1px solid #dee2e6;border-radius:6px;background:#f8f9fa;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.roles-group-name{flex:1;font-weight:600}.roles-group-count{color:#5c636a;font-size:.875rem;white-space:nowrap}.roles-group-header svg,.roles-chevron{flex:none;transition:transform .15s}.roles-process-header button[aria-expanded=true] .roles-chevron{transform:rotate(180deg)}.roles-group-content{display:grid;min-width:0;margin-left:12px}.roles-process{min-width:0;border:1px solid #dee2e6;border-top-width:0;background:#fff}.roles-process:first-child{border-top-width:1px;border-radius:6px 6px 0 0}.roles-process:last-child{border-radius:0 0 6px 6px}.roles-process:only-child{border-radius:6px}.roles-process-header{margin:0;font-size:1rem;font-weight:400}.roles-process-header button{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;width:100%;min-height:48px;padding:12px 16px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.roles-process-header button[aria-expanded=true]{background:var(--brand-50);box-shadow:inset 0 -1px #dee2e6}.roles-process-name{flex:1 1 240px;min-width:0;font-weight:600}.roles-process-meta{display:inline-flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap}.roles-counter{color:#5c636a;font-size:.875rem;white-space:nowrap}.roles-status,.roles-kind,.roles-level{display:inline-block;padding:3px 7px;border-radius:6px;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap}.roles-status-on{background:#d1e7dd;color:#0a3622}.roles-status-off{border:1px solid #dee2e6;background:#f8f9fa;color:#5c636a}.roles-kind-paid{border:1px solid #ffe69c;background:#fff3cd;color:#664d03}.roles-kind-required{border:1px solid #dee2e6;background:#e2e3e5;color:#41464b}.roles-level-none{border:1px solid #dee2e6;background:#f8f9fa;color:#5c636a}.roles-level-view{background:#cff4fc;color:#055160}.roles-level-personal{background:#d1e7dd;color:#0a3622}.roles-level-building{background:#fff3cd;color:#664d03}.roles-level-full{background:#cfe2ff;color:#052c65}.roles-process-body{display:grid;gap:12px;min-width:0;padding:16px}.roles-process-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.roles-process-actions>div{display:flex;flex-wrap:wrap;gap:8px}.roles-process-actions>div:last-child{margin-left:auto}.roles-switch-off{color:#4d5359;border-color:#6c757d}.roles-switch-on{color:#146c43;border-color:#198754}.roles-reset{color:#b02a37;border-color:#dc3545}.roles-card .roles-parallels{background:#ffc107;border-color:#ffc107;color:#000}.roles-edit{color:var(--brand-800);border-color:var(--brand-700)}.roles-card .roles-edit-on{background:var(--brand-700);color:#fff}.roles-card .roles-description{min-width:34px;background:#6c757d;border-color:#6c757d;color:#fff}.roles-card .button:disabled{opacity:.55;cursor:default}.roles-locked{display:grid;justify-items:center;gap:8px;padding:40px 0;color:#997404;text-align:center}.roles-table-scroll{overflow-x:auto;max-width:100%}.roles-table{width:100%;border-collapse:collapse;font-size:.875rem}.roles-table th,.roles-table td{padding:8px 10px;border-bottom:1px solid #dee2e6;text-align:center;vertical-align:middle}.roles-table thead th{min-width:140px;font-weight:400}.roles-table thead th:first-child,.roles-table th[scope=row]{min-width:180px;text-align:left;font-weight:600;white-space:nowrap}.roles-table thead th>*{display:block;margin:0 auto 4px}.roles-table thead th>.roles-status{display:table}.roles-module-name{font-size:.8125rem;font-weight:600;white-space:nowrap}.roles-table tfoot th{color:#5c636a}.roles-system{margin-right:4px;color:#5c636a;font-weight:700}.roles-access{display:inline-block;padding:3px 7px;border-radius:6px;background:#6c757d;color:#fff;font-size:.75rem;font-weight:600}.roles-level-select{min-height:31px;padding:2px 6px;border:1px solid #dee2e6;border-radius:6px;background:#fff;font:inherit;font-size:.8125rem}.roles-hide-empty{font-size:.875rem}.roles-error{margin:0}.roles-empty{padding:40px 0;text-align:center}.roles-description-text p{margin:0 0 8px;color:var(--ink);line-height:1.6}.roles-description-text ul{margin:0;padding-left:20px;line-height:1.6}.roles-parallels-list{display:grid;gap:12px}.roles-parallels-module{padding:12px 16px;border:1px solid #dee2e6;border-radius:8px}.roles-parallels-module h3{margin:0 0 10px;font-size:.9375rem}.roles-chips{display:flex;flex-wrap:wrap;gap:8px}.roles-chip{width:36px;height:36px;border:1px solid #6c757d;border-radius:50%;background:#fff;color:#4d5359;font:inherit;font-weight:600;cursor:pointer}.roles-chip-on{border-color:var(--brand-700);background:var(--brand-700);color:#fff}.roles-parallels-actions{align-items:center;justify-content:flex-end;margin-top:16px}.roles-saved{color:#146c43}.roles-failed{color:var(--danger)}.roles-confirm p{color:var(--ink)}.roles-card mark{padding:0;background:#fff3cd;color:inherit}@media(max-width:680px){.roles-card{padding:12px}.roles-group-content{margin-left:0}.roles-filters{width:100%}.roles-filters .field{flex:1 1 140px}.roles-filters .roles-search{flex-basis:100%}.roles-process-body{padding:12px 8px}.roles-process-actions>div:last-child{margin-left:0}}.roles-card .roles-access,.roles-access{border:0;cursor:pointer;font:inherit;font-size:.75rem;font-weight:600}.roles-reset-question{margin:0 0 12px;color:var(--ink-muted)}.roles-reset-table{max-height:400px;overflow:auto}.roles-access-help{margin:0 0 12px;color:var(--ink-muted)}.roles-access-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 16px;margin:0 0 8px;font-size:.875rem}.roles-toast{position:fixed;top:16px;right:16px;z-index:200;padding:10px 16px;border-radius:6px;background:var(--danger);color:#fff;font-weight:600;box-shadow:0 4px 12px #00000026}.survey-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.survey-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px}.survey-card .card-body{height:400px;overflow:auto;padding:20px}.survey-card .card-title{margin:0 0 12px;font-size:1.125rem;font-weight:700;overflow-wrap:anywhere}.survey-card-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-secondary,#495057);font-size:.875rem}.survey-card-row span{display:inline-flex;align-items:center;gap:4px}.survey-card-footer{padding:12px 20px;border-top:1px solid var(--line);background:#f8f9fa;border-radius:0 0 12px 12px}.survey-card-footer a{text-decoration:none}.survey-empty{display:grid;justify-items:center;gap:8px;padding:48px 16px;text-align:center}.survey-empty h2{margin:0;font-size:1.25rem;font-weight:700}.survey-empty p,.survey-muted,.survey-hint{margin:0;color:var(--ink-muted,#6c757d)}.survey-muted,.survey-hint{font-size:.8125rem}.survey-error{color:var(--danger,#dc3545);font-size:.875rem;margin:8px 0}.survey-choose{color:var(--ink-muted,#6c757d);margin:16px 0}.survey-required{color:var(--danger,#dc3545);margin-left:2px}.survey-vote{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}.survey-vote-card{background:#fff;border:1px solid var(--line);border-radius:12px}.survey-vote-card .card-body{padding:20px}.progress{height:20px;margin-bottom:20px;overflow:hidden;border-radius:6px;background:var(--surface-muted,#e9ecef)}.progress-bar{height:100%;min-width:2.5em;display:flex;align-items:center;justify-content:center;background:var(--brand-700,#198754);color:#fff;font-size:.75rem;font-weight:600}.survey-question h2{margin:0 0 16px;font-size:1.0625rem;font-weight:700;overflow-wrap:anywhere}.survey-question fieldset{display:grid;gap:8px;margin:0;padding:0;border:0}.survey-question textarea{width:100%}.survey-choices,.survey-checks{display:grid;gap:6px}.survey-check{display:flex;align-items:center;gap:8px;font-size:.9375rem;overflow-wrap:anywhere}.survey-check input{flex:none}.survey-label{display:block;font-weight:600;font-size:.875rem;margin-top:8px}.survey-actions{margin-top:16px}.survey-final p{margin:0 0 8px}.survey-legend{display:flex;align-items:center;gap:8px;font-size:.875rem}.survey-legend-mark{width:16px;height:16px;border-radius:4px;background:var(--brand-700,#198754)}.survey-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border-radius:8px;color:var(--ink-secondary);font-size:.875rem;text-decoration:none}.survey-tabs a[aria-current=page]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1,0 1px 2px #0002)}.survey-table td{vertical-align:middle;overflow-wrap:anywhere}.survey-row-actions{white-space:nowrap}.survey-badge-wrap{position:relative;display:inline-block}.survey-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:#f8f9fa;color:var(--ink,#212529);font-size:.75rem;cursor:pointer}.survey-badge .badge{padding:1px 6px;border-radius:999px;background:#6c757d;color:#fff}.survey-choice-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.survey-popover{position:absolute;z-index:5;display:grid;gap:4px;min-width:180px;max-width:320px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 4px 12px #0002;font-size:.8125rem;white-space:pre-line}.survey-popover p{margin:0}.survey-popover-trigger{padding:0;border:0;background:none;color:var(--brand-800,#0d6efd);font:inherit;cursor:pointer}.survey-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.survey-filter select{min-width:200px}.survey-area-row td{font-weight:600}.survey-aspect-row td:first-child{padding-left:32px}.survey-handle{display:inline-grid;place-items:center;padding:2px;border:0;background:none;color:var(--ink-muted,#6c757d);cursor:grab}.survey-form fieldset{display:grid;gap:6px;margin:0;padding:0;border:0}.survey-form input:not([type=checkbox]):not([type=radio]),.survey-form select,.survey-form textarea{width:100%}.survey-field{position:relative;display:grid;gap:4px}.survey-dialog-wide{max-width:760px}.survey-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.survey-section textarea{width:100%}.survey-values{display:grid;gap:6px;margin:0 0 8px;padding:0;list-style:none}.survey-value-row{display:grid;grid-template-columns:auto 80px minmax(0,1fr) auto;gap:6px;align-items:center}.survey-score{width:80px}.survey-inline{display:flex;gap:8px;align-items:center}.survey-inline select{flex:1}.survey-aspects{margin:0 0 8px;padding-left:18px}.survey-audience-title{font-weight:600;margin:0 0 8px}.survey-report{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}.survey-report-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:12px}.survey-report-toolbar .mojo-tabs{margin-bottom:0}.survey-report-list{display:grid;gap:6px;margin:0 0 16px;padding:0;list-style:none}.survey-report-list button[aria-current=true]{font-weight:700}.survey-info th{font-weight:600;padding-right:12px;white-space:nowrap}.survey-results-mode{display:flex;gap:16px;margin-bottom:12px}.survey-results-area h2{font-size:1rem;font-weight:700;margin:16px 0 8px}.survey-shares,.survey-texts{margin:0;padding-left:18px}@media(max-width:767px){.survey-vote,.survey-report{grid-template-columns:minmax(0,1fr)}.survey-value-row{grid-template-columns:auto 64px minmax(0,1fr) auto}}.meeting-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:18px}.meeting-filter{margin:0;min-width:180px;flex:0 1 240px}.meeting-period{position:relative}.meeting-period-button{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);font-size:.875rem;text-align:left;cursor:pointer}.meeting-period-panel,.meeting-picker-panel{position:absolute;top:100%;left:0;z-index:30;display:grid;gap:10px;min-width:100%;width:max-content;max-width:min(320px,calc(100vw - 32px));margin-top:4px;padding:12px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;box-shadow:0 8px 24px #0000001f}.meeting-period-actions,.meeting-picker-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.meeting-picker-buttons>button:not([class]){padding:0;border:0;background:none;color:var(--brand-800,#0d6efd);font:inherit;font-size:.8125rem;cursor:pointer}.meeting-picker-list{display:grid;gap:6px;max-height:220px;overflow:auto}.meeting-picker-inline{margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:8px}.meeting-picker{position:relative;margin:0}.meeting-chosen{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none}.meeting-chosen li{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--surface-muted,#e9ecef);font-size:.8125rem}.meeting-chosen button{display:inline-grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}.meeting-table{width:100%;border-collapse:collapse}.meeting-table th,.meeting-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere}.meeting-table th{font-weight:600;white-space:nowrap}.meeting-table-scroll{overflow-x:auto}.meeting-nowrap{white-space:nowrap}.meeting-center{text-align:center!important;white-space:nowrap}.meeting-comment{white-space:pre-line}.meeting-icon{display:inline-grid;place-items:center;min-width:32px;min-height:32px;padding:0;border:0;background:none;color:var(--brand-800,#0d6efd);cursor:pointer}.meeting-dialog{width:min(800px,calc(100vw - 32px));max-width:800px}.meeting-form{display:grid;gap:16px}.reference-dialog fieldset.meeting-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:0;padding:0;border:0}.meeting-left,.meeting-right{display:grid;gap:12px;align-content:start;min-width:0}.meeting-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:center}.meeting-row textarea{align-self:stretch}.meeting-row input,.meeting-row select,.meeting-row textarea{width:100%;min-width:0}.meeting-label{font-weight:600;font-size:.875rem}.meeting-right .h5{margin:0;font-size:1.0625rem;font-weight:700}.meeting-radios{display:flex;flex-wrap:wrap;gap:6px 18px}@media(max-width:700px){.reference-dialog fieldset.meeting-columns,.meeting-row{grid-template-columns:minmax(0,1fr)}.meeting-filter{flex:1 1 160px}}.learner-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.learner-week .week-grid-range{min-width:0}.learner-toggle{min-height:44px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:600}.learner-toggle[aria-pressed=true]{background:var(--brand-50);border-color:var(--milc-dark-green);color:var(--brand-800)}.learner-days{display:flex;gap:4px;padding:6px;margin-bottom:18px;background:var(--surface-muted);border-radius:12px;overflow-x:auto;max-width:100%}.learner-days button{flex:0 0 auto;min-height:40px;padding:6px 14px;border:0;border-radius:8px;background:transparent;color:var(--ink-secondary);font-size:.875rem;white-space:nowrap}.learner-days button[aria-selected=true]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1)}.learner-day-short{display:none}.learner-day-list{display:grid;gap:12px}.learner-day-list>div{display:grid;gap:12px}.learner-day-title{margin:12px 0 0;font-size:1rem}.learner-lesson{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);list-style:none}.learner-lesson.is-off{background:var(--surface-muted);color:var(--ink-secondary)}.learner-time{font-weight:700;font-size:.875rem;color:var(--ink-secondary);padding-top:2px}.learner-body{min-width:0;display:grid;gap:6px}.learner-body p{margin:0;font-size:.875rem;overflow-wrap:anywhere}.learner-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.learner-head h2,.learner-head h3{margin:0;font-size:1rem}.learner-head p{margin:0}.learner-marks{display:flex;flex-wrap:wrap;gap:6px}.learner-mark{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:8px;background:var(--brand-50);color:var(--brand-800);font-weight:700}.learner-work-mark{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.learner-mark-code{font-size:.6875rem;line-height:1;color:var(--ink-secondary)}.learner-label{font-weight:600;color:var(--ink-secondary);margin-right:4px}.learner-note{font-weight:600;color:var(--warning)}.learner-attendance.is-event{color:var(--danger)}.learner-homework ul{margin:2px 0 0;padding-left:18px;font-size:.875rem}.learner-text{overflow-wrap:anywhere;white-space:pre-line}.learner-done{color:var(--success)!important}.learner-state{font-size:.8125rem;font-weight:600;color:var(--ink-muted);white-space:nowrap}.learner-homework-list{display:grid;gap:12px;margin:0;padding:0}.learner-children{margin-bottom:16px}@media(max-width:600px){.learner-day-long{display:none}.learner-day-short{display:inline}.learner-lesson{grid-template-columns:1fr;gap:6px;padding:14px}.learner-toolbar{flex-direction:column;align-items:stretch}.learner-week{justify-content:space-between}}.learner-card{min-width:0;margin-bottom:16px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.learner-successful-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.learner-successful-head h2{margin:0;font-size:1.25rem}.learner-period-chips{display:flex;max-width:100%;overflow-x:auto;border-radius:8px;background:var(--journal-grey-track,#e9ecef)}.learner-period-chips button{flex:0 0 auto;min-width:40px;min-height:40px;border:1px solid var(--journal-grey-track,#e9ecef);border-radius:8px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.learner-period-chips button.is-active{background:var(--surface)}.learner-successful{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}.learner-successful>.learner-card{margin-bottom:0}.learner-successful-table{overflow-x:auto}.learner-successful-table table{width:100%;min-width:0;border-collapse:collapse}.learner-successful-table th,.learner-successful-table td{padding:8px 10px;border:1px solid var(--line);vertical-align:bottom;font-size:.875rem}.learner-successful-table th{text-align:left;font-weight:600}.learner-successful-table th:nth-child(n+3),.learner-successful-table td:nth-child(n+3){text-align:center;white-space:nowrap}.learner-successful-table td:nth-child(2){width:1%}.learner-link{padding:0;border:0;background:none;color:var(--brand-800);font:inherit;text-align:left;cursor:pointer}.learner-progress{position:relative;display:flex;flex:0 1 auto;max-width:100%;height:40px}.learner-progress-period{position:relative;flex:1 1 0;min-width:0;max-width:40px;height:40px}.learner-bar{position:absolute;left:0;bottom:0;box-sizing:border-box;width:100%;border:1px solid #fff}.learner-bar.is-bad,.learner-bar.is-empty,.learner-polar-column.is-bad{background:#f5676b;fill:#f5676b}.learner-bar.is-empty{opacity:.2}.learner-bar.is-normal,.learner-polar-column.is-normal{background:#ffb800;fill:#ffb800}.learner-bar.is-good,.learner-polar-column.is-good{background:#35a894;fill:#35a894}.learner-bar.is-none,.learner-polar-column.is-none{background:var(--ink-muted);fill:var(--ink-muted)}.learner-bar-value{position:absolute;left:0;bottom:2px;width:100%;text-align:center;font-size:13px}.learner-successful-chart h3{margin:0 0 8px;padding:0 10px;font-size:1rem}.learner-polar{display:block;width:100%;height:auto;max-height:400px}.learner-polar-grid{fill:none;stroke:var(--line)}.learner-polar-scale{font-size:9px;fill:var(--ink-muted)}.learner-polar-label{font-size:9px;fill:var(--ink-secondary)}.learner-subject-marks{border-collapse:collapse}.learner-subject-marks td{padding:6px 12px 6px 0;font-size:.875rem}@media(max-width:767px){.learner-successful{grid-template-columns:1fr}.learner-successful-chart{order:-1}}@media(max-width:600px){.learner-successful-table{padding:8px}.learner-successful-table thead{display:none}.learner-successful-table table,.learner-successful-table tbody,.learner-successful-table tr,.learner-successful-table td{display:block;width:auto}.learner-successful-table tr{padding:8px 0;border-bottom:1px solid var(--line)}.learner-successful-table td,.learner-successful-table td:nth-child(n+3){display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 12px;padding:4px 6px;border:0;text-align:right}.learner-successful-table td:nth-child(2){width:auto}.learner-successful-table td:before{content:attr(data-label);color:var(--ink-muted);text-align:left}.learner-successful-table td:empty:after{content:"—";color:var(--ink-muted)}}.olymp-search{display:flex;align-items:center;gap:4px;min-width:200px;flex:1 1 220px;max-width:320px}.olymp-search input{flex:1 1 auto;min-width:0}.olymp-dialog{width:min(640px,calc(100vw - 32px));max-width:640px}.olymp-dialog-lg{width:min(800px,calc(100vw - 32px));max-width:800px}.olymp-dialog-xl{width:min(1140px,calc(100vw - 32px));max-width:1140px}.reference-dialog fieldset.olymp-fields{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.olymp-row{grid-template-columns:200px minmax(0,1fr)}.olymp-checkbox{justify-self:start;width:auto!important}.olymp-student{position:relative;min-width:0}.olymp-student input{width:100%}.olymp-suggestions{position:absolute;top:100%;left:0;right:0;z-index:30;display:grid;max-height:240px;overflow:auto;margin:4px 0 0;padding:4px 0;list-style:none;border:1px solid var(--line-strong);border-radius:9px;background:#fff;box-shadow:0 8px 24px #0000001f}.olymp-suggestions li{padding:0 4px}.olymp-suggestions li.survey-muted{padding:6px 12px}.olymp-suggestions button{width:100%;padding:6px 10px;border:0;border-radius:6px;background:none;text-align:left;cursor:pointer}.olymp-suggestions button:hover,.olymp-suggestions button:focus-visible{background:var(--surface-muted,#e9ecef)}.olymp-file{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.olymp-file input{flex:1 1 200px;min-width:0}.olymp-badge{padding:2px 8px;border-radius:999px;background:var(--success,#198754);color:#fff;font-size:.75rem;font-weight:600}.olymp-link{padding:0;border:0;background:none;cursor:pointer}.olymp-popover{padding:4px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font-size:.8125rem}.olymp-mass-scroll{max-height:60vh}.olymp-mass-table th[scope=row]{font-weight:400;white-space:nowrap}.olymp-rotated{height:150px;vertical-align:bottom!important;white-space:nowrap}.olymp-rotated span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg)}.olymp-check-all td{background:var(--surface-muted,#f8f9fa)}.olymp-no-data{max-width:420px;color:var(--ink-muted,#6c757d)}@media(max-width:600px){.olymp-row{grid-template-columns:minmax(0,1fr)}.olymp-search{max-width:none}}.value-sets-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:24px;align-items:start}.value-sets-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.value-sets-choose{margin:0;color:var(--ink)}.value-sets-catalogue{display:grid;gap:16px;min-width:0}.value-sets-block strong{display:block;margin-bottom:6px}.value-sets-block ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.value-sets-catalogue .link-primary{padding:2px 0;border:0;background:none;color:var(--brand-800);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.value-sets-catalogue .link-primary:hover{text-decoration:underline}.value-sets-catalogue .link-primary.is-current{font-weight:700;text-decoration:underline}.value-sets-table td{vertical-align:middle}.value-sets-table tr.is-hidden td:nth-child(2){color:var(--ink-muted)}.value-sets-table tr.is-dragged{opacity:.5}.value-sets-handle button{cursor:grab}.value-sets-swatch{display:inline-block;width:20px;height:20px;border-radius:4px;border:1px solid var(--line);vertical-align:middle}.value-sets-actions{margin-top:16px}.value-sets-error{margin:12px 0 0;color:#dc3545;font-size:.875rem}.value-sets-color{position:relative}.value-sets-color-input{display:flex;align-items:center;gap:8px}.value-sets-color-input input{flex:1 1 auto;min-width:0;cursor:pointer}.value-sets-color-swatch{flex:none;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.value-sets-palette{width:max-content;max-width:100%;margin-top:6px;display:grid;grid-template-columns:repeat(6,32px);gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow-2)}.value-sets-palette button{width:32px;height:32px;border:1px solid rgba(0,0,0,.12);border-radius:6px}.value-sets-palette button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}.value-sets-palette .value-sets-palette-clear{display:grid;place-items:center;background:#fff;color:var(--ink-secondary)}@media(max-width:767px){.value-sets-layout{grid-template-columns:1fr}.value-sets-card{padding:16px}}@media(max-width:767px){.value-sets-table table{min-width:0}.value-sets-table th,.value-sets-table td{padding:10px 8px}.value-sets-table td.reference-edit{width:auto;padding:6px 4px}.value-sets-table{background:linear-gradient(to right,#fff 30%,#fff0) left/32px 100% no-repeat local,linear-gradient(to left,#fff 30%,#fff0) right/32px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgb(0 0 0/.22),transparent) left/16px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgb(0 0 0/.22),transparent) right/16px 100% no-repeat scroll,#fff}}.library-tabs{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%}.library-selected{border-color:var(--brand-800,#0b5ed7);font-weight:600}.library-title{white-space:pre-line;overflow-wrap:anywhere}.library-export{margin-top:12px}.student-card-page{display:grid;gap:16px;min-width:0}.student-card-page .card{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}.student-card-page .card-body{padding:20px}.student-card-tab-wrapper{position:sticky;top:0;z-index:15;background:var(--surface-page,#f6f8f5);padding:4px 0}.student-card-tabs{display:flex;flex-wrap:wrap;gap:4px}.student-card-tab{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:.875rem}.student-card-tab.active{background:var(--mojo-green,#35A894);border-color:var(--mojo-green,#35A894);color:#fff;font-weight:600}.student-card-menu{position:relative}.student-card-dropdown{position:absolute;z-index:20;top:100%;left:0;min-width:240px;margin:4px 0 0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-2,0 6px 20px #0002)}.student-card-dropdown button{display:block;width:100%;min-height:36px;padding:8px 12px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:.875rem;color:var(--ink)}.student-card-dropdown button:hover{background:var(--brand-50)}.student-card-dropdown button.active{background:var(--mojo-green,#35A894);color:#fff;font-weight:700}.student-card-dropdown ul{list-style:none;margin:0;padding:0 0 0 12px}.student-card-mobile-group{display:block;padding:8px 12px 4px;color:var(--ink-secondary);font-size:.8125rem;font-weight:600}.student-card-mobile{display:none;position:relative}.student-card-mobile-toggle{display:inline-flex;align-items:center;gap:8px}@media(max-width:1199px){.student-card-tabs{display:none}.student-card-mobile{display:block}.student-card-mobile .student-card-dropdown{width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}}.student-card-section-title{margin:0 0 16px;font-size:1.25rem;font-weight:600}.student-card-section-title .muted{font-size:inherit}.student-card-empty{display:grid;justify-items:center;gap:8px;padding:48px 16px;text-align:center}.student-card-empty h2{margin:0;font-size:1.25rem;font-weight:700}.student-card-empty p{margin:0;color:var(--ink-muted,#6c757d)}.student-card-table{width:100%;min-width:640px}.student-card-table th,.student-card-table td{text-align:left;vertical-align:middle;text-transform:none;letter-spacing:0}.student-card-table .center,.student-card-strip-table .center{text-align:center}.student-card-link{padding:0;border:0;background:none;color:var(--mojo-link,#35A894);cursor:pointer;font:inherit;text-decoration:none}.student-card-link:hover,.student-card-link:focus-visible{color:var(--mojo-link-hover,#2A8676);text-decoration:underline}.student-card-popover-anchor{position:relative;display:inline-block;margin-right:8px}.student-card-popover{position:absolute;z-index:25;top:100%;left:0;display:grid;gap:4px;min-width:200px;max-width:320px;margin-top:4px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-2,0 6px 20px #0002);font-size:.8125rem;font-weight:400;white-space:normal;text-align:left;color:var(--ink)}.student-card-popover-line{display:block}.person-dialog.student-card-profile{width:min(800px,calc(100vw - 32px))}.student-card-profile>strong{display:block;margin:12px 0 6px}.student-card-info{width:100%;min-width:0;border-collapse:collapse}.student-card-info th[scope=row]{width:150px;padding:6px 16px 6px 0;border:0;font-weight:400;color:var(--ink-secondary);text-transform:none;letter-spacing:0;vertical-align:top}.student-card-info td{padding:6px 0;border:0;overflow-wrap:anywhere}.student-card-week-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.student-card-week-controls .schedule-pdf{margin:0}.student-card-diary-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.student-card-days{display:flex;flex-wrap:wrap;gap:4px}.student-card-days button,.student-card-period-tabs button,.student-card-button-group button{min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:.875rem}.student-card-days button.active,.student-card-period-tabs button.active{background:var(--mojo-green,#35A894);border-color:var(--mojo-green,#35A894);color:#fff;font-weight:600}.student-card-diary-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.student-card-diary-tools input{min-height:40px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:8px}.student-card-diary-day{margin-bottom:20px}.student-card-diary-day h3{margin:0 0 8px;font-size:1rem;font-weight:500}.student-card-no-lessons{margin:0;padding:16px;border:1px dashed var(--line);border-radius:8px;color:var(--ink-secondary);text-align:center}.student-card-mark .student-card-link{font-weight:700}.student-card-offcanvas{position:fixed;top:0;right:0;bottom:0;z-index:31;width:min(560px,100vw);padding:24px;overflow:auto;background:#fff;box-shadow:var(--shadow-2,0 6px 20px #0003)}.student-card-homework-day{margin:12px 0}.student-card-homework{width:100%;min-width:0;table-layout:fixed}.student-card-homework td:nth-child(1){width:25%}.student-card-homework td:nth-child(2){width:50%}.student-card-homework td:nth-child(3){width:25%}.student-card-history-link{justify-self:start}.person-dialog.student-card-history{width:min(1000px,calc(100vw - 32px))}.student-card-history-grid{min-width:760px;table-layout:fixed}.student-card-history-grid th[scope=row]{width:180px;font-weight:400;text-transform:none;letter-spacing:0}.student-card-history-track{position:relative;height:32px;padding:0}.student-card-history-bar{position:absolute;top:10px;height:12px;border-radius:6px;background:var(--ink-muted,#adb5bd)}.student-card-goals th{text-align:center}.student-card-columns{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;align-items:start}.student-card-side{position:sticky;top:64px;display:grid;gap:12px}.student-card-side .student-card-table{min-width:0}.student-card-button-group{display:flex;gap:4px}.student-card-button-group button.active{background:var(--ink-secondary,#6c757d);border-color:var(--ink-secondary,#6c757d);color:#fff}.student-card-tabel{margin:0}.student-card-successful .learner-card{background:#fff}.student-card-absence{display:grid;gap:16px;min-width:0}.student-card-period-tabs{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px}.student-card-strip{position:sticky;top:56px;z-index:5}.student-card-strip-table{min-width:0;width:auto}.student-card-strip-table th,.student-card-strip-table td{min-width:36px;padding:6px 8px;text-align:center;text-transform:none;letter-spacing:0}.student-card-strip-table th[scope=row]{text-align:left;white-space:nowrap;font-weight:400}.student-card-strip-table .bg-yellow{background:#fff3cd}.student-card-badge{display:inline-block;margin-left:2px;padding:0 5px;border-radius:8px;background:#ffc107;color:#212529;font-size:.6875rem;vertical-align:super}.student-card-subtitle{margin:0;font-size:1.25rem;font-weight:600}.student-card-surveys{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.student-card-nutrition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-card-nutrition .card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}.student-card-nutrition h3{margin:0;font-size:1rem}.student-card-meal{display:grid;gap:2px;margin-bottom:8px}.student-card-menu-badge{padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:#f8f9fa;color:var(--ink-muted);font-size:.75rem}@media(max-width:767px){.student-card-columns,.student-card-nutrition{grid-template-columns:1fr}.student-card-side{position:static}.student-card-page .card-body{padding:16px}}.student-card-medicine{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.student-card-medicine a{display:inline-block;padding:4px 8px;border-radius:6px;background:var(--mojo-light,#f8f9fa);border:1px solid var(--mojo-light,#f8f9fa);color:var(--ink,#212529);font-size:.875rem;text-decoration:none}.student-card-medicine a:hover,.student-card-medicine a:focus-visible{background:#e2e6ea;border-color:#dae0e5}.activity-filters{justify-content:flex-end}.activity-no-data .card-body{padding:14px 16px;color:var(--ink-muted,#6c757d)}.activity-building{display:block;color:var(--ink-muted,#6c757d);font-size:.8125rem}.activity-dialog{width:min(640px,calc(100vw - 32px));max-width:640px}.activity-dialog.meeting-dialog{width:min(800px,calc(100vw - 32px));max-width:800px}.activity-dialog.activity-mass-dialog{width:min(1140px,calc(100vw - 32px));max-width:1140px}.reference-dialog fieldset.activity-fields{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.activity-criteria{display:grid;gap:8px}.activity-checkbox{justify-self:start;width:auto!important}.activity-option{display:block;width:100%;padding:6px 8px;border:0;border-radius:6px;background:none;text-align:left;font:inherit;cursor:pointer}.activity-option:hover,.activity-option:focus-visible{background:var(--surface-muted,#e9ecef)}.activity-popover-anchor{position:relative;display:inline-block}.activity-popover{position:absolute;top:100%;left:50%;z-index:30;display:grid;gap:4px;min-width:180px;max-width:min(320px,calc(100vw - 32px));margin-top:6px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;box-shadow:0 8px 24px #0000001f;transform:translate(-50%);text-align:left;white-space:pre-line;font-size:.875rem}.activity-popover-comment{color:var(--ink-muted,#6c757d)}.activity-points{display:inline-grid;place-items:center;min-width:32px;min-height:32px;padding:0 8px;border:0;border-radius:999px;background:var(--brand-800,#0d6efd);color:#fff;font-weight:600;cursor:pointer}.activity-mass-table th.activity-rotated{height:150px;vertical-align:bottom;white-space:nowrap}.activity-mass-table th.activity-rotated span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);font-weight:600}.activity-stat-table th{white-space:nowrap}.activity-card-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:18px}.activity-card-top table{width:100%}.activity-chart{display:grid;justify-items:center;gap:8px}.activity-chart svg{width:100%;max-width:320px;height:auto}.activity-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;font-size:.8125rem}.activity-legend li{display:inline-flex;align-items:center;gap:6px}.activity-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}@media(max-width:700px){.activity-card-top{grid-template-columns:minmax(0,1fr)}.activity-filters{justify-content:flex-start}}.duty-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}.duty-tabs{margin-bottom:0}.duty-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border-radius:8px;color:var(--ink-secondary);font-size:.875rem;text-decoration:none}.duty-tabs a[aria-current=page]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1,0 1px 2px #0002)}.duty-building{display:grid;gap:4px;min-width:180px;margin:0}.duty-building>span{font-size:.75rem;color:var(--ink-muted)}.duty-card{padding:16px 20px}.duty-days{display:inline-flex;flex-wrap:wrap;gap:2px;padding:4px;margin-bottom:16px;border-radius:8px;background:#f8f9fa}.duty-days button{min-height:36px;padding:6px 12px;border:0;border-radius:6px;background:#f8f9fa;color:var(--ink);font-size:.8125rem;font-weight:600;cursor:pointer}.duty-days button[aria-pressed=true]{background:#6c757d;color:#fff}.duty-days button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.duty-grid-scroll{overflow-x:auto;padding-bottom:6px}.duty-grid{display:grid;align-items:start;min-width:max-content}.duty-grid-corner{height:40px}.duty-grid-head{height:40px;padding:0 6px;font-size:.8125rem;font-weight:600;line-height:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duty-grid-axis{position:relative}.duty-grid-axis span{position:absolute;right:8px;transform:translateY(-50%);font-size:.75rem;color:var(--ink-muted)}.duty-grid-column{position:relative;border-left:1px solid var(--line)}.duty-grid-line{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.duty-cell{position:absolute;left:2px;right:2px;z-index:1;display:flex;flex-direction:column;height:var(--duty-cell-size);overflow:hidden;border-left:3px solid #35a894;border-radius:3px;background:#d6eeea;font-size:11px;line-height:1.2}.duty-cell:hover,.duty-cell:focus-within{z-index:2;height:auto;min-height:var(--duty-cell-size)}.duty-cell-open{display:grid;gap:0;width:100%;min-width:0;padding:2px 5px;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.duty-cell-open:disabled{cursor:default}.duty-cell-open:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.duty-cell-name,.duty-cell-open small,.duty-cell-staff span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duty-cell-name{font-weight:700}.duty-cell-open small{font-size:10px;color:var(--ink-secondary)}.duty-cell-staff{display:grid;gap:0;margin:0;padding:0 5px 2px;list-style:none;background:#d6eeea}.duty-cell-staff li{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}.duty-cell-remove{display:grid;place-items:center;flex:none;width:18px;height:18px;border:0;border-radius:4px;background:transparent;color:var(--ink-secondary);cursor:pointer}.duty-cell-remove:hover{background:#fff}.duty-grid-empty{margin:8px 0 0}.duty-slots .week-lesson small,.duty-slots .week-lesson strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.duty-error{margin:12px 0 0;color:#dc3545;font-size:.875rem}.duty-dialog-rows{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 16px;margin:0 0 16px}.duty-dialog-rows dt{color:var(--ink-muted);font-size:.875rem}.duty-dialog-rows dd{margin:0;font-size:.9375rem}.duty-dialog-staff{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 16px;align-items:center}.duty-dialog-staff>label{color:var(--ink-muted);font-size:.875rem}.duty-staff-search{display:flex;align-items:center;gap:8px}.duty-staff-input{position:relative;flex:1;min-width:0}.duty-staff-input input{width:100%;padding-right:36px}.duty-staff-clear{position:absolute;right:4px;top:50%;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--ink-muted);transform:translateY(-50%)}.duty-staff-options{position:absolute;z-index:5;top:calc(100% + 4px);left:0;right:0;max-height:220px;margin:0;padding:4px 0;overflow:auto;list-style:none;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow-2)}.duty-staff-options li{padding:8px 12px;font-size:.875rem;cursor:pointer}.duty-staff-options li[role=option]:hover,.duty-staff-options li[role=option]:focus{background:var(--surface-muted);outline:0}.duty-time .room-required:after{color:var(--danger)}.duty-time-selects{display:flex;gap:8px}.duty-time-selects select{flex:1;min-width:0}@media(max-width:600px){.duty-toolbar{align-items:stretch}.duty-building{min-width:0;flex:1 1 100%}.duty-dialog-rows,.duty-dialog-staff{grid-template-columns:1fr}.duty-staff-search{flex-wrap:wrap}.duty-staff-search .button{width:100%}}.news-page{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.news-list-wrapper{min-width:0}.news-side{min-width:0;align-self:stretch}.news-filters-card{position:sticky;top:16px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.news-filters h2{margin:16px 0 8px;font-size:1rem;font-weight:600}.news-filters h2:first-child{margin-top:0}.news-check{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:.9375rem;overflow-wrap:anywhere}.news-check input{flex:none}.news-card{margin-bottom:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.news-card .card-body{padding:20px}.news-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.news-author{display:flex;align-items:center;gap:10px;min-width:0}.news-author p{margin:0 0 4px;overflow-wrap:anywhere}.user-image-placeholder{width:36px;height:36px;flex:none;border-radius:50%;background:var(--surface-muted,#e9ecef)}.news-date{color:var(--ink-muted,#6c757d);font-size:.875rem;flex:none}.news-title{margin:20px 0 10px;font-size:1.125rem;font-weight:700;overflow-wrap:anywhere}.news-title-button{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.news-title-button:hover{text-decoration:underline}.news-text{font-size:.9375rem;line-height:1.6;overflow-wrap:anywhere}.news-card .news-text a,.news-card .news-text a:hover{color:var(--brand-800,#145c21)}.news-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line);background:#f8f9fa;border-radius:0 0 12px 12px}.btn-viewed{padding:0;border:0;background:none;color:var(--brand-800,#0d6efd);font:inherit;font-size:.9375rem;cursor:pointer}.btn-viewed:hover{text-decoration:underline}.news-footer-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.news-footer .badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;color:#fff;background:#6c757d}.news-eye{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--ink-secondary,#495057);font:inherit;font-size:.875rem}button.news-eye{cursor:pointer}.news-empty{display:grid;justify-items:center;gap:8px;padding:48px 16px;text-align:center}.news-empty h2{margin:0;font-size:1.25rem;font-weight:700}.news-empty p{margin:0;color:var(--ink-muted,#6c757d)}.news-error{color:var(--danger,#dc3545);font-size:.875rem;margin:8px 0}.loader-wrapper{display:flex;justify-content:center;min-height:24px}.loader{width:24px;height:24px;border:3px solid var(--line,#dee2e6);border-top-color:var(--brand-800,#0d6efd);border-radius:50%;animation:news-spin 1s linear infinite}@keyframes news-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loader{animation:none}}.news-range,.news-range-input{position:relative}.news-range-input input{width:100%;padding-right:28px;cursor:pointer}.news-range-input svg{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none}.news-range-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:20;padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-2,0 8px 24px rgba(0,0,0,.15))}.news-range-months{display:flex;align-items:flex-start;gap:8px}.news-range-arrow{display:grid;place-items:center;width:28px;height:28px;margin-top:2px;border:0;background:none;border-radius:6px}.news-month{border-collapse:collapse;font-size:.8125rem}.news-month caption{font-weight:600;padding:4px 0 8px}.news-month th{width:32px;font-weight:500;color:var(--ink-muted,#6c757d)}.news-month td{padding:1px;text-align:center}.news-month button{width:30px;height:28px;border:0;border-radius:4px;background:none;font:inherit}.news-month button:hover{background:#eef2f6}.news-month button.in-range{background:#ebf4f8}.news-month button.is-edge{background:var(--brand-800,#357ebd);color:#fff}.news-range-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.news-viewers{width:min(640px,calc(100vw - 32px))}.news-viewers-scroll{overflow-x:auto}.news-viewers .table{width:100%;border-collapse:collapse;font-size:.9375rem}.news-viewers .table th,.news-viewers .table td{padding:8px;border-bottom:1px solid var(--line);text-align:left}.news-form fieldset{border:0;margin:0;padding:0;display:grid;gap:16px}.news-field{display:grid;gap:6px;position:relative}.news-label{font-weight:600;font-size:.9375rem}.news-required{color:var(--danger,#dc3545);margin-left:2px}.news-field input:not([type=checkbox]):not([type=radio]),.news-field select,.news-field textarea{width:100%}.news-textarea{display:grid;border:1px solid var(--line);border-radius:8px;background:#fff}.news-text-toolbar{display:flex;justify-content:flex-end;padding:4px;border-bottom:1px solid var(--line)}.news-text-clear{display:grid;place-items:center;width:28px;height:28px;border:0;background:none;border-radius:6px}.news-textarea textarea{border:0;border-radius:0 0 8px 8px;resize:vertical}.news-checks{display:flex;flex-wrap:wrap;gap:4px 18px}.news-popover-trigger{padding:0;border:0;background:none;color:var(--brand-800,#0d6efd);font:inherit;font-weight:400;cursor:pointer}.news-popover{position:absolute;left:0;top:28px;z-index:5;max-width:320px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-2,0 8px 24px rgba(0,0,0,.15));font-size:.875rem}.news-popover p{margin:6px 0 0}.news-dropzone{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px;border:1px dashed var(--line,#ced4da);border-radius:8px;background:#fff;color:var(--ink-muted,#6c757d)}.news-hidden{margin:0}.news-actions,.news-offcanvas .reference-confirm{margin-top:20px}@media(max-width:600px){.news-page{grid-template-columns:minmax(0,1fr) 96px;gap:8px}.news-filters-card{padding:8px}.news-filters h2{font-size:.8125rem;overflow-wrap:anywhere}.news-check{font-size:.75rem}.news-card .card-body{padding:14px}.news-footer{padding:10px 14px}.news-range-popover{position:fixed;left:16px;right:16px;top:20%}.news-range-months{flex-wrap:wrap;justify-content:center}}.news-file-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.875rem}.news-file-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;overflow-wrap:anywhere}.news-status{font-size:.875rem;color:var(--ink-muted,#6c757d)}.news-attachments{display:grid;gap:10px;margin-top:14px}.news-media-wrapper{position:relative}.news-media-wrapper.is-collapsed{max-height:500px;overflow:hidden}.news-media-wrapper.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(#fff0,#fff);pointer-events:none}.news-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.news-media-item{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--surface-muted,#e9ecef)}.news-media-expand{position:absolute;left:50%;bottom:8px;z-index:1;transform:translate(-50%);display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer}.news-file-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}.news-file-links .btn-viewed{text-align:left;overflow-wrap:anywhere}.mr-show-locked{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--ink-secondary,#495057);cursor:pointer}.mr-reports{display:grid;gap:24px}.mr-reports h2{margin:0;font-size:1.125rem;font-weight:700}.mr-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.mr-chips-label{font-size:.875rem;color:var(--ink-secondary,#495057)}.mr-chip{min-height:32px;padding:4px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink,#212529);font-size:.875rem;cursor:pointer}.mr-chip[aria-pressed=true]{border-color:var(--brand-800,#0d6efd);background:var(--brand-800,#0d6efd);color:#fff}.mr-error{margin:0;color:var(--danger,#dc3545);font-size:.875rem}.mr-summary{display:grid;gap:12px}.mr-heroes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.mr-hero{display:grid;gap:8px;align-content:start;padding:20px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink,#212529);background:#fff}.mr-hero--dark{background:#1f2937;border-color:#1f2937;color:#fff}.mr-hero-badges{display:flex;flex-wrap:wrap;gap:6px}.mr-badge{padding:2px 8px;border-radius:999px;background:#0000000f;font-size:.75rem}.mr-hero--dark .mr-badge{background:#ffffff26}.mr-badge--new{background:var(--brand-700,#198754);color:#fff}.mr-hero-title{font-size:1.25rem;font-weight:700}.mr-hero-text{font-size:.875rem;opacity:.85}.mr-hero-cta{font-weight:600;font-size:.875rem}.mr-favs{display:grid;gap:8px}.mr-favs-empty,.mr-empty{margin:0;color:var(--ink-muted,#6c757d);font-size:.875rem}.mr-favs-list{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none}.mr-favs-list li{display:inline-flex;align-items:center;gap:6px}.mr-favs-star{color:#f59e0b}.mr-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.mr-column{display:grid;gap:24px;min-width:0}.mr-group{display:grid;gap:4px;padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}.mr-group-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mr-group-head h2{flex:1;min-width:0;overflow-wrap:anywhere}.mr-group-count{color:var(--ink-muted,#6c757d);font-size:.875rem}.mr-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.mr-row-main{display:grid;gap:2px;flex:1;min-width:0}.mr-row-name{font-weight:600;overflow-wrap:anywhere}a.mr-row-name{text-decoration:none}.mr-row-desc{color:var(--ink-muted,#6c757d);font-size:.8125rem;overflow-wrap:anywhere}.mr-row--locked .mr-row-name{color:var(--ink-muted,#6c757d)}.mr-lock{flex:none;margin-top:3px;color:var(--ink-muted,#6c757d)}.mr-howto{font-size:.8125rem;color:var(--ink-secondary,#495057)}.mr-howto-link,.mr-reveal{padding:0;border:0;background:none;color:var(--brand-800,#0d6efd);font:inherit;font-size:.8125rem;cursor:pointer;white-space:nowrap}.mr-reveal{display:inline-flex;align-items:center;gap:6px;justify-self:start;margin-top:8px}.mr-star{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:none;color:var(--ink-muted,#6c757d);cursor:pointer}.mr-star[aria-pressed=true]{color:#f59e0b}.mr-star:disabled{opacity:.6;cursor:progress}@media(max-width:900px){.mr-groups{grid-template-columns:minmax(0,1fr)}}.sn-subtitle{margin:-8px 0 16px;color:var(--ink-muted,#6c757d);font-size:.875rem}.sn-buildings{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;overflow:hidden}.sn-building{min-height:32px;padding:4px 14px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink,#212529);font-size:.875rem;cursor:pointer}.sn-building:last-child{border-right:0}.sn-building[aria-pressed=true]{background:var(--brand-800,#0d6efd);color:#fff}.sn-dashboard{display:grid;gap:20px}.sn-dashboard h2{margin:0;font-size:1rem;font-weight:700}.sn-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.sn-card{display:grid;gap:6px;align-content:start;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}.sn-card-title{font-size:.875rem;font-weight:600;color:var(--ink-secondary,#495057)}.sn-card-value{font-size:1.75rem;font-weight:700}.sn-card-note{font-size:.8125rem;color:var(--ink-muted,#6c757d)}.sn-progress{height:6px;border-radius:999px;background:#e9ecef;overflow:hidden}.sn-progress span{display:block;height:100%;background:var(--brand-700,#198754)}.sn-notice{display:grid;gap:4px;padding:12px 16px;border:1px solid #ffe69c;border-radius:12px;background:#fff8e1;font-size:.875rem}.sn-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.sn-panel{display:grid;gap:12px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.sn-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.sn-link-button{justify-self:start;padding:0;border:0;background:none;color:var(--brand-800,#0d6efd);font:inherit;font-size:.875rem;cursor:pointer}.sn-link-button:disabled{color:var(--ink-muted,#6c757d);cursor:not-allowed}.sn-muted{margin:0;color:var(--ink-muted,#6c757d);font-size:.875rem}.sn-legend{display:flex;gap:16px;margin:0;padding:0;list-style:none;font-size:.8125rem}.sn-legend li{display:inline-flex;align-items:center;gap:6px}.sn-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.sn-male{background:#2e9e5b}.sn-female{background:#c9a227}.sn-unknown{background:#adb5bd}.sn-bars{display:grid;gap:6px;margin:0;padding:0;list-style:none}.sn-bar-row{display:grid;grid-template-columns:120px minmax(0,1fr) 48px;align-items:center;gap:10px;font-size:.875rem}.sn-bar-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sn-bar-track{display:flex;height:14px;border-radius:4px;overflow:hidden;background:#f1f3f5}.sn-bar-track span{display:block;height:100%}.sn-bar-total{text-align:right;font-weight:600}.sn-bar-footer{padding-top:6px;border-top:1px solid var(--line)}.sn-bar-sums{color:var(--ink-secondary,#495057)}.sn-table{width:100%;border-collapse:collapse;font-size:.875rem}.sn-table th,.sn-table td{padding:4px 8px;border-top:1px solid var(--line);text-align:right}.sn-table th:first-child{text-align:left}.sn-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.sn-stats div{display:grid;gap:2px}.sn-stats dt{font-size:.8125rem;color:var(--ink-muted,#6c757d)}.sn-stats dd{margin:0;font-size:1.25rem;font-weight:700}.sn-logins{display:grid;gap:10px;margin:0;padding:0;list-style:none}.sn-logins li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;font-size:.875rem}.sn-logins .sn-progress{grid-column:1/-1}@media(max-width:900px){.sn-columns{grid-template-columns:minmax(0,1fr)}}.hr-tabs{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%}.hr-filters{align-items:flex-end}.hr-columns{position:relative}.hr-columns .active{border-color:var(--brand-800,#0b5ed7);font-weight:600}.hr-columns-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:200px;padding:8px 12px;background:var(--surface,#fff);border:1px solid var(--border,#dee2e6);border-radius:6px;box-shadow:0 4px 12px #0000001f;display:grid;gap:6px}.hr-columns-menu label{display:flex;gap:8px;align-items:center;white-space:nowrap}.hr-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-muted,#e9ecef);color:var(--text-muted,#6c757d)}.hr-text{white-space:pre-line;overflow-wrap:anywhere}.hr-status{display:inline-block;padding:2px 8px;border-radius:10px;color:#fff;font-size:.875em}.hr-export{margin-top:12px}.hr-radios{display:flex;gap:16px;align-items:center}.hr-radios label{display:flex;gap:6px;align-items:center}.hr-page-head{display:flex;gap:8px;align-items:center}.hr-page-head>:last-child{flex:1;min-width:0}.hr-candidate{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}.hr-fields{width:100%;border-collapse:collapse}.hr-fields th,.hr-fields td{padding:6px 8px;border-bottom:1px solid var(--border,#dee2e6);text-align:left;vertical-align:top}.hr-fields th{width:40%;font-weight:600}.hr-side{display:grid;gap:16px}.hr-side-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hr-subjects,.hr-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}.hr-subjects li,.hr-files li{display:flex;justify-content:space-between;align-items:center;gap:8px}.hr-subject-add{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.hr-subject-add select{flex:1;min-width:140px}@media(max-width:767px){.hr-candidate{grid-template-columns:minmax(0,1fr)}}.hr-photo{object-fit:cover;padding:0}.hr-file{display:flex;flex-direction:column;gap:2px;min-width:0}.hr-file .olymp-link{overflow-wrap:anywhere;text-align:left}.nutrition-tabs{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%;align-items:center}.nutrition-tabs a,.nutrition-menu>button{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:6px 14px;border:0;border-radius:8px;background:transparent;color:var(--ink-secondary);font-size:.875rem;text-decoration:none;cursor:pointer}.nutrition-tabs>a[aria-current=page],.nutrition-menu>button[aria-pressed=true]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1,0 1px 2px #0002)}.nutrition-menu{position:relative}.nutrition-dropdown{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:180px;margin:0;padding:6px 0;list-style:none;background:var(--surface,#fff);border:1px solid var(--border,#dee2e6);border-radius:6px;box-shadow:0 4px 12px #0000001f}.nutrition-dropdown a{display:block;width:100%;border-radius:0}.nutrition-dropdown a[aria-current=page]{font-weight:600;color:var(--brand-800)}.nutrition-filters{align-items:flex-end}.nutrition-empty{padding:32px 16px;text-align:center}.nutrition-empty h2{font-size:1.125rem;margin:0 0 8px}.nutrition-empty p{margin:0;color:var(--ink-secondary)}.nutrition-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-muted,#e9ecef);color:var(--text-muted,#6c757d)}.nutrition-photo{width:40px;height:40px;object-fit:cover;border-radius:4px}.nutrition-dash{color:var(--text-muted,#adb5bd)}.nutrition-history-head{display:grid;gap:4px;margin-bottom:12px}.nutrition-badge{display:inline-block;margin:0 4px 4px 0;padding:2px 8px;border-radius:10px;background:var(--brand-100,#e7f1ff);color:var(--brand-800,#0b5ed7);font-size:.8125em}.nutrition-badge.is-grey{background:var(--surface-muted,#e9ecef);color:var(--ink-secondary,#495057)}.nutrition-unset{color:var(--danger,#dc3545)}.nutrition-codes{position:relative}.nutrition-codes-toggle{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:150px;max-width:260px;min-height:36px;padding:6px 10px;border:1px solid var(--line,#ced4da);border-radius:6px;background:var(--surface,#fff);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrition-codes-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:240px;padding:8px 12px;background:var(--surface,#fff);border:1px solid var(--border,#dee2e6);border-radius:6px;box-shadow:0 4px 12px #0000001f;display:grid;gap:6px}.nutrition-codes-menu label{display:flex;gap:8px;align-items:center;white-space:nowrap}.nutrition-codes-links{display:flex;flex-wrap:wrap;gap:8px 12px;padding-top:6px;border-top:1px solid var(--border,#dee2e6)}.nutrition-dialog-xl{width:min(1100px,calc(100vw - 32px))}.nutrition-food-form{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px}.nutrition-block{display:grid;gap:4px}.nutrition-portion{display:flex;gap:8px}.nutrition-portion input{flex:1;min-width:0}.nutrition-portion select{width:90px}.nutrition-settings{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;align-items:start}.nutrition-settings-side ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.nutrition-settings-side [aria-current=page]{font-weight:600}.nutrition-settings-form fieldset{border:0;padding:0;margin:0;display:grid;gap:12px}.nutrition-parallels{display:flex;flex-wrap:wrap;gap:8px 16px}.nutrition-parallels label{display:flex;gap:6px;align-items:center}.nutrition-price-block{display:grid;gap:8px}.nutrition-price-row{display:grid;grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:end}.nutrition-meals{width:100%}.nutrition-meal-actions{display:flex;justify-content:flex-end;gap:4px}.nutrition-copy .nutrition-dropdown button{display:block;width:100%;padding:6px 14px;border:0;background:transparent;text-align:left;cursor:pointer}.nutrition-copy .nutrition-dropdown button:hover{background:var(--surface-muted,#f1f3f5)}.nutrition-week-filter{align-self:flex-end}.nutrition-year{display:flex;flex-wrap:wrap;gap:4px 12px;margin:12px 0}.nutrition-year-month{display:grid;gap:4px;font-size:.75rem;color:var(--ink-secondary)}.nutrition-year-weeks{display:flex;gap:2px}.nutrition-week{width:14px;height:20px;padding:0;border:1px solid var(--line,#ced4da);border-radius:2px;background:var(--surface,#fff);cursor:pointer}.nutrition-week.has-menu{background:linear-gradient(to top,var(--success,#198754) 45%,var(--surface,#fff) 45%)}.nutrition-week[aria-current]{outline:2px solid var(--brand-800,#0b5ed7);outline-offset:1px}.nutrition-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nutrition-pdf{margin-top:16px}.nutrition-pdf .link-primary{padding:0;border:0;background:none;color:var(--brand-800);font:inherit;cursor:pointer}.nutrition-pdf .link-primary:hover{text-decoration:underline}.nutrition-day h3{margin:0 0 12px;font-size:1rem}.nutrition-today{padding:2px 8px;border-radius:6px;background:var(--success,#198754);color:#fff}.nutrition-day-meal{display:grid;gap:4px;margin-bottom:12px}.nutrition-complex-box{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--line,#dee2e6);border-radius:6px}.nutrition-complex-box ul{margin:0;padding:0;list-style:none;display:grid;gap:2px}.nutrition-complex{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.nutrition-complex-items{width:100%}.nutrition-remove{color:var(--danger,#dc3545)}.nutrition-pick{display:flex;gap:8px;align-items:center}.nutrition-pick select{flex:1;min-width:0}@media(max-width:991px){.nutrition-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.nutrition-food-form,.nutrition-settings,.nutrition-complex,.nutrition-days,.nutrition-price-row{grid-template-columns:minmax(0,1fr)}}.nutrition-unordered{color:var(--danger,#dc3545);font-size:.75rem;white-space:nowrap}.nutrition-ordered{color:var(--ink-secondary,#6c757d);font-size:.75rem;max-width:180px;margin:0 auto}.nutrition-basket{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:0;background:transparent;color:var(--success,#198754);cursor:pointer}.nutrition-basket-meal{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--border,#dee2e6)}.nutrition-basket-meal:last-child{border-bottom:0}.nutrition-basket-name{display:flex;gap:8px;align-items:flex-start}.nutrition-basket-foods{list-style:none;margin:0;padding:0;display:grid;gap:8px}.nutrition-basket-foods li{display:flex;gap:8px;align-items:center}.nutrition-orders thead th{color:var(--ink-secondary,#6c757d);font-weight:400}.nutrition-orders thead th small{display:block;font-size:.75rem}.nutrition-event{color:var(--success,#198754)}.nutrition-log-change{color:var(--ink-secondary,#6c757d)}.nutrition-status{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.8125em}.nutrition-status.is-pending{background:var(--warning,#ffc107);color:#212529}.nutrition-status.is-paid{background:var(--success,#198754);color:#fff}.nutrition-invoiced .nutrition-status.is-pending{background:transparent;color:var(--danger,#dc3545);padding:0}.nutrition-invoiced .nutrition-status.is-paid{background:transparent;color:var(--success,#198754);padding:0}.nutrition-amount{padding:0;border:0;background:transparent;color:var(--success,#198754);cursor:pointer}.nutrition-week-toggle{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;cursor:pointer}.nutrition-invoice-lines>td{background:var(--surface-muted,#f8f9fa)}.nutrition-invoice-sum{display:flex;justify-content:flex-end;gap:24px;padding-top:8px;font-weight:600}.nutrition-payment-box{display:grid;gap:2px;margin-bottom:12px;padding:10px 12px;border-radius:6px;background:var(--surface-muted,#f1f3f5)}.nutrition-generate{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.nutrition-generate-msg{font-size:.875rem;color:var(--ink-secondary,#6c757d)}.nutrition-generate-msg.is-done{color:var(--success,#198754)}.nutrition-generate-msg.is-error{color:var(--danger,#dc3545)}.documents-tabs{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%;align-items:center}.documents-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border-radius:8px;color:var(--ink-secondary);font-size:.875rem;text-decoration:none}.documents-tabs>a[aria-current=page]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1,0 1px 2px #0002)}.documents-filters{align-items:flex-end}.documents-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-muted,#e9ecef);color:var(--text-muted,#6c757d)}.documents-page-head{display:flex;gap:8px;align-items:center}.documents-page-head>:last-child{flex:1;min-width:0}.documents-back{color:var(--mojo-link,#35A894)}.documents-data{display:grid;gap:2px}.documents-actions{white-space:nowrap}.documents-parameters{display:grid;gap:6px}.documents-modal-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}@media(max-width:720px){.documents-modal-columns{grid-template-columns:minmax(0,1fr)}}.documents-related h3{margin:0 0 8px;font-size:1rem}.documents-related ul{display:grid;gap:6px;margin:0 0 12px;padding:0;list-style:none}.documents-related li{display:flex;gap:6px;align-items:center;justify-content:space-between}.documents-field-form{display:flex;gap:8px;align-items:center;flex:1}.documents-field-form input{flex:1;min-width:0}.documents-element-head{display:inline-flex;gap:4px;align-items:center;white-space:nowrap}.documents-cell{white-space:nowrap}.documents-viewed{display:inline-flex;gap:4px;align-items:center;width:auto;padding:0 4px}.medicine-tabs{margin-bottom:var(--space-3, 12px)}.medicine-card{margin-top:var(--space-3, 12px)}.medicine-card .meeting-filters{margin-bottom:var(--space-3, 12px)}.medicine-export{display:flex;justify-content:flex-end;margin-top:var(--space-3, 12px)}.medicine-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px)}.medicine-card-head h2{margin:0;font-size:1.1rem}.medicine-checks{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px) var(--space-4, 16px)}.medicine-check{display:inline-flex;align-items:center;gap:6px}.medicine-switches{display:grid;gap:var(--space-2, 8px);border:0;padding:0;margin:var(--space-3, 12px) 0 0}.medicine-switches legend{font-weight:600;margin-bottom:var(--space-2, 8px)}.medicine-reference-link{display:flex;align-items:center;gap:6px}.medicine-statistic-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2, 8px)}.medicine-period{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);margin-bottom:var(--space-3, 12px)}.medicine-extended{position:relative;display:inline-block}.medicine-extended>summary{cursor:pointer;list-style:none}.medicine-extended>summary:after{content:" ▾"}.medicine-extended-menu{position:absolute;z-index:5;display:grid;gap:4px;min-width:180px;padding:var(--space-2, 8px);background:var(--canvas, #fff);border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-xs, 6px);box-shadow:var(--shadow-1)}.medicine-empty .card-body{color:#6c757d}.medicine-noaccess{margin:0 0 1rem}.medicine-parameter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3, 12px);margin-top:var(--space-3, 12px)}.medicine-parameter-values{margin:var(--space-2, 8px) 0 0;padding-left:18px}.medicine-measurements{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3, 12px)}@media(max-width:900px){.medicine-measurements{grid-template-columns:minmax(0,1fr)}}.medicine-chart-title{margin:0 0 var(--space-2, 8px);font-size:1.1rem}.medicine-chart{margin:0;--medicine-height: #2f6fd6;--medicine-weight: #c76a12;--medicine-bmi: #7d4cc9}@media(prefers-color-scheme:dark){.medicine-chart{--medicine-height: #7aa7ee;--medicine-weight: #ec9a52;--medicine-bmi: #b28cec}}.medicine-chart svg{width:100%;height:auto}.medicine-chart-grid{stroke:#0000001a;stroke-width:1}.medicine-chart-axis{font-size:10px;fill:#6c757d}.medicine-series polyline{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.medicine-series circle{stroke:var(--canvas, #fff);stroke-width:2}.medicine-series-height polyline{stroke:var(--medicine-height)}.medicine-series-height circle,.medicine-legend.medicine-series-height i{fill:var(--medicine-height);background:var(--medicine-height)}.medicine-series-weight polyline{stroke:var(--medicine-weight)}.medicine-series-weight circle,.medicine-legend.medicine-series-weight i{fill:var(--medicine-weight);background:var(--medicine-weight)}.medicine-series-bmi polyline{stroke:var(--medicine-bmi)}.medicine-series-bmi circle,.medicine-legend.medicine-series-bmi i{fill:var(--medicine-bmi);background:var(--medicine-bmi)}.medicine-chart-legend{display:flex;gap:var(--space-4, 16px);justify-content:center;font-size:.9rem}.medicine-legend{display:inline-flex;align-items:center;gap:6px}.medicine-legend i{display:inline-block;width:12px;height:12px;border-radius:50%}.medicine-document-group th{padding-top:16px;font-size:1rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink, #212529);background:transparent}.medicine-document-data{display:grid;gap:2px}.medicine-access{width:auto}.medicine-access-building{vertical-align:bottom;text-align:center}.medicine-access-building span{display:inline-block;max-height:160px;overflow:hidden;text-overflow:ellipsis;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.medicine-access-cell{min-width:44px;padding:0}.medicine-access-cell button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:44px;min-height:40px;padding:0;border:0;background:transparent;color:var(--brand-700, #2f6fd6);cursor:pointer}.medicine-access-cell button:disabled{cursor:progress;opacity:.6}.medicine-access-cell button:focus-visible{outline:2px solid var(--brand-700, #2f6fd6);outline-offset:-2px}.medicine-access-cell span{display:inline-flex;color:var(--brand-700, #2f6fd6)}.chat-admin-filters{align-items:flex-end}.chat-admin-year{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--surface-muted,#e9ecef);color:var(--text-muted,#6c757d);font-size:.8em;font-weight:500}.chat-admin-actions{white-space:nowrap;text-align:center}.chat-admin-actions .meeting-icon[aria-pressed=true]{color:var(--text-muted,#6c757d)}.chat-admin-bulk{position:relative}.chat-admin-bulk-menu{position:absolute;z-index:20;top:calc(100% + 4px);right:0;min-width:200px;padding:8px 12px;background:var(--surface,#fff);border:1px solid var(--border,#dee2e6);border-radius:6px;box-shadow:0 4px 12px #0000001f;display:grid;gap:8px}.chat-admin-members{display:grid;gap:12px}.chat-admin-members>button{justify-self:start}.chat-admin-members .chat-admin-join{display:inline-flex;gap:6px;align-items:center;border-color:var(--success);color:var(--success);padding:4px 10px;font-size:.875rem}.chat-admin-members ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.chat-admin-members li{display:flex;gap:8px;align-items:center}.chat-admin-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-muted,#e9ecef);color:var(--text-muted,#6c757d)}.chat-admin-role{color:var(--text-muted,#6c757d)}.chat-admin-empty{text-align:center}.chat-admin-empty h2{font-size:1.15rem;margin:0 0 6px}.chat-admin-empty p{margin:0;color:var(--text-muted,#6c757d)}.chat-admin-check{justify-self:start;width:auto!important}.chat-admin-rule{margin:0;border:0;border-top:1px solid var(--border,#dee2e6)}.chat-admin-found{display:block;width:100%;padding:4px 6px;border:0;background:none;text-align:left;font:inherit;cursor:pointer}.chat-admin-found:hover,.chat-admin-found:focus-visible{background:var(--surface-muted,#e9ecef)}.chat-admin-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.chat-admin-list li{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-admin-remove{color:var(--danger,#dc3545)}.chat-admin-dormant>span{color:var(--text-muted,#6c757d);opacity:.65}.analytics-report .mojo-tabs{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%}.report-periods{display:inline-flex;flex-wrap:wrap;gap:0;margin:0 0 18px;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden}.report-periods button{min-width:44px;min-height:36px;padding:6px 12px;border:0;border-right:1px solid var(--line-strong);background:#fff;color:var(--ink);font-size:.875rem;cursor:pointer}.report-periods button:last-child{border-right:0}.report-periods button[aria-pressed=true]{background:var(--brand-800);color:#fff;font-weight:600}.report-note{margin:0 0 16px;color:var(--ink-secondary);font-size:.875rem}.report-empty{margin:8px 0;padding:16px;border:1px solid var(--line);border-radius:10px;text-align:center;color:var(--ink-muted)}.report-error{margin:0 0 12px;color:var(--danger);font-size:.875rem}.report-table td.num,.report-table td.center,.report-table th.center{text-align:center;white-space:nowrap}.report-table .text-danger{color:var(--danger)}.report-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:.875rem;color:var(--ink-secondary)}.report-pill{display:inline-block;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--line);color:var(--ink);font-weight:600;text-align:center}.report-zero{color:var(--ink-muted)}.report-card-empty{min-height:48px;border:1px solid var(--line);border-radius:10px}.report-sticky thead th{position:sticky;top:0;background:#fff}.report-performance td.perf-worse{background:#f0ce24}.report-performance td.perf-bad{background:#efe1b0}.report-performance td.perf-normal{background:linear-gradient(45deg,#efe1b0,#d7eeea)}.report-performance td.perf-good{background:#d7eeea}.report-performance td.perf-best{background:#ebffe4}.report-popover-anchor{position:relative;display:inline-block}.report-popover-trigger{min-width:44px;min-height:28px;padding:2px 6px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.report-popover{position:absolute;top:100%;left:50%;z-index:20;display:flex;flex-direction:column;gap:4px;min-width:180px;margin-top:6px;padding:8px 10px;transform:translate(-50%);border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);font-size:.8125rem;text-align:left;white-space:normal;box-shadow:0 4px 14px #0000001f}.report-popover-title{font-weight:600}.calendar-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border-radius:8px;color:var(--ink-secondary);font-size:.875rem;text-decoration:none}.calendar-tabs a[aria-current=page]{background:#fff;color:var(--brand-800);font-weight:600;box-shadow:var(--shadow-1,0 1px 2px #0002)}.calendar-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.calendar-error{margin:12px 0;color:#dc3545;font-size:.875rem}.calendar-view{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.calendar-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}.calendar-month{min-width:0}.calendar-month-name{margin:0 0 6px;font-size:1rem;font-weight:700}.b-calendar__tb{min-width:0;border-collapse:collapse;font-size:11px;table-layout:fixed}.b-calendar__tb th{width:30px;padding:2px 0;font-weight:600;text-align:center;color:var(--ink-secondary)}.b-calendar__tb td{position:relative;box-sizing:border-box;width:30px;height:24px;padding:0;text-align:center;border:2px solid transparent}.b-calendar__tb td.other-month{color:#6c757d}.b-calendar__tb td.bad_color{background-color:#efe1b0!important}.b-calendar__tb td.worse_color{background-color:#f0ce24!important}.b-calendar__tb td.active_date{border-color:#d9534f}.b-calendar__tb td.comment_mark_active{cursor:pointer}.b-calendar__tb td.comment_mark_active:after{content:"";position:absolute;left:0;bottom:0;width:0;height:0;border-style:solid;border-width:4px 0 0 4px;border-color:transparent transparent transparent #2cc185}.b-calendar__tb td:focus-visible{outline:2px solid var(--brand-800);outline-offset:1px}.calendar-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:20;min-width:200px;max-width:260px;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px #0003;color:#212529;text-align:left;font-size:.875rem;cursor:default}.calendar-popover-header{padding:8px 12px;background:#f0f0f0;border-bottom:1px solid #ebebeb;border-radius:6px 6px 0 0;font-weight:600}.calendar-popover-body{padding:8px 12px}.calendar-popover-body p{margin:0 0 4px;overflow-wrap:anywhere}.calendar-popover-body p:last-child{margin-bottom:0}.calendar-side{min-width:0}.accordion{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.accordion-item+.accordion-item{border-top:1px solid var(--line)}.accordion-header{margin:0;font-size:1rem}.accordion-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 18px;border:0;background:#fff;font:inherit;font-weight:600;text-align:left;cursor:pointer}.accordion-button:not(.collapsed){background:var(--surface-muted,#e7f1ff)}.accordion-button:not(.collapsed) svg{transform:rotate(180deg)}.accordion-body{padding:12px 18px 16px}.accordion-body h3{margin:12px 0 6px;font-size:.9375rem;font-weight:700}.accordion-body h3:first-child{margin-top:0}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 4px;font-size:.875rem}.calendar-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%}.calendar-dot.is-holiday{background-color:#f0ce24}.calendar-birthdays p{margin:0 0 4px;font-size:.875rem;overflow-wrap:anywhere}.birthday-today-line{height:2px;margin:6px 0;background:#d9534f}.calendar-filters{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.calendar-filter{display:grid;gap:4px;min-width:180px}.calendar-filter label,.calendar-filter-label{font-size:.875rem;color:var(--ink-secondary)}.calendar-filter select{min-height:38px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;font:inherit}.calendar-no-data{margin:0;padding:24px 0;text-align:center;color:var(--ink-secondary)}.calendar-events-table{width:100%;min-width:0}.calendar-events-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:.875rem}.calendar-events-footer select{min-height:32px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font:inherit}.calendar-total{margin-left:auto}.calendar-settings{display:grid;gap:24px}.calendar-check{display:flex;align-items:center;gap:8px;font-size:.9375rem}.calendar-reference{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:24px;align-items:start}.calendar-choose{margin:0}.calendar-references{display:grid;gap:6px;align-content:start;min-width:0}.calendar-references h2{margin:0 0 4px;font-size:1rem;font-weight:700}.calendar-references .link-primary{padding:2px 0;border:0;background:none;color:var(--brand-800);font:inherit;text-align:left;cursor:pointer}.calendar-references .link-primary:hover{text-decoration:underline}.calendar-references .link-primary.is-current{font-weight:700;text-decoration:underline}.calendar-groups-table table{min-width:0}.calendar-groups-table td{vertical-align:middle}.calendar-groups-table tr.is-dragged{opacity:.5}.calendar-handle button{cursor:grab}.calendar-swatch{display:inline-block;width:20px;height:20px;border-radius:4px;border:1px solid var(--line);vertical-align:middle}.calendar-actions{margin-top:16px}@media(max-width:1199px){.calendar-months{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.calendar-view,.calendar-reference{grid-template-columns:1fr}.calendar-months{grid-template-columns:1fr;justify-items:center}.calendar-card{padding:16px}.calendar-filters{justify-content:stretch}.calendar-filter{min-width:0;flex:1 1 100%}.calendar-groups-table table{min-width:0}}.criteria-page{display:grid;gap:16px;min-width:0}.criteria-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.criteria-toolbar .mojo-tabs{margin-bottom:0}.criteria-filters{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.criteria-filters .field,.criteria-block-filter .field{margin:0;min-width:0}.criteria-filters .field>span,.criteria-block-filter .field>span{font-size:.75rem;color:var(--ink-secondary)}.criteria-block-filter .field{min-width:160px}@media(max-width:1199px){.criteria-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}.criteria-search{display:flex;align-items:center;gap:2px;min-width:0;width:min(320px,100%);padding:2px 4px 2px 12px;background:#fff;border:1px solid var(--line-strong);border-radius:9px}.criteria-search>input:not([type=checkbox]):not([type=radio]):not([type=range]){flex:1 1 auto;min-width:0;min-height:36px;padding:0;border:0;border-radius:0;background:transparent;font-size:.875rem}.criteria-search:focus-within{border-color:var(--mojo-primary)}.criteria-search-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-secondary);cursor:pointer}.criteria-search-button:hover,.criteria-search-button:focus-visible{background:var(--surface-muted);color:var(--ink)}.criteria-page .reference-table{background:#fff}.criteria-page .reference-table td:nth-child(4),.criteria-page .reference-table td:nth-child(7){text-align:center}.criteria-empty{display:grid;justify-items:center;gap:8px;padding:56px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;text-align:center}.criteria-empty h2{margin:0;font-size:1.25rem}.criteria-empty p{margin:0;color:var(--ink-secondary)}@media(max-width:600px){.criteria-search{width:100%}.criteria-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.person-dialog.criteria-dialog-wide{width:min(860px,calc(100vw - 32px))}.criteria-form{display:grid;gap:16px;min-width:0}.criteria-fields{display:grid;gap:14px;min-width:0;margin:0;padding:0;border:0}.criteria-row{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:12px}.criteria-label{padding-top:10px;font-size:.875rem;color:var(--ink-secondary)}.criteria-label.is-required:before{content:"* ";color:var(--danger,#dc3545)}.criteria-control{min-width:0}.criteria-control>input:not([type=checkbox]),.criteria-control>select,.criteria-control>textarea,.criteria-side-select,.criteria-upload-text{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;font:inherit}.criteria-control>textarea{min-height:120px;resize:vertical}.criteria-control>input[type=checkbox]{margin-top:12px}.criteria-checks{display:flex;flex-wrap:wrap;gap:0 16px}.criteria-checks .checkbox-row,.criteria-subjects .checkbox-row,.criteria-radios .checkbox-row{min-height:32px;font-size:.875rem}.criteria-actions{justify-content:flex-start;gap:10px}.criteria-two{display:grid;gap:24px;min-width:0}@media(min-width:760px){.criteria-two{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.criteria-side{display:grid;align-content:start;gap:8px;min-width:0;margin:0;padding:0;border:0}.criteria-side-title{margin:0 0 4px;padding:0;font-size:1rem;font-weight:500}.criteria-side h3{margin:0 0 4px;font-size:.8125rem;font-weight:400;color:var(--ink-secondary)}.criteria-side-label{margin-top:8px;font-size:.875rem;font-weight:600}.criteria-subjects{display:grid;max-height:360px;overflow:auto}.criteria-radios{display:grid}.criteria-upload-text{min-height:360px;resize:vertical}.criteria-mass-list{min-width:0;max-height:480px;overflow:auto}.criteria-mass-list ul{margin:0;padding:0;list-style:none}.criteria-mass-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.875rem}.criteria-section{border:1px solid var(--line);border-radius:9px;background:#fff}.criteria-section+.criteria-section{margin-top:-1px}.criteria-section h4{margin:0}.criteria-section h4 button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:8px 12px;border:0;background:transparent;font:inherit;font-weight:600;font-size:.875rem;text-align:left;cursor:pointer}.criteria-section.is-open h4 button{color:var(--mojo-primary)}.criteria-section.is-open h4 svg{transform:rotate(180deg)}.criteria-section>div{display:grid;gap:10px;padding:0 12px 12px}.criteria-section>div[hidden]{display:none}.criteria-section>div>.button{justify-self:start}@media(max-width:600px){.criteria-row{grid-template-columns:1fr;gap:6px}.criteria-label{padding-top:0}.criteria-control>input[type=checkbox]{margin-top:0}}:root{--canvas:#fffdf5;--surface:#fff;--surface-soft:#f2fbe9;--surface-muted:#f2fbe9;--ink:#173016;--ink-secondary:#31522a;--ink-muted:#4f6748;--line:#d7e3c8;--line-strong:#a9c48e;--milc-yellow:#FEC500;--milc-white:#FFFFFF;--milc-green:#5EC703;--milc-dark-green:#0C8E09;--milc-gradient-yellow:linear-gradient(135deg,#FDCA01,#FFE101);--milc-gradient-lime:linear-gradient(135deg,#5EC703,#FFE101);--milc-gradient-green:linear-gradient(135deg,#5EC703,#18A914);--brand-800:#005a04;--brand-700:#005a04;--brand-600:#5EC703;--brand-100:#e7f6d7;--brand-50:#f4fbe9;--gold-500:#FEC500;--gold-100:#fff4c2;--rose-100:#ffe0dc;--mint-100:#e5f7d8;--sky-100:#e0f1dc;--lilac-100:#eee8fb;--success:#0C8E09;--warning:#805d00;--danger:#a52b20;--info:#245f80;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-1:0 1px 2px rgba(24,33,28,.06);--shadow-2:0 8px 24px rgba(24,33,28,.08);--sidebar-width:240px;--topbar-height:64px;--content-max:1440px;font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);line-height:1.5}*{box-sizing:border-box}html,body,#root{max-width:100%;overflow-x:hidden}body{margin:0;min-width:320px;background:var(--canvas)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-48px;background:var(--brand-800);color:#fff;padding:8px 12px;z-index:5}.skip-link:focus{top:8px}.login-page{min-height:100vh;display:grid;place-items:center;padding:48px 16px}.login-card{width:min(100%,440px);display:grid;gap:16px}.lockup{display:flex;flex-direction:column;gap:0}.lockup strong{font-size:20px;letter-spacing:-.02em;color:var(--brand-800)}.lockup span{font-size:12px;color:var(--ink-secondary)}.login-page>.lockup{position:absolute;top:32px;left:32px}.support-copy{font-size:12px;color:var(--ink-muted);margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:32px;flex:none;transition:width .2s ease}.sidebar-collapsed .sidebar{width:72px}.sidebar-collapsed .sidebar .lockup span,.sidebar-collapsed .sidebar .lockup strong,.sidebar-collapsed .sidebar .nav-item span,.sidebar-collapsed .sidebar .status-chip{display:none}.sidebar nav{display:grid;gap:4px}.nav-item{min-height:44px;border:0;background:transparent;color:var(--ink-secondary);display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius-md);text-align:left}.nav-item:hover,.nav-item.active{background:var(--brand-50);color:var(--brand-800)}.nav-item.active{font-weight:600}.sidebar-footer{margin-top:auto;display:grid;gap:16px}.main-column{min-width:0;flex:1}.topbar{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:2}.icon-button{width:44px;height:44px;padding:0;border:1px solid transparent;background:transparent;color:var(--ink-secondary);border-radius:var(--radius-md);display:grid;place-items:center}.icon-button:hover{background:var(--surface-muted);color:var(--ink)}.context-select{display:flex;flex-direction:column;font-size:13px}.context-select span{font-size:12px;color:var(--ink-muted)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--brand-100);color:var(--brand-800);font-size:12px;font-weight:600}.content{max-width:var(--content-max);margin:0 auto;padding:48px 32px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.page-header h1{font-size:32px;line-height:1.15;letter-spacing:-.03em;margin:4px 0 8px}.page-header h2{font-size:20px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-700);font-weight:600;margin:0}.page-description{color:var(--ink-secondary);margin:0}.page-actions{display:flex;gap:8px}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-1)}.exemplar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exemplar-card{min-height:180px}.exemplar-card h2{margin:0 0 16px;font-size:17px}.timeline{display:grid;gap:0}.timeline-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.timeline-row:last-child{border-bottom:0}.timeline-row time{font-variant-numeric:tabular-nums;color:var(--ink-muted)}.timeline-row strong,.timeline-row span{display:block}.timeline-row span,.muted,.accessible-summary{color:var(--ink-secondary);font-size:13px}.data-list{display:grid;gap:0}.data-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.data-row:last-child{border-bottom:0}.data-row div span{color:var(--ink-muted);font-size:12px}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:650}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:640px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;height:44px}th{height:40px;color:var(--ink-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.journal-mobile-mode,.journal-mobile-details{display:none}.child-switcher,.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.child-chip,.filter-button{min-height:44px;border:1px solid var(--line-strong);background:var(--surface-soft);border-radius:var(--radius-md);padding:8px 14px;color:var(--ink)}.child-chip.active{background:var(--brand-100);border-color:var(--brand-600);font-weight:650}.wizard-steps{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;list-style:none;padding:0;margin:0 0 28px}.wizard-steps li{color:var(--ink-muted);font-size:12px;display:grid;gap:8px}.wizard-steps li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-muted)}.wizard-steps li.current{color:var(--brand-800);font-weight:650}.wizard-steps li.current span{background:var(--brand-800);color:#fff}.import-review{margin-top:20px;border-left:4px solid var(--gold-500);padding:12px 16px;background:var(--surface-soft)}.audit-row{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.error-copy{color:var(--danger);font-size:13px}@media(max-width:700px){.exemplar-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:52px 1fr}.timeline-row .status-chip{grid-column:2;width:max-content}.journal-mobile-details{display:block}.journal-viewport{display:none}.audit-row{grid-template-columns:1fr}.wizard-steps{grid-template-columns:repeat(2,1fr)}}.surface h2{font-size:18px;margin:0 0 16px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.button{min-height:44px;border:1px solid transparent;border-radius:var(--radius-md);padding:8px 16px;font-weight:600}.icon-button{min-width:44px;min-height:44px}.button-primary{background:var(--brand-700);color:#fff}.button-primary:hover{background:var(--brand-800)}.button-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--brand-800)}.button-quiet{background:transparent;color:var(--ink-secondary)}.button-danger{background:var(--danger);color:#fff}.field{display:grid;gap:6px;color:var(--ink-secondary);font-size:13px}.field input{min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:8px 12px;background:var(--surface)}.data-list{display:grid}.data-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.data-row:first-child{border-top:0}.data-row strong,.data-row span{display:block}.data-row div span{font-size:12px;color:var(--ink-muted)}.status-chip{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border-radius:var(--radius-md);font-size:12px;font-weight:600;white-space:nowrap}.status-success{background:var(--mint-100);color:#087f08}.status-warning{background:var(--gold-100);color:var(--warning)}.status-danger{background:var(--rose-100);color:var(--danger)}.status-info{background:var(--sky-100);color:var(--info)}.status-muted{background:var(--surface-muted);color:var(--ink-secondary)}.state-panel{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-secondary)}.state-panel h2{font-size:16px;margin:0 0 4px;color:var(--ink)}.state-panel p{margin:0;font-size:14px}.state-error,.state-denied,.state-conflict{background:#fff7f5;border-color:#efc5bf}.state-loading svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 8px;border-top:1px solid var(--line);text-align:left}th{font-weight:600}tbody th{font-weight:500}.steps{display:flex;gap:24px;list-style:none;padding:0 0 24px;margin:0;border-bottom:1px solid var(--line);color:var(--ink-muted)}.step-current{color:var(--brand-700);font-weight:600}.mobile-nav{display:none}td[data-active=true]{background:var(--brand-100);box-shadow:inset 0 0 0 2px var(--brand-600)}.journal-detail-backdrop{position:fixed;inset:0;background:#1730166b;display:grid;place-items:center;padding:24px;z-index:10}.journal-detail{width:min(100%,480px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:24px}.journal-detail h2{margin:0 0 8px}.journal-detail p{margin:0 0 20px;color:var(--ink-secondary)}.journal-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0 0 24px}.journal-detail dt{font-weight:650;color:var(--ink-secondary)}.journal-detail dd{margin:0}@media(max-width:900px){.content{padding:32px 24px}.sidebar{width:72px}.sidebar .lockup span,.sidebar .lockup strong,.sidebar .nav-item span,.sidebar .status-chip{display:none}.sidebar .nav-item{justify-content:center;padding:8px}.grid-2{grid-template-columns:1fr}.topbar{padding:0 16px}}@media(max-width:600px){.sidebar{display:none}.content{padding:24px 16px 88px}.page-header{display:block;margin-bottom:24px}.page-actions{margin-top:16px}.page-header h1{font-size:26px}.topbar{height:56px}.context-select{font-size:12px}.topbar-actions .icon-button:first-child{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:space-around;z-index:3}.mobile-nav button,.mobile-nav a{border:0;background:transparent;color:var(--ink-secondary);min-width:44px;min-height:44px;display:grid;place-items:center}.surface{padding:16px}.table-toolbar{display:grid;align-items:start}.table-toolbar .status-chip{width:max-content}.surface{overflow:visible}table{min-width:560px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.student-mobile-nav a,.student-mobile-nav button{gap:3px;font-size:10px;line-height:1.1;text-decoration:none;grid-template-rows:20px auto}.student-mobile-nav a[aria-current=page]{color:var(--brand-800);font-weight:700}.student-more{position:relative;display:grid;min-width:44px}.student-more-menu{position:fixed;right:12px;bottom:72px;width:min(240px,calc(100vw - 24px));padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);display:grid;z-index:4}.student-more-menu a,.student-more-menu button{min-height:44px;display:flex;align-items:center;justify-content:flex-start;padding:10px 12px;color:var(--ink);font-size:14px;text-decoration:none;border-radius:var(--radius-sm)}.student-more-menu a:hover,.student-more-menu button:hover{background:var(--surface-soft)}.semantic-field{display:grid;gap:3px;min-width:0;text-align:left}.field-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.grade-row,.report-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:start;text-align:left}.report-row{grid-template-columns:repeat(4,minmax(0,1fr))}.grade-row:disabled{opacity:.65}.semantic-field>span:last-child,.semantic-field>strong{overflow-wrap:anywhere}@media(max-width:700px){.grade-row,.report-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.today-next{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;background:var(--milc-gradient-yellow);border-color:var(--milc-yellow)}.today-next h2{font-size:28px;margin:4px 0}.today-next p:last-child{margin:0;color:var(--ink-secondary)}.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.today-grid .exemplar-card{min-height:0}.today-grid .data-row{align-items:start}.today-grid .data-row>span{max-width:65%;text-align:right}@media(max-width:700px){.today-grid{grid-template-columns:1fr}.today-next{align-items:flex-start;flex-direction:column;gap:8px}}.parent-tablist{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 20px;padding:4px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-lg);width:max-content;max-width:100%}.parent-tablist [role=tab]{min-height:44px;padding:8px 16px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--ink-secondary);font-weight:650;white-space:normal}.parent-tablist [role=tab]:hover:not(:disabled){background:var(--surface);color:var(--brand-800)}.parent-tablist [role=tab]:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.parent-tablist [role=tab][aria-selected=true]{background:var(--brand-700);border-color:var(--brand-700);color:var(--milc-white);box-shadow:var(--shadow-1)}.parent-tablist [role=tab]:disabled{cursor:not-allowed;opacity:.55}.parent-tabpanel{display:grid;gap:16px}.parent-list{display:grid;gap:8px}.parent-list-item{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;width:100%;min-width:0;min-height:52px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;word-break:normal;overflow-wrap:break-word}.parent-list-item>span{display:grid;gap:4px;min-width:0;color:var(--ink-secondary);font-size:13px}.parent-list-item strong,.parent-list-item small{min-width:0;white-space:normal;word-break:normal;overflow-wrap:break-word}.parent-list-item:hover{border-color:var(--line-strong);background:var(--surface-soft)}.parent-list-item[aria-pressed=true],.parent-list-item[aria-expanded=true]{border-color:var(--brand-600);background:var(--brand-100);box-shadow:inset 4px 0 0 var(--brand-700)}.parent-child-selector{padding:8px 10px;margin-bottom:20px}.parent-child-selector .child-switcher{margin:0;gap:8px}.parent-child-selector .child-chip{padding:8px 10px}.parent-progressive{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.parent-progressive summary{min-height:44px;display:flex;align-items:center;font-weight:650;cursor:pointer}.child-context{display:flex;gap:12px;align-items:baseline}.child-context span{color:var(--ink-secondary);font-size:13px}.parent-monitor{min-height:0}.parent-monitor h2{margin-bottom:12px}.parent-communication{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:16px}.parent-settings-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.setting-toggle{display:flex;justify-content:space-between;align-items:center;gap:20px}.setting-toggle span,.setting-toggle small{display:block}.setting-toggle small{margin-top:4px;color:var(--ink-secondary)}.setting-toggle input{width:24px;height:24px}.link-code{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.confirm-dialog{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:#141f307a;z-index:20}.confirm-dialog>.surface{width:min(460px,100%)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.parent-mobile-nav a,.parent-mobile-nav button{gap:3px;font-size:10px;line-height:1.1;text-decoration:none;grid-template-rows:20px auto}.parent-mobile-nav a[aria-current=page]{color:var(--brand-800);font-weight:700}@media(max-width:700px){.parent-settings-flow,.parent-communication{grid-template-columns:1fr}.parent-communication:not(.has-selection) .parent-thread-detail{display:none}.parent-communication.has-selection .parent-thread-list{display:none}.parent-tablist{width:100%}.parent-tablist [role=tab]{flex:1 1 max-content}.parent-child-selector .child-switcher{flex-wrap:wrap}.setting-toggle{align-items:flex-start}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}}.teacher-local-nav{display:flex;gap:4px;width:max-content;max-width:100%;margin:0 0 24px;padding:4px;overflow-x:auto;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-lg);scrollbar-width:thin}.teacher-local-link{min-height:44px;display:flex;align-items:center;padding:8px 14px;border:1px solid transparent;border-radius:var(--radius-md);color:var(--ink-secondary);font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap}.teacher-local-link:hover{background:var(--surface);color:var(--brand-800)}.teacher-local-link:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.teacher-local-link.active{background:var(--brand-700);border-color:var(--brand-700);color:var(--milc-white)}@media(max-width:600px){.teacher-local-nav{width:100%;margin-bottom:20px}.teacher-local-link{flex:0 0 auto}.teacher-mobile-nav a[aria-current=page]{color:var(--brand-800);font-weight:700}}.teacher-today-next{background:var(--milc-gradient-yellow);border-color:var(--milc-yellow)}.teacher-next-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.teacher-today-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:16px}.teacher-today-grid .exemplar-card{min-height:0}.teacher-today-grid .timeline-row time{min-width:92px}@media(max-width:800px){.teacher-today-grid{grid-template-columns:1fr}}@media(max-width:600px){.teacher-today-next{align-items:flex-start}.teacher-next-link{width:100%;white-space:normal;text-align:center}.teacher-today-grid .timeline-row{grid-template-columns:1fr auto}.teacher-today-grid .timeline-row time{grid-column:1/-1;min-width:0}.teacher-today-grid .timeline-row .status-chip{grid-column:auto}}@media(max-width:600px){.role-teacher .topbar-actions>.button-quiet{display:none}}.teacher-layout,.lesson-day-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;align-items:start}.attendance-audit-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.schedule-timeline,.attendance-audit-flow .timeline{gap:10px}.lesson-select{width:100%;min-height:64px;display:grid;grid-template-columns:minmax(82px,auto) minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.lesson-select:hover{border-color:var(--brand-600);background:var(--surface-soft)}.lesson-select:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.lesson-select.selected{border-color:var(--brand-700);box-shadow:inset 4px 0 0 var(--brand-700);background:var(--brand-100)}.lesson-select time{font-variant-numeric:tabular-nums;color:var(--ink-secondary)}.lesson-select span,.lesson-select strong,.lesson-select small{display:block;min-width:0;word-break:normal;overflow-wrap:break-word}.lesson-select small{margin-top:3px;color:var(--ink-secondary)}.collection-row.selected{border-color:var(--brand-700);background:var(--brand-100)}.attendance-row{display:grid;gap:10px}.attendance-row>strong,.attendance-row>.muted{display:block}.attendance-options{display:flex;flex-wrap:wrap;gap:8px}.danger-confirmation{border:2px solid var(--danger);border-radius:var(--radius-lg);padding:18px;background:var(--rose-100)}.danger-confirmation h3{color:var(--danger)}@media(max-width:1100px){.attendance-audit-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.role-teacher .content{padding-bottom:160px}.role-teacher .surface>:last-child{scroll-margin-bottom:96px}.teacher-layout,.lesson-day-layout,.attendance-audit-flow{grid-template-columns:1fr}.lesson-select{grid-template-columns:minmax(0,1fr) auto}.lesson-select>span:not(.status-chip){grid-column:1/-1;grid-row:1}.lesson-select time{grid-column:1;grid-row:2}.lesson-select .status-chip{grid-column:2;grid-row:2}.danger-confirmation .button{width:100%;margin-top:8px}}.teacher-grade-tabs,.period-kind-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,560px);margin:0 0 20px;padding:6px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-lg)}.teacher-grade-tabs .button,.period-kind-switch .button{width:100%;white-space:normal}.teacher-grades-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.teacher-grade-list,.teacher-grade-detail,.teacher-comments{min-width:0}.teacher-grade-list h2,.teacher-grade-detail h2{margin-bottom:16px}.teacher-grade-list .grade-row{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-height:72px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}.teacher-grade-list .grade-row:hover:not(:disabled){border-color:var(--brand-600);background:var(--surface-soft)}.teacher-grade-list .grade-row:focus-visible,.teacher-comment:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.teacher-comments{display:grid;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.teacher-comments h3{margin:0;font-size:16px}.teacher-comments textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface);color:var(--ink);font:inherit}.teacher-comment-list{display:grid;gap:8px}.teacher-comment{display:grid;gap:4px;width:100%;min-height:52px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left}.teacher-comment[aria-pressed=true]{border-color:var(--brand-700);box-shadow:inset 4px 0 0 var(--brand-700);background:var(--brand-100)}.confirmation-actions,.period-read-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:900px){.teacher-grades-layout{grid-template-columns:1fr}}@media(max-width:700px){.teacher-grade-tabs,.period-kind-switch{width:100%}.teacher-grade-list .grade-row{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-mobile-details .student-tabs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;overflow:visible;padding:2px 2px 10px}.journal-mobile-details .child-chip{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}.confirmation-actions .button,.period-read-actions .button{flex:1 1 100%}}.homework-workspace{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;align-items:start;background:transparent;box-shadow:none;padding:0}.homework-rail,.homework-detail{min-width:0;border:1px solid var(--line);border-radius:24px;background:var(--milc-white);padding:22px}.homework-rail{position:sticky;top:20px}.homework-rail h2,.homework-detail h2{margin:0 0 16px}.homework-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.homework-filters .button{min-height:44px;padding-inline:14px;white-space:nowrap}.homework-assignment-list,.homework-submission-list{display:grid;gap:10px}.homework-card,.homework-submission{width:100%;min-height:44px;border:1px solid var(--line);border-radius:16px;background:var(--milc-white);color:var(--ink);font:inherit;text-align:left;padding:14px;display:grid;gap:6px;cursor:pointer}.homework-card>span,.homework-submission>span{overflow-wrap:anywhere}.homework-card>span:last-child,.homework-submission>span{color:var(--ink-muted);font-size:.86rem}.homework-card:hover,.homework-submission:hover{border-color:var(--milc-dark-green)}.homework-card.selected,.homework-submission.selected{border-color:var(--milc-dark-green);box-shadow:inset 4px 0 0 var(--milc-dark-green);background:var(--brand-50)}.homework-card:focus-visible,.homework-submission:focus-visible,.homework-workspace a:focus-visible,.homework-workspace input:focus-visible,.homework-workspace textarea:focus-visible,.homework-workspace select:focus-visible{outline:3px solid var(--milc-dark-green);outline-offset:3px}.homework-detail{display:grid;gap:16px}.homework-context{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--gold-100)}.homework-assignment-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}.homework-assignment-facts>div{min-width:0}.homework-assignment-facts dt{font-size:.78rem;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em}.homework-assignment-facts dd{margin:2px 0 0;overflow-wrap:anywhere}.homework-next-step{border:2px solid var(--milc-green);border-radius:20px;padding:18px;display:grid;gap:14px}.homework-next-step h3{margin:0}.homework-primary-actions,.homework-secondary-actions,.confirmation-actions{display:flex;flex-wrap:wrap;gap:10px}.homework-secondary-actions{padding-top:4px;border-top:1px solid var(--line)}.homework-submissions{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:18px}.homework-answer,.homework-feedback{display:grid;gap:12px;padding:16px;border-radius:18px;background:var(--surface-soft)}.homework-feedback section{display:grid;gap:8px}.homework-feedback article{display:grid;gap:4px;border-left:3px solid var(--milc-green);padding:8px 12px}.homework-feedback time,.homework-feedback article>span{color:var(--ink-muted);font-size:.86rem}.homework-confirmation{position:relative;border:2px solid var(--milc-dark-green);border-radius:20px;background:var(--milc-white);padding:18px;display:grid;gap:14px;box-shadow:var(--shadow-2)}.homework-confirmation h3,.homework-confirmation p{margin:0}.homework-confirmation dl{display:grid;gap:8px;margin:0}.homework-confirmation dl>div{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(0,1fr);gap:12px}.homework-confirmation dt{font-weight:700}.homework-confirmation dd{margin:0;overflow-wrap:anywhere}.homework-notice{margin:0 0 16px;border-radius:14px;padding:12px 16px;background:var(--mint-100)}.homework-notice.denied,.homework-notice.conflict,.homework-notice.offline,.homework-notice.error{background:var(--gold-100)}.homework-back{display:none;min-height:44px;align-items:center}.homework-workspace .field textarea{min-height:110px;resize:vertical}.homework-workspace .field input,.homework-workspace .field textarea,.homework-workspace .field select{width:100%;max-width:100%}.homework-workspace select{min-height:44px;border:1px solid var(--line-strong);border-radius:12px;background:var(--milc-white);font:inherit;padding:8px 12px;color:var(--ink)}@media(max-width:900px){.homework-workspace{grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:16px}.homework-rail,.homework-detail{padding:18px}.homework-confirmation dl>div{grid-template-columns:1fr}}@media(max-width:760px){.homework-workspace{display:block}.homework-rail{position:static}.homework-workspace.has-selection .homework-rail{display:none}.homework-workspace:not(.has-selection) .homework-detail{display:none}.homework-back{display:inline-flex;width:max-content;margin-bottom:4px}.homework-detail{padding:16px;border-radius:20px}.homework-next-step{padding:14px}.homework-primary-actions,.homework-secondary-actions,.confirmation-actions{display:grid;grid-template-columns:1fr}.homework-primary-actions .button,.homework-secondary-actions .button,.confirmation-actions .button{width:100%}.homework-confirmation{padding:14px}.homework-feedback article{padding-inline:10px}}@media(min-width:601px)and (max-width:900px){.teacher-local-nav{width:100%;max-width:100%;flex-wrap:wrap;overflow-x:visible}.teacher-local-link{flex:1 1 auto;justify-content:center;white-space:normal;text-align:center}.homework-assignment-facts{grid-template-columns:1fr}}@media(max-width:600px){.role-teacher .content{height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:96px;scroll-padding-bottom:80px}.role-teacher .homework-workspace button,.role-teacher .homework-workspace input,.role-teacher .homework-workspace textarea,.role-teacher .homework-workspace select,.role-teacher .homework-workspace a{scroll-margin-bottom:80px}.homework-assignment-facts{grid-template-columns:1fr}.role-teacher .content:has(.homework-workspace.has-selection) .page-header[data-page-id=teacher-homework]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.role-teacher .homework-workspace.has-selection .homework-detail{gap:10px;padding:12px}.role-teacher .homework-workspace.has-selection .homework-detail h2{margin-bottom:4px}.role-teacher .homework-workspace.has-selection .homework-context{padding:8px 10px}.role-teacher .homework-workspace.has-selection .homework-assignment-facts{gap:6px}.role-teacher .homework-workspace.has-selection .homework-next-step{gap:8px;padding:10px}}.assessments-workspace{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.42fr);gap:24px;align-items:start}.assessments-rail,.assessments-detail,.assessments-next-step,.assessments-confirmation,.assessments-outcome{display:grid;gap:12px;min-width:0}.assessments-filters,.assessments-primary-actions,.assessments-secondary-actions,.assessments-attempt-list{display:flex;gap:8px;flex-wrap:wrap}.assessments-list{display:grid;gap:8px}.assessments-card,.assessments-attempt{min-height:44px;width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);padding:12px;display:grid;gap:4px;text-align:left;font:inherit}.assessments-card:hover,.assessments-attempt:hover{border-color:var(--brand-600)}.assessments-card.selected,.assessments-attempt.selected{border-color:var(--brand-700);box-shadow:0 0 0 2px var(--gold-500)}.assessments-card:focus-visible,.assessments-attempt:focus-visible,.assessments-back:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.assessments-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.assessments-facts>div{padding:8px;border-radius:var(--radius-md);background:var(--surface-muted)}.assessments-facts dt{font-size:.78rem;color:var(--ink-muted)}.assessments-facts dd{margin:.25rem 0 0;overflow-wrap:anywhere}.assessments-next-step{padding:16px;border-inline-start:5px solid var(--brand-700);border-radius:var(--radius-lg);background:var(--brand-50)}.assessments-secondary-actions{padding-top:12px;border-top:1px solid var(--line)}.assessments-confirmation-layer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-width:320px;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden;background:#1730167a;overscroll-behavior:contain;touch-action:none}.assessments-confirmation{width:min(36rem,100%);max-height:100%;min-height:0;padding:16px;border:2px solid var(--brand-700);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-2);overflow:auto;overscroll-behavior:contain;touch-action:auto}.assessments-confirmation h2:focus{outline:3px solid var(--gold-500);outline-offset:3px}.assessments-notice{margin:0 0 12px;padding:12px;border-radius:var(--radius-md);background:var(--surface-muted)}.assessments-notice.success{border-inline-start:4px solid var(--success)}.assessments-notice.error,.assessments-notice.denied,.assessments-notice.conflict,.assessments-notice.offline{border-inline-start:4px solid var(--danger)}.assessments-back{display:none;min-height:44px}.assessments-roster-fact{min-height:44px;padding:12px;border:1px dashed var(--line);border-radius:var(--radius-md)}.assessments-detail .button{min-height:44px}.assessments-modal-background{border:0;margin:0;min-width:0;padding:0}.assessments-modal-background:disabled{opacity:1}@media(max-width:800px){.assessments-workspace{grid-template-columns:1fr}.assessments-facts{grid-template-columns:1fr 1fr}}@media(max-width:600px){.assessments-workspace{display:block;padding-bottom:100px}.assessments-workspace.has-selection .assessments-rail{display:none}.assessments-workspace.has-selection .assessments-back{display:inline-flex}.assessments-facts{grid-template-columns:1fr 1fr;gap:4px}.assessments-facts>div{padding:4px 8px}.assessments-facts dt{font-size:.7rem}.assessments-facts dd{font-size:.82rem}.assessments-workspace.has-selection .assessments-detail{gap:8px}.role-teacher:has(.assessments-workspace.has-selection) [data-page-id=teacher-assessments]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.assessments-filters .button{min-width:44px}.assessments-confirmation-layer{align-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.assessments-confirmation{padding:14px}}.teacher-curriculum-workspace{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.teacher-curriculum-list,.teacher-curriculum-detail{min-width:0}.teacher-curriculum-choices{display:grid;gap:10px}.teacher-curriculum-choice{width:100%;min-height:64px;display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left}.teacher-curriculum-choice:hover{border-color:var(--milc-green);background:var(--surface-soft)}.teacher-curriculum-choice:focus-visible{outline:3px solid var(--milc-yellow);outline-offset:2px}.teacher-curriculum-choice.selected{border-color:var(--milc-dark-green);box-shadow:inset 4px 0 0 var(--milc-dark-green);background:var(--surface-soft)}.teacher-curriculum-context{display:grid;grid-template-columns:minmax(112px,.45fr) minmax(160px,1.55fr) auto;gap:10px;align-items:center;min-width:0}.teacher-curriculum-context>span:nth-child(3){grid-column:2}.teacher-curriculum-context>.status-chip{grid-column:3;grid-row:1/3}.teacher-curriculum-context>span:not(.status-chip),.teacher-curriculum-context>strong{min-width:0;overflow-wrap:anywhere}.teacher-curriculum-workspace .teacher-curriculum-context{grid-template-columns:minmax(0,1fr);align-items:start}.teacher-curriculum-workspace .teacher-curriculum-context>span:nth-child(3),.teacher-curriculum-workspace .teacher-curriculum-context>.status-chip{grid-column:1;grid-row:auto;justify-self:start}.teacher-curriculum-plan{display:grid;gap:18px}.teacher-curriculum-plan>h2,.teacher-curriculum-plan>h3,.teacher-curriculum-plan>p{margin:0}.teacher-curriculum-plan>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:var(--ink-secondary)}.teacher-curriculum-plan dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.teacher-curriculum-plan dl>div{padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.teacher-curriculum-plan dt{font-size:12px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.teacher-curriculum-plan dd{margin:4px 0 0;font-weight:650}@media(max-width:900px){.teacher-curriculum-workspace{grid-template-columns:1fr}.teacher-curriculum-detail{scroll-margin-top:16px}}@media(max-width:600px){.teacher-curriculum-workspace{gap:14px}.teacher-curriculum-choice{padding:12px}.teacher-curriculum-context{grid-template-columns:minmax(0,1fr) auto}.teacher-curriculum-context>strong,.teacher-curriculum-context>span:nth-child(2){grid-column:1/-1}.teacher-curriculum-plan dl{grid-template-columns:1fr}.role-teacher .teacher-curriculum-workspace{padding-bottom:24px}}.teacher-classes-workspace,.teacher-portfolio-workspace{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:20px;align-items:start}.teacher-classes-list,.teacher-class-detail,.teacher-portfolio-list,.teacher-portfolio-detail{min-width:0}.teacher-class-choices,.teacher-roster,.teacher-portfolio-choices{display:grid;gap:10px}.teacher-class-choice,.teacher-roster-row,.teacher-portfolio-choice{width:100%;min-width:0;min-height:64px;display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;overflow-wrap:anywhere}.teacher-class-choice:hover,.teacher-roster-row:hover,.teacher-portfolio-choice:hover{border-color:var(--milc-green);background:var(--surface-soft)}.teacher-class-choice:focus-visible,.teacher-roster-row:focus-visible,.teacher-portfolio-choice:focus-visible{outline:3px solid var(--milc-yellow);outline-offset:2px}.teacher-class-choice.selected,.teacher-roster-row.selected,.teacher-portfolio-choice.selected{border-color:var(--milc-dark-green);box-shadow:inset 4px 0 0 var(--milc-dark-green);background:var(--surface-soft)}.teacher-class-choice span,.teacher-roster-row span,.teacher-portfolio-choice span{color:var(--ink-secondary)}.teacher-portfolio-detail>.button{margin-top:18px}.teacher-portfolio-confirmation-layer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-width:320px;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:auto;background:#1730168f;overscroll-behavior:contain}.teacher-portfolio-confirmation{width:min(100%,560px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 18px 48px #1730163d}.teacher-portfolio-confirmation h2{margin-top:0}.teacher-portfolio-confirmation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}@media(max-width:900px){.teacher-classes-workspace,.teacher-portfolio-workspace{grid-template-columns:1fr}.teacher-class-detail,.teacher-portfolio-detail{scroll-margin-top:16px}}@media(max-width:600px){.teacher-classes-workspace,.teacher-portfolio-workspace{gap:14px}.teacher-class-choice,.teacher-roster-row,.teacher-portfolio-choice{padding:12px}.teacher-portfolio-confirmation-layer{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.teacher-portfolio-confirmation{padding:16px}.role-teacher .teacher-classes-workspace,.role-teacher .teacher-portfolio-workspace{padding-bottom:24px}}.teacher-report-layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:20px;align-items:start}.teacher-report-layout>.surface{display:grid;gap:16px;min-width:0}.teacher-report-class-picker{display:grid;gap:10px}.teacher-report-class-picker h2{margin:0}.teacher-report-class-choices{display:grid;gap:10px}.teacher-report-class-choice,.teacher-report-choice,.teacher-report-section,.teacher-report-row{width:100%;min-width:0;min-height:64px;display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;overflow-wrap:anywhere;cursor:pointer}.teacher-reports-workspace :where(.teacher-report-class-choice,.teacher-report-choice,.teacher-report-detail-header,.teacher-report-summary,.teacher-report-section,.teacher-report-row,.teacher-report-row dl>div,.teacher-report-editor,.teacher-report-dialog,.teacher-report-notice,.state-panel){min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);align-items:start}.teacher-reports-workspace :where(.teacher-report-class-choice,.teacher-report-choice,.teacher-report-detail-header,.teacher-report-summary,.teacher-report-section,.teacher-report-row,.teacher-report-row dl>div,.teacher-report-editor,.teacher-report-dialog,.teacher-report-notice,.state-panel)>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.teacher-report-editor-actions,.teacher-report-dialog-actions{min-width:0;max-width:100%;flex-wrap:wrap}.teacher-report-class-choice:hover,.teacher-report-choice:hover,.teacher-report-section:hover,.teacher-report-row:hover{border-color:var(--milc-green);background:var(--surface-soft)}.teacher-report-class-choice:focus-visible,.teacher-report-choice:focus-visible,.teacher-report-section:focus-visible,.teacher-report-row:focus-visible{outline:3px solid var(--milc-yellow);outline-offset:2px}.teacher-report-class-choice[aria-pressed=true],.teacher-report-choice[aria-pressed=true],.teacher-report-section[aria-pressed=true],.teacher-report-row[aria-pressed=true]{border-color:var(--milc-dark-green);box-shadow:inset 4px 0 0 var(--milc-dark-green);background:var(--surface-soft)}.teacher-report-choice span,.teacher-report-section span{color:var(--ink-secondary);font-size:.875rem}.teacher-report-detail-header{border-bottom:1px solid var(--line);padding-bottom:12px}.teacher-report-detail-header p{margin:0;color:var(--ink-secondary)}.teacher-report-detail-header h2{margin:4px 0 0}.teacher-report-layout section>h3{margin-bottom:10px}.teacher-report-summary,.teacher-report-editor{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.teacher-report-summary h3,.teacher-report-summary p,.teacher-report-editor h3{margin:0}.teacher-report-row dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 0}.teacher-report-row dl>div{min-width:0;padding:10px;border-radius:var(--radius-sm);background:var(--surface)}.teacher-report-row dt{font-size:12px;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.teacher-report-row dd{margin:4px 0 0;color:var(--ink-secondary)}.teacher-report-editor textarea{min-height:112px;resize:vertical}.teacher-report-editor-actions,.teacher-report-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.teacher-report-notice{margin:12px 0;padding:12px;border-radius:var(--radius-md);background:var(--surface-soft);color:var(--ink)}.teacher-report-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-width:320px;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:auto;background:#1730168f;overscroll-behavior:contain}.teacher-report-dialog{width:min(100%,560px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 18px 48px #1730163d}.teacher-report-dialog h2{margin-top:0}.teacher-report-dialog-actions{margin-top:20px}@media(max-width:900px){.teacher-report-layout{grid-template-columns:1fr}.teacher-report-layout>.surface:last-child{scroll-margin-top:16px}}@media(max-width:600px){.teacher-report-layout{gap:14px}.teacher-report-class-choice,.teacher-report-choice,.teacher-report-section,.teacher-report-row{padding:12px}.teacher-report-row dl{grid-template-columns:1fr}.teacher-report-editor-actions,.teacher-report-dialog-actions{flex-direction:column-reverse}.teacher-report-editor-actions button,.teacher-report-dialog-actions button{width:100%}.teacher-report-dialog-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.teacher-report-dialog{padding:16px}.role-teacher .teacher-report-layout{padding-bottom:24px}}.teacher-communication-oversight{margin:0 0 20px;padding:14px 18px;border:1px solid rgba(12,142,9,.24);border-radius:14px;background:#5ec70314;color:var(--ink-secondary);font-size:.9rem;line-height:1.5}.teacher-communication-feedback{margin:0 0 16px;padding:12px 16px;border-radius:12px}.teacher-communication-feedback.success-copy{background:#5ec7031f;color:#0c6f09}.teacher-communication-feedback.error-copy{background:#fff3ee;color:#8a2c19}.teacher-communication-workspace{display:grid;grid-template-columns:minmax(240px,.36fr) minmax(0,.64fr);gap:18px;align-items:stretch;min-width:0}.teacher-communication-list,.teacher-communication-detail{min-width:0;overflow:hidden}.teacher-communication-section-heading,.teacher-conversation-heading,.teacher-message-actions,.teacher-communication-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-communication-section-heading{padding-bottom:14px;border-bottom:1px solid var(--line)}.teacher-communication-section-heading h2,.teacher-conversation-heading h2{margin:0;overflow-wrap:anywhere}.teacher-thread-list{display:grid;gap:8px;margin-top:12px}.teacher-thread-choice{width:100%;min-height:56px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer}.teacher-thread-choice:hover{background:#fec50014}.teacher-thread-choice[aria-pressed=true]{border-color:#0c8e0959;background:#5ec7031a}.teacher-thread-choice>span:last-child,.teacher-contact-option span{min-width:0;display:grid;gap:3px}.teacher-thread-choice strong,.teacher-thread-choice small,.teacher-contact-option strong,.teacher-contact-option small{overflow-wrap:anywhere}.teacher-thread-choice small,.teacher-contact-option small{color:var(--ink-secondary);line-height:1.35}.teacher-contact-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fec500;color:#17351b;font-weight:700}.teacher-communication-detail{display:flex;flex-direction:column;min-height:440px}.teacher-conversation-heading{padding-bottom:14px;border-bottom:1px solid var(--line)}.teacher-message-history{display:flex;flex-direction:column;gap:12px;padding:18px 0;max-height:52vh;overflow-y:auto}.teacher-message{align-self:flex-start;max-width:min(78%,620px);padding:12px 14px;border-radius:16px 16px 16px 4px;background:#f4f7f2;overflow-wrap:anywhere}.teacher-message.own{align-self:flex-end;border-radius:16px 16px 4px;background:#5ec70324}.teacher-message span,.teacher-message time{display:block;color:var(--ink-secondary);font-size:.78rem}.teacher-message p{margin:6px 0;white-space:pre-wrap}.teacher-message-composer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.teacher-message-composer label{display:grid;gap:8px;font-weight:600}.teacher-message-composer textarea{width:100%;min-width:0;resize:vertical;border:1px solid #aec2b2;border-radius:12px;padding:12px;font:inherit}.teacher-message-actions{margin-top:10px;align-items:flex-end}.teacher-message-actions small{max-width:48ch;color:var(--ink-secondary)}.teacher-communication-dialog-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:#1226168c}.teacher-communication-dialog{width:min(560px,100%);max-height:min(720px,calc(100vh - 32px));overflow-y:auto;padding:24px}.teacher-communication-dialog h2{margin:0}.teacher-contact-options{display:grid;gap:8px;margin:18px 0;padding:0;border:0}.teacher-contact-options legend{margin-bottom:8px;font-weight:700}.teacher-contact-option{min-height:54px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid #cdd9ce;border-radius:12px;cursor:pointer}.teacher-contact-option:has(input:checked){border-color:#0c8e09;background:#5ec70314}.teacher-contact-option input{width:20px;height:20px;accent-color:#0c8e09}.teacher-communication-dialog-actions{justify-content:flex-end;flex-wrap:wrap}@media(max-width:900px){.teacher-communication-workspace{grid-template-columns:minmax(210px,.4fr) minmax(0,.6fr);gap:12px}.teacher-message{max-width:88%}}@media(max-width:640px){.teacher-communication-workspace{grid-template-columns:minmax(0,1fr)}.teacher-communication-detail{min-height:360px}.teacher-message-history{max-height:none}.teacher-message-actions{align-items:stretch;flex-direction:column}.teacher-message-actions .button{width:100%}.teacher-communication-dialog{padding:18px}.teacher-communication-dialog-actions{display:grid;grid-template-columns:1fr}.teacher-communication-dialog-actions .button{width:100%}}@media(max-width:360px){.teacher-communication-oversight{padding:12px}.teacher-thread-choice{grid-template-columns:36px minmax(0,1fr);padding-inline:6px}.teacher-contact-avatar{width:36px;height:36px}.teacher-message{max-width:94%}}@media(prefers-reduced-motion:reduce){.teacher-thread-choice,.teacher-communication-dialog{scroll-behavior:auto;transition:none}}.director-local-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;margin:0 0 24px;padding:3px;scroll-behavior:smooth}.director-local-link{flex:0 0 auto;min-height:44px;display:flex;align-items:center;padding:8px 14px;border-radius:var(--radius-md);color:var(--ink-secondary);text-decoration:none}.director-local-link:hover,.director-local-link.active{background:var(--brand-50);color:var(--brand-800)}.director-local-link.active{font-weight:650}.director-today-grid,.director-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.director-attention{grid-column:1/-1}.director-attention ol,.director-list{list-style:none;margin:0;padding:0}.director-attention li,.director-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:13px 0;border-top:1px solid var(--line)}.director-attention li:first-child,.director-list li:first-child{border-top:0}.director-attention li strong,.director-pulse strong{font-size:24px;color:var(--brand-800);font-variant-numeric:tabular-nums}.director-calm{padding:16px;border-radius:var(--radius-md);background:var(--brand-50);color:var(--ink-secondary)}.director-link{display:inline-flex;align-items:center;text-decoration:none;margin-top:16px}.director-pulse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.director-pulse>div{min-width:0;padding:14px;border-radius:var(--radius-md);background:var(--surface-soft)}.director-pulse span,.director-list small,.director-list time{display:block;color:var(--ink-secondary);font-size:13px;overflow-wrap:anywhere}.director-list li>span{min-width:0}.director-list strong{overflow-wrap:anywhere}.director-stale{margin-bottom:16px}.role-director .topbar-actions .icon-button{display:none}@media(max-width:760px){.director-today-grid,.director-section-grid{grid-template-columns:1fr}.director-pulse{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.director-local-nav{margin-inline:-16px;padding-inline:16px}.director-mobile-nav a{min-width:0!important;flex:1;font-size:10px;gap:2px}.director-mobile-nav span{max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.director-attention li,.director-list li{align-items:flex-start}.director-pulse{grid-template-columns:1fr 1fr}}@media(max-width:340px){.director-mobile-nav span{font-size:9px}.director-pulse{grid-template-columns:1fr}}.administrator-local-nav{display:flex;gap:.5rem;margin:0 0 1.25rem;padding:.35rem;overflow-x:auto;scrollbar-width:thin}.administrator-local-link{align-items:center;border-radius:999px;color:var(--ink-muted);display:inline-flex;flex:0 0 auto;font-weight:700;min-height:44px;padding:.65rem 1rem;text-decoration:none}.administrator-local-link:hover,.administrator-local-link:focus-visible{background:var(--surface-raised);color:var(--ink)}.administrator-local-link.active{background:var(--accent-soft);color:var(--accent-strong)}.administrator-today-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,2fr) minmax(15rem,1fr)}.administrator-today-grid .administrator-structure{grid-row:span 2}.administrator-counts{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0}.administrator-counts strong{color:var(--accent-strong);font-size:clamp(1.25rem,3vw,2rem)}.administrator-preview,.administrator-history-list{display:grid;gap:.65rem;margin:1rem 0;padding-left:1.25rem}.administrator-links nav{display:grid;gap:.35rem}.administrator-links nav a{border-radius:.75rem;min-height:44px;padding:.7rem .8rem}.administrator-refresh-status{align-items:center;background:var(--accent-soft);border:1px solid var(--border);border-radius:.75rem;color:var(--accent-strong);display:flex;font-weight:700;margin:0 0 1rem;min-height:44px;padding:.65rem .9rem}.administrator-classes{display:grid;gap:1rem}.administrator-class-list{display:grid;gap:0;list-style:none;margin:0;padding:0}.administrator-class-list>li{align-items:center;border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:space-between;padding:.9rem 0}.administrator-class-list>li:first-child{border-top:0}.administrator-class-identity{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;min-width:0;overflow-wrap:anywhere}.administrator-row-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.administrator-dialog-backdrop{align-items:center;background:#14231b8c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:100}.administrator-dialog{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 2rem);max-width:34rem;overflow:auto;padding:1.25rem;width:100%}.administrator-dialog>header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.administrator-dialog>header h2{margin-top:0}.administrator-dialog-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end;margin-top:1rem}.administrator-history-list>li{display:grid;gap:.2rem}.administrator-history-list time{color:var(--ink-muted);font-size:.9rem}.administrator-live-region:empty{display:none}@media(max-width:800px){.administrator-today-grid{grid-template-columns:1fr}.administrator-today-grid .administrator-structure{grid-row:auto}}@media(max-width:520px){.administrator-local-nav{margin-inline:-.5rem;padding-inline:.5rem}.administrator-class-list>li{align-items:stretch;flex-direction:column}.administrator-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.administrator-row-actions .button{width:100%}.administrator-dialog-backdrop{align-items:flex-end;padding:.5rem}.administrator-dialog{border-radius:1rem;max-height:calc(100dvh - 1rem);padding:1rem}.administrator-dialog-actions{display:grid;grid-template-columns:1fr}.administrator-dialog-actions .button{width:100%}}.role-administrator .sidebar .nav-item{min-width:44px;min-height:44px}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Variable-BB6x-mlj.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{--canvas:#f6f7f8;--surface:#fff;--surface-soft:#f5f7f4;--surface-muted:#f1f3f2;--ink:#202923;--ink-secondary:#47544b;--ink-muted:#606c63;--line:#e0e5e1;--line-strong:#b8c3ba;--milc-yellow:#FEC500;--milc-white:#FFFFFF;--milc-green:#5EC703;--milc-dark-green:#0C8E09;--milc-gradient-yellow:linear-gradient(115deg,#FDCA01,#FFE101);--milc-gradient-lime:linear-gradient(115deg,#5EC703,#FFE101);--milc-gradient-green:linear-gradient(115deg,#5EC703,#18A914);--brand-800:#145c21;--brand-700:#146622;--brand-600:#5EC703;--brand-100:#eaf6df;--brand-50:#f2f8ed;--gold-500:#FEC500;--gold-100:#fff4c7;--rose-100:#fce8e5;--mint-100:#e9f5e7;--sky-100:#eaf2fb;--mojo-primary:#35A894;--mojo-primary-hover:#53B5A4;--mojo-primary-active:#5DB9A9;--mojo-link:#35A894;--mojo-link-hover:#2A8676;--success:#19652b;--warning:#785600;--danger:#a82c28;--info:#285c88;--radius-xs:5px;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--shadow-1:0 1px 3px #20292305;--shadow-2:0 16px 48px #20292315;--sidebar-width:264px;--content-max:1440px;font-family:Montserrat,system-ui,sans-serif;font-size:16px;font-weight:500;color:var(--ink);background:var(--canvas);line-height:1.6;font-synthesis:none}html,body,#root{overflow-x:visible;max-width:none}body{min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.58}a{color:var(--mojo-link)}a:not([class]):hover{color:var(--mojo-link-hover)}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #176327;outline-offset:4px}h1,h2,h3{font-weight:700;line-height:1.3;letter-spacing:-.025em}h1{font-size:2rem}h2{font-size:1.25rem}p{max-width:76ch}svg{flex-shrink:0}small{font-size:.8125rem}.muted,.accessible-summary,.support-copy{font-size:.875rem;color:var(--ink-muted)}.milc-lockup{display:flex;align-items:center;gap:14px;color:var(--ink);white-space:nowrap}.milc-lockup>strong{font-size:2rem;font-weight:800;letter-spacing:-.075em;line-height:1}.milc-lockup>strong>span{color:var(--milc-dark-green)}.milc-lockup>span{font-size:.875rem;padding-left:14px;border-left:1px solid var(--line-strong)}.brand-astronaut{display:block;width:81px;height:122px;flex:none;background-image:url(/assets/milc-brand-map-DGvCAeiy.png);background-repeat:no-repeat;background-size:324px 800px;background-position:-81px -667px}.workspace-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100dvh}.workspace-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:24px;padding:32px 20px 20px;background:#fff;border-right:1px solid var(--line);overflow-y:auto}.workspace-brand{display:block;text-decoration:none;padding:4px 12px 22px;border-bottom:1px solid var(--line)}.workspace-navigation{display:grid;gap:8px}.workspace-nav-group>summary{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.875rem;font-weight:600;cursor:pointer;list-style:none;color:var(--ink-secondary);padding:8px 10px;border-radius:8px}.workspace-nav-group>summary::-webkit-details-marker{display:none}.workspace-nav-group>summary>span{flex:1}.workspace-nav-group[open]>summary{color:var(--ink)}.workspace-nav-group[open]>summary>svg:last-child{transform:rotate(180deg)}.workspace-nav-group>div{display:grid;gap:3px;margin:4px 0 4px 10px;padding-left:16px;border-left:1px solid var(--line)}.workspace-nav-group a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:9px 12px;text-decoration:none;color:var(--ink-secondary);font-size:.875rem;border-radius:8px;overflow-wrap:anywhere}.workspace-nav-group a:hover,.workspace-account a:hover{background:var(--surface-soft)}.workspace-nav-group a[aria-current=page]{background:#edf7e6;color:#245e1e;font-weight:700}.nav-current-dot{width:6px;height:6px;border-radius:50%;background:var(--milc-dark-green);flex:none}.workspace-account{display:grid;gap:3px;border-top:1px solid var(--line);padding-top:16px;margin-top:auto}.workspace-account>a{display:flex;align-items:center;gap:11px;min-height:44px;padding:8px 10px;text-decoration:none;font-size:.875rem;color:var(--ink-secondary);border-radius:8px}.workspace-account>a[aria-current=page]{background:var(--brand-50);color:var(--brand-800)}.workspace-shell.rail-collapsed{grid-template-columns:66px minmax(0,1fr)}.workspace-shell.rail-open{grid-template-columns:250px minmax(0,1fr)}.workspace-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:64px;border-bottom:1px solid #f3f3f4}.workspace-sidebar-header .workspace-brand{border-bottom:0;padding:4px 6px}.workspace-rail-toggle{display:grid;place-items:center;flex:none;width:24px;height:44px;padding:0;border:0;border-radius:8px;background:#fff;color:#2f3332;cursor:pointer}.workspace-rail-toggle svg{transition:transform .3s}.workspace-sidebar.is-open .workspace-rail-toggle svg{transform:scaleX(-1)}.workspace-nav-section{display:grid;gap:3px}.workspace-nav-section+.workspace-nav-section{border-top:1px solid #f3f3f4;padding-top:5px;margin-top:5px}.workspace-nav-bottom{display:grid;gap:3px;border-top:1px solid #f3f3f4;padding-top:5px;margin-top:5px}.workspace-sidebar.is-open{padding-top:0;gap:10px}.workspace-sidebar.is-collapsed{padding:0 12px 14px;gap:10px;overflow-x:hidden}.workspace-sidebar.is-collapsed .workspace-rail-toggle{width:100%}.workspace-sidebar.is-collapsed .workspace-nav-group>summary,.workspace-sidebar.is-collapsed .workspace-nav-single>a{width:42px;min-height:38px;padding:7px 9px;justify-content:center;gap:0}.workspace-sidebar.is-collapsed .workspace-nav-group>summary>span,.workspace-sidebar.is-collapsed .workspace-nav-single>a>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.workspace-sidebar.is-collapsed .workspace-nav-group>summary>svg:last-child,.workspace-sidebar.is-collapsed .workspace-nav-group>div{display:none}.workspace-sidebar.is-collapsed .workspace-nav-group>summary[data-current=true],.workspace-sidebar.is-collapsed .workspace-nav-single>a[aria-current=page],.workspace-sidebar.is-collapsed .workspace-nav-group>summary:hover{background:#f3f3f4}.workspace-main{min-width:0;display:flex;flex-direction:column}.workspace-topbar{min-height:80px;display:flex;align-items:center;gap:16px;padding:14px 40px;border-bottom:1px solid var(--line);background:#fff}.workspace-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.875rem;min-width:0}.workspace-breadcrumb>span{color:var(--ink-muted)}.workspace-breadcrumb>strong{font-weight:600}.workspace-topbar-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.workspace-role{font-size:.8125rem;padding:5px 12px;border:1px solid var(--line);border-radius:24px;white-space:nowrap}.workspace-content.content{width:100%;max-width:1440px;flex:1;padding:36px 40px 48px;margin:0 auto;outline:none}.workspace-footer{display:flex;justify-content:space-between;gap:16px;padding:20px 40px;font-size:.75rem;color:var(--ink-muted)}.workspace-footer>span:last-child{display:none}.workspace-menu-trigger{display:none}.workspace-session-error{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 40px;background:var(--rose-100)}.workspace-menu-overlay{position:fixed;inset:0;background:#101b1660;z-index:60}.workspace-mobile-menu{position:fixed;inset:0 auto 0 0;width:min(88vw,350px);background:#fff;padding:28px 20px;z-index:61;overflow:auto;display:flex;flex-direction:column;gap:24px;box-shadow:var(--shadow-2)}.workspace-menu-title{margin:0;padding:12px 0 22px;border-bottom:1px solid var(--line)}.workspace-menu-close{position:absolute;right:12px;top:14px;width:44px;height:44px;display:grid;place-items:center;border:0;background:#fff;border-radius:10px}.workspace-mobile-menu .workspace-account{margin-top:0}.session-screen{max-width:660px;min-height:100dvh;padding:48px 24px;margin:auto;display:flex;flex-direction:column;justify-content:center;gap:32px}.page-header{align-items:center;gap:24px;margin-bottom:28px}.page-header h1{margin:0 0 8px;font-size:clamp(1.625rem,2.3vw,2.25rem);line-height:1.25;letter-spacing:-.035em}.page-description{font-size:.9375rem;line-height:1.65;color:var(--ink-muted)}.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.03em;text-transform:none;color:var(--brand-800);margin-bottom:8px}.page-actions{flex-wrap:wrap}.surface{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:none;min-width:0}.surface h2{font-size:1.125rem;margin-bottom:18px}.grid-2,.exemplar-grid{gap:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:10px;font-size:.875rem;font-weight:600;line-height:1.4;border:1px solid transparent;text-decoration:none;white-space:normal}.button-primary{color:#fff;background:var(--mojo-primary);border-color:var(--mojo-primary)}.button-primary:hover{color:#fff;background:var(--mojo-primary-hover);border-color:var(--mojo-primary-hover)}.button-primary:active{background:var(--mojo-primary-active);border-color:var(--mojo-primary-active)}.button-secondary{background:#fff;border-color:var(--line-strong);color:var(--ink)}.button-secondary:hover{background:var(--surface-soft)}.button-quiet{background:transparent;color:var(--brand-800)}.button-danger{background:#a82c28;color:#fff}.icon-button{min-width:44px;width:44px;min-height:44px;display:inline-grid;place-items:center;color:var(--ink-secondary);text-decoration:none}.button:disabled{opacity:.6}.button-add{min-height:36px;padding:6px 16px;border-radius:8px;color:#fff;background:var(--mojo-primary);border-color:var(--mojo-primary);text-decoration:none}.button-add:hover{color:#fff;background:var(--mojo-primary-hover);border-color:var(--mojo-primary-hover)}.button-add:active{background:var(--mojo-primary-active);border-color:var(--mojo-primary-active)}.page-header .page-actions>.button-add{flex:none}@media(max-width:620px){.button-add{min-height:44px}}.setup-more-links{display:grid;gap:4px;margin:0;padding:0;list-style:none}.setup-more-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--mojo-link);font-weight:600}.field{font-size:.875rem;gap:8px;color:var(--ink)}.field input,.field select,.field textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{max-width:100%;min-width:0;min-height:46px;padding:11px 13px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:9px;font-size:.875rem;line-height:1.5}textarea{resize:vertical;min-height:110px}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input::placeholder,textarea::placeholder{color:var(--ink-muted)}form{display:grid;gap:18px}form>fieldset{min-width:0;border:1px solid var(--line);padding:20px;border-radius:12px}form>fieldset>legend{padding:0 8px;font-weight:600}.field small{color:var(--danger)}.status-chip{min-height:28px;padding:4px 10px;border-radius:6px;font-size:.8125rem;font-weight:600;line-height:1.5;white-space:normal;max-width:100%;overflow-wrap:anywhere}.status-success{color:#19652b;background:#e9f5e7}.status-warning{color:#785600;background:#fff4c7}.status-danger{color:#a82c28;background:#fce8e5}.status-info{color:#285c88;background:#eaf2fb}.status-muted{color:var(--ink-muted);background:#f1f3f2}.state-panel{padding:24px;gap:16px;border:1px solid var(--line);background:#f7f9f7;border-radius:12px}.state-panel>div{min-width:0}.state-panel h2{margin:0 0 7px;font-size:1rem}.state-panel p,.state-panel .state-description{font-size:.875rem;line-height:1.65;margin:0}.state-description .button{margin-top:14px}.state-error,.state-denied,.state-conflict{background:#fff6f4;border-color:#ebc7c1}.state-loading{background:#fff}.error-copy{font-size:.875rem}.table-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:12px}table{font-size:.875rem;min-width:560px}th,td{padding:14px 16px;vertical-align:top}th{font-size:.8125rem;letter-spacing:0;text-transform:none;background:#f7f9f7;color:var(--ink-secondary)}tbody tr:hover{background:#fafcf8}.data-row{padding:18px 0;gap:18px}.data-row div span,.timeline-row span{font-size:.875rem}.field-label{font-size:.8125rem;letter-spacing:0;text-transform:none}.timeline-row time{font-size:.875rem}.filter-row,.child-switcher{gap:10px}.child-chip,.filter-button{font-size:.875rem;min-height:44px;border-radius:8px;background:#fff}.child-chip.active{background:var(--brand-50);border-color:var(--milc-dark-green)}.entry-page{min-height:100dvh;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);background:#fff}.entry-brand-panel{display:flex;flex-direction:column;align-items:flex-start;gap:40px;padding:48px clamp(32px,5vw,80px);background:#f2f8eb;border-right:1px solid #dde8d4;position:relative;overflow:hidden}.entry-brand-panel:after{content:"";position:absolute;width:280px;height:12px;bottom:0;left:0;background:var(--milc-gradient-lime)}.entry-brand-story{margin:auto 0;max-width:410px}.entry-brand-story h2{font-size:clamp(2rem,3vw,3.25rem);line-height:1.18;letter-spacing:-.055em;margin:28px 0 20px}.entry-brand-story p{color:var(--ink-secondary);font-size:1rem;line-height:1.8}.entry-brand-bottom{color:var(--ink-muted);font-size:.8125rem}.entry-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 32px}.entry-form{width:min(100%,420px)}.entry-form>.eyebrow{margin-bottom:12px}.entry-form h1{font-size:2rem;line-height:1.2;margin:0 0 12px}.entry-form>.page-description{margin-bottom:32px}.entry-form form{gap:20px}.entry-form form>.button{width:100%;margin-top:4px}.entry-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:24px;font-size:.875rem}.entry-links a{min-height:44px;display:inline-flex;align-items:center}.entry-mobile-brand{display:none}.entry-form .state-panel+.button{margin-top:16px}.entry-text-button{display:block;min-height:44px;margin-top:12px;padding:0;border:0;background:transparent;color:var(--milc-dark-green);font:inherit;font-size:.875rem;text-decoration:underline;cursor:pointer}.entry-form .state-panel{margin-top:20px}.entry-password{display:flex;position:relative}.entry-password input{width:100%;padding-right:50px!important}.entry-password button{position:absolute;right:2px;top:2px;height:42px;width:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink-muted)}.entry-remember{width:max-content;max-width:100%;color:var(--ink);font-size:.875rem;cursor:pointer}.entry-remember input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--milc-dark-green)}@media(min-width:1600px){.workspace-content.content{padding-top:48px}.workspace-sidebar{padding-top:36px}}@media(max-width:1100px){.workspace-shell{grid-template-columns:236px minmax(0,1fr)}.workspace-sidebar{padding:26px 14px 18px}.workspace-topbar{padding:16px 28px}.workspace-content.content{padding:28px}.workspace-footer{padding:18px 28px}.workspace-role{display:none}.entry-brand-panel{padding:36px}.entry-brand-story h2{font-size:2.25rem}}@media(max-width:800px){.workspace-shell{display:block}.workspace-sidebar{display:none}.workspace-menu-trigger{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.workspace-topbar{min-height:72px;padding:12px 20px;gap:12px}.workspace-breadcrumb{gap:7px;font-size:.8125rem}.workspace-breadcrumb>span{display:none}.workspace-topbar-actions{gap:4px}.workspace-content.content{padding:28px 20px 40px}.workspace-footer{padding:16px 20px}.page-header{align-items:flex-start}.page-actions{margin-top:12px}.entry-page{grid-template-columns:1fr}.entry-brand-panel{display:none}.entry-form-panel{min-height:100dvh;padding:36px 24px;align-items:flex-start}.entry-form{margin:auto}.entry-mobile-brand{display:block;margin-bottom:52px}.entry-form h1{font-size:1.75rem}.grid-2{grid-template-columns:1fr}.workspace-session-error{padding:16px 20px}}@media(max-width:480px){.workspace-content.content{padding:24px 16px 32px}.workspace-topbar{padding:10px 16px;min-height:66px}.workspace-breadcrumb{font-size:.8125rem}.workspace-footer{padding:16px}.surface{padding:18px}.page-header{margin-bottom:22px;display:block}.page-header h1{font-size:1.625rem}.page-description{font-size:.875rem}.state-panel{padding:18px;gap:12px}.entry-form-panel{padding:32px 20px}.entry-links{display:grid;gap:4px}.entry-mobile-brand{margin-bottom:40px}.table-scroll{border-radius:10px}.page-actions>.button{flex:1}.workspace-main{min-width:320px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.workspace-mobile-menu{animation:none}}.record-workspace{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.record-detail{min-height:320px}.record-list{padding:0;overflow:hidden}.record-list>h2{padding:24px;margin:0;border-bottom:1px solid var(--line)}.record-list>.state-panel{margin:20px}.record-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.notification-choice{display:flex;align-items:center;gap:14px;width:100%;min-height:90px;padding:20px;background:#fff;border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left}.notification-choice:hover{background:#f9fbf7}.notification-choice[aria-pressed=true]{background:var(--brand-50);box-shadow:inset 3px 0 var(--milc-dark-green)}.notification-choice>span:nth-child(2){flex:1;min-width:0;display:grid;gap:6px}.notification-choice strong{font-size:.875rem;overflow-wrap:anywhere}.notification-choice time{font-size:.8125rem;color:var(--ink-muted)}.notification-icon,.person-avatar{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--surface-muted);color:var(--ink-secondary)}.view-switch{display:inline-flex;border:1px solid var(--line);padding:4px;border-radius:10px;background:#fff}.view-switch button{min-height:38px;padding:8px 14px;background:transparent;border:0;border-radius:7px;font-size:.875rem;color:var(--ink-secondary)}.view-switch button[aria-pressed=true]{background:var(--brand-50);color:var(--brand-800);font-weight:600}.profile-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}.profile-summary{text-align:center;padding:36px}.profile-avatar{display:grid;place-items:center;width:80px;height:80px;border-radius:24px;background:var(--gold-100);margin:0 auto 24px}.profile-summary>h2{font-size:1.4rem}.profile-summary>p{font-size:.875rem;color:var(--ink-muted);margin-top:24px}.profile-person{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.profile-person>div{display:grid;gap:4px}.profile-person strong{font-size:.9375rem}.profile-person span{font-size:.875rem;color:var(--ink-muted)}.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.settings-layout>.surface{display:grid;gap:18px}.section-heading{display:flex;align-items:center;gap:12px}.section-heading>svg{color:var(--brand-800)}.section-heading>h2{margin:0}.settings-layout p{font-size:.9375rem;color:var(--ink-secondary);margin:0}.settings-administration{margin-top:28px}.settings-administration>.field{max-width:500px}.settings-user-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.settings-user-actions>section{display:flex;flex-direction:column;align-items:start;gap:14px;padding:20px;background:var(--surface-soft);border-radius:12px}.settings-user-actions h3,.settings-user-actions p{margin:0}.settings-user-actions h3{font-size:1rem}.settings-user-actions p{font-size:.875rem}.settings-user-actions .button{margin-top:auto}.confirmation-overlay{position:fixed;inset:0;background:#101b1660;z-index:80}.confirmation-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:32px;background:#fff;border-radius:18px;z-index:81;box-shadow:var(--shadow-2)}.confirmation-dialog h2{font-size:1.25rem;padding-right:24px;margin-top:0}.confirmation-dialog p{font-size:.9375rem;color:var(--ink-secondary);line-height:1.7}.confirmation-dialog .page-actions{margin-top:26px;justify-content:flex-end}.confirmation-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--ink-muted)}@media(max-width:1000px){.record-workspace,.profile-layout,.settings-layout,.settings-user-actions{grid-template-columns:1fr}.notification-choice{flex-wrap:wrap}.notification-choice .status-chip{margin-left:54px}.profile-summary{text-align:left}.profile-avatar{margin:0 0 24px}}.profile-information{display:grid;gap:24px;max-width:760px}.profile-information table{width:100%}.profile-information th[scope=row]{width:40%;text-align:left;font-weight:600}.profile-information .page-actions{margin-top:20px}@media(max-width:480px){.record-detail{min-height:220px}.record-list>h2{padding:20px}.record-actions{display:grid}.confirmation-dialog{padding:24px}.confirmation-dialog .page-actions{display:grid;grid-template-columns:1fr 1fr}.confirmation-dialog h2{font-size:1.125rem}.profile-summary{padding:24px}}.program-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}.program-shortcuts>a{display:flex;gap:18px;align-items:center;padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none}.program-shortcuts>a>svg:first-child{color:var(--brand-800)}.program-shortcuts>a>div{display:grid;gap:5px;flex:1}.program-shortcuts strong{font-size:1rem;color:var(--ink)}.program-shortcuts span{font-size:.875rem;color:var(--ink-muted)}.program-agenda{list-style:none;padding:0;margin:0}.program-agenda>li{display:flex;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--line)}.program-agenda time{display:grid;font-size:.9375rem;font-variant-numeric:tabular-nums}.program-agenda time span{font-size:.8125rem;color:var(--ink-muted)}.program-agenda>li>div{flex:1;display:grid;gap:4px}.program-agenda>li>div>span{font-size:.8125rem;color:var(--ink-muted)}.search-field>div{position:relative;display:flex;align-items:center}.search-field svg{position:absolute;left:14px;color:var(--ink-muted)}.search-field input{width:100%;padding-left:42px!important}.program-plans{display:grid;gap:10px;margin-top:20px}.program-plans>button{display:grid;justify-items:start;gap:8px;padding:18px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.program-plans>button[aria-pressed=true]{background:var(--brand-50);border-color:var(--milc-dark-green)}.program-plans>button>span:first-child{font-size:.8125rem;color:var(--ink-muted)}.program-plans strong{font-size:.9375rem}.lesson-document>div{margin-top:28px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.85}.lesson-document h2{font-size:1.5rem}.search-field+.state-panel{margin-top:20px}@media(max-width:700px){.program-shortcuts{grid-template-columns:1fr}.program-shortcuts>a{padding:20px}.program-agenda>li{flex-wrap:wrap;gap:14px}.program-agenda .status-chip{margin-left:65px}}.people-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr) auto;align-items:end;gap:18px;margin-bottom:24px}.person-choice{width:100%;display:flex;align-items:center;gap:14px;padding:20px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink)}.person-choice[aria-pressed=true]{background:var(--brand-50);box-shadow:inset 3px 0 var(--milc-dark-green)}.person-choice>span:nth-child(2){flex:1;display:grid;gap:4px;min-width:0}.person-choice strong{font-size:.9375rem;overflow-wrap:anywhere}.person-choice>span:nth-child(2)>span{font-size:.8125rem;color:var(--ink-muted)}.person-section{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.person-section>h3{font-size:1rem;margin:0 0 16px}.person-section>p{font-size:.875rem;color:var(--ink-muted)}.person-section form{margin-top:18px}.person-dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:32px;background:#fff;border-radius:18px;z-index:81;box-shadow:var(--shadow-2)}.person-dialog>h2{font-size:1.375rem;margin:0 30px 24px 0}.person-dialog>p{font-size:.9375rem}.person-dialog .state-panel{margin-top:20px}.relationship-tabs{margin-bottom:24px;flex-wrap:wrap}.record-detail .state-panel{margin-top:16px}@media(max-width:800px){.people-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.people-toolbar>.search-field{grid-column:1/-1}.person-choice{flex-wrap:wrap}.person-choice>.status-chip{margin-left:54px}}@media(max-width:480px){.people-toolbar{grid-template-columns:1fr}.people-toolbar>.search-field{grid-column:auto}.person-dialog{padding:24px}.person-choice{padding:18px}}.family-day{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.85fr);gap:24px;align-items:start}.family-side{display:grid;gap:20px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.section-heading h2{margin-top:6px}.section-heading>a{font-size:14px}.family-lessons{list-style:none;margin:20px 0 0;padding:0}.family-lessons li{display:grid;grid-template-columns:76px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line)}.family-lessons time{font-weight:600;font-variant-numeric:tabular-nums}.family-lessons li>div{display:grid;gap:8px;border-left:3px solid var(--milc-dark-green);padding-left:16px}.family-lessons span,.family-work span{font-size:14px;color:var(--ink-muted)}.family-work{list-style:none;padding:0}.family-work li{padding:18px 0;border-bottom:1px solid var(--line)}.family-work p{line-height:1.65}.family-result h2{font-size:32px}.diary-workspace{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.learning-panel{min-width:0}.lesson-selection{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--canvas)}.diary-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.diary-links a{padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px;display:grid;gap:10px;text-decoration:none}.diary-links span{font-size:14px;line-height:1.6;color:var(--ink-muted)}.family-schedule{max-width:1000px}.family-schedule .timeline-row{padding:22px 12px}.parent-tablist{display:flex;gap:6px;margin:20px 0}.parent-tablist button{border:1px solid var(--line);padding:12px 20px;border-radius:10px;background:#fff;color:var(--ink)}.parent-tablist button[aria-selected=true]{background:var(--milc-yellow);border-color:var(--milc-yellow)}@media(max-width:900px){.family-day,.diary-workspace,.diary-links{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.family-lessons li{grid-template-columns:60px 1fr}}.import-steps{display:flex;list-style:none;margin:0 0 28px;padding:0;gap:28px}.import-steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-muted)}.import-steps span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-muted)}.import-steps [aria-current]{color:var(--ink);font-weight:700}.import-steps [aria-current] span{background:var(--milc-yellow)}.import-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.import-dropzone{display:flex;position:relative;flex-direction:column;align-items:center;gap:12px;border:2px dashed var(--line-strong);border-radius:14px;padding:32px 20px;margin:28px 0 20px;cursor:pointer;text-align:center}.import-dropzone input{max-width:100%;font-size:14px}.import-counts>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.import-counts dd{font-weight:700}.import-issues{padding-left:24px}.import-issues li{padding:12px 0}.import-issues p{font-size:14px;color:var(--ink-muted)}.portfolio-gallery .collection-row{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.portfolio-gallery>div:not(.section-heading){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.person-dialog fieldset{border:0;padding:0;margin:0;display:grid;gap:18px}@media(max-width:850px){.import-workspace{grid-template-columns:1fr}.import-steps{flex-direction:column;gap:12px}.portfolio-gallery>div:not(.section-heading){grid-template-columns:1fr}}.school-overview-strip{display:flex;align-items:center;gap:36px;margin-bottom:24px}.school-overview-strip .director-pulse{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.school-overview-strip .director-pulse>div{padding:0 20px;border-left:1px solid var(--line);background:none}.director-pulse strong{font-size:30px}.director-pulse span{font-size:14px;color:var(--ink-muted)}.leadership-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:24px;align-items:start;margin-top:24px}.leadership-side{display:grid;gap:24px}.leadership-checks{display:grid;margin-top:24px}.leadership-checks a{display:flex;justify-content:space-between;align-items:center;gap:24px;text-decoration:none;color:var(--ink);padding:20px 0;border-bottom:1px solid var(--line)}.leadership-checks strong{display:grid;place-items:center;min-width:38px;min-height:38px;border-radius:10px;background:var(--gold-100)}.leadership-facts>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.leadership-facts dd{font-weight:700}.lesson-fact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.lesson-fact-strip .surface{display:grid;gap:12px}.lesson-fact-strip strong{font-size:30px}.lesson-fact-strip span{font-size:14px}.school-timetable section{display:grid;grid-template-columns:160px 1fr;border-top:1px solid var(--line);padding:20px 0;gap:20px}.school-timetable ul{padding:0;list-style:none;margin:0}.school-timetable li{display:grid;grid-template-columns:120px 1fr auto;gap:20px;padding:14px 0}.communication-history{list-style:none;padding:0}.communication-history li{display:flex;align-items:center;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.communication-marker{width:12px;height:12px;border-radius:50%;background:var(--milc-dark-green)}.communication-history h3{margin:0;font-size:16px}.communication-history p{margin:6px 0 0;font-size:14px;color:var(--ink-muted)}.communication-history time{margin-left:auto;font-size:14px}.director-list li>div{display:grid;gap:8px}.director-list small{display:block;color:var(--ink-muted);margin-top:8px}@media(max-width:1050px){.school-overview-strip{display:block}.school-overview-strip .director-pulse{margin-top:24px}.leadership-workspace{grid-template-columns:1fr}.school-timetable section{grid-template-columns:1fr}}@media(max-width:600px){.school-overview-strip .director-pulse{grid-template-columns:1fr 1fr}.lesson-fact-strip{grid-template-columns:1fr}.school-timetable li{grid-template-columns:1fr 1fr}.school-timetable li .status-chip{grid-column:2}.communication-history li{flex-wrap:wrap}.communication-history time{margin-left:32px}}.administrator-today-workspace{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.4fr);gap:24px;align-items:start}.admin-class-counts{display:flex;gap:36px;margin:28px 0}.admin-class-counts>div{display:grid;gap:8px}.admin-class-counts strong{font-size:36px}.admin-class-counts span{font-size:14px;color:var(--ink-muted)}.admin-class-preview{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:24px 0}.admin-class-preview li{border:1px solid var(--line);border-radius:8px;padding:8px 14px}.admin-task-menu nav{display:grid}.admin-task-menu a{display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}.admin-task-menu a span:first-of-type{grid-column:1;color:var(--ink-muted);font-size:14px}.admin-task-menu a span:last-child{grid-column:2;grid-row:1/3;align-self:center}.class-directory-tools{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.class-directory-tools>.field{max-width:340px;width:100%}.class-card-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.class-card-list>li{display:grid;gap:28px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.class-card-list .administrator-class-identity{display:flex;justify-content:space-between;gap:12px;align-items:center}.class-card-list .administrator-class-identity strong{font-size:24px}.class-card-list .administrator-row-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:start}.class-card-list .administrator-row-actions button{font-size:14px;padding:8px 10px}@media(max-width:1150px){.class-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.administrator-today-workspace{grid-template-columns:1fr}.class-directory-tools{flex-direction:column;align-items:start}.class-card-list{grid-template-columns:1fr}}.conversation-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:0;min-height:600px;border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.conversation-workspace>.surface{border:0;border-radius:0;box-shadow:none}.conversation-sidebar{border-right:1px solid var(--line)!important}.conversation-choices{display:grid;gap:8px}.conversation-choices button{display:flex;text-align:left;align-items:start;gap:12px;padding:18px 12px;background:#fff;border:0;border-radius:10px;color:var(--ink)}.conversation-choices button[aria-pressed=true]{background:var(--brand-50)}.conversation-choices span{display:grid;gap:10px}.conversation-choices time{font-size:12px;color:var(--ink-muted)}.conversation-detail{display:flex;flex-direction:column}.conversation-detail .section-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.conversation-detail h2{font-size:16px}.conversation-messages{display:flex;flex-direction:column;gap:20px;padding:28px 0;min-height:260px}.message-bubble{max-width:85%;align-self:start;border-radius:12px;padding:16px 20px;background:var(--surface-muted)}.message-bubble.mine{align-self:end;background:var(--brand-50)}.message-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.message-bubble time{display:block;font-size:12px;color:var(--ink-muted);margin-top:10px}.message-composer{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.message-composer>button{justify-self:end}.conversation-placeholder{margin:auto;display:grid;justify-items:center;text-align:center;color:var(--ink-muted);padding:32px}.conversation-placeholder h2{color:var(--ink);font-size:22px;margin-top:24px}.account-settings-workspace{display:grid;gap:24px;max-width:940px}.settings-section{padding:32px!important}.setting-toggle{display:flex;justify-content:space-between;gap:24px;align-items:center}.setting-toggle input{width:22px;height:22px;accent-color:var(--milc-dark-green)}@media(max-width:900px){.conversation-workspace{grid-template-columns:1fr;min-height:500px}.conversation-workspace:not(.has-selection) .conversation-detail,.conversation-workspace.has-selection .conversation-sidebar{display:none}.conversation-detail .section-heading{align-items:start}.conversation-sidebar{border-right:0!important}.message-bubble{max-width:95%}}.record-browser{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);gap:24px;align-items:start}.record-browser-list,.record-browser-detail{min-width:0}.record-browser-detail{min-height:380px}.record-search>div{display:flex;gap:10px;align-items:center;border:1px solid var(--line-strong);border-radius:9px;padding-left:12px}.record-search input{border:0!important;background:none!important;min-width:0}.record-search>div:focus-within{outline:2px solid var(--brand-800)}.record-choices{display:grid;margin-top:24px;gap:6px}.record-choices button{display:flex;text-align:left;gap:16px;justify-content:space-between;align-items:center;padding:18px 14px;border:1px solid transparent;border-radius:10px;background:#fff;color:var(--ink);width:100%}.record-choices button:hover{background:var(--surface-soft)}.record-choices button[aria-pressed=true]{background:var(--brand-50);border-color:#d4e4c9}.record-choices button>span{display:grid;gap:8px}.record-choices small{font-size:14px;color:var(--ink-muted);line-height:1.6}.record-browser-back{display:none!important}.family-learning-tabs{margin:24px 0}.learning-work-text{white-space:pre-wrap;line-height:1.8}.record-browser-detail h3{margin-top:28px}.record-browser-detail details{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.record-browser-detail summary{cursor:pointer;font-weight:600}@media(max-width:850px){.record-browser{grid-template-columns:1fr}.record-browser.has-selection .record-browser-list,.record-browser:not(.has-selection) .record-browser-detail{display:none}.record-browser-back{display:inline-flex!important;margin-bottom:24px}}.teacher-day-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:24px;align-items:start}.teacher-day-side{display:grid;gap:24px}.teacher-day-lessons{padding:0;list-style:none;margin:24px 0}.teacher-day-lessons li{display:grid;grid-template-columns:74px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.teacher-day-lessons time{display:grid;font-size:16px;font-weight:600}.teacher-day-lessons time>span{font-size:14px;color:var(--ink-muted);font-weight:500}.teacher-day-lessons p{margin:8px 0 0;font-size:14px;color:var(--ink-muted)}.teacher-review-summary .review-count{display:block;font-size:42px;margin:24px 0 10px;color:var(--ink)}.teacher-class-chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.teacher-class-chips a{display:block;padding:10px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:600}.teacher-day-side p{font-size:14px;line-height:1.7}@media(max-width:1000px){.teacher-day-workspace{grid-template-columns:1fr}.teacher-day-side{grid-template-columns:1fr 1fr}}@media(max-width:650px){.teacher-day-side{grid-template-columns:1fr}.teacher-day-lessons li{grid-template-columns:64px 1fr}.teacher-day-lessons .status-chip{grid-column:2;justify-self:start}}.lesson-authoring{margin-top:36px;border-top:1px solid var(--line);padding-top:24px}.lesson-authoring form{margin:24px 0}.lesson-authoring fieldset{border:0;margin:0;padding:0;display:grid;gap:20px}.lesson-authoring textarea{line-height:1.7}.lesson-authoring details{margin-top:24px}.lesson-authoring summary{font-weight:600;cursor:pointer}.lesson-authoring .record-actions{margin:24px 0}.calendar-tabs{margin-bottom:24px}.calendar-facts>div{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:16px 0}.calendar-facts dd{font-weight:600}.calendar-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar-date-fields input{min-width:0;width:100%}@media(max-width:650px){.calendar-date-fields{grid-template-columns:1fr}.calendar-facts>div{flex-direction:column;gap:6px}}.learning-text,.answer-receipt p,.feedback-entry p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.homework-answer{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.answer-receipt,.published-result{margin-top:28px;padding:20px;border-radius:16px;background:#f4f8f1}.feedback-entry{padding:18px 0;border-bottom:1px solid var(--line)}.feedback-entry small{display:block;color:#596458;margin-top:8px}.assessment-question{padding:22px 0;border:0;border-top:1px solid var(--line);margin-top:28px;min-width:0}.assessment-question legend{font-size:18px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.assessment-question legend span{color:#286125}.assessment-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;margin:10px 0;cursor:pointer}.assessment-option input{width:19px;height:19px;flex:0 0 19px;accent-color:#0C8E09;margin:2px 0 0}.assessment-option span{overflow-wrap:anywhere}.assessment-deadline{padding:12px 16px;border-left:4px solid #FEC500;background:#fffbea;border-radius:0 10px 10px 0}.result-score{display:block;font-size:32px;font-weight:700;margin:16px 0}.calendar-tabs{flex-wrap:wrap}.learning-document{display:grid;gap:1.5rem;min-width:0}.learning-document header{display:grid;justify-items:start;gap:.7rem}.learning-document h2,.learning-document h3{margin:0;overflow-wrap:anywhere}.document-body{border-top:1px solid var(--line);padding-top:1.25rem}.document-body p{line-height:1.8}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.document-context{border-block:1px solid var(--line);padding:1rem 0}.document-context summary{cursor:pointer;font-weight:600}.document-actions{background:#f4f8f1;border-radius:1rem;padding:1.25rem}.roster-directory{display:grid;gap:.65rem}.roster-person{border:1px solid var(--line);border-radius:1rem;overflow:hidden}.roster-person>button{display:flex;align-items:center;gap:.9rem;width:100%;padding:1rem;background:#fff;border:0;color:inherit;text-align:left;cursor:pointer}.roster-person>button[aria-pressed=true]{background:#f4f8f1}.roster-person>button>span:nth-child(2){display:grid;gap:.35rem;min-width:0;flex:1;overflow-wrap:anywhere}.roster-person small{color:var(--ink-muted)}.person-initial{display:grid;place-items:center;flex-shrink:0;width:2.6rem;height:2.6rem;border-radius:50%;background:#eaf3df;color:#1b5519;font-weight:600}.roster-person-detail{padding:1rem;border-top:1px solid var(--line)}.scope-toolbar{margin-bottom:24px}.scope-toolbar .view-switch{margin-bottom:0}.assignment-heading{margin-bottom:24px}.assignment-heading h2{font-size:1.35rem}.record-browser-detail>.document-body{margin-bottom:24px}.report-workspace .teacher-report-row{border-radius:12px;padding:20px;margin-top:12px}.report-workspace .teacher-report-section{border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:12px;background:var(--surface-soft)}.grade-choice-value{display:grid;place-items:center;min-width:2.7rem;min-height:2.7rem;border-radius:12px;background:var(--surface-alt,#f5f7f2);font-size:1.35rem;font-weight:700;color:var(--ink)}.grade-document>h2{margin-bottom:1.5rem}.grade-document .teacher-comments{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.grade-document .teacher-comment{border:1px solid var(--line);border-radius:12px;background:#fff;padding:1rem;text-align:left;width:100%;display:grid;gap:.6rem}.grade-document .teacher-comment[aria-pressed=true]{border-color:var(--green);background:#f4faef}.teacher-comment-list{display:grid;gap:.6rem;margin:1rem 0}.grade-source-comment{padding:1rem 0;border-bottom:1px solid var(--line)}.grade-history,.grade-source-comments{margin-top:1.5rem}.journal-context-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:0 0 1.3rem;color:var(--ink-muted);font-size:.85rem}.journal-sheet .section-heading .field{max-width:18rem}.journal-sheet-scroll{overflow:auto}.journal-sheet table{border-collapse:collapse;min-width:100%;font-size:.9rem}.journal-sheet th,.journal-sheet td{border-bottom:1px solid var(--line);padding:1rem;text-align:left}.journal-sheet th[scope=row]{min-width:15rem;font-weight:600}.journal-sheet thead th{background:#f5f7f2;font-weight:500}.journal-sheet td button{border:0;border-radius:8px;padding:.65rem 1rem;background:#f2f8ec;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.journal-student-results{display:grid;margin-top:1.5rem}.journal-student-results button{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font:inherit}.journal-student-results strong{font-size:1.4rem}.journal-result-value{font-weight:700;font-size:3rem;margin:1rem 0;color:var(--green)}.learning-document>p{margin:0}.learning-document>.status-chip{justify-self:start}.record-choices button>span:first-child{min-width:0;flex:1}.record-choices button>.status-chip{flex:0 0 auto;max-width:45%;overflow-wrap:normal;word-break:normal}.view-switch{max-width:100%;flex-wrap:wrap;margin-bottom:20px}.view-switch>button{min-width:0;max-width:100%;flex:1 1 auto}.document-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.document-actions>p,.document-actions>h3,.document-actions>form{flex-basis:100%}.workspace-shell{grid-template-columns:232px minmax(0,1fr)}.workspace-sidebar{gap:12px;padding:20px 12px 14px}.workspace-brand{padding:4px 10px 14px}.workspace-navigation{gap:3px}.workspace-nav-group>summary{padding:6px 9px}.workspace-nav-group>div{margin:1px 0 3px 9px;padding-left:11px}.workspace-nav-group a{padding:7px 10px}.workspace-account{padding-top:10px}.workspace-topbar{min-height:64px;padding:8px 24px}.workspace-topbar-actions{gap:10px}.workspace-content.content{padding:24px 28px 36px}.workspace-content .page-header{margin-bottom:24px}.workspace-content .surface{padding:24px}.capability-search{position:relative;display:flex;align-items:center;width:min(320px,28vw);height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--ink-muted)}.capability-search:focus-within{border-color:var(--brand-800);box-shadow:0 0 0 2px #14662222}.capability-search input{width:100%;min-width:0;height:42px;padding:0 0 0 9px;border:0;background:transparent;color:var(--ink);outline:0;font-size:.875rem}.capability-search-results{position:absolute;z-index:50;top:calc(100% + 8px);right:0;width:min(380px,80vw);padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-2)}.capability-search-results a{display:flex;justify-content:space-between;gap:18px;min-height:44px;padding:9px 10px;border-radius:8px;color:var(--ink);text-decoration:none}.capability-search-results a:hover{background:var(--brand-50)}.capability-search-results small{color:var(--ink-muted);text-align:right}.capability-search-results p{margin:0;padding:12px;font-size:.875rem;color:var(--ink-muted)}@media(max-width:1100px){.capability-search{width:min(250px,28vw)}.workspace-content.content{padding:22px 24px 32px}}@media(max-width:800px){.capability-search{display:none}.workspace-content.content{padding:22px 18px 32px}.workspace-content .surface{padding:20px}}.schedule-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.schedule-create-form>.button{grid-column:1/-1;justify-self:start}.schedule-create-review{display:grid;gap:18px}@media(max-width:620px){.schedule-create-form{grid-template-columns:1fr}.schedule-create-form>.button{width:100%}}.mobile-capability-search{display:none}@media(max-width:800px){.mobile-capability-search{display:block}.workspace-mobile-menu .capability-search{display:flex;width:100%}.workspace-mobile-menu .capability-search-results{left:0;right:auto;width:100%}}.timetable-week{margin:0 0 24px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.timetable-week .section-heading{margin-bottom:16px}.timetable-week table{width:100%;min-width:900px;border-collapse:collapse;table-layout:fixed;font-size:.8125rem}.timetable-week th,.timetable-week td{padding:8px;border:1px solid var(--line);vertical-align:top;text-align:left}.timetable-week thead th{background:var(--surface-soft);font-weight:700}.timetable-week th:first-child{width:90px}.timetable-week tbody th strong,.timetable-week tbody th small{display:block}.timetable-week tbody th small{color:var(--ink-muted);font-weight:500}.timetable-week td button{display:grid;gap:3px;width:100%;min-height:44px;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:var(--brand-50);color:var(--ink);text-align:left;cursor:pointer}.timetable-week td button+button{margin-top:6px}.timetable-week td button[aria-pressed=true]{border-color:var(--brand-800);box-shadow:inset 3px 0 var(--brand-800)}.timetable-week td button span{color:var(--ink-muted);font-size:.75rem;line-height:1.35}.timetable-empty-cell{display:block;padding:10px;color:var(--line-strong);text-align:center}@media(max-width:800px){.timetable-week{padding:14px;margin-inline:-2px}.timetable-week .section-heading{display:grid;gap:4px}.timetable-week table{min-width:760px}}.workspace-topbar{position:sticky;top:0;z-index:35;min-height:58px;padding:7px 20px;background:#fffffff7;backdrop-filter:blur(12px)}.workspace-topbar-actions{gap:8px}.workspace-role{min-height:38px;display:inline-flex;align-items:center;padding:5px 10px;border-radius:9px}.global-scope-bar{display:flex;align-items:center;gap:6px;margin-left:auto}.global-scope-bar details{position:relative}.global-scope-bar summary{display:flex;align-items:center;gap:6px;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink-secondary);font-size:.8rem;list-style:none;white-space:nowrap}.global-scope-bar summary::-webkit-details-marker{display:none}.global-scope-bar details[open] summary svg:last-child{transform:rotate(180deg)}.global-scope-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:45;width:min(320px,calc(100vw - 32px));padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow-2)}.global-scope-popover p{margin:0;color:var(--ink-muted);font-size:.82rem;line-height:1.45}.global-scope-popover label{display:grid;gap:7px;font-size:.78rem}.global-scope-popover select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 10px;font:inherit}.workspace-modulebar{display:none;position:sticky;top:58px;z-index:30;padding:0 20px;border-bottom:1px solid var(--line);background:#fff}.module-tabs{display:flex;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:thin}.module-tabs a{display:inline-flex;align-items:center;min-height:42px;padding:8px 11px;border-bottom:2px solid transparent;color:var(--ink-secondary);font-size:.8rem;text-decoration:none;white-space:nowrap}.module-tabs a:hover{background:var(--surface-soft)}.module-tabs a[aria-current=page]{border-bottom-color:var(--milc-dark-green);color:var(--ink);font-weight:700}.workspace-content.content{max-width:none;padding:20px 24px 32px}.workspace-content .page-header{margin-bottom:18px}.workspace-content .page-header h1{font-size:clamp(1.35rem,2vw,1.85rem)}.workspace-content .page-description{line-height:1.45}.workspace-content .surface{padding:20px}.workspace-nav-group>summary{min-height:40px}.workspace-nav-group a{min-height:40px}.workspace-sidebar{padding-top:14px}.workspace-brand{padding-bottom:14px}.workspace-account{margin-top:auto}.context-toolbar{display:flex;align-items:end;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.context-toolbar-fields{display:flex;align-items:end;flex:1;gap:10px;min-width:0}.context-toolbar-actions{display:flex;gap:8px}.data-table-workspace{min-width:0}.data-table-workspace table{width:100%;border-collapse:separate;border-spacing:0}.data-table-workspace th button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.data-table-sticky{position:sticky;left:0;z-index:2;background:#fff}.data-table-workspace thead .data-table-sticky{z-index:3;background:#f7f9f7}.data-table-empty{text-align:center;color:var(--ink-muted)}.data-table-footer{display:flex;align-items:center;gap:14px;padding:10px 2px;color:var(--ink-muted);font-size:.8rem}.data-table-footer label{display:flex;align-items:center;gap:7px}.data-table-footer select{min-height:36px;border:1px solid var(--line);border-radius:7px;background:#fff}.data-table-pagination{display:flex;align-items:center;gap:5px;margin-left:auto}.detail-drawer-overlay{position:fixed;inset:0;z-index:70;background:#101b1660}.detail-drawer{position:fixed;inset:0 0 0 auto;z-index:71;width:min(560px,100vw);overflow:auto;background:#fff;box-shadow:var(--shadow-2)}.detail-drawer>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--line);background:#fff}.detail-drawer h2{margin:0;font-size:1.2rem}.detail-drawer header p{margin:6px 0 0;color:var(--ink-muted);font-size:.85rem}.detail-drawer-body{padding:20px}.detail-drawer-warning{margin:16px;padding:14px;border:1px solid #ebc7c1;border-radius:10px;background:#fff6f4}.detail-drawer-warning p{margin:0 0 10px}.detail-drawer-warning .button+.button{margin-left:8px}@media(max-width:1100px){.workspace-content.content{padding:18px 20px 28px}}@media(max-width:800px){.workspace-modulebar{display:block}.workspace-topbar{top:0;min-height:58px;padding:7px 12px}.workspace-modulebar{top:58px;padding:0 12px}.workspace-topbar>.global-scope-bar{margin-left:0}.global-scope-bar summary{max-width:145px}.global-scope-bar summary span{overflow:hidden;text-overflow:ellipsis}.workspace-content.content{padding:18px 14px 28px}.context-toolbar,.context-toolbar-fields{align-items:stretch;flex-direction:column}.context-toolbar-actions{width:100%}.context-toolbar-actions .button{flex:1}.data-table-footer{flex-wrap:wrap}.data-table-pagination{order:4;width:100%;margin-left:0;justify-content:space-between}.detail-drawer{width:100vw}.detail-drawer-warning .button{width:100%}.detail-drawer-warning .button+.button{margin:8px 0 0}}.people-section-tabs{display:flex;gap:4px;margin:0 0 18px;padding:4px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.people-section-tabs button{min-height:38px;padding:7px 14px;border:0;border-radius:8px;background:transparent;color:var(--ink-secondary);font:inherit;font-size:.84rem;cursor:pointer}.people-section-tabs button[aria-selected=true]{background:#fff;color:var(--ink);font-weight:700;box-shadow:var(--shadow-1)}.roles-cell-edit .button{min-height:30px;margin-top:2px;padding:4px 10px;font-size:.8rem}.roles-module-actions{gap:8px}.access-constructor{display:grid;gap:16px;min-width:0}.access-constructor>.page-header{margin-bottom:0}.access-constructor>.users-tabs{margin:0;justify-self:start}.roles-module{display:grid;gap:12px;min-width:0}.roles-module-actions{display:flex;justify-content:flex-end}.roles-matrix{width:100%;border-collapse:collapse;font-size:.875rem}.roles-matrix th,.roles-matrix td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.roles-matrix thead th{color:var(--ink-secondary);font-weight:600}.roles-matrix th[scope=row],.roles-matrix thead th:first-child{text-align:left;font-weight:600;white-space:nowrap}.roles-badge{display:inline-block;padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:#f8f9fa;color:var(--ink-muted);font-size:.8rem;white-space:nowrap}.roles-badge-on{border-color:transparent;background:var(--brand-50);color:var(--brand-800)}.roles-cell-edit select{display:block;width:100%;min-width:130px;min-height:34px;margin:2px 0;border:1px solid var(--line);border-radius:6px;background:#fff;padding:4px 6px;font:inherit;font-size:.8rem}.roles-system{margin-right:6px;color:var(--ink-muted);font-weight:700}.roles-count{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:var(--ink-muted);color:#fff;font-size:.75rem}.roles-pill{display:inline-block;margin:2px 4px 2px 0;padding:2px 10px;border-radius:999px;background:#f1f3f5;color:var(--ink);font-size:.8rem;white-space:nowrap}.roles-dialog-wide{width:min(860px,calc(100vw - 32px))}.roles-dialog-actions{justify-content:flex-start;margin:0 0 12px}.roles-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px;text-decoration:none}.roles-form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.roles-form-layout fieldset{display:grid;gap:12px;margin:0;padding:0;border:0}.roles-form-layout h3{margin:0 0 8px;font-size:1rem;font-weight:500}.roles-holders{display:grid;gap:4px;max-height:320px;overflow:auto}.roles-user-list{display:grid;margin-bottom:16px}.roles-user-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line)}.roles-user-list strong,.roles-user-list small{display:block}.roles-user-list small{color:var(--ink-muted);font-size:.82rem}.roles-assign-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.roles-assign-form>p{grid-column:1/-1;margin:0}.roles-mass{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.roles-mass fieldset{display:grid;align-content:start;gap:2px;margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;max-height:420px;overflow:auto}.roles-mass legend{font-weight:600;padding:0 4px}.roles-mass>.page-actions,.roles-mass>.error-copy{grid-column:1/-1}@media(max-width:680px){.roles-form-layout,.roles-mass,.roles-assign-form{grid-template-columns:minmax(0,1fr)}.roles-user-list>div{align-items:flex-start;flex-direction:column}}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.setup-card{display:grid;gap:14px}.setup-card h2,.setup-card p{margin:0}.setup-card form{margin-top:4px}.setup-checklist{display:grid}.setup-checklist>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:52px;padding:8px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}.setup-checklist>a:first-child{border-top:0}.setup-checklist>a:hover span{text-decoration:underline}.period-row{display:grid;grid-template-columns:1fr 130px 130px;gap:8px}.onboarding-workspace{display:grid;gap:18px}.onboarding-workspace>.page-header{margin-bottom:0}.onboarding-card{display:grid;gap:20px}.onboarding-progress{display:grid;grid-template-columns:repeat(8,minmax(60px,1fr));gap:4px;overflow-x:auto}.onboarding-progress>span{display:grid;place-items:center;min-width:60px;padding:7px 4px;border-bottom:3px solid var(--line);color:var(--ink-muted);font-weight:700}.onboarding-progress>span[data-active=true]{border-color:var(--milc-dark-green);color:var(--brand-800)}.onboarding-progress small{font-size:.68rem;font-weight:500;white-space:nowrap}.compact-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.compact-title-row h2,.compact-title-row p{margin:0}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.role-choice{display:flex;flex-wrap:wrap;gap:14px;border:1px solid var(--line);border-radius:12px;padding:16px}.role-choice legend{font-weight:700;padding:0 6px}.role-choice label,.checkbox-row{display:flex;align-items:center;gap:8px;min-height:44px}.activation-code{display:block;width:max-content;max-width:100%;margin:14px 0;padding:14px 18px;border:1px dashed var(--brand-800);border-radius:10px;background:#fff;font:700 1.1rem ui-monospace,monospace;overflow-wrap:anywhere}.setup-summary{display:grid;gap:8px}.setup-summary>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.setup-summary dt{color:var(--ink-muted);font-size:.82rem}.setup-summary dd{margin:0;font-size:.88rem}.person-card-summary{margin-top:18px}.form-actions{display:flex;justify-content:flex-end}@media(max-width:900px){.setup-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.onboarding-progress{grid-template-columns:repeat(8,86px)}}@media(max-width:560px){.form-grid,.period-row{grid-template-columns:1fr}.people-section-tabs{overflow-x:auto}.people-section-tabs button{flex:0 0 auto}.compact-title-row{display:grid}.compact-title-row .button,.form-actions .button{width:100%}.setup-summary>div{grid-template-columns:1fr;gap:2px}}.setup-history,.lifecycle-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.setup-history li,.lifecycle-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border-subtle);padding:.55rem 0}.setup-history li span{color:var(--text-muted);font-size:.85rem}.lifecycle-list>div>span{min-width:0;overflow-wrap:anywhere}.student-360-page{display:grid;gap:0}.student-360-page>.page-header{margin-bottom:16px}.student-360-search{display:flex;align-items:center;gap:8px;min-width:min(420px,100%);height:42px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff}.student-360-search input{width:100%;height:40px;border:0;background:transparent;outline:0;font:inherit}.student-360-workspace{display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.8fr);gap:16px;align-items:start}.student-360-directory,.student-360-detail{min-width:0}.student-360-directory h2{margin:0 0 12px}.student-360-people{display:grid;max-height:680px;overflow:auto}.student-360-people>button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:60px;padding:10px 8px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.student-360-people>button[aria-pressed=true]{margin-inline:-5px;padding-inline:13px;border-radius:10px;background:var(--brand-50);box-shadow:inset 3px 0 var(--brand-800)}.student-360-people>button>span:last-child{display:grid;gap:3px;min-width:0}.student-360-people small{color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-360-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.student-360-heading h2,.student-360-heading p{margin:0}.student-360-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.student-360-metrics>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.student-360-metrics span{color:var(--ink-muted);font-size:.75rem}.student-360-metrics strong{font-size:1.15rem}.student-360-actions{margin:0 0 16px;padding:12px 14px;border:1px solid #ecd7a4;border-radius:10px;background:#fffaf0}.student-360-actions h3{margin:0 0 8px;font-size:.9rem}.student-360-actions>a{display:flex;align-items:center;gap:9px;padding:7px 0;color:var(--ink);text-decoration:none}.student-360-actions>a+a{border-top:1px solid #eadfca}.student-360-tabs{display:flex;gap:3px;margin-bottom:16px;padding-bottom:2px;overflow-x:auto;border-bottom:1px solid var(--line)}.student-360-tabs button{min-height:40px;padding:7px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-secondary);font:inherit;font-size:.8rem;white-space:nowrap;cursor:pointer}.student-360-tabs button[aria-selected=true]{border-bottom-color:var(--brand-800);color:var(--ink);font-weight:700}.student-360-tabs button>span{margin-left:5px;color:var(--ink-muted)}.student-360-rows{display:grid}.student-360-rows article{display:grid;gap:4px;padding:11px 2px;border-top:1px solid var(--line)}.student-360-rows article:first-child{border-top:0}.student-360-rows span{color:var(--ink-muted);font-size:.8rem}.student-360-rows p{margin:2px 0 0;line-height:1.5}.student-360-facts{display:grid;margin:0}.student-360-facts>div{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(0,1fr);gap:15px;padding:10px 0;border-top:1px solid var(--line)}.student-360-facts>div:first-child{border-top:0}.student-360-facts dt{color:var(--ink-muted)}.student-360-facts dd{margin:0;font-weight:700}.notification-rules{margin-top:16px}.notification-rules .section-heading{align-items:start}.notification-rules .section-heading h2,.notification-rules .section-heading p{margin:0}.notification-rules .section-heading p{margin-top:4px;color:var(--ink-muted)}.notification-dnd{display:grid;grid-template-columns:auto minmax(0,1fr) 110px 110px;align-items:end;gap:12px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.notification-dnd>div{display:grid;gap:3px}.notification-dnd>div span{color:var(--ink-muted);font-size:.8rem}.notification-dnd label{display:grid;gap:5px;font-size:.75rem}.notification-dnd input{min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px;font:inherit}.notification-rule-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.notification-rule-groups>section{padding:14px;border:1px solid var(--line);border-radius:11px}.notification-rule-groups h3{margin:0 0 8px;font-size:.92rem}.notification-rule{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:8px 0;border-top:1px solid var(--line)}.notification-rule>span{display:grid;gap:3px}.notification-rule small{color:var(--ink-muted)}.notification-rule input{width:20px;height:20px;accent-color:var(--brand-800)}@media(max-width:960px){.student-360-workspace{grid-template-columns:1fr}.student-360-people{max-height:260px}.student-360-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-rule-groups{grid-template-columns:1fr}}@media(max-width:620px){.student-360-page .page-actions,.student-360-page .page-actions>a{width:100%}.student-360-metrics{grid-template-columns:1fr 1fr}.student-360-facts>div{grid-template-columns:1fr}.notification-dnd{grid-template-columns:auto 1fr}.notification-dnd label{grid-column:span 1}.notification-rule-groups>section{padding:12px}.notification-rules .record-actions .button{width:100%}}html,body,#root{width:100%;max-width:100%;overflow-x:clip}.workspace-shell,.workspace-main,.workspace-topbar,.workspace-topbar-actions,.workspace-modulebar{min-width:0;max-width:100%}.capability-search input{height:100%;min-height:0!important;max-height:100%;padding:0 0 0 9px;border:0!important;border-radius:0;outline:0;box-shadow:none!important}.capability-search input:focus,.capability-search input:focus-visible{border:0!important;outline:0;box-shadow:none!important}.global-scope-popover{max-height:calc(100dvh - 84px);overflow:auto}.tab-strip-frame{position:relative;min-width:0;max-width:100%}.tab-strip-frame:before,.tab-strip-frame:after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:26px;opacity:0;pointer-events:none;transition:opacity .15s ease}.tab-strip-frame:before{left:0;background:linear-gradient(90deg,#fff 25%,#fff0)}.tab-strip-frame:after{right:0;background:linear-gradient(270deg,#fff 25%,#fff0)}.tab-strip-frame[data-overflow-start=true]:before,.tab-strip-frame[data-overflow-end=true]:after{opacity:1}.module-tabs-frame{width:100%}.module-tabs{overscroll-behavior-inline:contain;scroll-behavior:auto}.people-tabs-frame{width:max-content;max-width:100%;margin:0 0 18px}.people-section-tabs{margin:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:auto;scrollbar-width:thin}.person-choice>span:nth-child(2){overflow-wrap:break-word;word-break:normal;text-wrap:pretty}.person-choice>.status-chip{overflow-wrap:normal;word-break:normal}@media(max-width:800px){.workspace-topbar{overflow:visible}.workspace-topbar>.global-scope-bar{flex:0 0 auto;margin-left:0}.global-scope-bar summary{width:auto;max-width:none}.workspace-topbar-actions{flex:1 1 auto;justify-content:flex-end;margin-left:0}.workspace-topbar-actions>.workspace-role{display:none}.global-scope-popover{position:fixed;top:66px;right:12px;left:12px;width:auto;max-width:none}}@media(max-width:560px){.people-tabs-frame,.people-section-tabs{width:100%}.person-choice{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center}.person-choice>.status-chip{grid-column:2;justify-self:start;margin-left:0}}@media(max-width:360px){.workspace-topbar{gap:8px;padding-inline:10px}.workspace-topbar-actions{gap:2px}.global-scope-popover{right:10px;left:10px}}.tab-strip-frame:before,.tab-strip-frame:after{width:44px}.tab-strip-frame:before{background:linear-gradient(90deg,#fff 52%,#ffffffeb 72%,#fff0)}.tab-strip-frame:after{background:linear-gradient(270deg,#fff 52%,#ffffffeb 72%,#fff0)}.module-tabs,.people-section-tabs{scroll-padding-inline:44px}.setup-tabs-frame[data-overflow-start=true] .people-section-tabs,.setup-tabs-frame[data-overflow-end=true] .people-section-tabs{padding-inline:48px}.module-tabs a{min-height:44px}.tab-overflow-control{appearance:none;position:absolute;top:0;bottom:0;z-index:3;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:#fff;color:var(--brand-800);cursor:pointer}.tab-overflow-control[hidden]{display:none}.tab-overflow-control:focus-visible{outline:3px solid var(--gold-500);outline-offset:-4px}.tab-overflow-start{left:0;justify-items:start;padding-left:13px}.tab-overflow-end{right:0;justify-items:end;padding-right:13px}.setup-tabs-frame{width:max-content;max-width:100%;margin:0 0 18px}.setup-tabs-frame .people-section-tabs{margin:0}.setup-readiness-row{appearance:none;display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:12px;width:100%;min-width:0;min-height:52px;padding:8px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;text-align:left;text-decoration:none}.setup-readiness-row:first-child{border-top:0}.setup-readiness-row>.status-chip{justify-self:start;max-width:none;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.setup-readiness-criterion{min-width:0;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}.setup-readiness-count{display:inline-grid;place-items:center;justify-self:end;min-width:28px;min-height:28px;padding:3px 7px;border-radius:999px;background:var(--surface-soft);font-variant-numeric:tabular-nums;text-decoration:none!important}.setup-readiness-row:hover .setup-readiness-criterion{text-decoration:underline}.school-overview-strip .director-pulse{gap:10px}.school-overview-strip .director-pulse>div{padding-inline:8px}.school-overview-strip .director-pulse span{white-space:nowrap;word-break:normal;overflow-wrap:normal}@media(max-width:560px){.setup-tabs-frame{width:100%}}@media(max-width:420px){.setup-readiness-row{grid-template-columns:minmax(0,1fr) max-content;gap:5px 10px;padding-block:10px}.setup-readiness-row>.status-chip{grid-column:1/-1;grid-row:1}.setup-readiness-criterion{grid-column:1;grid-row:2}.setup-readiness-count{grid-column:2;grid-row:2}}.workspace-nav-single>a{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--ink-secondary);font-size:.875rem;font-weight:600}.workspace-nav-single>a>span:first-of-type{flex:1}.workspace-nav-single>a:hover{background:var(--surface-soft)}.workspace-nav-single>a[aria-current=page]{background:#edf7e6;color:#245e1e}.workspace-user-menu{display:flex;align-items:center;gap:10px;min-height:38px;padding:3px 4px;border-radius:9px;color:var(--ink);font-size:.875rem;text-decoration:none;cursor:pointer;white-space:nowrap}.workspace-user-menu:hover{background:var(--surface-soft)}.workspace-user-avatar{flex:none;width:32px;height:32px;border-radius:100%;background:#e0e0e0}.workspace-user-name{max-width:220px;overflow:hidden;text-overflow:ellipsis}.workspace-logout{border:0;background:none;color:var(--ink-secondary);cursor:pointer}.workspace-logout:disabled{opacity:.5;cursor:default}.workspace-topbar>.capability-search .capability-search-results{left:0;right:auto}@media(max-width:991px){.workspace-user-name{display:none}}@media(max-width:480px){.workspace-topbar-actions>.workspace-logout{display:none}}.notifications-table{padding:8px 16px}.notifications-table td{vertical-align:top}.notification-unread{font-weight:650;color:var(--ink)}.notification-quiet-dialog{width:min(880px,calc(100vw - 32px))}.notification-quiet-dialog .notification-rules{margin-top:12px;box-shadow:none;border:0;padding:0}.notification-bell{position:relative}.notification-badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#c8382f;color:#fff;font-size:.6875rem;font-weight:700;line-height:18px;text-align:center;pointer-events:none}.setup-guide{margin:0 0 24px}.setup-guide-summary{margin:0 0 16px}.setup-guide-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}.setup-guide-steps>li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.setup-guide-steps>li:first-child{border-top:0}.setup-guide-steps a{font-weight:600;text-decoration:none;color:var(--ink)}.setup-guide-steps a:hover{text-decoration:underline}.setup-guide-steps p{margin:2px 0 0}.setup-guide-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f1f3f2;font-size:.8125rem;font-weight:700;color:var(--ink-secondary)}.setup-guide-steps>li[data-done] .setup-guide-number{background:#e9f5e7;color:var(--success)}.setup-guide-steps>li[data-next] .setup-guide-number{background:var(--milc-yellow);color:#24301c}.setup-guide-steps>li[data-done] a{color:var(--ink-secondary);font-weight:500}.setup-existing{margin:0;font-size:.875rem}.setup-hint{margin:0;font-size:.875rem;color:var(--warning)}.setup-grid .field:has(>:is(input,select):required)>span:after,.person-dialog .field:has(>:is(input,select):required)>span:after,.onboarding-card .field:has(>:is(input,select):required)>span:after{content:" *";color:var(--danger)}.setup-grid .field small:not([role=alert]),.person-dialog .field small:not([role=alert]),.onboarding-card .field small:not([role=alert]){color:var(--ink-muted)}@media(max-width:600px){.setup-guide-steps>li{grid-template-columns:28px minmax(0,1fr)}.setup-guide-steps>li>.status-chip{grid-column:2;justify-self:start}}.table-scroll{position:relative}.school-week-classes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.school-week-classes button{min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.875rem;color:var(--ink-secondary)}.school-week-classes button[aria-pressed=true]{background:var(--brand-50);border-color:var(--brand-800);color:var(--brand-800);font-weight:600}.setup-list{margin-bottom:24px}.setup-list h2{margin:0 0 14px;font-size:1.1rem}.setup-list table{width:100%;border-collapse:collapse}.setup-list th,.setup-list td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.875rem}.current-period{margin:0 0 20px;font-size:.9375rem;color:var(--ink-secondary)}.import-dropzone{position:relative;cursor:pointer}.import-dropzone:focus-within{outline:2px solid var(--brand-800);outline-offset:2px}.message-composer>label{display:grid;gap:8px;align-items:start}.message-composer>label>span{font-size:.875rem;font-weight:600;color:var(--ink-secondary)}.message-composer textarea{width:100%;min-width:0}.teaching-groups .status-chip{white-space:nowrap}.group-hours-badge{display:inline-block;min-width:22px;padding:1px 7px;border-radius:6px;color:#fff;font-weight:600;text-align:center}.group-hours-badge.is-equal{background:var(--brand-800)}.group-hours-badge.is-unequal{background:var(--danger)}.reference-table td.reference-edit{width:52px;padding:6px 8px;text-align:right;vertical-align:middle}.reference-table .icon-button{width:36px;height:36px}.reference-filters{align-items:end}.reference-filters .field{min-width:200px;margin:0}.reference-dialog form{display:grid;gap:18px}.reference-dialog fieldset{display:grid;gap:16px;min-width:0}.reference-dialog .page-actions{justify-content:flex-start;gap:10px}.reference-confirm{display:grid;gap:12px;padding:14px;border:1px solid #ebc7c1;border-radius:10px;background:#fff6f4}.reference-confirm p{margin:0}.reference-group{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.reference-group legend{font-weight:700;padding:0 6px}.reference-dialog fieldset.reference-radios{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}.reference-radios legend{font-weight:600;padding:0;margin-bottom:6px}.reference-radios .checkbox-row{min-height:32px;margin:0}.subject-parameters{gap:0}.subject-parameters>span{font-weight:700}.reference-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reference-extras{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px}.mark-chips{display:flex;flex-wrap:wrap;gap:4px}.mark-chip{display:inline-grid;place-items:center;min-width:28px;height:26px;padding:0 6px;border:1px solid var(--line-strong);border-radius:6px;font-weight:650}.link-button{border:0;background:none;padding:0;font:inherit;color:var(--mojo-link);text-decoration:underline;cursor:pointer}.reference-facts{display:grid;gap:8px;margin:0 0 14px}.reference-facts>div{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:6px 0;border-top:1px solid var(--line)}.reference-facts dt{color:var(--ink-muted)}.reference-facts dd{margin:0}.reference-list{margin:0;padding-left:18px}.setup-notice{margin:0 0 12px;color:var(--brand-800)}.year-layout,.timeslot-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.year-layout>.surface,.timeslot-side{display:grid;gap:14px}.year-layout h2,.timeslot-side h2{margin:0;font-size:1.05rem}.year-actions{justify-content:flex-start}.timeslot-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.timeslot-canvas{display:grid;min-width:780px}.timeslot-head{padding:10px;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--ink-secondary);font-weight:650}.timeslot-axis{position:relative;font-size:.75rem;color:var(--ink-muted)}.timeslot-axis span{position:absolute;right:6px;transform:translateY(-50%)}.timeslot-axis span:first-child{transform:none}.timeslot-day{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 99px,var(--line) 99px,var(--line) 100px)}.timeslot-slot{position:absolute;left:4px;right:4px;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:2px 6px;border:1px solid #007cc1;border-left-width:4px;border-radius:6px;background:#e5f2f9;color:var(--ink);text-align:left;font-size:.75rem;overflow:hidden;cursor:pointer}.timeslot-slot strong{font-size:.8rem}.timeslot-slot:hover{background:#d3e9f5}.timeslot-slot.is-off{border-color:#35a894;background:#d6eeea}.timeslot-slot.is-off:hover{background:#c5e6e0}.timeslot-day .timeslot-slot.is-cross{z-index:2}.timeslot-slot.is-cross{border-color:#8b5a2b;background:#efe3d5}.timeslot-slot.is-cross:hover{background:#e6d5c2}.timeslot-slot.is-cross.is-beside{left:50%}.cross-grid-parallels{display:flex;flex-wrap:wrap;gap:4px 14px}.cross-grid-parallels legend{flex-basis:100%}.timeslot-day{container-type:inline-size}.timeslot-slot.is-short{z-index:1;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;justify-content:flex-start;gap:0 6px;padding-block:0;font-size:.6875rem;line-height:1.05}.timeslot-slot.is-short strong{font-size:.6875rem;min-width:0;overflow-wrap:anywhere}@container (max-width: 135px){.timeslot-slot.is-short span{display:none}}.color-swatch{display:inline-block;width:14px;height:14px;flex:none;border:1px solid var(--line-strong);border-radius:3px;vertical-align:-2px}.color-cell{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.color-input{flex-wrap:wrap}.color-input{display:flex;align-items:center;gap:8px}.color-input input[type=text]{flex:1;min-width:0}.color-input input[type=color]{width:44px;height:44px;flex:none;padding:2px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer}.timeslot-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:0;list-style:none;font-size:.8125rem;color:var(--ink-secondary)}.timeslot-legend li{display:flex;align-items:center;gap:6px}.timeslot-slot.is-compare{z-index:0;justify-content:flex-start;cursor:default;padding:2px 4px}.timeslot-slot.is-compare strong{flex:none;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem}.timeslot-slot.is-compare.is-short span{display:none}.timeslot-slot.is-compare:hover{filter:brightness(.97)}.page-actions:has(>.icon-button[aria-pressed]){flex-wrap:wrap}.page-actions .icon-button[aria-pressed=true]{background:var(--brand-50);color:var(--brand-800)}.timeslot-layout:not(:has(>.timeslot-side)){grid-template-columns:minmax(0,1fr)}.timeslot-slot.is-compare{gap:0;padding:1px 3px;border-left-width:3px;font-size:.6875rem;line-height:1.15}.timeslot-slot.is-compare strong{flex:none;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;font-size:.625rem;line-height:1.1}.timeslot-slot.is-compare span{overflow-wrap:anywhere}.timeslot-scroll[role=region]{background:linear-gradient(to right,#fff 30%,#fff0) left/32px 100% no-repeat local,linear-gradient(to left,#fff 30%,#fff0) right/32px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgb(0 0 0/.22),transparent) left/16px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgb(0 0 0/.22),transparent) right/16px 100% no-repeat scroll,#fff}.dialog-panes{display:flex;flex-direction:column;overflow:hidden}.dialog-panes>*{flex:none}.dialog-panes>form,.dialog-panes .dialog-body{flex:1 1 auto;min-height:0}.dialog-panes>form{display:flex;flex-direction:column;gap:18px}.dialog-panes .dialog-body{overflow:auto;margin:-4px;padding:4px}.dialog-panes>form>.page-actions,.dialog-panes>.dialog-footer{padding-top:12px;border-top:1px solid var(--line)}.class-form+.class-pupils{margin-top:24px}.person-dialog fieldset.class-form-kind{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}.class-form-kind label{min-height:32px}.class-form-kind input[type=radio]{min-height:0;width:auto;margin:0;padding:0}.class-form-kind input[type=radio]{appearance:none;flex:none;display:inline-grid;place-content:center;width:16px;height:16px;border:1px solid var(--line-strong);border-radius:50%;background:#fff;cursor:pointer}.class-form-kind input[type=radio]:before{content:"";width:8px;height:8px;border-radius:50%;background:transparent}.class-form-kind input[type=radio]:checked{border-color:var(--mojo-primary)}.class-form-kind input[type=radio]:checked:before{background:var(--mojo-primary)}.class-form-kind input[type=radio]:focus-visible{outline:2px solid var(--mojo-primary);outline-offset:2px}.class-form-kind input[type=radio]:disabled{cursor:default}.class-form-kind input[type=radio]:disabled:not(:checked){background:var(--surface-muted);opacity:.6}.reference-dialog .reference-group legend{padding:0}.color-input input[type=color][data-empty]::-webkit-color-swatch{background:#fff!important}.color-input input[type=color][data-empty]::-moz-color-swatch{background:#fff!important}@media(max-width:600px){.mojo-filters.reference-filters>.field{flex:1 1 100%}.reference-filters.timeslot-filters>.field{flex:1 1 100%}.page-header .page-actions:has(>.icon-button[aria-pressed]){flex-wrap:nowrap;gap:6px}.page-header .page-actions:has(>.icon-button[aria-pressed])>.button-add{flex:0 1 auto;min-width:0;padding-inline:10px;white-space:normal;line-height:1.2}.page-header .page-actions:has(>.icon-button[aria-pressed])>.icon-button{flex:none}}@media(max-width:900px){.year-layout,.timeslot-layout{grid-template-columns:1fr}.reference-filters .field{min-width:0;flex:1 1 160px}}.list-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:12px;font-size:.875rem;color:var(--ink-secondary)}.list-footer label{display:flex;align-items:center;gap:8px}.list-footer select{min-height:36px}.list-footer nav{display:flex;gap:4px}.list-footer nav button{min-width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:#fff}.list-footer nav button[aria-current=page]{background:var(--milc-dark-green);border-color:var(--milc-dark-green);color:#fff}.class-list-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:24px;align-items:start}.class-list-main{min-width:0}.class-list-free{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.class-list-free h2{font-size:1rem;margin:0 0 12px}.class-list-free ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.class-list-table td.numeric,.teaching-groups td.numeric{text-align:center}.cell-line{display:block}.cell-note{display:block;color:var(--ink-muted);font-size:.8125rem}.icon-link{background:none;border:0;color:var(--accent,#2f7d4f);cursor:pointer;font-size:1.125rem;padding:4px 8px}.class-form-kind{display:flex;flex-wrap:wrap;gap:8px 20px;border:0;padding:0;margin:0}.class-form-kind legend{padding:0;margin-bottom:6px}.class-form-kind label{display:inline-flex;gap:6px;align-items:center}@media(max-width:1150px){.class-list-layout{grid-template-columns:1fr}}.student-list-filters-toggle{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:6px 0;color:var(--brand-600);font:inherit;font-weight:600;cursor:pointer}.student-list-filters-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.student-list-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin:0 0 16px}.student-list-filters[hidden]{display:none}.student-list-filters .field{min-width:180px;margin:0}.student-list-table td.numeric{text-align:center}.student-list-table td.student-list-avatar{width:56px}.student-list-table .person-avatar{width:32px;height:32px;border-radius:50%}.student-list-table .student-360-open{color:#35a894}.student-list-left{color:var(--ink-secondary)}@media(max-width:600px){.student-list-filters .field{min-width:0;flex:1 1 140px}}.teaching-groups .group-row{cursor:pointer}.group-open{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ink);text-align:left;cursor:pointer}.group-open:hover{text-decoration:underline}.group-offcanvas{position:fixed;top:0;right:0;bottom:0;width:min(1140px,100vw);overflow:auto;padding:20px 24px;background:#f3f3f4;box-shadow:-8px 0 24px #0000002e;z-index:81}.group-offcanvas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.group-offcanvas-head h2{margin:0;font-size:1.25rem}.group-offcanvas-head .confirmation-close{position:static}.group-offcanvas>.group-offcanvas-head{position:sticky;top:-20px;z-index:2;margin-top:-20px;padding-top:20px;background:#f3f3f4}.group-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;max-width:640px;min-width:0}.group-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.group-card-head h3{margin:0;font-size:1.05rem}.group-edit-link{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--brand-600);cursor:pointer}.group-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}.group-cards>.group-card-actions{margin-top:0}.group-pupil-add,.group-pupil-leave{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin-bottom:12px}.group-pupil-leave{margin-bottom:0}.group-pupil-picks{display:grid;gap:6px;border:0;margin:0;padding:0}.group-card table{width:100%}.group-facts{display:grid;margin:0}.group-facts>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2.4fr);gap:12px;padding:8px 0;border-top:1px solid var(--line)}.group-facts>div:first-child{border-top:0}.group-facts dt{color:var(--ink-muted)}.group-facts dd{margin:0}.group-facts input{width:100%}.group-facts input[type=checkbox]{width:auto;margin:0}.group-card-actions{justify-content:flex-start;margin-top:12px}.group-card .group-facts select{width:100%}@media(max-width:600px){.group-offcanvas{padding:16px}.group-offcanvas>.group-offcanvas-head{top:-16px;margin-top:-16px;padding-top:16px}.group-card{padding:16px 14px}.group-card>form{grid-template-columns:minmax(0,1fr)}.group-facts>div{grid-template-columns:minmax(0,1fr);gap:4px}.group-facts dd{min-width:0}.group-facts select{width:100%}}.chat-list{display:grid;gap:10px;min-width:0}.chat-list-title{margin:0;font-size:16px;font-weight:700}.chat-search{position:relative}.chat-search input{width:100%;min-width:0;padding:9px 36px 9px 12px;border:0;border-radius:8px;background:var(--surface-muted);font:inherit}.chat-search-clear{position:absolute;top:50%;right:6px;display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:none;color:var(--ink-muted);transform:translateY(-50%);cursor:pointer}.chat-list-items{display:grid}.chat-link{display:grid;gap:2px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.chat-link[aria-pressed=true]{background:var(--brand-50)}.chat-link:disabled{cursor:default}.chat-link-name{overflow-wrap:anywhere}.chat-link-kind{font-size:12px;color:var(--ink-muted)}.chat-list-none{margin:8px 0;color:var(--ink-muted);font-size:.875rem}.chat-search-results{display:grid;gap:4px;padding:4px 10px;border:1px solid var(--line);border-radius:8px}.chat-search-result{display:grid;gap:2px;width:100%;padding:8px 0;border:0;background:transparent;color:var(--brand-800);text-align:left;cursor:pointer}.chat-search-result:disabled{cursor:default}.button.conversation-back{display:none}@media(max-width:900px){.button.conversation-back{display:inline-flex;align-self:start}}.settings-cards{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}.settings-cards>*{flex:1 1 28%;min-width:0}.settings-cards>.settings-card-wide{flex-basis:100%}.settings-cards>.setup-card{align-content:start}.surface.settings-card{display:flex;flex-direction:column;min-height:230px;padding:0;border:0;border-radius:16px;box-shadow:none;overflow:hidden}.settings-card form{display:flex;flex-direction:column;gap:0;flex:1}.settings-card-header{padding:12px 16px;background:#ebedee}.settings-card h2{margin:0;font-size:1.05rem;font-weight:600}.settings-card-body{display:grid;gap:12px;align-content:start;height:270px;overflow-y:auto;padding:16px}.settings-card .field{gap:4px}.settings-card textarea{height:44px;min-height:44px;padding:6px 10px;resize:vertical}.settings-card p{margin:0}.settings-card input[type=checkbox]{width:16px;height:16px;margin:3px 0 0;accent-color:var(--mojo-primary)}.settings-check{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:.875rem;line-height:1.4}.settings-check input[type=checkbox]{flex:none}.settings-select-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;color:var(--ink);font-size:.9375rem}.settings-select-row span{flex:1 1 80px;min-width:0}.settings-select-row select{flex:none;width:auto;max-width:100%;min-height:31px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font-size:.875rem}.settings-card-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:auto;padding:12px 16px;background:#f8f9fa;border-top:1px solid var(--line)}.settings-card-footer [role=alert]{flex-basis:100%;color:var(--danger)}.settings-card .settings-save.button-secondary{background:#6c757d;border-color:#6c757d;color:#fff}.settings-card .settings-save.button-secondary:hover:not(:disabled){background:#5c636a;border-color:#565e64}@media(max-width:760px){.settings-cards>*{flex-basis:100%}}.workspace-sidebar,.workspace-sidebar.is-open,.workspace-sidebar.is-collapsed{position:relative;top:auto;height:auto;min-height:100dvh;align-self:stretch;overflow:visible}.workspace-sidebar-body{position:sticky;top:0;max-height:100dvh;display:flex;flex-direction:column;gap:inherit;overflow-y:auto}.workspace-sidebar.is-collapsed .workspace-sidebar-body{overflow-x:hidden}.roles-matrix{table-layout:fixed;min-width:860px}.roles-matrix th[scope=row],.roles-matrix thead th:first-child{width:150px;white-space:normal}.roles-matrix th,.roles-matrix td{padding:10px 8px}.roles-matrix .roles-badge{white-space:normal}.rooms-table th:nth-child(n+3):nth-child(-n+5),.rooms-table td:nth-child(n+3):nth-child(-n+5){text-align:center}.rooms-search{display:flex;align-items:flex-end;gap:4px}.rooms-search>label{flex:1;display:grid}.room-form{display:grid;gap:14px}.room-form>.field,.room-form>.room-checks{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);align-items:center;gap:4px 16px;max-width:none;margin:0;padding:0;border:0}.room-form>.room-checks>legend{float:left;padding:0;font-size:.875rem;font-weight:600}.room-form>.room-checks>label{grid-column:2}.room-form>.field>small,.room-form>.room-checks>small{grid-column:2}@media(max-width:600px){.room-form>.field,.room-form>.room-checks{grid-template-columns:1fr}.room-form>.room-checks>label,.room-form>.field>small,.room-form>.room-checks>small{grid-column:1}}.room-required:after{content:" *"}.class-pupils{display:grid;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.class-pupils h3{font-size:1rem;font-weight:400;margin:0}.class-pupils-filter{display:flex;flex-wrap:wrap;gap:8px 20px}.class-pupils-filter label{display:inline-flex;gap:6px;align-items:center}.class-pupils-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.class-pupils-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.class-pupil-actions{display:inline-flex;gap:6px}.class-pupil-icon{display:inline-grid;place-items:center;min-width:32px;min-height:32px;border:0;border-radius:6px;background:#f8f9fa;color:var(--ink);cursor:pointer}.class-pupil-icon.class-pupil-remove{background:var(--danger);color:#fff}.class-pupil-icon:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.class-pupil-leave{display:flex;flex-wrap:wrap;align-items:end;gap:8px;flex-basis:100%}.class-pupils-add{display:grid;gap:12px}.class-disband{display:flex}.class-disband-confirm{display:grid;gap:12px}.class-disband-confirm p{margin:0}.class-homeroom-periods{display:grid;gap:8px;min-width:0}.class-homeroom-periods .field-title{font-size:.875rem;font-weight:400;margin:0}.class-homeroom-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.class-homeroom-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0}.class-homeroom-list .cell-note{display:inline}.class-homeroom-edit{display:flex;flex-wrap:wrap;align-items:end;gap:8px;flex-basis:100%;min-width:0}.class-homeroom-edit .field{min-width:0;flex:1 1 140px}.class-homeroom-add{display:flex;flex-wrap:wrap;align-items:end;gap:8px;min-width:0}.class-homeroom-add .field{flex:1 1 180px;min-width:0}.group-list-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.group-list-tabs{display:inline-flex;gap:0;padding:0;background:#e0e0e0;border-radius:8px;max-width:100%;overflow-x:auto}.group-list-tabs button{min-height:32px;padding:6px 12px;border:1px solid #e0e0e0;border-radius:8px;background:transparent;color:#212529;font:inherit;font-size:14px;white-space:nowrap}.group-list-tabs button[aria-selected=true]{background:#fff;color:var(--ink)}.group-list-search{display:flex;align-items:center;gap:2px;min-width:0;width:min(320px,100%);padding:2px 4px 2px 12px;background:#fff;border:1px solid var(--line-strong);border-radius:9px}.group-list-search>input:not([type=checkbox]):not([type=radio]):not([type=range]){flex:1 1 auto;min-width:0;min-height:34px;padding:0;border:0;background:transparent;font-size:.875rem}.group-list-search:focus-within{border-color:var(--mojo-primary)}.group-list-search-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-secondary)}.group-list-search-button:hover,.group-list-search-button:focus-visible{background:var(--surface-muted);color:var(--ink)}.teaching-groups .group-list-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 8px}.teaching-groups .group-list-filters .field{min-width:0}.teaching-groups .group-list-filters select{padding-left:8px;padding-right:16px;font-size:.8125rem}.teaching-groups .group-list-filters .field>span{font-size:.75rem}.teaching-groups .group-list-filters .group-list-check{flex:0 0 auto;min-width:0;justify-items:start}.group-list-check input{width:18px;height:18px;margin:6px 0}@media(max-width:600px){.group-list-search{width:100%}}.group-mass-menu{position:relative}.group-mass-menu-items{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:200px;margin:0;padding:6px 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-2)}.group-mass-menu-items button{display:block;width:100%;min-height:40px;padding:8px 16px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.875rem;text-align:left}.group-mass-menu-items button:hover,.group-mass-menu-items button:focus-visible{background:var(--surface-soft)}.group-mass-dialog{width:min(800px,calc(100vw - 32px))}.group-mass-dialog .group-offcanvas-head h2{margin:0}.group-mass-scroll{max-height:calc(100dvh - 220px);overflow:auto}.group-mass-dialog table{width:100%;font-size:.8125rem}.group-mass-dialog th,.group-mass-dialog td{padding:6px 8px;text-align:left;white-space:nowrap}.group-mass-dialog thead tr:first-child th{position:sticky;top:0;background:#fff;z-index:1}.group-mass-dialog input[type=checkbox]{width:16px;height:16px;margin:0}.group-mass-actions{justify-content:flex-end;margin-top:16px}@media(max-width:600px){.person-dialog.group-mass-dialog{padding:20px 16px}.group-mass-dialog table{min-width:0}.group-mass-dialog th,.group-mass-dialog td{padding:6px 5px}.group-mass-dialog tr>:nth-child(-n+3){white-space:normal;min-width:56px}.group-mass-dialog tr>:first-child{position:sticky;left:0;z-index:1;background:#f7f9f7;box-shadow:1px 0 0 var(--line)}.group-mass-dialog thead tr:first-child>:first-child{z-index:2;background:#fff}.group-mass-scroll{background:linear-gradient(to left,#fff 40%,#fff0) right center/48px 100% no-repeat local,radial-gradient(farthest-side at 100% 50%,#0003,#0000) right center/16px 100% no-repeat scroll,#fff}}.button.group-mass-add-button{color:var(--mojo-primary);border-color:var(--mojo-primary);background:#fff}.button.group-mass-add-button:hover{color:#fff;background:var(--mojo-primary)}.group-mass-add .group-card{max-width:880px}.group-mass-subjects table{width:100%}.group-mass-subjects th,.group-mass-subjects td{padding:6px 8px;text-align:left;vertical-align:middle}.group-mass-subjects select,.group-mass-subjects input{width:100%;min-width:120px}.group-mass-subjects td:nth-child(3) input{min-width:72px;max-width:120px}.group-mass-remove{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #dc3545;border-radius:6px;background:#fff;color:#dc3545}.group-mass-plus{display:grid;place-items:center;width:32px;height:32px;margin-top:10px;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:#fff;color:var(--ink-secondary)}.group-mass-add fieldset{min-width:0;border:0;margin:0;padding:0}.group-mass-add .group-card,.group-mass-add .group-facts dd{min-width:0}.group-mass-add .group-facts select,.group-mass-add .group-facts input{width:100%}@media(max-width:600px){.group-mass-subjects table{min-width:0;table-layout:fixed}.group-mass-subjects th,.group-mass-subjects td{padding:6px 3px;overflow-wrap:anywhere}.group-mass-subjects th:nth-child(3){width:64px}.group-mass-subjects th:nth-child(4){width:34px}.group-mass-subjects select,.group-mass-subjects input,.group-mass-subjects td:nth-child(3) input{min-width:0;max-width:none;width:100%;padding-left:6px;padding-right:6px}.group-mass-subjects select{padding-right:18px}}.group-movement-filters{display:flex;flex-wrap:nowrap;flex:0 1 auto;align-items:end;gap:10px;min-width:0}.group-movement-filters .field{min-width:110px;flex:0 1 160px;width:160px}.group-movement-filters .field>span{font-size:.75rem}.group-movement-filters select{padding-left:10px;padding-right:24px}.group-movement-scroll{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.group-movement-table{width:100%;min-width:880px;border-collapse:collapse;table-layout:fixed}.group-movement-table thead th:first-child,.group-movement-table th[scope=row]{width:240px}.group-movement-table th[scope=row]{padding:6px 12px;font-size:14px;font-weight:400;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.group-movement-months{padding:0}.group-movement-months>div{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.group-movement-months span{padding:8px 3px;border-left:1px solid var(--line);font-size:12px;font-weight:400;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-movement-table tbody tr{border-top:1px solid var(--line)}.group-movement-track{padding:4px 0}.group-movement-lane{position:relative;height:22px;margin:2px 0}.group-movement-bar{position:absolute;top:0;height:22px;min-width:4px;padding:0 6px;border:0;border-radius:2px;background:#e0e0e0;color:#555;font:inherit;font-size:10px;line-height:22px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.group-movement-bar{cursor:pointer}button.group-movement-bar:hover{background:#d3d3d3}button.group-movement-bar:focus-visible{outline:2px solid var(--mojo-primary);outline-offset:1px}.group-movement-dialog .group-offcanvas-head h2{margin:0}.group-movement-dialog .group-facts>div{grid-template-columns:minmax(90px,1fr) minmax(0,2fr);align-items:center}.group-movement-actions{justify-content:flex-start;margin-top:16px}.button.group-movement-delete{color:var(--mojo-primary);border-color:var(--mojo-primary);background:#fff}@media(max-width:600px){.group-movement-table{min-width:720px}.group-movement-table thead th:first-child,.group-movement-table th[scope=row]{width:150px}.group-movement-filters{flex:1 1 100%;flex-wrap:wrap}.group-movement-filters .field{flex:1 1 100px;width:auto}}.group-export-cards{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;margin-top:16px;align-items:start}.group-export-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 0 0;min-width:0}.group-export-card h2{margin:0 16px 10px;font-size:1rem;font-weight:500}.group-export-card .table-scroll{max-height:70vh;overflow:auto}.group-export-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed}.group-export-card .table-scroll{border:0;border-radius:0 0 12px 12px}.group-export-table thead th{position:sticky;top:0;z-index:1;background:#fff;padding:8px 10px;font-size:13px;font-weight:600;text-align:left;border-bottom:1px solid var(--line)}.group-export-table th[scope=row],.group-export-table td{padding:6px 10px;font-size:14px;font-weight:400;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:break-word;border-top:1px solid var(--line);background:#fff}.group-export-table .cell-note{display:block;color:var(--ink-muted);font-size:11px}.group-export-parallel{color:var(--ink-muted)}.group-export .group-export-table td.group-export-parallel{white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}.group-export .group-export-table tr>:last-child{padding-right:16px}.group-export-actions{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.group-export-button{max-width:100%;padding:2px 8px;border:1px solid;border-radius:4px;font:inherit;font-size:12px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:break-word;cursor:pointer;background:#fff}.group-export-same{border-color:#6c757d;color:#6c757d}.group-export-same:hover:not(:disabled){background:#6c757d;color:#fff}.group-export-next{border-color:var(--mojo-primary);color:var(--mojo-primary)}.group-export-next:hover:not(:disabled){background:var(--mojo-primary);color:#fff}.group-export-plus{border-color:var(--mojo-primary);background:var(--mojo-primary);color:#fff}.group-export-plus:hover:not(:disabled){background:var(--mojo-primary-hover)}.group-export-button:disabled{opacity:.65;cursor:default}.group-export-button:focus-visible{outline:2px solid var(--mojo-primary);outline-offset:1px}@media(max-width:900px){.group-export-cards{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.group-export-past .group-export-table{min-width:540px}}.group-movement-confirm{margin-top:16px}.group-movement-confirm p{margin:0;color:var(--ink-secondary);font-size:.9375rem}.group-pupils-mixed{display:flex;align-items:center;gap:6px;align-self:end;min-height:38px;font-size:.875rem;color:var(--ink-secondary);white-space:nowrap}.group-pupils-mixed input{width:18px;height:18px;margin:0}.group-pupils-card{margin-top:16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.group-pupils-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.group-pupils-sort{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding:0;border:0;font-size:.9375rem}.group-pupils-sort legend{float:left;margin-right:4px;padding:0}.group-pupils-sort label{display:inline-flex;align-items:center;gap:6px}.group-pupils{min-width:0}.group-pupils>*{min-width:0}.group-pupils-params{display:flex;flex-wrap:nowrap;gap:10px;margin-left:auto}.group-pupils-params .field{display:grid;min-width:0;width:230px;flex:0 0 230px}.group-pupils-params .field>span{font-size:.75rem}.group-pupils-scroll{max-height:70vh;overflow:auto}.group-pupils-table{border-collapse:collapse;min-width:100%}.group-pupils-table th,.group-pupils-table td{padding:6px 12px;border-top:1px solid var(--line);font-size:14px}.group-pupils-table thead th{position:sticky;top:0;background:#fff;font-weight:400;text-align:center;white-space:nowrap}.group-pupils-table th[scope=row]{font-weight:400;text-align:left;white-space:nowrap}.group-pupils-table td{min-width:76px;text-align:center}.group-pupils-table td input{width:18px;height:18px;margin:0}.group-pupils-table td.group-pupils-changed{background:var(--surface-muted)}.group-pupils-actions{justify-content:flex-start;margin-top:16px}@media(max-width:600px){.group-pupils-table th[scope=row]{white-space:normal;min-width:140px}.group-pupils-params{flex-wrap:wrap;margin-left:0;width:100%}.group-pupils-params .field{flex:1 1 140px;width:auto}.group-pupils-filters{flex-wrap:wrap}.group-pupils-filters>.field:nth-child(3){flex:1 1 180px}}.study-plan-filters{margin-top:16px;contain:inline-size}.study-plan-card{contain:inline-size;margin-top:16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.study-plan-scroll{max-height:75vh;overflow:auto}.study-plan-table{border-collapse:collapse;font-size:14px}.study-plan-table th,.study-plan-table td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:bottom}.study-plan-table thead th{background:#fff;font-weight:600}.study-plan-table th.study-plan-label{min-width:96px;white-space:normal}.study-plan-table th.study-plan-total{max-width:120px}.study-plan-table th.study-plan-subject{height:150px;padding:6px 4px;text-align:left}.study-plan-table th.study-plan-subject>span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);max-height:140px;white-space:normal;font-weight:600}.study-plan-table th.study-plan-level{text-align:center;font-weight:600;min-width:30px}.study-plan-table tbody th[scope=row]{font-weight:400;white-space:nowrap}.study-plan-table tbody td{text-align:center;min-width:30px}.study-plan-table td.study-plan-main{background:var(--brand-50)}.study-plan-table td.numeric{text-align:left}.study-plan-groups{font-size:.6875rem;color:var(--ink-muted);margin-left:1px}.study-plan-cell{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;min-width:20px}.study-plan-cell:hover,.study-plan-cell:focus-visible{text-decoration:underline}.study-plan-pupils{color:var(--milc-dark-green);font-weight:600}.study-plan-empty{text-align:left}.study-plan-dialog .study-plan-form{display:grid;gap:12px}.study-plan-main-field{display:flex;align-items:center;gap:12px}.study-plan-main-field input{width:18px;height:18px;margin:0}.study-plan-actions{justify-content:flex-start;gap:12px;margin-top:8px}.person-dialog.study-plan-dialog{padding:24px}.study-plan-dialog .group-offcanvas-head{margin-bottom:12px}.study-plan-dialog .study-plan-form{gap:8px}.study-plan-dialog .study-plan-form .field{gap:6px}.study-plan-dialog .study-plan-actions{position:sticky;bottom:-24px;z-index:1;margin:0 0 -24px;padding:12px 0 24px;background:#fff;box-shadow:0 -1px 0 var(--line)}@media(max-width:600px){.person-dialog.study-plan-dialog{padding:16px}.study-plan-dialog .group-offcanvas-head{margin-bottom:8px}.study-plan-dialog .study-plan-form .field{gap:4px}.study-plan-dialog .study-plan-form :is(input:not([type=checkbox]),select){min-height:40px;padding-top:8px;padding-bottom:8px}.study-plan-dialog .study-plan-actions{bottom:-16px;margin-bottom:-16px;padding-bottom:16px}}@media(max-width:600px){.study-plan-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.study-plan-filters .field{width:auto;min-width:0}.study-plan-filters select{width:100%;min-width:0}.study-plan-card{padding:8px}}@media(max-width:600px){.study-plan-table,.study-plan-table th.study-plan-label{min-width:0}.study-plan-table tbody th[scope=row]{white-space:normal;overflow-wrap:anywhere;min-width:64px}.study-plan-scroll{background:linear-gradient(to right,#fff 30%,#fff0) left/32px 100% no-repeat local,linear-gradient(to left,#fff 30%,#fff0) right/32px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgb(0 0 0/.22),transparent) left/16px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgb(0 0 0/.22),transparent) right/16px 100% no-repeat scroll,#fff}}@media(max-width:600px){.group-list-bar>.group-list-tabs{display:flex;flex:1 1 100%;contain:inline-size}}.study-plan-table .study-plan-pupils{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--milc-dark-green);cursor:pointer}.study-plan-table .study-plan-pupils:hover,.study-plan-table .study-plan-pupils:focus-visible{text-decoration:underline}.person-dialog.study-plan-load-dialog{width:max-content;min-width:min(360px,calc(100vw - 32px));max-width:min(1100px,calc(100vw - 32px));padding:24px}.study-plan-load-dialog .group-offcanvas-head{position:static;margin-top:0;padding-top:0;background:none}.study-plan-load-dialog .group-offcanvas-head h2,.study-plan-params-dialog .group-offcanvas-head h2{margin:0}.study-plan-table.study-plan-load-table{width:auto;min-width:0}.study-plan-load-table tbody th[scope=row]{white-space:normal;min-width:140px}.study-plan-load-table tbody td.study-plan-load-class{text-align:left;white-space:nowrap}.study-plan-load-table thead th.study-plan-load-plan{text-align:center;font-weight:400;color:var(--ink-muted)}.study-plan-load-table td.study-plan-load-mismatch{background:var(--gold-100)}.study-plan-load-table .study-plan-load-cell{display:block;width:100%;min-height:20px}.study-plan-params-overlay{z-index:82}.person-dialog.study-plan-params-dialog{width:min(440px,calc(100vw - 32px));z-index:83}.study-plan-params-dialog .group-offcanvas-head{position:static;margin-top:0;padding-top:0;background:none}.study-plan-params-dialog form{display:grid;gap:12px}.study-plan-params-dialog .group-facts>div{grid-template-columns:minmax(90px,1fr) minmax(0,2fr)}.study-plan-params-groups{display:grid;gap:8px;margin:0;padding:0;border:0}.study-plan-params-groups legend{color:var(--ink-muted);margin-bottom:8px;padding:0}.study-plan-params-groups label{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.study-plan-params-groups input{margin:0;flex:none}@media(max-width:600px){.person-dialog.study-plan-load-dialog{padding:16px}.study-plan-load-table tbody th[scope=row]{min-width:110px}}.year-window-buttons{justify-content:flex-start;gap:10px}.person-dialog.year-window-dialog{width:min(800px,calc(100vw - 32px))}.year-window-table{width:100%;min-width:0;border-collapse:collapse}.year-window-table th,.year-window-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.year-window-table th{font-size:.8125rem;color:var(--ink-secondary);font-weight:650}.year-window-table .year-window-check{text-align:center}.year-window-table input[type=checkbox]{width:18px;height:18px}.year-window-table input[type=text]{width:100%;min-width:0;min-height:36px}.year-window-help{max-width:none;margin:0;padding:12px 16px;border:1px solid #ffe69c;border-radius:8px;background:#fff3cd;color:#664d03;font-size:.875rem}@media(max-width:480px){.year-window-table th,.year-window-table td{padding:6px}.year-window-table td:first-child{white-space:normal}}.chat-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.chat-list-head h2{margin:0}.chat-filter-bar{position:relative;display:flex;gap:4px;flex:none}.chat-tool{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink-muted);cursor:pointer}.chat-tool[aria-pressed=true]{background:var(--brand-50);color:var(--brand-800)}.chat-tool:disabled{cursor:default;opacity:.6}.chat-filter-menu{position:absolute;top:36px;right:0;z-index:20;display:grid;gap:8px;width:max-content;min-width:230px;max-width:calc(100vw - 32px);padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a1f}.chat-filter-shortcuts{display:flex;flex-wrap:wrap;gap:4px 12px}.chat-filter-shortcuts button{padding:0;border:0;background:none;color:var(--brand-800);font:inherit;font-size:.875rem;text-decoration:underline;cursor:pointer}.chat-filter-option{display:flex;align-items:center;gap:8px;white-space:nowrap}.chat-filter-apply{justify-self:start}.chat-row,.conversation-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;min-width:0}.chat-row:has(>.chat-link[aria-pressed=true]){border-radius:8px;background:var(--brand-50)}.chat-row>.chat-link[aria-pressed=true]{background:transparent}@media(min-width:901px){.chat-filter-menu{right:auto;left:0}}.chat-row-menu{position:relative}.chat-row-menu-items{position:absolute;top:34px;right:0;z-index:20;min-width:230px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px #0f172a1f}.chat-row-menu-items button,.conversation-choices .chat-row-menu-items button{display:block;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.chat-row-menu-items button:hover,.chat-row-menu-items button:focus-visible{background:var(--surface-muted)}.conversation-choices .chat-tool{display:inline-grid;padding:0;margin-top:12px;background:transparent}.chat-link-name.unread,.conversation-choices strong.unread{font-weight:700}.chat-unread-mark{margin-left:6px;vertical-align:-2px;color:var(--brand-800)}.chat-choice-line{display:grid;gap:2px;min-width:0}.conversation-choices .chat-choice-line .chat-link-name{display:block}.channel-heading{display:flex;align-items:start;gap:12px}.channel-heading small{display:block}.message-author{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--ink-muted)}.channel-read-only{align-self:stretch;max-width:none;margin:auto 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink-muted);font-size:.875rem}
