@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";.uc-hw-page .page-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-muted, #888);cursor:pointer;background:none;border:none;padding:0;margin-bottom:12px}.uc-hw-page .page-back:hover{color:var(--color-text, #222)}.uc-hw-page .page-title-block{margin-bottom:20px}.uc-hw-page .page-title-block h1{margin:0 0 4px;font-size:20px}.uc-hw-page .page-title-block p{margin:0;color:var(--color-muted, #888);font-size:14px}.uc-hw-form{display:flex;flex-direction:column;gap:16px;max-width:640px}.uc-hw-form .form-row{display:flex;gap:16px}.uc-hw-form .form-row>*{flex:1}.uc-hw-form .form-actions{display:flex;gap:8px;padding-top:8px}.uc-hw-type-tabs{display:flex;gap:6px;flex-wrap:wrap}.uc-hw-type-tab{padding:6px 14px;border-radius:20px;border:1px solid var(--color-border, #ddd);background:transparent;cursor:pointer;font-size:13px;transition:all .15s}.uc-hw-type-tab.active{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:#fff}.uc-hw-dropzone{border:2px dashed var(--color-border, #ddd);border-radius:10px;padding:32px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.uc-hw-dropzone.drag-over{border-color:var(--color-primary, #2563eb);background:#2563eb0a}.uc-hw-dropzone input[type=file]{display:none}.uc-hw-dropzone p{margin:6px 0 0;font-size:13px;color:var(--color-muted, #888)}.uc-hw-dropzone .selected-file{display:flex;align-items:center;gap:8px;background:var(--color-bg-soft, #f5f5f5);border-radius:8px;padding:8px 12px;font-size:13px;margin-top:8px}.uc-hw-dropzone .selected-file button{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--color-muted, #888)}.uc-hw-progress{height:4px;background:var(--color-border, #ddd);border-radius:4px;margin-top:8px}.uc-hw-progress-bar{height:100%;background:var(--color-primary, #2563eb);border-radius:4px;transition:width .2s}.uc-hw-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border, #eee)}.uc-hw-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.uc-hw-section-header h4{margin:0;font-size:14px;font-weight:600}.uc-hw-list{display:flex;flex-direction:column;gap:8px}.uc-hw-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border, #eee);background:var(--color-bg, #fff)}.uc-hw-item-icon{flex-shrink:0;color:var(--color-muted, #888)}.uc-hw-item-body{flex:1;min-width:0}.uc-hw-item-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uc-hw-item-meta{font-size:12px;color:var(--color-muted, #888);margin-top:2px}.uc-hw-item-actions{display:flex;gap:6px;flex-shrink:0}.uc-hw-submissions-meta{background:var(--color-bg-soft, #f9f9f9);border-radius:8px;padding:14px 16px;margin-bottom:20px}.uc-hw-submissions-meta h3{margin:0 0 4px;font-size:16px}.uc-hw-submissions-meta p{margin:0;color:var(--color-muted, #888);font-size:13px}.uc-hw-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}@media (max-width: 700px){.uc-hw-review-grid{grid-template-columns:1fr}}.uc-hw-review-submission{border:1px solid var(--color-border, #ddd);border-radius:10px;padding:20px}.uc-hw-review-submission h3{margin:0 0 12px;font-size:15px}.uc-hw-review-form{border:1px solid var(--color-border, #ddd);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:16px}.uc-hw-review-form h3{margin:0;font-size:15px}.uc-my-hw-group{margin-bottom:28px}.uc-my-hw-group-title{font-size:13px;font-weight:600;color:var(--color-muted, #888);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.uc-my-hw-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid var(--color-border, #eee);margin-bottom:8px;cursor:pointer;background:var(--color-bg, #fff);transition:border-color .15s}.uc-my-hw-card:hover{border-color:var(--color-primary, #2563eb)}.uc-my-hw-card-body{flex:1;min-width:0}.uc-my-hw-card-title{font-size:14px;font-weight:500}.uc-my-hw-card-meta{font-size:12px;color:var(--color-muted, #888);margin-top:3px}.uc-hw-detail-teacher-content{background:var(--color-bg-soft, #f9f9f9);border-radius:8px;padding:14px 16px;margin-bottom:20px;font-size:14px}.uc-hw-submitted-preview{background:var(--color-bg-soft, #f9f9f9);border-radius:8px;padding:14px 16px;margin-bottom:16px}.uc-hw-submitted-preview h4{margin:0 0 8px;font-size:14px}.uc-journal-layout{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}@media (max-width: 900px){.uc-journal-layout{grid-template-columns:1fr}.uc-journal-sidebar{position:static!important}}.uc-journal-main{min-width:0}.uc-journal-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:16px}.uc-journal-course-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.uc-journal-course-tab{padding:6px 16px;border-radius:20px;border:1px solid var(--color-border, #ddd);background:transparent;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;color:var(--color-text, #222)}.uc-journal-course-tab.active{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:#fff}.uc-journal-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px}.uc-journal-ring-card{flex:1 1 140px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border-radius:12px;border:1px solid var(--color-border, #eee);background:var(--color-bg, #fff);min-width:130px}.uc-journal-ring-svg{display:block;overflow:visible}.uc-journal-ring-bg{fill:none;stroke:var(--color-border-tertiary, #e5e7eb)}.uc-journal-ring-fill{fill:none;stroke-linecap:round;transition:stroke-dasharray .4s}.uc-journal-ring-label{font-size:11px;font-weight:600;text-anchor:middle;fill:var(--color-muted, #888);text-transform:uppercase;letter-spacing:.04em}.uc-journal-ring-value{font-size:15px;font-weight:700;text-anchor:middle;fill:var(--color-text, #222)}.uc-journal-ring-title{font-size:12px;color:var(--color-muted, #888);text-align:center;line-height:1.3}.uc-journal-lesson-list{display:flex;flex-direction:column;gap:6px}.uc-journal-lesson-row{border:1px solid var(--color-border, #eee);border-radius:10px;overflow:hidden;background:var(--color-bg, #fff)}.uc-journal-lesson-header{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:none;border:none;width:100%;text-align:left}.uc-journal-lesson-header:hover{background:var(--color-bg-soft, #f9f9f9)}.uc-journal-lesson-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--color-bg-soft, #f0f0f0);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--color-muted, #888)}.uc-journal-lesson-date{flex-shrink:0;font-size:13px;color:var(--color-muted, #888);min-width:90px}.uc-journal-lesson-topic{flex:1;font-size:14px;font-weight:500;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uc-journal-lesson-badges{display:flex;gap:6px;flex-shrink:0}.uc-journal-lesson-expand{margin-left:auto;flex-shrink:0;color:var(--color-muted, #888)}.uc-journal-lesson-body{padding:0 14px 14px 50px;display:flex;flex-direction:column;gap:10px}.uc-journal-lesson-detail-row{display:flex;gap:8px;align-items:flex-start;font-size:13px}.uc-journal-lesson-detail-label{flex-shrink:0;color:var(--color-muted, #888);min-width:90px;padding-top:1px}.uc-journal-lesson-detail-value{color:var(--color-text, #222)}.uc-journal-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.uc-journal-badge-present{background:#dcfce7;color:#166534}.uc-journal-badge-late{background:#fef9c3;color:#854d0e}.uc-journal-badge-absent{background:#fee2e2;color:#991b1b}.uc-journal-badge-planned{background:var(--color-bg-soft, #f5f5f5);color:var(--color-muted, #888)}.uc-journal-badge-done{background:#dcfce7;color:#166534}.uc-journal-badge-partial{background:#fef9c3;color:#854d0e}.uc-journal-badge-not-done{background:#fee2e2;color:#991b1b}.uc-journal-badge-not-assigned{background:var(--color-bg-soft, #f5f5f5);color:var(--color-muted, #888)}.uc-journal-calendar-card{border:1px solid var(--color-border, #eee);border-radius:12px;padding:16px;background:var(--color-bg, #fff)}.uc-journal-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.uc-journal-calendar-nav span{font-size:14px;font-weight:600}.uc-journal-calendar-nav button{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-muted, #888);border-radius:6px;display:flex;align-items:center}.uc-journal-calendar-nav button:hover{background:var(--color-bg-soft, #f5f5f5)}.uc-journal-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.uc-journal-calendar-weekdays span{font-size:11px;color:var(--color-muted, #888);text-align:center;padding:4px 0}.uc-journal-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.uc-journal-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:50%;border:none;background:none;cursor:default}.uc-journal-cal-day.has-lesson{cursor:pointer}.uc-journal-cal-day.is-present{background:#dcfce7;color:#166534}.uc-journal-cal-day.is-late{background:#fef9c3;color:#854d0e}.uc-journal-cal-day.is-absent{background:#fee2e2;color:#991b1b}.uc-journal-cal-day.is-planned{background:var(--color-bg-soft, #f5f5f5);color:var(--color-muted, #888)}.uc-journal-cal-day.is-scheduled{background:#f3f4f6;color:#9ca3af;border:1.5px dashed #d1d5db;cursor:default}.uc-journal-cal-day.is-today{outline:2px solid var(--color-primary, #2563eb);outline-offset:-1px;font-weight:700}.uc-journal-next-lesson{border:1px solid var(--color-border, #eee);border-radius:12px;padding:16px;background:var(--color-bg, #fff)}.uc-journal-next-lesson h4{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--color-muted, #888);text-transform:uppercase;letter-spacing:.04em}.uc-journal-next-date{font-size:15px;font-weight:700;margin-bottom:4px}.uc-journal-next-time{font-size:13px;color:var(--color-muted, #888)}.uc-journal-next-teacher{font-size:13px;margin-top:6px;color:var(--color-muted, #888)}.uc-journal-mode-tabs{display:flex;gap:8px;margin-bottom:24px}.uc-journal-mode-tab{padding:8px 20px;border-radius:20px;border:1px solid var(--color-border, #ddd);background:transparent;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s;color:var(--color-text, #222)}.uc-journal-mode-tab.active{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:#fff}.uc-journal-teacher-stats-card{border:1px solid var(--color-border, #eee);border-radius:12px;padding:16px;background:var(--color-bg, #fff)}.uc-journal-teacher-stats-card h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--color-muted, #888);text-transform:uppercase;letter-spacing:.04em}.uc-journal-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uc-journal-stat-item{display:flex;flex-direction:column;gap:2px}.uc-journal-stat-value{font-size:22px;font-weight:700;color:var(--color-text, #222);line-height:1}.uc-journal-stat-label{font-size:11px;color:var(--color-muted, #888);line-height:1.3}.uc-journal-cal-day.is-conducted{background:#dcfce7;color:#166534}.uc-teacher-individual-list{display:flex;flex-direction:column;gap:10px}.uc-teacher-individual-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid var(--color-border, #eee);background:var(--color-bg, #fff)}.uc-teacher-individual-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--color-primary-soft, #eff6ff);color:var(--color-primary, #2563eb);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:-.5px}.uc-teacher-individual-info{flex:1;min-width:0}.uc-teacher-individual-name{font-size:14px;font-weight:600;margin-bottom:2px}.uc-teacher-individual-course{font-size:12px;color:var(--color-muted, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uc-teacher-individual-meta{display:flex;gap:16px;margin-top:6px}.uc-teacher-individual-meta-item{font-size:12px;color:var(--color-muted, #888)}.uc-teacher-individual-meta-item strong{color:var(--color-text, #222);font-weight:500}.uc-teacher-student-journal-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.uc-teacher-student-journal-edit-grid{grid-template-columns:1fr}}.uc-teacher-lesson-attendance-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--color-border, #eee)}.uc-teacher-lesson-attendance-label{font-size:13px;color:var(--color-muted, #888);min-width:100px}.uc-admin-group-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:10px 14px;border-radius:8px;background:var(--color-surface, #f8f8f8);border:1px solid var(--color-border, #eee);font-size:13px;color:var(--color-muted, #888);margin-bottom:4px}.uc-admin-group-meta strong{color:var(--color-text, #222);font-weight:500}.uc-journal-stat-grid{grid-template-columns:1fr 1fr}.uc-journal-stat-item:last-child:nth-child(odd){grid-column:1 / -1}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .65s linear infinite}:root{--color-background-success: rgba(34, 197, 94, .12);--color-text-success: #15803d;--color-background-danger: rgba(239, 68, 68, .12);--color-text-danger: #b91c1c;--color-background-warning: rgba(245, 158, 11, .14);--color-text-warning: #b45309;--color-background-secondary: rgba(15, 23, 42, .06);--color-text-secondary: #64748b;--color-border-tertiary: rgba(16, 24, 40, .1);--bg: #f6faff;--bg-alt: #eef5ff;--bg-gradient: radial-gradient(1200px 600px at 10% -10%, #f8fbff 0%, transparent 60%), radial-gradient(900px 500px at 110% 0%, #f2f7ff 0%, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-alt) 100%);--surface: #ffffff;--surface-soft: rgba(255, 255, 255, .78);--border: rgba(16, 24, 40, .08);--card-border: rgba(16, 24, 40, .06);--card-hover: #f8fbff;--table-bg: #ffffff;--input-bg: #ffffff;--input-border: rgba(16, 24, 40, .12);--input-focus: rgba(37, 99, 235, .6);--input-focus-glow: rgba(37, 99, 235, .18);--sidebar-bg: rgba(245, 250, 255, .95);--sidebar-item-bg: rgba(226, 238, 250, .65);--sidebar-item-hover: rgba(37, 99, 235, .12);--sidebar-item-active: rgba(37, 99, 235, .16);--ink: #101828;--muted: #475467;--accent: #2563eb;--accent-strong: #1e40af;--accent-soft: #dbeafe;--skeleton-base: rgba(148, 163, 184, .18);--skeleton-highlight: rgba(255, 255, 255, .78);--warning: #dc2626;--shadow: 0 6px 16px rgba(16, 24, 40, .08);--radius: 10px}.teacher-dashboard-page{position:relative;gap:20px}.teacher-dashboard-page:before,.teacher-dashboard-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.teacher-dashboard-page:before{background:radial-gradient(420px 220px at 0% 2%,rgba(14,165,233,.12),transparent 72%),radial-gradient(320px 180px at 100% 12%,rgba(59,130,246,.08),transparent 68%)}.teacher-dashboard-page:after{background:radial-gradient(360px 220px at 100% 55%,rgba(245,158,11,.08),transparent 70%),radial-gradient(420px 240px at 10% 100%,rgba(16,185,129,.07),transparent 72%)}.teacher-dashboard-hero{position:relative;display:grid;gap:16px;width:100%;background:radial-gradient(circle at top left,rgba(10,132,255,.18),transparent 40%),radial-gradient(circle at 85% 20%,rgba(59,130,246,.12),transparent 36%),linear-gradient(135deg,#fffffffa,#ecf5fff5);border-color:#2563eb1f;overflow:hidden}.teacher-dashboard-hero:after{content:"";position:absolute;inset:auto -40px -58px auto;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.12),transparent 70%);pointer-events:none}.teacher-dashboard-hero h1{margin-bottom:10px}.teacher-dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-dashboard-stat{padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:#ffffffe6;box-shadow:inset 0 1px #ffffffb3}.teacher-dashboard-stat.accent{background:linear-gradient(135deg,#0a84ff2e,#0a84ff12);border-color:#0a84ff38}.teacher-dashboard-stat-label{display:block;margin-bottom:8px;color:var(--muted);font-size:13px}.teacher-dashboard-stat strong{font-size:24px}.teacher-dashboard-sections{align-items:stretch}.teacher-dashboard-section{position:relative;display:grid;gap:16px;height:100%;overflow:hidden;align-content:start}.teacher-dashboard-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:1}.teacher-dashboard-section-current{background:radial-gradient(220px 120px at 100% 0%,rgba(37,99,235,.12),transparent 70%),linear-gradient(180deg,#f6fafffa,#fffffff5);border-color:#2563eb1f}.teacher-dashboard-section-today{background:radial-gradient(220px 120px at 0% 0%,rgba(14,165,233,.1),transparent 70%),linear-gradient(180deg,#f8fcfffa,#fffffff5)}.teacher-dashboard-section-replaced{background:radial-gradient(220px 120px at 100% 0%,rgba(245,158,11,.12),transparent 68%),linear-gradient(180deg,#fffbf3fa,#fffffff5);border-color:#f59e0b24}.teacher-dashboard-section-week{background:radial-gradient(260px 140px at 0% 0%,rgba(16,185,129,.09),transparent 72%),linear-gradient(180deg,#f8fcfafa,#fffffff5)}.teacher-dashboard-substitution-alert{display:grid;gap:14px;background:radial-gradient(260px 130px at 100% 0%,rgba(239,68,68,.12),transparent 68%),linear-gradient(180deg,#fff7f7fa,#fffffff5);border-color:#ef44442e}.teacher-dashboard-alert-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;color:var(--warning);font-size:13px;font-weight:700}.teacher-dashboard-substitution-list{display:grid;gap:10px}.teacher-dashboard-substitution-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(239,68,68,.14);border-radius:8px;background:#ffffffe6}.teacher-dashboard-substitution-item-main{display:grid;gap:4px;font-weight:600}.teacher-dashboard-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.teacher-dashboard-list{display:grid;gap:12px}.teacher-dashboard-lesson{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.teacher-dashboard-lesson.current{border-color:#0a84ff3d;background:linear-gradient(135deg,#0a84ff1f,#fffffffa)}.teacher-dashboard-lesson.is-past{opacity:.6}.teacher-dashboard-lesson-warning{border-color:#f59e0b3d;background:linear-gradient(135deg,#f59e0b1a,#fffffffa)}.teacher-dashboard-lesson-time,.teacher-week-lesson-time{margin-bottom:4px;color:var(--muted);font-size:13px;font-weight:600}.teacher-dashboard-lesson-title,.teacher-week-lesson-title,.teacher-session-title,.teacher-session-student-name{font-weight:700}.teacher-session-time{color:var(--ink);font-size:16px;font-weight:700;line-height:1.35;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#2563eb24,#2563eb0f);border:1px solid rgba(37,99,235,.18);box-shadow:inset 0 1px #ffffffa6}.teacher-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;align-items:stretch}.teacher-week-day{display:grid;grid-template-rows:auto 1fr;gap:12px;min-height:228px;padding:16px;border:1px solid var(--border);border-radius:20px;background:#ffffffd6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffffb3}.teacher-week-day-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;font-size:13px;padding-bottom:10px;border-bottom:1px solid rgba(16,24,40,.06)}.teacher-week-day-label{display:inline-block;max-width:calc(100% - 42px);font-size:14px;line-height:1.35}.teacher-week-day-head span{min-width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0a84ff14;color:var(--accent-strong);font-weight:700;flex-shrink:0}.teacher-week-day-body{display:grid;align-content:start;gap:10px}.teacher-week-day-empty{display:flex;align-items:center;justify-content:center;min-height:124px;border:1px dashed rgba(16,24,40,.1);border-radius:16px;background:#ffffff94;color:var(--muted);font-size:14px;text-align:center}.teacher-week-lesson{text-align:left;width:100%;padding:12px 13px;border:1px solid rgba(16,24,40,.06);border-radius:16px;background:#ffffffeb;color:inherit;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.teacher-week-lesson:hover{border-color:#0a84ff38;background:#0a84ff1a;transform:translateY(-1px);box-shadow:0 10px 20px #2563eb14}.teacher-week-lesson:focus-visible{outline:none;border-color:#0a84ff52;background:#0a84ff1f;box-shadow:0 0 0 3px #2563eb1f}.teacher-week-lesson-meta{color:var(--muted);font-size:13px}.teacher-week-lesson-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.teacher-week-lesson-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;border:1px solid transparent}.teacher-week-lesson-badge.replacement{background:#2563eb24;border-color:#2563eb33;color:#1e40af}.teacher-week-lesson-badge.replaced{background:#ef444424;border-color:#ef444438;color:#b42318}.teacher-week-lesson-badge.completed{background:#10b98124;border-color:#10b98133;color:#047857}.teacher-session-modal,.teacher-session-page-card{display:grid;gap:18px}.teacher-session-page-head{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start}.teacher-session-page-head h1{margin:0}.teacher-session-head-main{display:grid;gap:10px;min-width:0}.teacher-session-headline{display:grid;gap:10px;justify-items:start}.teacher-session-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.teacher-session-head-side{display:grid;gap:4px;justify-items:end;text-align:right}.teacher-session-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.teacher-session-inline{width:100%}.teacher-session-summary,.teacher-session-footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.teacher-session-actions{display:flex;gap:10px;justify-content:flex-end;margin-left:auto}.teacher-session-footer-actions{justify-content:flex-end}.teacher-session-table{display:grid;gap:10px}.teacher-session-header,.teacher-session-row{display:grid;grid-template-columns:minmax(0,1.5fr) 180px 140px;gap:12px;align-items:center}.teacher-session-header{padding:0 6px;color:var(--muted);font-size:13px;font-weight:700}.teacher-session-row{padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.teacher-dashboard-empty-compact{padding:18px 16px;gap:8px;min-height:0}.teacher-dashboard-empty-soft,.card.teacher-dashboard-empty-soft{background:transparent;border:none;box-shadow:none;margin-top:-12px;padding-top:0}.teacher-dashboard-empty-soft:hover,.card.teacher-dashboard-empty-soft:hover{background:transparent;box-shadow:none}.teacher-dashboard-empty-soft .empty-state-icon{background:#ffffffb3;box-shadow:none}.teacher-dashboard-empty-compact .empty-state-icon{width:44px;height:44px}.teacher-dashboard-empty-compact .empty-state-icon.student-today-empty-mascot{width:240px;height:240px;border-radius:0;border:none;background:transparent;box-shadow:none;margin-top:-16px}.teacher-dashboard-empty-compact .empty-state-icon.student-today-empty-mascot img{width:100%;height:100%;object-fit:contain}.teacher-dashboard-empty-compact .empty-state-title{font-size:17px}.teacher-dashboard-empty-compact .empty-state-description{font-size:14px}.teacher-workspace-page{gap:20px}.teacher-workspace-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);gap:20px;align-items:start}.teacher-workspace-main,.teacher-workspace-side,.teacher-lesson-grid,.teacher-group-list,.teacher-attention-list{display:grid;gap:14px}.teacher-lesson-grid.compact{gap:12px}.teacher-lesson-card,.teacher-group-card,.teacher-attention-item{border:1px solid rgba(16,24,40,.08);border-radius:18px;background:#ffffffc2;box-shadow:0 10px 24px #1018280d}.teacher-lesson-card{display:grid;gap:16px;padding:18px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.teacher-lesson-card.compact{gap:14px;padding:16px}.teacher-lesson-card:hover,.teacher-group-card:hover,.teacher-attention-item:hover{border-color:#2563eb2e;box-shadow:0 14px 28px #10182814}.teacher-lesson-card.is-success{border-color:#22c55e38;background:linear-gradient(180deg,#f0fdf4e6,#ffffffd1)}.teacher-lesson-card.is-warning{border-color:#f59e0b3d;background:linear-gradient(180deg,#fffbebe6,#ffffffd1)}.teacher-lesson-card.is-danger{border-color:#ef44443d;background:linear-gradient(180deg,#fef2f2eb,#ffffffd1)}.teacher-lesson-card-head,.teacher-group-card-head,.teacher-group-card-footer,.teacher-attention-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-lesson-card-time{color:var(--ink);font-size:22px;line-height:1}.teacher-lesson-card-body{display:grid;gap:14px}.teacher-lesson-card-title,.teacher-group-card-title{margin:0;font-size:18px;line-height:1.2}.teacher-lesson-card-subtitle,.teacher-group-card-head .muted{margin:4px 0 0}.teacher-lesson-card-meta,.teacher-group-card-meta,.teacher-lesson-card-summary,.teacher-lesson-actions,.teacher-lesson-actions-primary,.teacher-lesson-actions-quick{display:flex;gap:10px;flex-wrap:wrap}.teacher-lesson-card-chip,.teacher-group-card-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid rgba(16,24,40,.08);border-radius:999px;background:#ffffffc2;color:var(--ink);font-size:13px;font-weight:600}.teacher-lesson-card-chip.muted-chip{color:var(--muted);border-style:dashed}.teacher-lesson-card-summary{align-items:center}.teacher-lesson-card-summary .muted{display:inline-flex;align-items:center;gap:6px;margin:0}.teacher-lesson-actions{align-items:center;justify-content:space-between}.teacher-lesson-actions-primary{flex:1 1 220px}.teacher-lesson-actions-primary .btn,.teacher-lesson-actions-primary .hint{width:100%}.teacher-lesson-actions-quick{justify-content:flex-end}.teacher-group-card{display:grid;gap:14px;padding:16px}.teacher-group-card-meta,.teacher-group-card-footer{align-items:center}.teacher-group-card-footer .muted{margin:0}.teacher-attention-list{gap:10px}.teacher-attention-item{align-items:center;padding:14px}.teacher-attention-item-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:12px;background:#2563eb14;color:var(--accent-strong)}.teacher-attention-item-body{min-width:0;flex:1 1 auto;display:grid;gap:3px}.teacher-attention-item-body strong,.teacher-attention-item-body .muted{overflow-wrap:anywhere}@media (max-width: 980px){.teacher-workspace-grid{grid-template-columns:1fr}}@media (max-width: 720px){.teacher-lesson-card,.teacher-group-card,.teacher-attention-item{border-radius:16px}.teacher-lesson-card-head,.teacher-group-card-head,.teacher-group-card-footer,.teacher-attention-item,.teacher-lesson-actions{flex-direction:column}.teacher-lesson-card-time{font-size:20px}.teacher-lesson-actions-primary,.teacher-lesson-actions-quick{width:100%}.teacher-lesson-actions-quick{justify-content:flex-start}.teacher-attention-item .btn{width:100%}}.student-dashboard-page{gap:20px}.student-school-hero{display:flex;align-items:flex-end;gap:18px;min-height:190px;padding:28px;border-radius:30px;background:radial-gradient(circle at 12% 18%,rgba(47,128,237,.18),transparent 34%),linear-gradient(135deg,#fffffffa,#edf8fff5);background-position:center;background-size:cover;box-shadow:0 24px 54px #10182821;overflow:hidden}.student-school-hero.has-cover{color:#fff}.student-school-avatar{width:74px;height:74px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:2px solid rgba(255,255,255,.75);border-radius:20px;background:#ffffffd6;color:#2f80ed;box-shadow:0 18px 34px #1018282e}.student-school-avatar img{width:100%;height:100%;object-fit:cover}.student-school-copy{display:grid;gap:5px;min-width:0}.student-school-copy span{color:#2f80ed;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.student-school-hero.has-cover .student-school-copy span,.student-school-hero.has-cover .student-school-copy p{color:#ffffffd1}.student-school-copy h1{margin:0;overflow:hidden;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(30px,4.5vw,48px);line-height:1;text-overflow:ellipsis;white-space:nowrap}.student-school-copy p{margin:0;color:var(--muted);font-size:14px;font-weight:700}.student-dashboard-section{display:grid;gap:16px;align-content:start}.student-today-empty{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:-8px}.student-today-empty-img{width:240px;height:240px;object-fit:contain}.student-today-empty-title{font-size:17px;font-weight:600;color:var(--ink)}.student-today-carousel{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x;padding-bottom:2px}.student-today-carousel::-webkit-scrollbar{display:none}.student-carousel-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.student-carousel-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .15s,box-shadow .15s}.student-carousel-arrow:hover{background:var(--card-hover);box-shadow:0 2px 8px #0000001a}.student-today-lesson{position:relative;padding:14px 16px;flex:0 0 260px}.student-today-lesson-time{margin-bottom:8px;font-size:20px;font-weight:800;line-height:1.1;color:var(--lesson-muted)}.student-today-lesson.is-current{box-shadow:0 14px 28px #0f172a24}.student-today-lesson.is-completed{opacity:.6}.student-current-badge.is-completed{background:#ffffff73;color:var(--lesson-muted)}.student-current-badge{position:absolute;top:16px;right:16px;display:inline-flex;width:fit-content;max-width:calc(100% - 32px);align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#ffffffbd;color:var(--lesson-accent);font-size:12px;font-weight:800}.student-join-lesson-btn{margin-top:10px;justify-self:start}.student-subjects-section{display:grid;gap:16px}.student-subjects-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.student-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.student-subject-block{display:grid;grid-template-columns:1fr;gap:14px;min-height:188px;padding:20px;align-content:space-between}.student-subject-icon{position:absolute;right:-18px;bottom:-24px;width:132px;height:132px;display:grid;place-items:center;border-radius:32px;background:transparent;color:var(--lesson-text);opacity:.15;pointer-events:none;transform:rotate(-6deg);z-index:1}.student-subject-icon svg{width:100%;height:100%;stroke-width:1.15}.student-subject-main{position:relative;z-index:2;min-width:0;padding-right:58px}.student-subject-main h3{margin:0 0 10px;font-size:24px;line-height:1.12;color:var(--lesson-text)}.student-subject-meta{display:grid;gap:6px;color:var(--lesson-muted);font-size:13px;font-weight:700}.student-subject-meta span{display:inline-flex;align-items:center;gap:6px}.student-subject-library-link{position:relative;z-index:2;justify-self:start;align-self:end;background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.student-library-page{gap:18px}.student-library-school-hero{min-height:160px;position:relative;grid-template-columns:auto minmax(0,1fr);align-items:end}.student-library-head{display:grid;gap:14px;padding:18px}.student-library-head h1{margin:0 0 6px;color:var(--lesson-text)}.student-library-head .muted{color:var(--lesson-muted)}.student-library-back{justify-self:start;background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.student-library-section-head{display:grid;gap:10px;justify-items:start;padding:16px 18px;border-radius:18px;border:1px solid var(--card-border);background:#fff}.student-library-section-head h2{margin:0 0 4px}.student-library-section-head .student-library-back{justify-self:start}.student-library-table{overflow:hidden;padding:0}.student-library-table-head,.student-library-item{display:grid;grid-template-columns:minmax(0,1fr) 120px 130px 220px;gap:14px;align-items:center}.student-library-table-head{padding:12px 16px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-soft);border-bottom:1px solid var(--border)}.student-library-list{display:grid}.student-library-item{padding:14px 16px;border-bottom:1px solid var(--border)}.student-library-item:last-child{border-bottom:0}.student-library-item:hover{background:#2563eb0f}.student-library-item>.student-library-item-icon{grid-column:1;grid-row:1}.student-library-item-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#2563eb1a;color:var(--accent-strong)}.student-library-item-body{display:grid;gap:4px;min-width:0;padding-left:50px;grid-column:1;grid-row:1}.student-library-item-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-library-item-body span{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-library-kind,.student-library-date{color:var(--muted);font-size:13px;white-space:nowrap}.student-library-actions{display:flex;justify-content:flex-end;gap:8px;white-space:nowrap}@media (max-width: 1100px){.teacher-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-week-day{min-height:0}}@media (max-width: 900px){.student-subjects-head{flex-direction:column;align-items:stretch}.student-library-table-head{display:none}.student-library-item{grid-template-columns:auto minmax(0,1fr);gap:10px}.student-library-item>.student-library-item-icon{grid-column:1;grid-row:1}.student-library-item-body{grid-column:2;grid-row:1;padding-left:0}.student-library-kind,.student-library-date,.student-library-actions{grid-column:1 / -1}.student-library-actions{justify-content:flex-start}.student-library-actions .btn{grid-column:1 / -1;justify-self:start}}@media (max-width: 760px){.teacher-dashboard-stats{grid-template-columns:1fr}.teacher-dashboard-lesson,.teacher-session-summary,.teacher-session-footer{flex-direction:column;align-items:stretch}.teacher-week-grid{grid-template-columns:1fr}.teacher-session-header{display:none}.teacher-session-row,.student-subject-grid{grid-template-columns:1fr}}.setup-page{gap:16px}.setup-topbar{padding-top:14px;padding-bottom:14px}.setup-topbar .page-header{align-items:center}.setup-topbar h1{margin-bottom:0}.setup-stepper-card{overflow:hidden;padding-top:14px;padding-bottom:10px}.setup-stepper{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:start;min-width:0;gap:8px 0}.setup-layout{display:block}.setup-step{display:grid;grid-template-rows:22px auto;gap:5px;justify-items:center;align-items:start;text-align:center;min-height:54px;border:0;background:transparent;padding:0}.setup-step.active{box-shadow:none;background:transparent}.setup-step.done{background:transparent}.setup-step-copy{display:grid;gap:0;min-height:24px;align-content:start;justify-items:center}.setup-step-copy strong{font-size:12px;line-height:1.2;font-weight:600;color:var(--muted)}.setup-step.active .setup-step-copy strong,.setup-step.done .setup-step-copy strong{color:#059669}.setup-step-connector{height:0;border-top:2px dashed rgba(148,163,184,.7);width:100%;min-width:0;align-self:start;margin-top:10px}.setup-step-connector.done{border-top-style:solid;border-top-color:#059669cc}.setup-step-index{height:22px;width:22px;border-radius:999px;display:grid;place-items:center;background:#bfdbfee6;box-shadow:inset 0 0 0 2px #93c5fde6;color:transparent;font-weight:700;font-size:0;position:relative}.setup-step.active .setup-step-index{background:#059669;box-shadow:0 0 0 2px #0596692e}.setup-step.active .setup-step-index:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 2px #059669}.setup-step.done .setup-step-index{background:#059669;box-shadow:none}.setup-step.done .setup-step-index:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:12px;line-height:1;font-weight:700}@media (max-width: 1280px){.setup-stepper{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)}}@media (max-width: 960px){.setup-stepper-card{overflow-x:auto}.setup-stepper{min-width:980px}}.setup-content,.setup-grid,.setup-list,.setup-issue-list{display:grid;gap:16px}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.setup-students-grid,.setup-equal-grid,.setup-academic-year-grid,.setup-stage-step-grid,.setup-classes-step-grid,.setup-student-distribution-grid,.setup-teachers-step-grid{align-items:stretch}.setup-students-grid>.card,.setup-equal-grid>.card,.setup-academic-year-grid>.card,.setup-stage-step-grid>.card,.setup-classes-step-grid>.card,.setup-student-distribution-grid>.card,.setup-teachers-step-grid>.card{height:100%}.setup-list-item{border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffffb3}.setup-row-checkbox{display:inline-flex;align-items:center;flex:0 0 auto}.setup-list-item.active{border-color:#2563eb47;background:#2563eb0f}.setup-list-main{flex:1;min-width:0;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.setup-list-scroll{max-height:420px;overflow-y:auto;padding-right:4px}.training-course-form-card{min-height:0;overflow:visible}.training-course-form-scroll{overflow:visible}.training-course-summary-card{min-height:0;overflow:hidden;display:flex;flex-direction:column}.training-course-summary-stack{display:grid;gap:16px}.training-course-summary-list{max-height:420px;overflow-y:auto}.training-course-list-item{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.training-course-list-item:hover{border-color:#2563eb33;background:#2563eb08}.training-course-list-item.active{border-color:#2563eb57;background:#2563eb14;box-shadow:inset 0 0 0 1px #2563eb14}.training-course-list-item .setup-list-main{cursor:pointer}.training-course-students-form-card{min-height:320px;overflow:visible}.training-course-students-summary-card{min-height:320px;display:flex;flex-direction:column}.training-course-students-summary-card.is-scrollable{overflow:hidden}.training-course-students-summary-body{gap:16px}.training-course-students-summary-body.is-scrollable{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.training-course-students-summary-list{flex:1 1 0;min-height:0;overflow-y:auto;padding-right:4px;align-content:start;grid-auto-rows:max-content}.training-course-students-warning{margin-top:8px}.training-course-students-form-grid{gap:16px}.training-course-students-filter-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.training-course-step-actions{margin-top:16px}.training-course-distribution-sections{flex:1 1 0;min-height:0;overflow-y:auto;display:grid;gap:24px;padding-right:4px}.training-course-distribution-section{display:grid;gap:12px;align-content:start}.training-course-distribution-section-header{align-items:flex-start}.training-course-distribution-filter-row{display:flex;flex-wrap:wrap;gap:8px}.training-course-distribution-filter-row .chip{min-height:38px}.training-course-regular-slots{display:grid;gap:14px}.training-course-regular-slot-list{display:grid;gap:12px}.training-course-regular-slot-card{border:1px solid var(--border);border-radius:14px;background:#ffffffbd;padding:14px;display:grid;gap:12px}.training-course-regular-slot-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-course-regular-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.training-course-regular-slot-weekday,.training-course-regular-slot-time-row{grid-column:1 / -1}.training-course-regular-slot-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.training-course-regular-slot-errors{display:grid;gap:4px;font-size:12px;color:#b42318}.training-course-info-callout{display:flex;align-items:center;gap:10px}.training-course-info-callout svg{flex:0 0 auto;color:#2563ebe0}.training-course-schedule-kind{font-size:12px;line-height:1.35;color:var(--muted)}.training-course-schedule-primary{font-size:16px;line-height:1.35;font-weight:600}.roles-access-card-body{display:flex;flex-direction:column;gap:12px}.roles-access-permissions-scroll{max-height:380px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.roles-access-users-list{max-height:420px;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.roles-access-search-head{display:inline-flex;align-items:center;gap:8px}.roles-access-search-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#0f766e26;color:var(--accent-strong);font-size:12px;font-weight:700;line-height:1}.roles-access-note{margin-top:6px;display:inline-block;font-size:12px;line-height:1.35;color:#4b5563;background:#0f172a0a;border:1px solid rgba(15,23,42,.1);border-radius:8px;padding:5px 8px}@media (max-width: 1100px){.roles-access-grid>.card{height:auto}}.setup-parallel-accordion{display:grid;gap:10px;min-height:82px;padding:10px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#ffffff75;transition:border-color .18s ease,background-color .18s ease}.setup-parallel-accordion-header{width:100%;min-height:72px;padding-top:14px;padding-bottom:14px;text-align:left;cursor:pointer}.setup-parallel-accordion-header:hover{border-color:#2563eb47;background:#2563eb0f}.setup-parallel-student-list{gap:10px;max-height:300px;overflow-y:auto;padding-left:2px;padding-right:4px;padding-bottom:2px}.setup-parallel-student-item{background:#ffffff8a}.setup-subject-matrix-list{max-height:320px}.setup-subject-matrix-groups{display:grid;gap:12px}.setup-subject-matrix-group{display:grid;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:#ffffff75}.setup-subject-matrix-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 2px 0}.setup-subject-matrix-group-items{display:grid;gap:8px}.setup-subject-matrix-item{background:#ffffff9e}.setup-teacher-list{max-height:360px}.setup-teacher-no-results{padding:32px 0;text-align:center;color:var(--text-muted);font-size:14px}.setup-workload-filter-row{display:flex;align-items:center;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}.setup-workload-filter-row::-webkit-scrollbar{display:none}.setup-workload-filter-group{display:flex;align-items:center;gap:6px;flex-shrink:0}.setup-workload-filter-divider{width:1px;height:18px;background:var(--border);flex-shrink:0;margin:0 2px}.setup-teacher-filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.setup-teacher-search-field{display:flex;align-items:center;flex:1;gap:8px;height:34px;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:var(--surface);transition:border-color .16s ease}.setup-teacher-search-field:focus-within{border-color:var(--accent)}.setup-teacher-search-field svg{color:var(--text-muted);flex-shrink:0}.setup-teacher-search-field input{border:none;background:transparent;outline:none;flex:1;font-size:14px;color:var(--text);min-width:0}.setup-teacher-search-field input::placeholder{color:var(--text-muted)}.setup-teacher-subject-filter{height:34px;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:var(--surface);font-size:14px;color:var(--text);cursor:pointer;max-width:160px}.setup-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setup-class-name-grid{display:grid;grid-template-columns:minmax(120px,1fr) minmax(96px,.7fr);gap:12px}.setup-chip-row,.setup-inline-actions,.setup-status-box,.setup-footer-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.setup-status-box{justify-content:flex-end}.setup-next-step-action{display:grid;grid-template-columns:auto minmax(180px,260px);align-items:center;gap:8px}.setup-next-step-action .btn{justify-self:end}.setup-next-step-hint{text-align:left}.setup-add-class-button{margin-top:10px}.setup-add-class-step-button{margin-top:8px}.setup-unassigned-students-card{grid-column:1 / -1}.setup-time-slots-grid{display:grid;gap:10px}.setup-lesson-duration-row{margin-bottom:8px}.setup-time-slot-row{display:grid;grid-template-columns:84px minmax(150px,220px) 72px 40px;align-items:center;gap:10px;min-height:40px}.setup-time-slot-label{font-weight:600;line-height:40px}.setup-time-selects{display:grid;grid-template-columns:minmax(64px,1fr) auto minmax(64px,1fr);align-items:center;gap:6px}.setup-time-separator{color:var(--muted);font-weight:700;line-height:40px}.setup-time-slot-row select{height:40px}.setup-time-slot-row .icon-btn{align-self:center;justify-self:center;height:40px;width:40px}.setup-time-slot-row .muted{align-self:center;line-height:40px}.setup-list-item>.setup-inline-actions{margin-left:auto;flex-shrink:0;justify-content:flex-end}.setup-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:flex-start}.setup-checkbox-grid-scroll{max-height:280px;overflow-y:auto;padding-right:4px}.setup-checkbox{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:#ffffffb8;width:fit-content;max-width:100%;flex:0 0 auto;white-space:nowrap}.setup-checkbox-select-all{width:fit-content;margin-bottom:8px;white-space:nowrap}.setup-checkbox.is-disabled{opacity:.56}.setup-checkbox-note{color:var(--text-muted)}.setup-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.setup-metric-card,.setup-publish-box{border:1px solid var(--border);border-radius:14px;padding:14px;background:#ffffffb8}.setup-metric-card{display:grid;gap:6px}.setup-metric-card strong{display:block}.setup-publish-box{display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-issue{border-radius:14px;padding:14px;border:1px solid var(--border);background:#ffffffb8}.setup-issue.blocking{border-color:#dc26262e;background:#fef2f2db}.setup-stage-grid{display:grid;gap:14px;height:100%}.setup-stage-card{width:100%;min-height:132px;border:1px solid var(--border);border-radius:18px;padding:18px;background:linear-gradient(135deg,#fffffff0,#f4f8fceb);text-align:center;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;display:flex;align-items:center;justify-content:center}.setup-stage-card:hover{border-color:var(--accent-soft);box-shadow:0 10px 24px #10182814;transform:translateY(-1px)}.setup-stage-card.is-active{border-color:var(--accent);background:linear-gradient(135deg,#eaf5fffa,#ddf0fff5);box-shadow:0 12px 26px #2266b41f}.setup-stage-card-title{font-size:18px;font-weight:700;color:var(--text)}.setup-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.setup-section-heading h2,.setup-section-heading h3{margin:0}.setup-count-circle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#2563eb1a;color:var(--accent);font-size:14px;font-weight:700;flex:0 0 auto}.setup-issue.warning{border-color:#f59e0b2e;background:#fffbebe6}.setup-issue-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.setup-rule-list{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:8px}.setup-issue-details{display:grid;gap:6px;margin-top:10px}.setup-issue-detail-item{padding:8px 10px;border-radius:10px;background:#ffffffbd;border:1px solid rgba(16,24,40,.06);color:var(--ink)}@media (max-width: 1100px){.setup-grid,.setup-class-name-grid{grid-template-columns:1fr}.setup-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.setup-metric-grid,.training-course-regular-slot-grid{grid-template-columns:1fr}.training-course-regular-slot-time-row{grid-template-columns:1fr 1fr}.setup-publish-box,.setup-footer-nav,.setup-status-box,.setup-list-item,.setup-issue-header{align-items:flex-start;flex-direction:column}.setup-next-step-action{margin-left:0;grid-template-columns:1fr}.setup-time-slot-row{grid-template-columns:1fr 40px}.setup-time-selects,.setup-time-slot-row .muted{grid-column:1 / -1}}[data-theme=dark]{--color-background-success: rgba(34, 197, 94, .16);--color-text-success: #4ade80;--color-background-danger: rgba(239, 68, 68, .16);--color-text-danger: #f87171;--color-background-warning: rgba(245, 158, 11, .18);--color-text-warning: #fbbf24;--color-background-secondary: rgba(255, 255, 255, .07);--color-text-secondary: #94a3b8;--color-border-tertiary: rgba(255, 255, 255, .1);--bg: #0f1115;--bg-alt: #12161c;--bg-gradient: linear-gradient(180deg, #0f1115 0%, #131821 100%);--surface: #1a1f28;--surface-soft: rgba(26, 31, 40, .92);--border: rgba(255, 255, 255, .08);--card-border: rgba(255, 255, 255, .08);--card-hover: rgba(255, 255, 255, .04);--table-bg: #141821;--input-bg: #141821;--input-border: rgba(255, 255, 255, .14);--input-focus: rgba(51, 154, 240, .7);--input-focus-glow: rgba(51, 154, 240, .2);--sidebar-bg: rgba(16, 20, 28, .96);--sidebar-item-bg: rgba(31, 37, 48, .7);--sidebar-item-hover: rgba(51, 154, 240, .18);--sidebar-item-active: rgba(51, 154, 240, .24);--ink: #eef2f7;--muted: #b4becd;--accent: #339af0;--accent-strong: #5aa5ff;--accent-soft: rgba(51, 154, 240, .18);--skeleton-base: rgba(148, 163, 184, .18);--skeleton-highlight: rgba(255, 255, 255, .1);--warning: #f87171;--shadow: 0 8px 20px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Space Grotesk,sans-serif;color:var(--ink);background:var(--bg-gradient);min-height:100vh;min-height:100dvh;transition:background-color .25s ease,color .25s ease,background .25s ease;overflow-x:hidden}.app-layout,.sidebar,.card,.modal-card,.table,.nav-item,input,textarea,select,.btn,.chip,.date-popover,.rdp{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}[data-theme=dark] body,[data-theme=dark] .app-shell,[data-theme=dark] .card,[data-theme=dark] .modal-card,[data-theme=dark] .table,[data-theme=dark] .table th,[data-theme=dark] .table td,[data-theme=dark] .filter-row,[data-theme=dark] .filter-toolbar,[data-theme=dark] .details,[data-theme=dark] .lesson-row{color:var(--ink)}h1,h2,h3,h4{font-family:Space Grotesk,Manrope,sans-serif;margin:0 0 12px}p{color:var(--muted);line-height:1.6}a{color:var(--accent-strong);text-decoration:none;border-radius:8px;transition:background-color .15s ease,color .15s ease}a:hover{background:#2563eb14}.app-shell{min-height:100vh;min-height:100dvh;padding:0}.page{max-width:none;margin:0 auto;display:grid;gap:20px;min-width:0}.page>*,.card,.stack,.grid,.page-header,.filter-search-row,.filter-controls-row,.table-wrap{min-width:0}.journal-page{min-height:100vh;overflow:visible;grid-template-rows:auto auto auto;min-height:0;min-width:0;--journal-table-height: calc(100vh - 220px) }body.journal-no-scroll{overflow:auto}body.journal-no-scroll .app-shell{min-height:100vh;padding:0;height:auto;overflow:visible}body.journal-no-scroll .page{max-width:none;margin:0;height:auto}.app-layout{--sidebar-width: 240px;--mobile-nav-offset: 0px;min-height:100vh;min-height:100dvh}.app-layout.sidebar-collapsed{--sidebar-width: 72px}.app-layout main{min-height:100vh;min-height:100dvh;min-width:0;margin-left:var(--sidebar-width);padding:32px 20px calc(56px + var(--mobile-nav-offset))}.sidebar{position:fixed;top:0;left:0;z-index:1000;width:var(--sidebar-width);height:100vh;height:100dvh;display:flex;flex-direction:column;gap:12px;align-content:start;padding:18px 12px;border-radius:0;background:var(--sidebar-bg);box-shadow:var(--shadow);overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-school{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff8c;font-weight:700;color:var(--ink)}.sidebar-school-avatar{width:30px;height:30px;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:8px;background:#ffffffc7;color:var(--muted)}.sidebar-school-avatar img{width:100%;height:100%;object-fit:cover}.mobile-school-header{display:none}.mobile-school-avatar{width:36px;height:36px;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:10px;background:#ffffffc7;color:var(--muted)}.mobile-school-avatar img{width:100%;height:100%;object-fit:cover}.mobile-school-info{display:grid;gap:1px;min-width:0}.mobile-school-info span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mobile-school-info strong{overflow:hidden;color:var(--ink);font-size:15px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.school-cover-hero{display:flex;align-items:flex-end;gap:16px;min-height:132px;margin:0 auto 18px;padding:22px;border-radius:26px;background-position:center;background-size:cover;box-shadow:0 24px 52px #10182824;color:#fff;overflow:hidden}.school-cover-avatar{width:58px;height:58px;display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border:2px solid rgba(255,255,255,.72);border-radius:16px;background:#ffffffd1;color:#2f80ed;box-shadow:0 14px 30px #0000002e}.school-cover-avatar img{width:100%;height:100%;object-fit:cover}.school-cover-copy{display:grid;gap:3px;min-width:0;text-shadow:0 2px 16px rgba(0,0,0,.3)}.school-cover-copy span{color:#fffc;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.school-cover-copy strong{overflow:hidden;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(24px,3vw,36px);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}body.dark .sidebar-school{background:#12161eb3}.sidebar-school-name{font-size:13px;line-height:1.2;word-break:break-word}.sidebar-school-short{font-size:12px;letter-spacing:.08em}.substitution-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px;padding:14px 18px;border-radius:14px;background:var(--sidebar-item-bg);color:var(--ink);border:1px solid transparent;box-shadow:0 8px 18px #0f172a14}.homework-resubmission-notice{background:#dc262614;border-color:#dc262647}.homework-resubmission-notice-comment{color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.sidebar-toggle{padding:8px 10px;min-width:40px}.sidebar a{color:var(--ink);font-weight:600;text-decoration:none}.sidebar a:hover{background:var(--sidebar-item-hover)}.sidebar a.active{background:var(--sidebar-item-active);color:var(--accent-strong)}.nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--sidebar-item-bg);color:inherit;align-self:start;width:100%}.nav-item:hover{background:var(--sidebar-item-hover)}.nav-item.has-homework-alert{background:#f59e0b24;color:var(--text)}.nav-item.has-homework-alert:hover,.nav-item.has-homework-alert.active{background:#f59e0b38}.nav-item:hover .nav-icon{transform:rotate(10deg)}.nav-icon{flex:0 0 auto;transition:transform .18s ease}.nav-label{white-space:normal;line-height:1.2}.nav-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-left:auto;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:800;line-height:1}.sidebar-nav-group{display:grid;gap:6px;width:100%}.sidebar-nav-group-trigger{border:0;font:inherit;font-weight:700;text-align:left;cursor:pointer}.sidebar-nav-group.is-active>.sidebar-nav-group-trigger{background:var(--sidebar-item-active);color:var(--accent-strong)}.sidebar-nav-group-chevron{margin-left:auto;transition:transform .18s ease}.sidebar-nav-group-chevron.is-open{transform:rotate(180deg)}.sidebar-nav-group-items{display:grid;gap:6px;padding-left:12px;border-left:1px solid var(--border)}.sidebar-nav-group-items .nav-item{background:transparent;border:1px solid transparent}.sidebar-nav-group-items .nav-item:hover{background:var(--sidebar-item-hover)}.sidebar-nav-group-items .nav-item.active{background:var(--sidebar-item-active);border-color:#2563eb24}.sidebar-footer{margin-top:auto;display:grid;gap:10px}.sidebar-section{display:grid;gap:10px}.sidebar-section-secondary{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.sidebar-section-secondary .sidebar-title{color:var(--muted)}.sidebar-section-secondary .nav-item{background:transparent;border:1px dashed var(--border);color:var(--muted)}.sidebar-section-secondary .nav-item.active{background:var(--sidebar-item-active);border-style:solid;color:var(--accent-strong)}.theme-toggle{width:fit-content;border:1px solid var(--border);background:transparent;border-radius:999px;padding:0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.theme-toggle:hover{background:var(--sidebar-item-hover)}.theme-track{position:relative;width:86px;height:34px;border-radius:999px;background:linear-gradient(180deg,#a6d5ff,#70b7ff);border:1px solid rgba(30,64,175,.18);box-shadow:inset 0 2px 6px #fff6,0 6px 14px #0f172a2e;overflow:hidden;transition:background .25s ease,border-color .25s ease}.theme-toggle.is-dark .theme-track{background:linear-gradient(180deg,#1b2234,#0f1422);border-color:#e2e8f01f}.theme-day-scene,.theme-night-scene{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;overflow:hidden;pointer-events:none;transition:opacity .3s ease}.theme-day-scene{opacity:1}.theme-night-scene{opacity:0}.theme-toggle.is-dark .theme-night-scene{opacity:1}.theme-toggle.is-dark .theme-day-scene{opacity:0}.theme-cloud{position:absolute;background:#ffffffd9;border-radius:50px;opacity:0}.theme-cloud:before,.theme-cloud:after{content:"";position:absolute;background:#ffffffd9;border-radius:50%}.cloud-1{width:30px;height:10px;top:6px;left:-40px;animation-delay:.2s}.cloud-1:before{width:14px;height:14px;top:-6px;left:6px}.cloud-1:after{width:12px;height:12px;top:-5px;right:6px}.cloud-2{width:26px;height:9px;top:14px;left:-40px;animation-delay:.5s}.cloud-2:before{width:12px;height:12px;top:-5px;left:6px}.cloud-3{width:24px;height:8px;top:20px;left:-40px;animation-delay:.8s}.cloud-3:before{width:10px;height:10px;top:-4px;left:6px}.theme-toggle:not(.is-dark) .theme-cloud{animation:cloud-slide 1.6s ease-out forwards}@keyframes cloud-slide{0%{left:-40px;opacity:0}20%{opacity:.9}to{left:56px;opacity:.6}}.theme-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .25s ease}.theme-toggle.is-dark .theme-stars{opacity:1}.theme-stars .star{position:absolute;background:#ffffffc2;border-radius:50%;opacity:0;box-shadow:0 0 4px #ffffffb3}.theme-toggle.is-dark .theme-stars .star{animation:star-twinkle 2s ease-in-out infinite}.theme-stars .star-1{width:2px;height:2px;top:6px;left:16px;animation-delay:.3s}.theme-stars .star-2{width:2px;height:2px;top:12px;left:10px;animation-delay:.7s}.theme-stars .star-3{width:3px;height:3px;top:18px;left:20px;animation-delay:.5s}.theme-stars .star-4{width:2px;height:2px;top:22px;left:14px;animation-delay:1s}.theme-stars .star-5{width:3px;height:3px;top:8px;left:28px;animation-delay:.2s}.theme-stars .star-6{width:2px;height:2px;top:24px;left:24px;animation-delay:.8s}.theme-stars .shooting-star{position:absolute;width:2px;height:2px;top:4px;left:30px;background:#ffffffc2;border-radius:50%;opacity:0;box-shadow:0 0 6px 2px #ffffffe6}.theme-toggle.is-dark .theme-stars .shooting-star{animation:shooting-star 1.8s ease-out .4s infinite}.theme-stars .shooting-star:after{content:"";position:absolute;top:0;left:0;width:20px;height:2px;background:linear-gradient(90deg,#fff,transparent);transform-origin:left;border-radius:50%}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes shooting-star{0%{opacity:0;transform:translate(0) rotate(-35deg)}10%{opacity:1}to{opacity:0;transform:translate(-18px,10px) rotate(-35deg)}}.theme-knob{position:absolute;top:50%;left:8px;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#ffd54f;display:flex;align-items:center;justify-content:center;color:#8a5c00;box-shadow:inset 0 2px 6px #ffffff80,0 6px 10px #0f172a40;transition:transform .25s ease,background .25s ease,color .25s ease}.theme-toggle.is-dark .theme-knob{transform:translate(44px,-50%);background:#e2e8f0;color:#4b5563}.attachment-kind-grid{display:flex;gap:8px;align-items:center}.attachment-kind-btn{width:36px;height:36px;border-radius:8px;border:1px solid rgba(37,99,235,.2);background:#e2eefa73;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-strong);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.attachment-kind-btn:hover{background:#2563eb1f}.attachment-kind-btn.is-active{background:#2563eb2e;border-color:#2563eb66}.hw-content-picker{border:1px solid rgba(15,23,42,.09);border-radius:18px;padding:28px;background:#f8fafcb3}.hw-content-picker-header{font-size:.875rem;font-weight:600;color:var(--muted, #64748b);letter-spacing:.05em;text-transform:uppercase;margin-bottom:20px}.hw-content-type-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.hw-content-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 12px;border-radius:16px;border:1px solid rgba(15,23,42,.09);background:#fff;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease;min-height:108px}.hw-content-type-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a17}.hw-content-type-card:active{transform:translateY(0);box-shadow:none}.hw-content-type-card[data-kind=text]{background:#7c3aed12;border-color:#7c3aed2e}.hw-content-type-card[data-kind=image]{background:#db277712;border-color:#db27772e}.hw-content-type-card[data-kind=video]{background:#dc262612;border-color:#dc26262e}.hw-content-type-card[data-kind=audio]{background:#05966912;border-color:#0596692e}.hw-content-type-card[data-kind=file]{background:#4755690f;border-color:#47556929}.hw-content-type-card[data-kind=presentation]{background:#d9770612;border-color:#d977062e}.hw-content-type-card[data-kind=text]:hover{background:#7c3aed21;border-color:#7c3aed61}.hw-content-type-card[data-kind=image]:hover{background:#db277721;border-color:#db277761}.hw-content-type-card[data-kind=video]:hover{background:#dc262621;border-color:#dc262661}.hw-content-type-card[data-kind=audio]:hover{background:#05966921;border-color:#05966961}.hw-content-type-card[data-kind=file]:hover{background:#4755691c;border-color:#47556957}.hw-content-type-card[data-kind=presentation]:hover{background:#d9770621;border-color:#d9770661}.hw-content-type-card[data-kind=text] .hw-content-type-icon{color:#7c3aed}.hw-content-type-card[data-kind=image] .hw-content-type-icon{color:#db2777}.hw-content-type-card[data-kind=video] .hw-content-type-icon{color:#dc2626}.hw-content-type-card[data-kind=audio] .hw-content-type-icon{color:#059669}.hw-content-type-card[data-kind=file] .hw-content-type-icon{color:#475569}.hw-content-type-card[data-kind=presentation] .hw-content-type-icon{color:#d97706}.hw-content-type-icon{display:flex;align-items:center;justify-content:center;color:#64748b}.hw-content-type-label{font-size:.8rem;font-weight:600;color:#1e293b;text-align:center;line-height:1.25}.teacher-homework-mode-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:8px}.teacher-homework-mode-card{text-align:left;padding:18px;border-radius:18px;border:1px solid rgba(37,99,235,.18);background:linear-gradient(180deg,#eff6ffe6,#fffffffa);cursor:pointer;display:grid;gap:8px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.teacher-homework-mode-card:hover{transform:translateY(-1px);border-color:#2563eb52;box-shadow:0 16px 30px #0f172a14}.teacher-homework-mode-title{font-size:1rem;font-weight:700}.teacher-homework-assessment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.teacher-homework-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;text-align:left;width:100%;padding:12px;border:1px solid rgba(37,99,235,.18);border-radius:8px;cursor:pointer;background:#fffffff5}.teacher-homework-choice.is-active{border-color:#2563eb7a;background:#eff6ffe6}.teacher-homework-choice input{width:auto;min-width:0;padding:0;margin-top:3px;justify-self:start}.teacher-homework-choice span{display:grid;gap:4px;justify-items:start;min-width:0;text-align:left}.teacher-homework-choice strong,.teacher-homework-choice small{text-align:left}.teacher-homework-choice small{color:var(--muted);line-height:1.35}.teacher-homework-scale{display:grid;gap:12px;margin-top:12px}.teacher-homework-scale-table{display:grid;gap:8px}.teacher-homework-scale-row{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.teacher-homework-scale-head{color:var(--muted);font-size:13px}.teacher-homework-scale-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.teacher-homework-scale-preview span{padding:6px 8px;border:1px solid rgba(37,99,235,.18);border-radius:8px;background:#fffffff5;font-size:13px}.teacher-recording-editor{display:grid;gap:14px;margin-top:14px}.teacher-recordings-list{display:grid;gap:12px}.teacher-recording-upload-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.teacher-recording-uploading{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid rgba(37,99,235,.16);background:#eff6ffe6;color:var(--accent-strong);font-weight:600}.teacher-recording-preview{padding:12px 14px;border-radius:14px;border:1px solid var(--card-border);background:var(--card-bg)}.app-layout.sidebar-collapsed .sidebar{padding:18px 8px}.app-layout.sidebar-collapsed .sidebar a,.app-layout.sidebar-collapsed .sidebar .sidebar-title{font-size:0;padding:8px 0;background:transparent}.app-layout.sidebar-collapsed .sidebar a{text-align:center}.app-layout.sidebar-collapsed .nav-item{justify-content:center;padding:10px 0;background:transparent}.app-layout.sidebar-collapsed .nav-item.has-homework-alert{background:#f59e0b24}.app-layout.sidebar-collapsed .nav-label{display:none}.app-layout.sidebar-collapsed .nav-count-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;font-size:10px}.logout-btn{justify-content:flex-start}.app-layout.sidebar-collapsed .sidebar-title{height:6px;margin:2px 0}.sidebar .sidebar-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border:1px solid var(--card-border);transition:background-color .15s ease,box-shadow .15s ease}.card.soft{background:var(--surface-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card:hover{background:var(--card-hover);box-shadow:0 8px 18px #1018281a}.substitutions-page-hero{padding:14px 20px}.substitutions-page-hero h1{margin:0}.schedule-change-center-grid{align-items:stretch}.schedule-change-scenario-card{display:flex;flex-direction:column;gap:12px;min-height:170px;border:1px solid rgba(148,163,184,.2);cursor:default;overflow:hidden}.schedule-change-scenario-card .schedule-change-scenario-actions{margin-top:auto}.scenario-card-title{margin:-20px -20px 4px;padding:0 20px;min-height:66px;display:flex;align-items:center;font-size:15px;font-weight:700;letter-spacing:-.1px;color:var(--ink);background:#94a3b826}.schedule-change-scenario-warning .scenario-card-title{font-size:13px}.scenario-card-title--soft{background:#2563eb1f;color:var(--accent-strong)}.scenario-card-title--moved{background:#38bdf833;color:var(--accent-strong)}.scenario-card-title--danger{background:#ef44441f;color:var(--warning)}.scenario-card-title--success{background:#16a34a24;color:#15803d}.empty-state-centered{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 0}.empty-state-mascot{width:180px;height:180px;object-fit:contain;margin-bottom:-20px}.substitutions-section-h2{font-size:20px;font-weight:700;letter-spacing:-.3px;margin:0}.schedule-change-scenario-actions{display:flex;flex-wrap:wrap;gap:8px}.schedule-change-scenario-warning{border-color:#ef44442e;background:linear-gradient(180deg,#fff7f7fa,#fffffff5)}.schedule-change-events-card,.schedule-change-operation-card{display:grid;gap:14px}.schedule-change-operation-card>.page-header{justify-content:flex-start}.schedule-change-operation-card>.page-header .section-title{font-size:17px;font-weight:700;letter-spacing:-.2px;color:var(--color-text, #0f172a)}.schedule-change-operation-grid{align-items:start}.schedule-change-events-list{display:grid;gap:10px}.schedule-change-event-item{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#ffffffbf}.schedule-change-event-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.schedule-change-event-title{font-weight:700;color:var(--ink)}.schedule-teacher-hero,.schedule-admin-hero{padding:12px 16px}.schedule-teacher-hero-header,.schedule-admin-hero-header{align-items:flex-start;gap:14px}.schedule-teacher-hero-header h1,.schedule-admin-hero-header h1{margin:0}.schedule-teacher-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}.schedule-teacher-hero-actions .btn{min-height:42px;align-self:stretch}.schedule-admin-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.schedule-admin-substitutions-head{display:grid;gap:4px;margin-bottom:12px}.stack{display:grid;gap:12px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pill{display:inline-flex;align-items:center;align-self:flex-start;width:fit-content;max-width:max-content;flex:0 0 auto;gap:8px;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:600;font-size:12px}.pill.soft{background:#0f172a0f;color:var(--muted)}.pill.success{background:#22c55e1f;color:#15803d}.pill.warning{background:#f59e0b24;color:#b45309}.pill.danger{background:#ef44441f;color:#b91c1c}.homework-create-preview-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.homework-create-helper-row,.homework-materials-head,.homework-flat-materials-head,.homework-create-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.homework-create-helper-row{padding:12px 0 4px;margin-bottom:16px}.homework-create-footer-actions{position:sticky;bottom:16px;z-index:4;margin-top:20px;padding:12px;border:1px solid rgba(16,24,40,.12);border-radius:8px;background:#fffffff5;box-shadow:0 12px 28px #0f172a1f}.homework-create-primary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.homework-create-preview-pills{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}.homework-material-actions,.homework-file-picker-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:10px 16px;font-weight:600;font-size:15px;cursor:pointer;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease;background:var(--accent);color:#fff;box-shadow:0 6px 14px #2563eb33;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:fit-content;max-width:100%;align-self:flex-start;flex:0 0 auto}.btn:hover{transform:translateY(-1px);background:#1d4ed8}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.secondary{background:var(--surface);color:var(--accent-strong);border:1px solid rgba(37,99,235,.25);box-shadow:0 6px 14px #2563eb1f}.btn.secondary:hover{background:#2563eb14}.btn.ghost{background:transparent;color:var(--accent-strong);box-shadow:none;border:1px solid rgba(37,99,235,.25)}.btn.ghost:hover{background:#2563eb1f}.btn.student-subject-library-link{background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14}.btn.student-subject-library-link:hover{background:var(--lesson-button-hover-bg);color:var(--lesson-button-text);border-color:var(--lesson-button-border)}.btn.student-library-back{background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn.student-library-back:hover{background:var(--lesson-button-hover-bg);color:var(--lesson-button-text);border-color:var(--lesson-button-border)}.btn.student-join-lesson-btn{background:var(--lesson-button-bg);color:var(--lesson-button-text);border:1px solid var(--lesson-button-border);box-shadow:0 8px 18px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn.student-join-lesson-btn:hover:not(:disabled){background:var(--lesson-button-hover-bg);color:var(--lesson-button-text);border-color:var(--lesson-button-border)}.btn.student-join-lesson-btn:disabled{background:#ffffff38;color:var(--lesson-button-text);border-color:#ffffff42;box-shadow:none}.btn.danger{background:#e11d48e6;box-shadow:0 6px 14px #e11d4833}.btn.danger:hover{background:#be123cf2}.btn.tenant-toggle-btn{box-shadow:none}.btn.tenant-toggle-btn.deactivate{background:#f59e0b26;color:#9a3412;border:1px solid rgba(245,158,11,.36)}.btn.tenant-toggle-btn.deactivate:hover{background:#f59e0b3d;color:#7c2d12}.btn.tenant-toggle-btn.activate{background:#10b98126;color:#065f46;border:1px solid rgba(16,185,129,.35)}.btn.tenant-toggle-btn.activate:hover{background:#10b9813d;color:#064e3b}.skeleton-block{display:block;max-width:100%;min-width:8px;overflow:hidden;background:linear-gradient(90deg,transparent 0%,var(--skeleton-highlight) 48%,transparent 100%),var(--skeleton-base);background-size:220% 100%,100% 100%;background-position:160% 0,0 0;opacity:0;transform:translateY(3px);transition:opacity .16s ease,transform .16s ease;animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-block.is-visible{opacity:1;transform:translateY(0)}.skeleton-radius-sm{border-radius:6px}.skeleton-radius-md{border-radius:8px}.skeleton-radius-lg{border-radius:12px}.skeleton-radius-pill,.skeleton-radius-circle{border-radius:999px}.skeleton-text{display:grid;gap:9px;width:100%}.skeleton-avatar{flex:0 0 auto}.skeleton-card{display:grid;gap:16px;min-height:168px}.skeleton-card-head{display:flex;align-items:center;gap:12px;min-width:0}.skeleton-card-title{display:grid;flex:1;gap:8px;min-width:0}.skeleton-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.skeleton-table{min-height:304px}.skeleton-table .table{table-layout:fixed}.skeleton-table th,.skeleton-table td{height:44px}.skeleton-page{width:100%}.skeleton-page-header{align-items:flex-start}.skeleton-page-header>div{display:grid;gap:10px;min-width:0}.loading-indicator .skeleton-block{flex:0 0 auto}@keyframes skeleton-shimmer{to{background-position:-60% 0,0 0}}.loading-indicator{--loader-size: 116px;--loader-dot-size: 8px;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;color:var(--accent);font-weight:700;letter-spacing:0;opacity:0;transform:translateY(4px) scale(.98);transition:opacity .18s ease,transform .18s ease}.loading-indicator.is-visible{opacity:1;transform:translateY(0) scale(1)}.loading-indicator-page,.loading-indicator-block{flex-direction:column;min-height:220px;padding:28px}.loading-indicator-page{min-height:min(460px,70vh)}.loading-indicator-compact{--loader-size: 34px;--loader-dot-size: 3px;display:inline-flex;width:auto;min-height:0;padding:6px 10px;font-size:.9rem}.loading-indicator-orbit{position:relative;width:var(--loader-size);height:var(--loader-size);animation:loading-orbit-spin 1.4s linear infinite;filter:drop-shadow(0 0 10px rgba(37,99,235,.62))}.icon-spin{animation:loading-orbit-spin 1s linear infinite}.loading-indicator-dot{position:absolute;top:50%;left:50%;width:var(--loader-dot-size);height:var(--loader-dot-size);margin-top:calc(var(--loader-dot-size) / -2);margin-left:calc(var(--loader-dot-size) / -2);border-radius:999px;background:var(--accent);box-shadow:0 0 7px #2563ebe6,0 0 16px #2563eb6b;opacity:var(--dot-opacity);transform:rotate(var(--dot-angle)) translateY(calc(var(--loader-size) * -.42))}.loading-indicator-label{color:var(--accent-strong);text-align:center;text-shadow:0 0 8px rgba(37,99,235,.34),0 0 22px rgba(37,99,235,.26);text-transform:uppercase}.loading-indicator-compact .loading-indicator-label{text-transform:none}@keyframes loading-orbit-spin{to{transform:rotate(360deg)}}input,textarea,select{width:100%;border-radius:12px;border:1px solid var(--input-border);padding:10px 12px;font:inherit;background:var(--input-bg);color:var(--ink);transition:border .2s ease,box-shadow .2s ease,background-color .2s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.date-input{position:relative}.date-input-field{position:relative;cursor:pointer}.date-input-field input{padding-right:36px;cursor:pointer}.date-input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.date-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:9999;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 28px #1018282e;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none}.date-input.is-range .date-popover,.date-input.is-range .rdp{min-width:420px}.rdp{--rdp-accent-color: var(--accent);--rdp-background-color: var(--surface-soft);--rdp-outline: 2px solid var(--input-focus);--rdp-cell-size: 42px;font-size:13px;color:var(--ink);font:inherit;background:var(--surface);opacity:1;border-radius:12px;padding:10px}.rdp-month,.rdp-table{background:var(--surface);opacity:1}.rdp-months{gap:16px}.rdp-caption{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;font-weight:600}.rdp-caption_dropdowns{display:flex;gap:8px;align-items:center}.rdp-dropdown{border:1px solid var(--input-border);background:var(--surface);color:var(--ink);border-radius:8px;padding:4px 6px;font-size:12px}.rdp-dropdown select{background:transparent;border:none;color:inherit;font:inherit}.rdp-caption_label{font-weight:700;color:var(--ink)}.rdp-nav_button{border-radius:10px;border:1px solid var(--input-border);background:var(--surface);width:34px;height:34px;transition:background .2s ease,border .2s ease,transform .2s ease}.rdp-nav_button:hover{background:var(--accent-soft);border-color:#2563eb4d;transform:translateY(-1px)}.rdp-head_cell{font-size:12px;color:var(--text-muted);font-weight:600}.rdp-day{position:relative;border-radius:12px;height:40px;width:40px;border:1px solid transparent;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.rdp-day_has-lessons:after{content:"";position:absolute;bottom:6px;left:50%;width:6px;height:6px;border-radius:999px;background:var(--accent-strong);transform:translate(-50%)}.rdp-day_selected.rdp-day_has-lessons:after{background:#ffffffe6}.rdp-day:hover:not(.rdp-day_selected):not(.rdp-day_range_start):not(.rdp-day_range_end){background:#2563eb14;color:var(--accent-strong)}.rdp-day_selected,.rdp-day_selected:focus-visible,.rdp-day_selected:hover{background:var(--accent-strong);color:#fff;border:1px solid var(--accent)}.rdp-day_today{border:1px solid var(--input-border)}.rdp-day_range_start,.rdp-day_range_end{background:var(--accent-strong);color:#fff;border-radius:12px;border:1px solid var(--accent)}.rdp-day_range_middle{background:#2563eb1f;border-radius:0}.rdp-day_outside{opacity:.45}.rdp-day_disabled{opacity:.35;text-decoration:line-through}label{font-weight:600;font-size:13px;color:var(--ink)}.substitution-lessons{display:grid;gap:8px;margin-top:4px}.substitution-lesson{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.substitution-lesson:hover{border-color:#2563eb59;box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.substitution-lesson.is-selected{border-color:#2563ebb3;background:#2563eb14}.substitution-lesson input[type=checkbox]{width:18px;height:18px}.substitution-lesson-body{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600}.substitution-lesson-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.substitution-lesson-index{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:var(--sidebar-item-bg);font-size:12px;font-weight:700}.substitution-lesson-subject{font-size:14px}.substitution-lesson-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:12px;color:var(--text-muted);text-transform:capitalize}.substitution-submit,.offer-submit{justify-self:start;width:fit-content}.form-grid{display:grid;gap:12px}.form-grid>.btn{justify-self:flex-start;width:auto}.homework-class-subject-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.2fr);gap:12px;align-items:start}.homework-subject-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.homework-subject-row label{margin:0}.homework-subject-row select{max-width:360px}.homework-subject-value{color:var(--text);font-size:24px;font-weight:700;line-height:1.2}.form-row{display:grid;gap:6px}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:10px;background:transparent;border:0;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:2px}.password-toggle:hover{color:var(--ink)}.form-inline{display:grid;grid-template-columns:1fr 140px;gap:10px;align-items:center}@media (max-width: 640px){.form-inline{grid-template-columns:1fr}}.director-dashboard-page{gap:18px;color:var(--ink)}.director-hero,.director-panel{border:1px solid rgba(16,24,40,.07);border-radius:8px;background:#ffffffeb;box-shadow:0 16px 36px #10182814}.director-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:24px;background:linear-gradient(135deg,#fffffff5,#f1f8ffe6),repeating-linear-gradient(135deg,rgba(47,128,237,.06) 0 1px,transparent 1px 14px);background-size:cover;background-position:center}.director-hero-branded{color:#fff;border-color:#fff3}.director-hero-branded .muted,.director-hero-branded .director-kicker{color:#ffffffd6}.director-hero-main{display:flex;align-items:center;gap:16px;min-width:0}.director-school-avatar{width:68px;height:68px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:8px;background:#ffffffc7;color:#2f80ed;box-shadow:0 14px 28px #10182824}.director-school-avatar img{width:100%;height:100%;object-fit:cover}.director-kicker{margin:0 0 8px;color:#17634a;font-size:13px;font-weight:800;text-transform:uppercase}.director-hero h1,.director-panel h2{margin:0}.school-branding-card{display:grid;gap:18px}.school-branding-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.3fr);gap:16px}.school-branding-item{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:8px;background:#ffffffb8}.school-branding-cover-item{grid-template-columns:180px minmax(0,1fr)}.school-branding-preview{display:grid;place-items:center;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#7753f41f,#399dea1a),#ffffffd1;color:var(--muted);border:1px solid rgba(16,24,40,.08)}.school-branding-preview img{width:100%;height:100%;object-fit:cover}.school-branding-avatar-preview{width:96px;height:96px}.school-branding-cover-preview{width:180px;aspect-ratio:16 / 9}.school-branding-crop-modal{width:min(760px,calc(100vw - 28px))}.school-branding-crop{display:grid;gap:16px}.school-branding-crop-frame{position:relative;width:100%;margin:0 auto;overflow:hidden;border-radius:8px;border:1px solid var(--border);background:linear-gradient(45deg,rgba(148,163,184,.16) 25%,transparent 25%),linear-gradient(-45deg,rgba(148,163,184,.16) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(148,163,184,.16) 75%),linear-gradient(-45deg,transparent 75%,rgba(148,163,184,.16) 75%),#fff;background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.school-branding-crop-frame-avatar{max-width:420px;aspect-ratio:1}.school-branding-crop-frame-cover{aspect-ratio:3 / 1}.school-branding-crop-frame{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.school-branding-crop-frame.is-dragging{cursor:grabbing}.school-branding-crop-frame canvas{width:100%;height:100%;display:block;pointer-events:none}.school-branding-crop-hint{text-align:center;font-size:13px;color:var(--text-muted)}.school-branding-zoom-bar{display:flex;align-items:center;justify-content:center;gap:12px}.school-branding-zoom-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.school-branding-zoom-btn:hover{background:var(--surface-hover, #f1f5f9)}.school-branding-zoom-label{font-size:13px;color:var(--text-muted);min-width:56px;text-align:center}.school-branding-crop-note{padding:10px 12px;border:1px solid rgba(37,99,235,.12);border-radius:8px;background:#2563eb0f;color:var(--muted);font-size:13px}.school-branding-content{display:grid;gap:10px;min-width:0}.school-branding-content h3{margin:0}.school-branding-actions{display:flex;gap:10px;flex-wrap:wrap}.school-settings-controls{display:grid;gap:12px}.school-settings-checkboxes{display:grid;gap:10px;padding:12px;border-radius:8px;border:1px solid var(--border);background:#ffffffc2}.school-settings-checkbox{align-items:flex-start}.school-settings-checkbox-copy{display:grid;gap:4px}.school-settings-checkbox-title{font-weight:700;color:var(--text-primary, inherit)}.school-settings-save-block{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;border:1px dashed var(--border);background:#ffffffb3}.director-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.director-hero-tools{display:grid;justify-items:end;gap:12px}.director-period-switch{display:inline-flex;gap:4px;padding:4px;border-radius:8px;background:#ffffffad;border:1px solid rgba(16,24,40,.08);box-shadow:inset 0 1px #fff9}.director-hero-branded .director-period-switch{background:#ffffff2e;border-color:#ffffff38}.director-period-switch button{min-height:34px;border:0;border-radius:6px;padding:0 12px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.director-hero-branded .director-period-switch button{color:#fffc}.director-period-switch button.active{background:#fff;color:#1f2937;box-shadow:0 8px 18px #1018281a}.director-period-switch button:hover:not(.active){background:#ffffff47}.director-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.director-stat-card{min-height:156px;display:grid;align-content:space-between;gap:14px;padding:18px;border-radius:8px;color:#fff;overflow:hidden;position:relative;box-shadow:0 16px 28px #1018281f;text-shadow:0 1px 10px rgba(16,24,40,.14)}.director-stat-card:after{content:"";position:absolute;inset:auto -28px -42px auto;width:118px;height:118px;border-radius:50%;background:#ffffff29}.director-stat-card.tone-green{background:linear-gradient(135deg,#7753f4,#6a49ee 54%,#5f42e6)}.director-stat-card.tone-blue{background:linear-gradient(135deg,#f3a62f,#f8bd36 52%,#f6d23d)}.director-stat-card.tone-violet{background:linear-gradient(135deg,#ef38a8,#ec4bb6 52%,#f062c7)}.director-stat-card.tone-coral{background:linear-gradient(135deg,#60d66f,#6ade82 54%,#6fe6a7)}.director-stat-card.tone-ink{background:linear-gradient(135deg,#f15c7d,#f37d78 52%,#f58f55)}.director-stat-card.tone-mint{background:linear-gradient(135deg,#399dea,#48aef5 54%,#59c4f5)}.director-stat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;opacity:.94}.director-stat-icon{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:8px;background:#ffffff29}.director-stat-card strong{font-family:Space Grotesk,Manrope,sans-serif;font-size:31px;line-height:1;letter-spacing:0;position:relative;z-index:1}.director-stat-card small{color:#ffffffd6;font-size:13px;position:relative;z-index:1}.director-main-grid{display:grid;grid-template-columns:1.35fr .95fr 1fr;gap:16px;align-items:stretch}.director-panel-wide{grid-column:span 2}.director-panel{display:grid;align-content:start;gap:16px;min-width:0;padding:20px}.director-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.director-panel-head svg{color:#2f80ed;flex-shrink:0}.director-area-chart{min-width:0;position:relative}.director-area-chart svg{display:block;width:100%;height:220px;overflow:visible}.director-chart-grid-line{stroke:#10182814;stroke-dasharray:4 6}.director-chart-hover-line{stroke:#10182826;stroke-width:1;stroke-dasharray:3 3}.director-chart-y-label{font-size:11px;fill:var(--muted);text-anchor:end;dominant-baseline:middle}.director-chart-x-label{font-size:11px;fill:var(--muted)}.director-chart-tooltip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #1018281a;z-index:10}.director-chart-tooltip strong{font-size:13px;color:var(--ink)}.director-chart-tooltip-sub{color:var(--muted)}.director-chart-empty{display:grid;place-items:center;min-height:220px;border:1px dashed rgba(16,24,40,.12);border-radius:8px;color:var(--muted)}.director-attention-list,.director-class-list,.director-workload-list,.director-activity-list{display:grid;gap:10px}.director-attention-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;border-radius:8px;border:1px solid rgba(16,24,40,.07);background:#f8fbff;color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.director-attention-item.is-clickable{cursor:pointer}.director-attention-item.is-clickable:hover{transform:translateY(-1px);border-color:#2f80ed38;box-shadow:0 12px 24px #10182814}.director-attention-item strong,.director-class-row strong,.director-workload-name strong,.director-activity-item strong{display:block;line-height:1.3}.director-attention-item p,.director-activity-item p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.director-attention-item small{display:inline-block;margin-top:8px;color:#2f80ed;font-size:12px;font-weight:800}.director-attention-item>span{min-width:54px;text-align:right;font-family:Space Grotesk,Manrope,sans-serif;font-size:20px;font-weight:800}.director-attention-item.severity-danger{background:linear-gradient(135deg,#e255441f,#fffffff0);border-color:#e255442e}.director-attention-item.severity-warning{background:linear-gradient(135deg,#f59e0b24,#fffffff0);border-color:#f59e0b33}.director-attention-item.severity-success{background:linear-gradient(135deg,#22a06b21,#fffffff0);border-color:#22a06b33}.director-donut-wrap{display:grid;grid-template-columns:168px 1fr;gap:18px;align-items:center}.director-donut{width:168px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #1018280d}.director-donut>div{width:108px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;gap:4px;background:#fff;box-shadow:0 10px 28px #1018281f}.director-donut span{color:var(--muted);font-size:12px}.director-donut strong{font-family:Space Grotesk,Manrope,sans-serif;font-size:24px}.director-donut-legend{display:grid;gap:10px;color:var(--muted);font-size:13px}.director-donut-legend span{display:flex;align-items:center;gap:8px}.director-donut-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.director-donut-legend .paid{background:#22a06b}.director-donut-legend .unpaid{background:#2f80ed}.director-donut-legend .overdue{background:#e25544}.director-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.director-bottom-grid>.director-panel:first-child{grid-column:1 / -1}.director-class-row{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(180px,1fr) minmax(260px,1.15fr);gap:14px;align-items:center;min-width:0;padding:13px;border:1px solid rgba(16,24,40,.07);border-radius:8px;background:#fbfdff}.director-class-row span{color:var(--muted);font-size:13px}.director-class-meter{height:9px;border-radius:999px;background:#10182814;overflow:hidden}.director-class-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22a06b,#2f80ed)}.director-class-values{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.director-class-values span{padding:5px 8px;border-radius:8px;background:#2f80ed14;color:#1f4e79;font-weight:700}.director-workload-row{display:grid;gap:8px;padding:12px;border:1px solid rgba(16,24,40,.07);border-radius:8px;background:#fbfdff}.director-workload-name{display:flex;justify-content:space-between;gap:10px;align-items:center}.director-workload-name span{color:var(--muted);font-size:13px;white-space:nowrap}.director-workload-bars{display:grid;gap:5px}.director-workload-bars span{height:8px;border-radius:999px}.director-workload-bars .planned{background:#2f80ed2e}.director-workload-bars .actual{background:linear-gradient(90deg,#7c4dff,#22a06b)}.director-activity-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:8px;background:#fbfdff;border:1px solid rgba(16,24,40,.07)}.director-activity-item>span{width:10px;height:44px;border-radius:999px;background:#2f80ed}.director-activity-item.tone-danger>span{background:#e25544}.director-activity-item.tone-info>span{background:#22a06b}.director-activity-item time{color:var(--muted);font-size:12px;white-space:nowrap}@media (max-width: 1280px){.director-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.director-main-grid{grid-template-columns:1fr 1fr}.director-bottom-grid{grid-template-columns:1fr}.director-panel-wide{grid-column:span 2}.director-bottom-grid>.director-panel:first-child{grid-column:auto}}@media (max-width: 860px){.director-hero,.director-main-grid,.director-bottom-grid{grid-template-columns:1fr}.director-hero{display:grid}.director-hero-tools{justify-items:start}.director-hero-main{align-items:flex-start}.school-branding-grid,.school-branding-item,.school-branding-cover-item,.director-stat-grid,.director-main-grid,.director-bottom-grid{grid-template-columns:1fr}.director-panel-wide{grid-column:auto}.director-donut-wrap{grid-template-columns:1fr;justify-items:center}.director-class-row{grid-template-columns:minmax(0,1fr)}.director-class-values{justify-content:flex-start}.school-branding-avatar-preview,.school-branding-cover-preview{width:100%;max-width:320px}.school-settings-save-block{flex-direction:column;align-items:stretch}}@media (max-width: 560px){.director-hero,.director-panel{padding:16px}.director-stat-card{min-height:136px}.director-area-chart svg{height:180px}.director-activity-item{grid-template-columns:8px minmax(0,1fr)}.director-activity-item time{grid-column:2}}.form-row.form-row-spaced{margin-top:10px}.material-inline{display:grid;gap:8px;grid-template-columns:1.2fr 1.6fr .8fr auto;align-items:center}.material-inline input,.material-inline select{min-width:0}.teacher-material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.teacher-material-info{min-width:0}.teacher-material-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-material-meta{margin-top:2px;color:var(--muted);font-size:12px}.teacher-material-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}.multi-select{display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface)}.multi-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}.multi-actions .filter-input{flex:1}.multi-list{display:grid;gap:6px;max-height:180px;overflow:auto;padding-right:4px}.schedule-day-nav{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}.schedule-date-dropdown{position:relative}.schedule-day-label{font-weight:600;font-size:14px;margin-left:auto;text-align:right}.schedule-student-day{padding:6px 0}.schedule-student-times{display:grid;gap:10px;padding-left:0}.schedule-student-row{display:grid;grid-template-columns:100px 1fr;gap:6px;align-items:stretch}.schedule-student-time{font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:flex-start;padding-left:2px}.schedule-student-card{border:1px solid var(--border);border-left-width:4px;border-radius:12px;padding:12px 14px;background:var(--surface);text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.schedule-student-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.schedule-student-modal{display:grid;gap:8px}.schedule-modal-actions{display:flex;gap:8px;margin-top:12px}.schedule-date-picker{display:grid;gap:12px}@media (max-width: 720px){.schedule-student-row{grid-template-columns:1fr}.schedule-student-time{justify-content:flex-start}}.multi-item{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;background:var(--surface-soft);border:1px solid transparent;transition:background .2s ease,border-color .2s ease}.multi-item:hover{background:var(--surface-muted);border-color:var(--border)}.multi-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.teacher-choice-item{align-items:flex-start;padding:10px 12px}.teacher-choice-item.is-recommended{border-color:#16a34a59;background:#16a34a0f}.teacher-choice-item.is-recommended:hover{border-color:#16a34a80;background:#16a34a1a}.teacher-choice-body{min-width:0;display:grid;gap:6px;flex:1}.teacher-choice-main{display:flex;align-items:center;gap:10px;justify-content:space-between;min-width:0}.teacher-choice-main strong{min-width:0;overflow-wrap:anywhere}.teacher-choice-badges,.teacher-choice-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.teacher-choice-meta{color:var(--muted);font-size:12px}.teacher-choice-note{color:var(--muted);font-size:12px;line-height:1.4}.checkbox-row{display:inline-flex;align-items:center;gap:8px;font-weight:600}.empty-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;border:1px dashed var(--border);background:var(--surface-muted)}@media (max-width: 720px){.multi-actions{flex-direction:column;align-items:stretch}.empty-inline{flex-direction:column;align-items:flex-start}}.class-grid{display:grid;gap:10px;margin-top:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.class-list{display:grid;gap:8px;margin-top:12px}.class-row-card{border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:10px;background:var(--surface);cursor:pointer;transition:background .2s ease,border-color .2s ease;text-align:left}.class-row-card:hover{background:var(--surface-muted);border-color:var(--accent-soft)}.class-row-card.is-active{border-color:var(--accent);background:var(--accent-soft)}.class-card{border:1px solid var(--border);border-radius:14px;padding:12px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);cursor:pointer;transition:background .2s ease,border-color .2s ease;text-align:left}.class-card:hover{background:var(--surface-muted);border-color:var(--accent-soft)}.class-card.is-active{border-color:var(--accent);background:var(--accent-soft)}.class-card-title{font-weight:700;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.class-actions{display:flex;justify-content:flex-end;margin-top:10px}.class-row-stats{display:inline-flex;align-items:center;gap:6px;justify-self:end}@media (max-width: 860px){.class-row-card{grid-template-columns:1fr;gap:8px}.class-row-stats{justify-self:start;flex-wrap:wrap}}.teacher-chips{display:flex;flex-wrap:wrap;gap:6px}.subject-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.subject-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);transition:transform .18s ease,background .18s ease,border-color .18s ease}.subject-card-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.subject-card-button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.subject-card:hover{transform:translateY(-2px);background:var(--card-hover-bg, var(--card-bg));border-color:var(--card-hover-border, var(--card-border))}.subject-card-title{font-weight:600}.subject-card-meta{margin-top:6px;color:var(--text-muted)}.subject-card-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--sidebar-item-bg);color:var(--accent-strong)}.subject-card-content{min-width:0}.subject-modal{display:grid;gap:16px}.subject-modal-head{display:grid;gap:6px}.subject-modal-title{font-size:18px;font-weight:600}.subject-modal-teacher{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted)}.subject-modal-section{font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--text-muted)}.subject-material-list{display:grid;gap:10px}.subject-material-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--card-border);background:var(--card-bg)}.subject-material-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--surface-soft);color:var(--accent-strong)}.subject-material-body{min-width:0}.subject-material-title{font-weight:600}.subject-material-meta{color:var(--text-muted);font-size:12px}.filter-input-with-icon{display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);width:100%}.filter-input-with-icon .filter-input{border:none;background:transparent;padding:8px 0;width:100%;box-shadow:none}.filter-input-with-icon .filter-input:focus{outline:none}.filter-accordion-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-group-date{min-width:240px}.filter-date-range{display:flex;gap:10px;align-items:center}.filter-date-range .date-input{flex:1;min-width:140px}.homework-view-toggle{display:inline-flex;align-items:center;gap:8px}.homework-view-toggle .chip{display:inline-flex;align-items:center;gap:6px}.status-select{position:relative}.status-select-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);cursor:pointer;width:100%;justify-content:space-between}.status-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:6px;display:grid;gap:4px;box-shadow:var(--card-shadow)}.status-select-item{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;color:inherit}.status-select-item:hover{background:var(--surface-soft)}.status-dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:var(--border)}.status-dot.open{background:#16a34a}.status-dot.overdue{background:#dc2626}.status-dot.closed{background:#64748b}.status-dot.all{background:#94a3b8}.homework-list{display:grid;gap:18px}.homework-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.homework-overview-card{display:grid;gap:8px;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.homework-overview-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0f172a1a}.homework-overview-card-needs_revision{border-color:#dc26262e;background:#dc26260d}.homework-overview-card-active{border-color:#2563eb29;background:#2563eb0d}.homework-overview-card-completed{border-color:#16a34a29;background:#16a34a0d}.homework-overview-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.homework-overview-count{font-size:34px;line-height:1;font-weight:800;color:var(--ink)}.homework-overview-text{color:var(--text-muted);font-size:14px;line-height:1.45}.homework-group{display:grid;gap:12px}.homework-group-title{font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.homework-group-list{display:grid;gap:12px}.homework-section-card{display:grid;gap:14px}.homework-section-back{display:flex;justify-content:flex-start}.homework-section-card-needs_revision .homework-section-head{border-color:#dc262633;background:#dc26260f}.homework-section-card-active .homework-section-head{border-color:#2563eb2e;background:#2563eb0f}.homework-section-card-completed .homework-section-head{border-color:#16a34a2e;background:#16a34a0f}.homework-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;border:1px solid var(--card-border)}.homework-section-count{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffffb8;border:1px solid var(--card-border);font-weight:700}.homework-section-list{display:grid;gap:10px}.homework-section-empty{border-style:dashed}.hw-card-wrap{padding:0;border-left-width:4px;overflow:hidden}.hw-card-wrap--danger{border-left-color:#ef4444}.hw-card-wrap--soft{border-left-color:var(--accent)}.hw-card-wrap--success{border-left-color:#22c55e}.hw-card-main{display:flex;align-items:flex-start;gap:16px;padding:16px 20px}.hw-card-body{flex:1;min-width:0;display:grid;gap:6px;align-content:start}.hw-card-eyebrow{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.01em}.hw-card-title{font-size:17px;font-weight:700;line-height:1.3}.hw-card-desc{margin:0;font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hw-card-teacher{font-size:13px;color:var(--muted)}.hw-card-deadline{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--muted)}.hw-card-deadline.is-overdue{color:#ef4444}.hw-card-aside{flex-shrink:0;width:168px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.hw-card-badge{font-size:12px;padding:4px 12px;font-weight:700;border-radius:999px}.hw-card-action{width:100%;justify-content:center}.hw-comments-link{background:none;border:none;padding:0;cursor:pointer;font-size:13px;font-weight:600;color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;text-align:right}.hw-comments-link:hover{opacity:.7}.hw-card-comments{padding:14px 20px 16px;display:grid;gap:12px;border-top:1px solid var(--border);margin-top:0}.teacher-homeworks-panel{display:grid;gap:14px}.teacher-homeworks-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.teacher-homeworks-panel-head h2{margin:0}.teacher-homework-groups{display:grid;gap:18px}.teacher-homework-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-homework-overview-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:92px;padding:14px;border:1px solid rgba(16,24,40,.12);border-radius:8px;background:#fff;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.teacher-homework-overview-card.is-review{border-color:#f59e0b57;background:#fffbebb8}.teacher-homework-overview-card.is-checked{border-color:#16a34a3d;background:#f0fdf4a3}.teacher-homework-overview-card:hover,.teacher-homework-overview-card.is-active{border-color:#2563eb7a;box-shadow:0 10px 24px #0f172a1a;transform:translateY(-1px)}.teacher-homework-overview-card.is-active{outline:2px solid rgba(37,99,235,.14)}.teacher-homework-overview-title{color:var(--text);font-weight:800}.teacher-homework-overview-count{color:var(--text);font-size:28px;font-weight:800;line-height:1}.teacher-homework-group{display:grid;gap:8px}.teacher-homework-group-header{display:flex;align-items:center;gap:6px;color:var(--text);font-size:15px;font-weight:800}.teacher-homework-group-empty{padding:16px;border:1px dashed rgba(16,24,40,.18);border-radius:8px;background:#0f172a08;color:var(--muted)}.teacher-homework-list{display:grid;border:1px solid rgba(16,24,40,.12);border-radius:8px;background:#fff;overflow:hidden}.teacher-homework-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;border-bottom:1px solid rgba(16,24,40,.1)}.teacher-homework-row:last-child{border-bottom:0}.teacher-homework-row:hover{background:#0f172a06}.teacher-homework-row-main{display:grid;gap:8px;min-width:0}.teacher-homework-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.teacher-homework-row-head>div:first-child{min-width:0}.teacher-homework-row-side{display:flex;align-items:flex-start}.teacher-homework-status-row,.teacher-homework-attachments-line{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.teacher-homework-status-row{flex-shrink:0}.teacher-homework-attachments-line{justify-content:flex-start}.teacher-homework-card-title{color:var(--text);font-size:18px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.teacher-homework-description{color:var(--text);overflow-wrap:anywhere;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.teacher-homework-actions{justify-content:flex-end;max-width:260px}.teacher-homework-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-homework-meta-pill,.teacher-homework-deadline-pill{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:700;line-height:1.2}.teacher-homework-meta-pill{background:#0f172a0f;color:var(--text)}.teacher-homework-deadline-pill.is-success{background:#16a34a1f;color:#15803d}.teacher-homework-deadline-pill.is-soft{background:#2563eb1a;color:var(--accent-strong)}.teacher-homework-deadline-pill.is-danger{background:#e11d481f;color:#be123c}@media (max-width: 900px){.homework-overview-grid{grid-template-columns:1fr}.teacher-homework-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-homework-row{grid-template-columns:1fr}.teacher-homework-row-head,.teacher-homework-row-side,.teacher-homework-status-row,.teacher-homework-actions{align-items:stretch;justify-content:flex-start}.teacher-homework-row-head,.teacher-homework-actions{flex-direction:column}.teacher-homework-actions,.teacher-homework-actions .btn{max-width:none;width:100%}}@media (max-width: 560px){.teacher-homework-overview-grid{grid-template-columns:1fr}}.homework-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.homework-card-header>div:first-child{display:grid;gap:8px}.homework-title{margin-top:0;font-weight:600;font-size:16px}.homework-title-btn{margin-top:0;font-weight:600;font-size:16px;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit}.homework-title-btn:hover{text-decoration:underline}.homework-card-meta,.homework-teacher{color:var(--text-muted);font-size:13px}.homework-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.homework-description{margin:0}.homework-attachments{display:flex;flex-wrap:wrap;gap:10px}.homework-attachments a{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:12px;color:inherit;text-decoration:none}.homework-attachment-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:12px;color:inherit}.homework-submit-modal{display:grid;gap:18px}.homework-submit-head{display:grid;gap:8px}.homework-submit-section{display:grid;gap:12px}.homework-submit-textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card-bg);color:inherit}.homework-submit-files{display:flex;align-items:center;gap:12px}.homework-file-list{display:grid;gap:10px}.homework-file-list-compact{gap:8px}.homework-file-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;border:1px solid var(--card-border);background:var(--card-bg)}.homework-file-item-compact{gap:8px;padding:8px 10px;border-radius:10px}.homework-file-meta{min-width:0}.homework-review-image-preview{display:block;width:min(100%,420px);margin-top:10px;padding:0;border:1px solid rgba(37,99,235,.18);border-radius:14px;overflow:hidden;background:#fff;cursor:zoom-in}.homework-review-image-preview img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#0f172a08}.homework-file-title{font-weight:600;overflow-wrap:anywhere;word-break:break-word}.homework-file-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;align-self:start;gap:6px}.homework-file-actions-compact{flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}.homework-recording-card{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--card-border);background:var(--card-bg)}.homework-recording-player{width:100%;border-radius:14px;background:#000}.btn-compact{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:32px;padding:6px 10px;font-size:12px;line-height:1}.btn-compact-icon{width:32px;min-width:32px;padding:0}.homework-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.teacher-homework-attention{display:inline-flex;align-items:center;justify-self:start;width:fit-content;max-width:100%;gap:8px;margin:4px 0 6px;padding:8px 12px;border-radius:12px;background:#f59e0b24;border:1px solid rgba(245,158,11,.22);color:#9a6700;font-weight:700;font-size:13px}.teacher-homework-attention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#fff;font-size:12px;font-weight:700}.homework-review-count{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--card-border);background:var(--surface-soft);color:var(--muted);font-size:.88rem;line-height:1.2}.homework-review-page{gap:18px}.homework-review-page-header{align-items:flex-start;padding:14px 16px;border:1px solid var(--card-border);border-radius:8px;background:#fff}.homework-review-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;min-height:62vh}.homework-review-assignment-card{display:grid;gap:12px;padding:16px;border:1px solid rgba(16,24,40,.12);border-radius:8px;background:#fff}.homework-review-assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.homework-review-assignment-head h3{margin:2px 0 0;font-size:22px;line-height:1.2}.homework-review-assignment-deadline{width:fit-content;padding:6px 10px;border-radius:8px;background:#0f172a0f;color:var(--text);font-size:13px;font-weight:700}.homework-review-assignment-description{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap}.homework-review-assignment-materials,.homework-review-assignment-material-list{display:grid;gap:8px}.homework-review-assignment-material{display:grid;gap:8px;padding:10px;border:1px solid rgba(16,24,40,.1);border-radius:8px;background:#0f172a06}.homework-review-sidebar{display:grid;gap:6px;min-width:0;align-content:start;align-items:start}.homework-review-summary{display:grid;gap:2px;padding:8px 10px;border-radius:14px;border:1px solid var(--card-border);background:var(--surface-soft)}.homework-review-highlight{margin-top:0;padding:0;border-radius:0;background:transparent;border:0;color:var(--muted);font-size:13px}.homework-review-filters{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 6px}.homework-review-filters .btn.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.homework-review-students{display:flex;flex-direction:column;gap:8px;max-height:calc(62vh - 92px);overflow:auto;padding-right:4px}.homework-review-student{width:100%;border:1px solid var(--card-border);background:var(--card-bg);border-radius:14px;padding:9px 10px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;justify-content:flex-start;text-align:left;cursor:pointer}.homework-review-student.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.homework-review-student-name{font-weight:600}.homework-review-student-meta{display:grid;gap:1px;align-self:start}.homework-review-status{width:fit-content;align-self:start;padding:4px 9px;border-radius:999px;font-size:.84rem;font-weight:600}.homework-review-status.is-submitted{background:#f59e0b24;color:#b45309}.homework-review-status.is-reviewed{background:#22c55e1f;color:#15803d}.homework-review-status.is-pending{background:#94a3b824;color:var(--muted)}.homework-review-panel{min-width:0;border:1px solid var(--card-border);border-radius:16px;background:var(--card-bg);padding:16px;overflow:auto}.homework-review-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.homework-review-empty{display:grid;gap:6px;padding:18px;border-radius:14px;border:1px dashed var(--card-border);background:var(--surface-soft)}.homework-review-actions{display:flex;justify-content:flex-end;gap:8px}.homework-review-readonly{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--card-border);background:var(--surface-soft)}.homework-submit-actions{display:flex;justify-content:flex-end}.homework-submitted{padding:12px;border-radius:12px;border:1px solid var(--card-border);background:var(--surface-soft)}.homework-submitted-content{margin:10px 0 0;white-space:pre-wrap;font-family:inherit}.homework-review-grade-badge{display:inline-flex;align-items:center;align-self:flex-start;width:fit-content;max-width:max-content;flex:0 0 auto;padding:10px 16px;border-radius:999px;background:#2563eb1f;border:1px solid rgba(37,99,235,.24);color:#1d4ed8;font-size:18px;font-weight:700;line-height:1}.image-preview-modal{display:grid;gap:12px}.image-preview-actions{display:flex;justify-content:flex-end;gap:6px}.image-preview-frame{display:grid;place-items:center;overflow:auto;max-height:60vh;border-radius:12px;border:1px solid var(--card-border);background:var(--surface-soft);padding:12px}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;background:#0f172ad9;display:flex;align-items:center;justify-content:center;padding:24px}.image-lightbox-image{max-width:96vw;max-height:90vh;object-fit:contain;border-radius:12px;box-shadow:var(--shadow);background:var(--surface)}.image-lightbox .image-lightbox-close{position:fixed;top:16px;right:16px;z-index:2;border-radius:8px;border:1px solid #fff;color:#fff;background:transparent}.image-lightbox .image-lightbox-close:hover{border-color:#fff;background:#ffffff1f}.image-lightbox-title{position:fixed;left:16px;bottom:16px;padding:8px 12px;border-radius:999px;background:#0f172ab3;color:#fff;font-size:12px}.annotation-modal{width:min(1240px,calc(100vw - 32px))}.annotation-modal-content{display:grid;gap:16px}.annotation-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.annotation-toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.annotation-tool-btn{border-radius:12px;border-color:#3b82f633;background:#ffffffb8;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}.annotation-tool-btn:hover:not(:disabled){background:#dbeafeb8;border-color:#3b82f647}.annotation-tool-btn.is-active{background:linear-gradient(180deg,#dbeafef5,#bfdbfeeb);border-color:#2563eb70;color:#1d4ed8;box-shadow:inset 0 1px #ffffffd9,0 0 0 1px #3b82f61f}.annotation-toolbar-actions{margin-left:auto}.annotation-colors{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.annotation-color-swatch{width:28px;height:28px;border-radius:999px;border:1px solid rgba(59,130,246,.28);box-shadow:inset 0 0 0 1px #ffffffb8,0 1px 3px #0f172a14;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.annotation-color-swatch:hover:not(:disabled){transform:translateY(-1px);border-color:#2563eb6b;box-shadow:inset 0 0 0 1px #ffffffc7,0 4px 10px #2563eb1f}.annotation-color-swatch.is-active{border-color:#2563ebe6;box-shadow:0 0 0 2px #93c5fda6,0 0 0 4px #2563eb29}.annotation-range{display:flex;gap:8px;align-items:center}.annotation-text-input{display:flex;gap:8px;align-items:center;min-width:min(340px,100%)}.annotation-text-input input{width:min(320px,100%)}.annotation-stage{border:1px solid rgba(15,23,42,.1);border-radius:20px;padding:12px;background:#f8fafc;overflow:auto;max-height:68vh}.annotation-canvas-shell{width:fit-content;transform-origin:top left}.annotation-canvas-scale{width:fit-content;transform-origin:top left;position:relative}.annotation-stage-canvas{border-radius:12px;background:#fff;box-shadow:0 10px 30px #0f172a14}.annotation-stage-canvas canvas{border-radius:12px;background:#fff}.annotation-zoom-label{min-width:54px;text-align:center;color:var(--muted);font-size:.92rem}.annotation-stage-hint{margin-bottom:12px;color:var(--muted);font-size:.92rem}.annotation-text-draft{position:absolute;z-index:2;transform:translate(-4px,-4px);padding:4px 8px;border-radius:10px;border:1px solid rgba(15,23,42,.18);background:#fffffff5;box-shadow:0 10px 24px #0f172a1f}@media (max-width: 900px){.homework-review-layout{grid-template-columns:1fr;min-height:auto}.homework-review-students{max-height:240px}.annotation-toolbar-actions{margin-left:0}}.image-preview-frame img{max-width:100%;height:auto;transition:transform .2s ease}.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin-bottom:12px}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.homework-calendar{display:grid;gap:16px;grid-template-columns:minmax(260px,1fr) 2fr}.homework-calendar-picker .rdp{--rdp-accent-color: var(--accent-strong);margin:0}.homework-day{display:grid;gap:2px;justify-items:center}.homework-day-dots{display:inline-flex;gap:3px}.homework-calendar-list{display:grid;gap:12px}@media (max-width: 900px){.homework-calendar{grid-template-columns:1fr}}@media (max-width: 640px){.subject-cards{grid-template-columns:1fr}.subject-card{padding:12px 14px}}@media (max-width: 600px){.hw-card-main{flex-direction:column;gap:12px}.hw-card-aside{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.hw-card-action{width:auto;flex:1}}.chip{padding:4px 10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);font-size:12px;font-weight:600}.weekday-multiselect{display:flex;flex-wrap:wrap;gap:8px}.weekday-option{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.weekday-option input{display:none}.weekday-option.is-active{background:#2563eb29;border-color:#2563eb59;color:var(--accent-strong)}.profile-note{margin-top:-6px;padding:12px 14px;border-radius:12px;border:1px solid rgba(37,99,235,.2);background:linear-gradient(135deg,#2563eb14,#10b98114);font-size:13px;color:var(--ink)}.profile-generated-password{display:grid;gap:10px;padding:14px;border:1px solid rgba(16,185,129,.24);border-radius:12px;background:#10b98114}.profile-generated-password .form-row{margin:0}.profile-generated-password .btn{justify-self:flex-start}.needs-attention{animation:attentionPulse 1.8s ease-in-out infinite}@keyframes attentionPulse{0%{box-shadow:0 0 #2563eb2e}70%{box-shadow:0 0 0 8px #2563eb00}to{box-shadow:0 0 #2563eb00}}.workload-block{border-radius:12px;padding:10px 12px;border:1px solid transparent}.workload-block.needs-attention{border-color:#2563eb4d}.flash-attention{animation:attentionFlash 1.4s ease-in-out}@keyframes attentionFlash{0%{box-shadow:0 0 #2563eb59;background:#2563eb0f}50%{box-shadow:0 0 0 10px #2563eb14;background:#2563eb1a}to{box-shadow:0 0 #2563eb00;background:transparent}}@media (max-width: 860px){.material-inline{grid-template-columns:1fr}.teacher-material-row{grid-template-columns:minmax(0,1fr)}.teacher-material-actions{justify-content:flex-start}}.filter-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:12px;z-index:3;background:var(--surface);padding:8px;border-radius:12px;border:1px solid var(--border);width:100%}.filter-accordion{width:100%}.class-filter-accordion{margin-bottom:12px}.class-filter-accordion .accordion-header{background:var(--sidebar-item-bg);border-color:var(--border)}.class-filter-accordion .accordion-header:hover{background:var(--sidebar-item-hover)}.class-filter-accordion .filter-row{background:var(--sidebar-item-bg);border-color:var(--border)}.filter-accordion .accordion-header{padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border);display:inline-flex;gap:8px;align-items:center}.filter-badge{background:#0f766e26;color:var(--accent-strong);font-weight:700;font-size:12px;border-radius:999px;padding:2px 8px;margin-left:4px}.filter-row{position:static;display:grid;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;box-shadow:var(--shadow);min-width:0;max-width:100%;margin-top:10px;width:100%}.filter-accordion{display:grid;gap:12px;margin-top:12px;margin-bottom:12px}.schedule-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.schedule-view-toggle{display:flex;gap:8px;align-items:center}.schedule-range{font-weight:700;color:var(--ink)}.schedule-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.schedule-actions .btn{white-space:nowrap}.schedule-board{padding:16px}.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.schedule-month{display:grid;gap:12px}.schedule-day{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px;display:flex;flex-direction:column;min-height:140px;cursor:pointer;transition:background .15s ease,border .15s ease;text-align:left}.schedule-day.is-muted{opacity:.55}.schedule-day.is-active-week{border-color:#2563eb59;background:#dbeafe73}.schedule-day.is-active-day{border-color:#2563eb99;background:#dbeafea6}.schedule-day.is-today{border-color:#2563eb99;background:linear-gradient(180deg,#dbeafe8c,#ffffffe6);box-shadow:inset 0 0 0 2px #2563eb59}.schedule-day.is-weekend{background:var(--surface-soft)}.schedule-day:hover{background:var(--accent-soft);border-color:#2563eb40}.schedule-day-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;font-size:12px;font-weight:700}.schedule-day-title-wrap{display:flex;align-items:center;gap:6px;min-width:0}.schedule-day-call-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1;color:#0c4a6e;background:#7dd3fc47;border:1px solid rgba(14,165,233,.24);white-space:nowrap}.schedule-day-weekday{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:lowercase}.schedule-day-body{display:grid;gap:8px}.training-center-schedule-month .schedule-day{min-height:196px}.training-center-schedule-month .schedule-day-body{align-content:start}.training-center-schedule-month .schedule-day.is-active-day{border-color:var(--border);background:var(--surface)}.training-center-schedule-month .schedule-day:hover{background:var(--surface);border-color:var(--border)}.training-center-schedule-month .schedule-day.is-weekend:hover{background:var(--surface-soft)}.training-center-schedule-month .schedule-day.is-today:hover{border-color:#2563eb99;background:linear-gradient(180deg,#dbeafe8c,#ffffffe6)}.training-center-schedule-day-empty{color:var(--muted);font-size:12px;padding-top:6px}.training-center-schedule-preview-card{text-align:left;gap:4px;border-color:#2563eb33;border-left-color:#2563eb;background:#dbeafe;box-shadow:0 10px 18px #2563eb1f}.training-center-schedule-preview-card .schedule-title{font-size:12px;line-height:1.35;color:#163a76;font-weight:700}.training-center-schedule-preview-card .muted{font-size:12px;line-height:1.35;color:#355081}.training-center-schedule-preview-more{padding-top:2px;color:var(--accent-strong);font-size:12px;font-weight:700}.training-center-schedule-agenda{gap:16px}.training-center-student-week-board{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.training-center-student-day-card{display:grid;gap:16px;align-content:start;min-height:220px;border-radius:16px}.training-center-student-day-card.is-today{border-color:#2563eb38;box-shadow:0 0 0 1px #2563eb14,0 18px 36px #0f172a0d}.training-center-student-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-center-student-day-head h2{margin:0 0 6px;font-size:18px;line-height:1.25}.training-center-student-day-head p{margin:0}.training-center-student-day-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#2563eb14;color:var(--accent-strong);font-size:13px;font-weight:800;flex:0 0 auto}.training-center-student-day-empty{min-height:112px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:14px;color:var(--muted);background:var(--surface-soft);font-size:14px;font-weight:600}.training-center-student-day-lessons{display:grid;gap:12px}.training-center-student-lesson-card{--tc-lesson-bg: linear-gradient(135deg, #f4f7fb 0%, #e9eef7 100%);--tc-lesson-border: rgba(88, 113, 153, .18);--tc-lesson-accent: #587199;--tc-lesson-text: #223145;--tc-lesson-muted: #617288;--tc-lesson-badge-bg: rgba(255, 255, 255, .78);--tc-lesson-badge-text: #476282;--tc-lesson-shadow: rgba(88, 113, 153, .14);--tc-lesson-decor: rgba(88, 113, 153, .08);position:relative;overflow:hidden;border-left:4px solid var(--tc-lesson-accent);border-color:var(--tc-lesson-border);background:var(--tc-lesson-bg);color:var(--tc-lesson-text);box-shadow:0 12px 28px var(--tc-lesson-shadow);border-radius:16px;padding:16px;gap:12px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease}.training-center-student-lesson-card:before{content:"";position:absolute;right:-24px;top:-30px;width:110px;height:110px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.78) 0%,transparent 68%);pointer-events:none}.training-center-student-lesson-card:after{content:"";position:absolute;inset:auto -32px -44px auto;width:140px;height:140px;border-radius:28px;background:linear-gradient(135deg,var(--tc-lesson-decor),transparent 72%);transform:rotate(-14deg);pointer-events:none}.training-center-student-lesson-card>*{position:relative;z-index:1}.training-center-student-lesson-card:hover{transform:translateY(-1px);box-shadow:0 18px 34px var(--tc-lesson-shadow)}.training-center-student-lesson-card.interactive{cursor:pointer}.training-center-student-lesson-card.is-current{border-color:color-mix(in srgb,var(--tc-lesson-accent) 22%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--tc-lesson-accent) 18%,transparent),0 18px 36px var(--tc-lesson-shadow)}.training-center-student-lesson-card.is-completed{opacity:.84;filter:saturate(.82)}.training-center-student-lesson-card.is-cancelled{--tc-lesson-bg: linear-gradient(135deg, #fff3f4 0%, #ffe7ea 100%);--tc-lesson-border: rgba(231, 104, 124, .24);--tc-lesson-accent: #d15d71;--tc-lesson-text: #4a2931;--tc-lesson-muted: #87626b;--tc-lesson-badge-bg: rgba(255, 255, 255, .76);--tc-lesson-badge-text: #bb495f;--tc-lesson-shadow: rgba(209, 93, 113, .12);--tc-lesson-decor: rgba(209, 93, 113, .08);opacity:.92}.training-center-student-lesson-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-center-student-lesson-time{font-size:20px;line-height:1.1;font-weight:800;color:var(--tc-lesson-accent)}.training-center-student-lesson-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.training-center-student-lesson-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;background:var(--tc-lesson-badge-bg);color:var(--tc-lesson-badge-text);font-size:12px;font-weight:800;white-space:nowrap}.training-center-student-lesson-chip.status-current{background:color-mix(in srgb,var(--tc-lesson-accent) 14%,white)}.training-center-student-lesson-chip.status-completed,.training-center-student-lesson-chip.status-cancelled{background:#ffffffb8}.training-center-student-lesson-title{font-size:18px;line-height:1.28;font-weight:800;color:var(--tc-lesson-text)}.training-center-student-lesson-meta{display:grid;gap:8px;color:var(--tc-lesson-muted);font-size:14px;font-weight:650}.training-center-student-lesson-meta span,.training-center-student-lesson-subline{display:inline-flex;align-items:center;gap:8px}.training-center-student-lesson-subline{color:var(--tc-lesson-muted);font-size:13px;font-weight:700}.training-center-student-lesson-statuses{display:flex;flex-wrap:wrap;gap:8px}.training-center-student-lesson-footer{display:grid;gap:10px;align-items:start}.training-center-student-lesson-footer .btn{justify-self:start;min-height:42px;background:#ffffffd1;border-color:#fffc;color:var(--tc-lesson-accent);box-shadow:none}.training-center-student-lesson-footer .btn:hover:not(:disabled){background:#fffffff0;border-color:#ffffffeb}.training-center-student-lesson-footer .hint,.training-center-student-lesson-note{font-size:13px;line-height:1.45;color:var(--tc-lesson-muted);font-weight:650}.training-center-student-lesson-modal{display:grid;gap:16px}.training-center-student-lesson-modal-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.training-center-student-lesson-modal-card,.training-center-student-lesson-modal-status{display:grid;gap:6px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.training-center-student-lesson-modal-card strong,.training-center-student-lesson-modal-status strong{display:inline-flex;align-items:center;gap:8px}.training-center-student-lesson-modal-statuses{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.training-center-student-lesson-modal-section{display:grid;gap:6px}.training-center-student-lesson-modal-section p{margin:0;line-height:1.55}.training-center-student-lesson-modal-actions{display:flex;justify-content:flex-start}.tc-journal-header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.tc-journal-header-controls select,.tc-journal-header-controls .btn{height:40px;box-sizing:border-box}.tc-journal-header-controls select{min-width:180px;max-width:280px;padding-top:0;padding-bottom:0}.tc-journal-group-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.tc-journal-group-tab{padding:5px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.tc-journal-group-tab:hover{background:var(--surface-soft);border-color:var(--border-strong)}.tc-journal-group-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.tc-journal-schedule-hint{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.tc-journal-schedule-hint-label{margin:0 0 12px;font-size:.875rem;color:var(--text-muted)}.training-center-journal-record-list,.training-center-journal-student-list{display:grid;gap:14px}.training-center-journal-record-card,.training-center-journal-student-card{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.training-center-journal-record-card{display:flex;gap:12px;align-items:stretch;padding:12px}.training-center-journal-record-card.active{border-color:#2563eb47;box-shadow:0 0 0 1px #2563eb14}.training-center-journal-record-card.disabled{opacity:.74}.training-center-journal-record-main{flex:1;border:0;background:transparent;padding:0;text-align:left;display:grid;gap:10px;cursor:pointer}.training-center-journal-record-main:disabled{cursor:default}.training-center-journal-record-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-center-journal-record-topic{font-size:15px;font-weight:700}.training-center-journal-record-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:13px}.training-center-journal-record-actions{display:flex;align-items:flex-start}.training-center-journal-lesson-panel{display:grid;gap:16px;margin-bottom:18px}.training-center-journal-lesson-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.training-center-journal-student-card{display:grid;gap:14px;padding:16px}.training-center-journal-student-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.training-center-journal-chip-block{display:grid;gap:8px}.training-center-journal-chip-label{font-size:13px;font-weight:700;color:var(--muted)}.training-center-journal-chip-row{display:flex;flex-wrap:wrap;gap:8px}.tc-journal-accordion-list{display:grid;gap:10px}.tc-journal-accordion-card{border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tc-journal-accordion-card.disabled{opacity:.74}.tc-journal-accordion-card.is-open{border-color:#2563eb47;box-shadow:0 0 0 1px #2563eb0f}.tc-journal-accordion-header{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 16px}.tc-journal-accordion-toggle{flex:1;display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:10px 0;text-align:left;cursor:pointer;min-width:0;color:var(--text)}.tc-journal-accordion-toggle:disabled{cursor:default}.tc-journal-accordion-num{font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0}.tc-journal-accordion-date{font-size:14px;font-weight:600;white-space:nowrap;flex-shrink:0}.tc-journal-accordion-topic-preview{font-size:13px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-journal-accordion-chevron{flex-shrink:0;color:var(--muted);transition:transform .2s;margin-left:auto}.tc-journal-accordion-chevron.rotated{transform:rotate(180deg)}.tc-journal-accordion-body{padding:16px 16px 20px;border-top:1px solid var(--border)}.tc-journal-accordion-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.tc-journal-accordion-bulk-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:20px;margin-bottom:10px}.tc-journal-student-table{margin-top:20px;border:1px solid var(--border);border-radius:10px}.tc-journal-student-table-head{display:grid;grid-template-columns:36px 1fr 114px 154px;gap:12px 0;padding:8px 16px;background:var(--surface-soft);font-size:12px;font-weight:700;color:var(--muted);border-bottom:1px solid var(--border);border-radius:9px 9px 0 0}.tc-journal-student-row{display:grid;grid-template-columns:36px 1fr 114px 154px;align-items:center;gap:10px 0;padding:10px 16px;border-bottom:1px solid var(--border)}.tc-journal-student-row:last-child{border-bottom:none;border-radius:0 0 9px 9px}.tc-journal-col-sep{border-left:.5px solid var(--color-border-tertiary);padding-left:12px}.tc-journal-student-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;-webkit-user-select:none;user-select:none}.tc-journal-student-name strong{font-size:14px;display:block}.tc-journal-icon-group{display:flex;gap:6px;align-items:center;justify-content:flex-end}.tc-journal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;position:relative;transition:background .12s,color .12s,border-color .12s}.tc-journal-icon-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#000000bf;color:#fff;font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:20}.tc-journal-icon-btn[data-tooltip]:hover:after{opacity:1}.tc-journal-icon-btn.inactive{background:transparent;color:var(--muted);border-color:var(--color-border-tertiary)}.tc-journal-icon-btn.inactive:hover{background:var(--surface-soft);border-color:var(--border);color:var(--ink)}.tc-journal-icon-btn.success{background:var(--color-background-success);color:var(--color-text-success);border-color:transparent}.tc-journal-icon-btn.danger{background:var(--color-background-danger);color:var(--color-text-danger);border-color:transparent}.tc-journal-icon-btn.warning{background:var(--color-background-warning);color:var(--color-text-warning);border-color:transparent}.tc-journal-icon-btn.secondary{background:var(--color-background-secondary);color:var(--color-text-secondary);border-color:transparent}.tc-status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:opacity .12s,background .12s,border-color .12s;line-height:1.4}.tc-status-pill.inactive{background:#0f172a0d;color:var(--muted);border-color:var(--border)}.tc-status-pill.inactive:hover{background:var(--surface-soft);border-color:var(--border-strong)}.tc-status-pill.success{background:var(--color-background-success);color:var(--color-text-success);border-color:#22c55e59}.tc-status-pill.warning{background:var(--color-background-warning);color:var(--color-text-warning);border-color:#f59e0b59}.tc-status-pill.danger{background:var(--color-background-danger);color:var(--color-text-danger);border-color:#ef444459}.tc-status-pill.soft{background:var(--color-background-secondary);color:var(--muted);border-color:var(--color-border-tertiary)}@media (max-width: 720px){.tc-journal-student-table-head{display:none}.tc-journal-student-row{grid-template-columns:36px 1fr;row-gap:8px}.tc-journal-icon-group{grid-column:1 / -1;justify-content:flex-start}.tc-journal-col-sep{border-left:none;padding-left:0}}.schedule-day.has-replacement{box-shadow:inset 0 0 0 2px #0ea5e933}.schedule-day.has-group-call{box-shadow:inset 0 0 0 2px #7dd3fc2e}.schedule-day-replacement-dot{width:6px;height:6px;border-radius:999px;background:#0ea5e9;margin:4px 0 2px}.schedule-lesson-card{border-left:4px solid var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;display:grid;gap:6px;position:relative}.schedule-lesson-card.is-clickable{cursor:pointer}.schedule-lesson-card.compact{padding:8px}.schedule-lesson-card.compact.training-center-schedule-preview-card{background:#bfdbfe;border-color:#93c5fd;border-left-color:#2563eb;box-shadow:0 10px 18px #2563eb1f}.schedule-lesson-card.compact.training-center-schedule-preview-card .schedule-title{color:#163a76;font-weight:700}.schedule-lesson-card.compact.training-center-schedule-preview-card .muted{color:#355081}.schedule-lesson-card.subject-color{isolation:isolate;overflow:hidden;background:var(--lesson-bg);border:1px solid var(--lesson-border);color:var(--lesson-text);box-shadow:0 14px 28px var(--lesson-shadow, rgba(15, 23, 42, .1))}.schedule-lesson-card.subject-color:before,.schedule-lesson-card.subject-color:after{content:"";position:absolute;pointer-events:none;z-index:0}.schedule-lesson-card.subject-color:before{right:-34px;bottom:-44px;width:128px;height:128px;border-radius:34px;background:linear-gradient(135deg,var(--lesson-decor),transparent 68%),var(--lesson-pattern);transform:rotate(-14deg)}.schedule-lesson-card.subject-color:after{right:18px;top:14px;width:76px;height:76px;border:12px solid var(--lesson-pattern);border-radius:999px;opacity:.72;transform:rotate(18deg)}.schedule-lesson-card.compact.subject-color{min-height:56px;padding:10px 12px;box-shadow:0 8px 16px var(--lesson-shadow, rgba(15, 23, 42, .08))}.schedule-lesson-card.compact.subject-color:before{right:-30px;bottom:-36px;width:88px;height:88px;border-radius:24px}.schedule-lesson-card.compact.subject-color:after{right:8px;top:8px;width:42px;height:42px;border-width:8px}.schedule-lesson-card.subject-color>*{position:relative;z-index:1}.schedule-lesson-card.subject-color>.student-current-badge{position:absolute;top:14px;right:14px;z-index:4;width:max-content;max-width:calc(100% - 28px);box-sizing:border-box;white-space:nowrap}.schedule-lesson-card.subject-color .schedule-title,.schedule-lesson-card.subject-color .schedule-time{color:var(--lesson-text)}.schedule-lesson-card.subject-color .schedule-title{font-weight:800;line-height:1.24}.schedule-lesson-card.subject-color .muted{color:var(--lesson-muted);font-weight:650}.schedule-lesson-card.subject-color.is-clickable:hover{transform:translateY(-1px);box-shadow:0 18px 32px var(--lesson-shadow, rgba(15, 23, 42, .14))}.schedule-lesson-card.replacement{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;cursor:pointer;border-style:dashed;border-color:#0ea5e966;border-left-color:#0ea5e9;background:#0ea5e914}.schedule-lesson-card.replacement:disabled{opacity:.7;cursor:default}.schedule-replacements{display:grid;gap:8px;margin-bottom:12px}.schedule-replacements-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-strong)}.schedule-replacements-list{display:grid;gap:8px}.schedule-lesson-card.is-conflict{border-color:#f97316;background:#ffedd599}.schedule-lesson-card .schedule-tooltip{position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow);display:none;min-width:180px}.schedule-lesson-card:hover .schedule-tooltip{display:block}.schedule-time{font-weight:700;font-size:12px}.schedule-title{font-weight:600}.schedule-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;font-size:11px;padding:2px 8px;border-radius:999px;background:#94a3b833;color:var(--ink);font-weight:600}.badge.soft{background:#2563eb1a;color:var(--accent-strong)}.badge.success{background:#16a34a24;color:#15803d}.badge.danger{background:#ef444426;color:var(--warning)}.badge.cancelled{background:#94a3b833;color:var(--muted)}.badge.moved{background:#38bdf82e;color:var(--accent-strong)}.badge.moved_replacement{background:#16a34a24;color:#15803d}.icon-btn{height:32px;width:32px;padding:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.btn.ghost.setup-delete-icon-btn{color:var(--color-text-danger);border-color:#ef444438}.btn.ghost.setup-delete-icon-btn:hover{color:#9f1239;background:#ef444414;border-color:#ef444447}.setup-search-clear{background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .16s ease}.setup-search-clear:hover{color:var(--text)}.setup-search-clear:active{color:var(--accent-strong)}.schedule-editor{display:grid;gap:16px}.schedule-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-editor-actions{display:flex;justify-content:flex-end;gap:8px}.schedule-time-panel{grid-column:1 / -1;padding:14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 82%,var(--accent-soft) 18%)}.schedule-time-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.schedule-time-panel-header label{margin:0}.schedule-time-mode{display:grid;gap:8px}.schedule-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.schedule-slot-chip{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,transform .14s ease,box-shadow .14s ease}.schedule-slot-chip:hover{border-color:color-mix(in srgb,var(--accent-strong) 40%,var(--border));background:color-mix(in srgb,var(--accent-soft) 40%,var(--surface));transform:translateY(-1px)}.schedule-slot-chip.is-selected{border-color:var(--accent-strong);background:color-mix(in srgb,var(--accent-soft) 58%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-strong) 18%,transparent)}.schedule-slot-chip-index{font-size:12px;font-weight:700;color:var(--muted)}.schedule-slot-chip-time{font-size:14px;font-weight:700;color:var(--ink)}.schedule-time-custom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.schedule-time-status-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.schedule-call-users{display:grid;gap:8px;max-height:220px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.schedule-call-users-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.schedule-call-users-header label{margin:0}.schedule-call-users-actions{display:flex;flex-wrap:wrap;gap:8px}.schedule-call-user-row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;width:100%;font-weight:600}.schedule-call-user-row input[type=checkbox]{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}.schedule-call-user-label{min-width:0;line-height:1.35;word-break:break-word}.schedule-call-manage{display:grid;gap:10px;padding-top:6px;border-top:1px solid var(--border)}.schedule-call-manage-title{font-size:13px;font-weight:700;color:var(--ink)}.schedule-material-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.schedule-week-agenda{margin-top:16px;display:grid;gap:12px}.schedule-week-title{font-weight:700;color:var(--ink)}.schedule-week-list{display:grid;gap:12px}.schedule-week-day{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;padding:12px;display:grid;gap:8px}.schedule-week-day-label{font-weight:700;font-size:12px;color:var(--muted)}.schedule-day-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px}.schedule-day-agenda{display:grid;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;z-index:5000;padding:20px;overflow:hidden}[data-theme=dark] .modal-backdrop{background:#04081099}.modal-card{position:relative;width:min(920px,100%);max-height:90vh;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-card:hover{background:var(--surface);box-shadow:var(--shadow)}.modal-card.substitution-request-modal,.modal-card.group-call-modal{display:flex;flex-direction:column;max-height:90vh;overflow:visible}.modal-card.subject-edit-modal{width:min(1120px,100%);max-height:calc(100vh - 32px)}.subject-edit-modal .multi-list{max-height:min(52vh,520px)}.substitution-request-modal .modal-title,.group-call-modal .modal-title{flex-shrink:0}.substitution-request-modal-body,.group-call-modal-body{max-height:calc(90vh - 88px);overflow-y:auto;overflow-x:visible;padding-right:4px}.modal-title{font-family:Space Grotesk,Manrope,sans-serif;font-size:20px;font-weight:700;margin-bottom:12px;padding-right:40px}.modal-close-btn{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;z-index:1}.modal-close-btn:hover{background:var(--sidebar-item-hover)}.mobile-bottom-nav{display:none}.mobile-more-modal{width:min(560px,100%)}.mobile-more-list{display:grid;gap:10px}.mobile-more-footer{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.mobile-more-theme{background:transparent;padding:0}@media (max-width: 1100px){.schedule-week{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-day-layout{grid-template-columns:1fr}}@media (max-width: 700px){.schedule-week{grid-template-columns:1fr}.training-center-schedule-month .schedule-day{min-height:0}.training-center-student-week-board{grid-template-columns:1fr}.training-center-student-day-card{min-height:0}.training-center-student-lesson-card{padding:18px}.training-center-student-lesson-top{flex-direction:column;align-items:stretch}.training-center-student-lesson-badges{justify-content:flex-start}.training-center-student-lesson-time{font-size:22px}.training-center-student-lesson-modal-grid,.training-center-student-lesson-modal-statuses,.training-center-journal-lesson-grid{grid-template-columns:1fr}.training-center-journal-record-card{flex-direction:column}.schedule-toolbar{flex-direction:column;align-items:flex-start}.schedule-actions{width:100%;justify-content:space-between}}.filter-group{display:flex;gap:6px;align-items:flex-start;flex-direction:column;flex:0 0 auto}.filter-search-row{display:flex}.filter-controls-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filter-controls-row .filter-group{min-width:200px;flex:1 1 200px}.filter-controls-row select,.filter-search-row .filter-group,.filter-search-row .filter-input{width:100%}.filter-group-actions{align-self:flex-end;flex:0 0 auto}.filter-group-block{flex-direction:column;align-items:flex-start;gap:6px;min-width:260px;padding:6px 8px;border-radius:10px;background:var(--accent-soft)}.filter-label{font-weight:700;font-size:13px;color:var(--ink)}.filter-input{width:100%}.filter-help{font-size:12px;color:var(--muted)}.chip{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:var(--surface);font-weight:600;font-size:13px;transition:background .2s ease,border .2s ease,box-shadow .2s ease}.chip:hover{background:var(--accent-soft);border-color:#2563eb40}.chip.is-active,.chip.active{background:var(--accent-soft);border-color:#2563eb73;box-shadow:0 6px 16px #0f172a0f}.finance-chip-row{margin-top:12px;margin-bottom:16px;gap:12px}.finance-chip-row .chip{min-height:38px;padding:9px 16px;font-size:14px;border-radius:12px}.chip.setup-weekday-chip{background:transparent}.chip.setup-weekday-chip:hover{background:transparent;border-color:#2563eb73;box-shadow:none}.chip.setup-weekday-chip.active,.chip.setup-weekday-chip.active:hover{background:var(--accent-soft);border-color:#2563ebb3;box-shadow:none}@media (max-width: 900px){.filter-row{position:static}.filter-controls-row{flex-direction:column;align-items:stretch}.finance-chip-row .chip{min-height:34px;padding:8px 14px;font-size:13px}}.pagination{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:16px}.empty-state{display:grid;gap:8px;justify-items:center;text-align:center;color:var(--muted);padding:24px 0}.empty-state-card{margin-top:12px;padding:28px 20px;border:1px dashed var(--border);background:var(--surface-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.empty-state-icon{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--border);color:var(--muted);background:var(--surface)}.empty-state-icon.empty-state-icon-success{color:#059669;border-color:#05966947;background:#ecfdf5f2}.empty-state-card.empty-state-card-success{border-color:#05966938}.empty-state-title{font-size:20px;font-weight:700;color:var(--text)}.empty-state-description{max-width:560px;color:var(--muted)}.empty-state-action{width:100%;display:flex;justify-content:center;margin-top:8px}.empty-state-icon.chat-empty-state-illustration{width:min(220px,100%);height:auto;padding:0;border:0;background:transparent;border-radius:0}.empty-state-icon.chat-empty-state-illustration img{display:block;width:100%;height:auto;object-fit:contain}.empty-state-icon.journal-empty-state-illustration{width:min(240px,100%);height:auto;padding:0;border:0;background:transparent;border-radius:0}.empty-state-icon.journal-empty-state-illustration img{display:block;width:100%;height:auto;object-fit:contain}.teacher-dashboard-empty-compact .empty-state-icon.teacher-empty-schedule-illustration{width:min(260px,100%);height:auto;padding:0;border:0;background:transparent;border-radius:0}.teacher-dashboard-empty-compact .empty-state-icon.teacher-empty-schedule-illustration img{display:block;width:100%;height:auto;object-fit:contain}.empty-state-icon.hw-revision-illustration{width:200px;height:200px;border:0;background:transparent;border-radius:0;margin:0 auto -24px}.empty-state-icon.hw-revision-illustration img{display:block;width:100%;height:100%;object-fit:contain}.card.empty-state-card.empty-state-flat{border:none;box-shadow:none;background:transparent;margin-top:0}.card.empty-state-card.empty-state-flat:hover{background:transparent;box-shadow:none}.empty-state-icon.subjects-empty-mascot{width:auto;height:auto;border:none;border-radius:0;background:transparent;margin-bottom:-6px}.empty-state-icon.subjects-empty-mascot img{width:220px;height:auto;display:block}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:var(--page)}.not-found-card{width:min(1180px,100%);padding:32px}.not-found-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:28px}.not-found-illustration-wrap{display:flex;justify-content:center;align-items:center}.not-found-illustration{width:min(100%,640px);height:auto;display:block;object-fit:contain}.not-found-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.not-found-code{font-size:clamp(88px,16vw,220px);line-height:.9;font-weight:800;color:var(--text)}.not-found-description{max-width:420px;margin:0;font-size:18px;line-height:1.55;color:var(--muted)}.not-found-actions{display:flex;align-items:center;gap:12px;padding-top:4px}@media (max-width: 900px){.not-found-card{padding:24px 20px}.not-found-layout{grid-template-columns:1fr;gap:20px}.not-found-copy{align-items:center;text-align:center}.not-found-description{max-width:560px}}.profile-school-hero{min-height:150px;display:flex;align-items:center;background-position:center;background-size:cover}.profile-school-hero.has-cover{color:#fff}.profile-school-hero.has-cover .muted,.profile-school-hero.has-cover .profile-school-copy span{color:#ffffffd1}.profile-school-hero-main{display:flex;align-items:center;gap:18px;min-width:0}.profile-school-avatar{width:86px;height:86px;flex:0 0 auto;overflow:hidden;border-radius:8px;border:3px solid rgba(255,255,255,.88);background:#fff;box-shadow:0 14px 32px #0f172a2e}.profile-school-avatar img{width:100%;height:100%;object-fit:cover}.profile-school-copy{display:grid;gap:6px;min-width:0}.profile-school-copy span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.profile-school-copy h1{margin:0;overflow-wrap:anywhere}.profile-school-copy p{margin:0}@media (max-width: 640px){.profile-school-hero{min-height:180px;align-items:flex-end}.profile-school-hero-main,.profile-avatar{align-items:flex-start;flex-direction:column}.profile-school-avatar{width:72px;height:72px}}.profile-avatar{display:flex;gap:16px;align-items:center;padding:12px;border-radius:12px;background:#ffffffb3;border:1px solid rgba(16,24,40,.08)}.avatar-preview{width:96px;height:96px;border-radius:16px;overflow:hidden;background:#e2eefa99;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:600}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{text-align:center}.sidebar-profile{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:12px;background:#e2eefaa6}.sidebar-profile-platform{background:#d7e7ffeb;border:1px solid rgba(37,99,235,.16)}.sidebar-avatar{width:36px;height:36px;border-radius:10px;overflow:hidden;background:#fffc;display:grid;place-items:center;color:var(--muted)}.sidebar-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-profile-info{display:grid;gap:2px}.sidebar-profile-name{font-weight:700;font-size:13px;color:var(--ink)}.sidebar-profile-role{font-size:12px;color:var(--muted)}.sidebar-profile-email{font-size:12px;color:var(--accent-strong);word-break:break-word}.sidebar-profile-class{font-size:12px;color:var(--accent-strong);font-weight:600}.account-dropdown{position:relative;margin:6px 0 10px}.account-dropdown-footer{width:100%;margin:0}.account-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffffd1;color:var(--ink);font:inherit;cursor:pointer}.account-dropdown-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:4000;display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.account-dropdown-menu-footer{position:fixed;left:calc(var(--sidebar-width) + 8px);right:auto;top:auto;bottom:18px;min-width:min(360px,calc(100vw - 48px))}.account-dropdown-current{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(37,99,235,.18);border-radius:12px;background:linear-gradient(180deg,#dbeafe9e,#ffffffeb)}.account-dropdown-section-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong)}.account-dropdown-current-name{font-weight:800;color:var(--ink)}.account-dropdown-current-meta{font-size:12px;color:var(--muted);word-break:break-word}.account-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);text-align:left;cursor:pointer}.account-dropdown-item.is-active{border-color:#2563eb57;background:linear-gradient(180deg,#dbeafe9e,#ffffffeb);box-shadow:inset 0 0 0 1px #2563eb14}.account-dropdown-main{min-width:0;display:grid;gap:4px}.account-dropdown-name{font-weight:700;color:var(--ink)}.account-dropdown-meta{font-size:12px;color:var(--muted);word-break:break-word}.account-dropdown-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.mobile-account-list{display:grid;gap:8px;margin-top:4px}.mobile-more-group{display:grid;gap:8px}.mobile-more-group-title{margin:6px 0 0}.mobile-more-group-list{display:grid;gap:8px}.mobile-account-item{width:100%;display:grid;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffffd1;text-align:left}.mobile-account-item.is-active{border-color:#2563eb3d;background:#dbeafe7a}.mobile-account-name{font-weight:700;color:var(--ink)}.mobile-account-meta{font-size:12px;color:var(--muted);word-break:break-word}.account-switch-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.account-switch-card.is-active{border-color:#2563eb3d;background:#dbeafe7a}.account-switch-main{min-width:0;display:grid;gap:4px}.account-switch-name{font-weight:700;color:var(--ink)}.account-switch-meta{font-size:12px;color:var(--muted);word-break:break-word}.app-layout.sidebar-collapsed .sidebar-profile{justify-content:center;padding:10px 0}.app-layout.sidebar-collapsed .sidebar-profile-info{display:none}.comment-block{margin-top:12px;padding-top:4px}.comment-block .btn{margin-top:8px}.material-items{display:grid;gap:0;padding-right:4px}.material-item{background:#ffffffeb}.material-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:0}.material-tabs .chip{border:1px solid rgba(16,24,40,.12);border-bottom:0;background:#e2eefa80;border-radius:8px 8px 0 0;padding:12px 18px;font-size:15px;position:relative}.material-tabs .chip.is-active{background:#2563eb29;border-color:#2563eb40;color:var(--accent-strong);box-shadow:none}.material-tabs .chip:hover{background:#2563eb14;border-color:#2563eb40}.material-items:hover .material-tabs .chip.is-active{background:#2563eb29;border-color:#2563eb40}.material-item{border-top-left-radius:0;border-top-right-radius:6px;border-color:#10182824;margin-top:-1px;border-top:0}.material-items .card.material-item{margin-top:0;border-top-width:1px}.materials-section{margin-top:12px}.homework-materials-head,.homework-flat-materials-head{align-items:flex-start;padding-top:4px}.homework-materials-empty{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px;border:1px dashed rgba(37,99,235,.28);border-radius:8px;background:#eff6ff9e}.homework-flat-material-list{display:grid;gap:12px}.homework-flat-material-item{display:grid;gap:12px;padding:14px;border:1px solid rgba(37,99,235,.35);border-radius:8px;background:#fff}.homework-flat-material-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.add-file-btn{margin-top:8px}.publish-mode-grid{flex-wrap:wrap}.publish-mode-grid .attachment-kind-btn{padding:10px 16px;font-size:14px;min-height:38px;min-width:140px;white-space:nowrap}.add-material-btn{margin-bottom:8px}.alert{padding:10px 12px;border-radius:12px;background:#dc26261a;color:var(--warning);font-weight:600;font-size:13px}.table{width:100%;border-collapse:collapse}.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border);background:var(--table-bg);max-width:100%;-webkit-overflow-scrolling:touch}.permissions-grid{display:grid;gap:8px;margin:12px 0}.permission-option{align-items:start}.permission-option-copy{display:grid;gap:2px;min-width:0}.permission-option-copy span{overflow-wrap:break-word;word-break:normal}.permissions-grid .checkbox-row span{min-width:0;overflow-wrap:break-word;word-break:normal}.permissions-grid .checkbox-row .muted{grid-column:2}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.form-actions .btn{min-height:40px}.form-actions.center{justify-content:center}.table-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.table th.table-actions-heading{text-align:right;width:1%;white-space:nowrap}.course-detail-heading{display:flex;align-items:flex-start;gap:12px}.table-actions .btn{display:inline-flex;align-items:center;gap:6px}.grouped-actions{flex-wrap:wrap;gap:10px}.table-action-group{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.table-action-group .btn{min-height:34px;padding:7px 10px}.payment-action-stack{display:grid;gap:6px;justify-content:end;justify-items:end;min-width:0}.payment-action-primary-row{display:grid;gap:6px;justify-items:end;min-width:148px}.payment-action-primary-row .btn,.payment-action-history{width:100%;justify-content:center;min-height:34px;padding:7px 10px;white-space:nowrap}.payment-action-history{min-height:32px;justify-self:stretch}.training-center-payments-table-wrap{width:100%;max-width:100%;overflow-x:scroll;overflow-y:visible;-webkit-overflow-scrolling:touch}.training-center-payments-table{width:max-content;min-width:1480px;table-layout:auto}.training-center-payments-table th,.training-center-payments-table td{white-space:nowrap}.training-center-payments-table th:first-child,.training-center-payments-table td:first-child{min-width:240px}.training-center-payments-table th:nth-child(2),.training-center-payments-table td:nth-child(2){min-width:180px}.training-center-payments-table th:nth-child(3),.training-center-payments-table td:nth-child(3),.training-center-payments-table th:nth-child(4),.training-center-payments-table td:nth-child(4){min-width:108px;padding-left:4px;padding-right:4px}.training-center-payments-table th:nth-child(4),.training-center-payments-table td:nth-child(4){min-width:96px;padding-right:1px}.training-center-payments-table th:nth-child(5),.training-center-payments-table td:nth-child(5){min-width:92px;padding-left:1px;padding-right:4px}.training-center-payments-table th:last-child,.training-center-payments-table td:last-child{min-width:220px}.link-inline{display:inline-flex;align-items:center;gap:6px}.users-table-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:nowrap;gap:8px}.users-table-action-slot{display:flex;align-items:center;justify-content:flex-end;width:32px;min-width:32px;height:32px}.users-table-action-placeholder{width:32px;height:32px;display:block}.table-wrap .table{min-width:100%}.link-button{background:none;border:none;padding:0;color:var(--accent-strong);font-weight:600;cursor:pointer;text-align:left}.link-button:hover{text-decoration:underline}.class-pill{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}.class-dot{width:10px;height:10px;border-radius:50%}.subjects-table .table tr:hover{background:var(--accent-soft)}@media (max-width: 700px){.subjects-table .table,.subjects-table thead,.subjects-table tbody,.subjects-table th,.subjects-table td,.subjects-table tr{display:block}.subjects-table thead{display:none}.subjects-table tr{border:1px solid var(--border);border-radius:12px;padding:10px;margin-bottom:10px;background:var(--surface)}.subjects-table td{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:6px 0}.subjects-table td:before{content:attr(data-label);font-size:12px;color:var(--muted);font-weight:600}}.checkbox-row-inline{display:flex;align-items:center;gap:10px;justify-content:flex-start;width:fit-content;align-self:flex-start}.checkbox-row-inline label{margin:0}.checkbox-row-inline input[type=checkbox]{margin:0;width:18px;height:18px;border-radius:5px}.checkbox-row-inline span{font-size:15px;font-weight:600}.role-option-grid{display:flex;flex-wrap:wrap;gap:10px}.role-option-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:#f8fafce6;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:auto;max-width:100%}.role-option-card:hover{background:#eff6fff5;border-color:#3b82f63d}.role-option-card.active{background:#dbeafef2;border-color:#2563eb57;box-shadow:0 8px 24px #2563eb14}.role-option-card input[type=checkbox]{margin:0;width:18px;height:18px;flex:0 0 auto;order:-1}.role-option-card-main{display:grid;gap:2px;min-width:0}.role-option-card-title{font-size:14px;font-weight:700;color:var(--ink)}.role-option-card-description{font-size:12px;line-height:1.3;color:var(--muted)}.tenant-picker{display:grid;gap:12px}.tenant-item{text-align:left;border:1px solid var(--border);background:var(--sidebar-item-bg);border-radius:10px;padding:12px 14px;transition:background .15s ease,border-color .15s ease;color:var(--ink)}.tenant-item:hover{background:var(--sidebar-item-hover);border-color:#2563eb33}.checkbox-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;width:100%;margin-top:8px;font-size:16px;line-height:1.45}.checkbox-row span{display:block;width:100%;overflow-wrap:anywhere}.checkbox-row .muted{grid-column:2}.role-editor{border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);overflow:hidden}.role-editor-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;padding:16px 18px;text-align:left;color:var(--ink);cursor:pointer}.role-editor-toggle:hover{background:#eff6ffa8}.role-editor.is-open .role-editor-toggle{border-bottom:1px solid var(--border)}.role-editor-toggle-main{min-width:0}.role-editor-title{font-size:15px;font-weight:700}.role-editor-meta{margin-top:4px;color:var(--muted);font-size:13px}.role-editor-toggle-icon{flex:0 0 auto;color:var(--muted);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .16s ease,color .16s ease}.role-editor-toggle-icon.is-open{transform:rotate(180deg)}.role-editor-body{padding:16px 18px 18px}.table th,.table td{text-align:left;padding:10px 8px}.table tbody tr{border-top:1px solid var(--border)}.journal-grid-wrap{border:1px solid rgba(15,23,42,.08);border-radius:12px;overflow-x:scroll;overflow-y:scroll;flex:1;min-height:0;height:100%;max-height:100%;width:100%;max-width:100%;min-width:0;background:var(--surface);box-shadow:inset 0 0 0 1px #0f172a0a;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-gutter:stable both-edges}.journal-grid{display:grid;gap:0;background:#e2e8f099;font-variant-numeric:tabular-nums;width:max-content;min-width:100%}.journal-row{display:contents}.journal-cell{background:var(--surface);padding:3px 4px;min-height:28px;font-size:11px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08);cursor:cell}.journal-cell.row-even{background:#f1f5f999}.journal-row-me .journal-cell{background:#2563eb24}.journal-row-me .journal-cell.row-even{background:#2563eb30}.journal-row-me .journal-sticky{background:#c5d7fff7}.journal-row-me .journal-cell.is-hover,.journal-row-me .journal-cell-edit.is-hover{background:#2563eb47!important}.journal-header{position:sticky;top:0;z-index:1;background:var(--bg-alt);font-weight:700;text-align:center;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.journal-header-span{grid-row:span 2;align-items:center}.journal-date-header{justify-content:center}.journal-subheader{font-size:11px;font-weight:600;text-transform:lowercase;letter-spacing:.04em}.journal-work-label{margin-top:4px;font-size:10px;color:var(--muted);font-weight:600}.journal-sticky{position:sticky;left:0;z-index:2;background:#f8fafcf2}.journal-header.journal-sticky{z-index:2}.journal-cell-edit{display:flex;align-items:center;justify-content:center;position:relative}.journal-input{width:100%;padding:0;border-radius:4px;border:1px solid transparent;background:transparent;font-size:12px;text-align:center}.journal-value{font-size:12px;text-align:center}.journal-cell-edit.dirty{outline:2px solid rgba(234,179,8,.45)}.journal-cell-edit.saving{outline:2px solid rgba(14,116,144,.45)}.journal-cell-edit.saved{outline:2px solid rgba(16,185,129,.45)}.journal-cell-edit.error{outline:2px solid rgba(220,38,38,.6)}.journal-cell.is-hover,.journal-cell-edit.is-hover{background:#3b82f614}.journal-cell-edit.is-active{outline:2px solid rgba(59,130,246,.6);background:var(--surface)}.journal-cell-edit.is-active .journal-input{border:1px solid rgba(59,130,246,.6);background:var(--input-bg);height:24px}.journal-hint{position:absolute;right:6px;bottom:4px;font-size:10px;color:var(--muted)}.journal-toolbar{display:grid;gap:10px;padding:12px;background:#ffffffe6;border:1px solid rgba(16,24,40,.08);border-radius:12px;position:relative;z-index:60}.journal-toolbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.journal-toolbar-section{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:240px}.journal-toolbar-filters{flex:1}.journal-toolbar-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:240px;flex:1}.journal-toolbar-group input,.journal-toolbar-group select,.journal-toolbar-section input,.journal-toolbar-section select{min-width:128px;width:auto;height:34px;font-size:12px;border-radius:8px;padding:6px 10px;background:var(--input-bg);color:var(--ink)}.journal-toolbar .btn{height:34px;padding:0 12px;border-radius:8px;font-size:12px}.journal-toolbar-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-left:auto;min-width:auto}.journal-search{min-width:200px}.journal-work-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1}.journal-work-title{font-weight:700;font-size:12px;color:var(--muted);margin-right:4px}.journal-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.journal-legend-item{display:inline-flex;align-items:center;gap:6px}.journal-legend-pill{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 6px;border-radius:999px;font-weight:700;font-size:11px;color:var(--ink);background:#94a3b833}.journal-legend-pill.is-present{background:#10b9812e}.journal-legend-pill.is-absent{background:#ef44442e}.journal-legend-pill.is-late{background:#eab30833}.journal-legend-pill.is-grade{background:#3b82f62e}.journal-attendance-legend{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;padding-top:12px;margin-top:12px;border-top:1px solid var(--border)}.journal-attendance-legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;font-weight:600}.journal-attendance-legend-item i{width:14px;height:14px;border-radius:3px;flex:0 0 auto}.journal-attendance-legend-item .is-present,.journal-attendance-legend-item .is-late{background:#4f9a48}.journal-attendance-legend-item .is-absent{background:#df574d}.journal-attendance-legend-item .is-excused{background:#6caed6}.journal-attendance-legend-item .is-planned{background:#d9d9d9}.journal-attendance-legend-item .is-conducted{background:#64748b}.journal-attendance-legend-item.is-total{font-weight:800}.journal-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;max-height:none;border-radius:0;height:100vh;width:100vw;padding:16px;box-sizing:border-box}.journal-fullscreen .journal-grid-wrap{height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.journal-fullscreen-card{padding:0;border:none;background:transparent}.journal-table-actions{position:absolute;top:12px;right:12px;z-index:12;display:inline-flex;align-items:center;gap:8px}.journal-fs-toggle{position:static;width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:background .15s ease,border .15s ease}.journal-fs-toggle:hover{background:#2563eb14;border-color:#2563eb40}.journal-fullscreen-card .journal-table-actions{position:fixed;top:12px;right:12px;z-index:80}.journal-card{padding:14px;border:1px solid rgba(16,24,40,.08)}.journal-table-card{padding-top:64px;min-height:420px;display:flex;flex-direction:column;height:auto;flex:1;width:100%;min-width:0;position:relative;overflow:visible}.journal-status{display:flex;align-items:center;gap:16px;margin-top:10px;font-size:13px}.journal-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px}.journal-pagination-actions{display:flex;gap:8px}.journal-header-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;justify-content:space-between}.journal-back{display:inline-flex;align-items:center;gap:8px}.journal-tabs-bar{position:relative;z-index:40;background:#f8fafcfa;border-bottom:1px solid rgba(15,23,42,.12);padding:8px 10px 6px;display:flex;align-items:center;gap:10px}.journal-tabs-bar.fullscreen{position:fixed;top:12px;left:16px;right:16px;z-index:90;border-radius:10px}.journal-grid-wrap.journal-fullscreen{padding-top:72px;box-sizing:border-box}.journal-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0}.journal-tabs-actions{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.journal-fs-toggle.in-tabs{position:static;margin-left:0}.journal-tab{border:1px solid rgba(15,23,42,.12);border-bottom:none;background:#eef2f6;border-radius:8px 8px 0 0;padding:8px 16px 9px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;position:relative;top:1px}.journal-tab.active{background:#fff;border-color:#0f172a2e;color:var(--ink);z-index:2}.journal-tab.readonly{opacity:.7}.journal-tab-lock{font-size:11px;text-transform:lowercase}.journal-toolbar-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}.journal-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.journal-class-card{text-align:left;border:1px solid rgba(37,99,235,.35);background:#fff;transition:border .2s ease,box-shadow .2s ease;cursor:pointer}.journal-class-card:hover{border-color:#2563ebb3;box-shadow:none}.journal-class-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.journal-class-card-title{font-weight:600;font-size:16px}.journal-class-card-meta{display:flex;gap:12px;margin-top:6px}.journal-class-card-subjects{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.journal-pill{background:#eef1f6;border-radius:999px;padding:4px 8px;font-size:12px}.journal-cell-edit.is-readonly{background:#f4f5f7;color:#667085;cursor:default}.journal-cell.is-weekend,.journal-header.is-weekend,.journal-cell-edit.is-weekend{background:#f8eee399}.cell-present{background:#10b9811f}.cell-absent{background:#ef444424}.cell-late{background:#10b9811f}.cell-excused{background:#6caed633}.cell-grade{background:#3b82f61f}.student-attendance-page{gap:18px;--attendance-present-strong: #2563eb;--attendance-present-soft: rgba(37, 99, 235, .12);--attendance-absent-strong: #dc2626;--attendance-absent-soft: rgba(220, 38, 38, .12);--attendance-planned-strong: #64748b;--attendance-planned-soft: rgba(148, 163, 184, .18);--attendance-conducted-strong: #475467}.student-attendance-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-attendance-head h1{margin:0}.student-attendance-mode{display:inline-flex;gap:6px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.student-attendance-mode button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:10px 18px;background:transparent;color:var(--muted);font-weight:700;text-transform:uppercase;cursor:pointer}.student-attendance-mode button.is-active{background:var(--accent);color:#fff}.student-attendance-summary{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.student-attendance-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center}.student-attendance-ring>div{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--surface);color:var(--ink)}.student-attendance-ring span,.student-attendance-ring small{color:var(--muted);font-size:12px}.student-attendance-ring strong{font-size:24px;line-height:1}.student-attendance-legend{display:flex;gap:14px 22px;flex-wrap:wrap;align-items:center}.student-attendance-legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:600}.student-attendance-legend-item i{width:14px;height:14px;border-radius:3px;border:1px solid rgba(16,24,40,.08)}.student-attendance-legend-item .is-present,.student-attendance-day.is-present,.student-attendance-week-cell.is-present,.student-attendance-legend-item .is-late,.student-attendance-day.is-late,.student-attendance-week-cell.is-late{background:var(--attendance-present-soft);color:var(--accent-strong)}.student-attendance-legend-item .is-absent,.student-attendance-day.is-absent,.student-attendance-week-cell.is-absent{background:var(--attendance-absent-soft);color:var(--attendance-absent-strong)}.student-attendance-legend-item .is-excused,.student-attendance-day.is-excused,.student-attendance-week-cell.is-excused{background:#0ea5e924;color:#0f5f8f}.student-attendance-legend-item .is-planned,.student-attendance-day.is-planned,.student-attendance-week-cell.is-planned{background:var(--attendance-planned-soft);color:var(--attendance-planned-strong)}.student-attendance-legend-item .is-conducted{background:#47546729;color:var(--attendance-conducted-strong)}.student-attendance-legend-item.is-total{font-weight:800}.student-attendance-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.student-attendance-month{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface);box-shadow:var(--shadow-soft)}.student-attendance-month h2{margin:0 0 12px;text-align:center;font-size:17px}.student-attendance-weekdays,.student-attendance-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.student-attendance-weekdays span{color:var(--muted);text-align:center;font-size:12px;font-weight:700}.student-attendance-day{min-height:38px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.student-attendance-day:hover{outline:2px solid rgba(37,99,235,.22)}.student-attendance-week-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow-x:auto}.student-attendance-week-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:16px}.student-attendance-week-grid{display:grid;min-width:980px;border-top:1px solid var(--border)}.student-attendance-week-row{display:contents}.student-attendance-week-header{background:var(--accent);color:#fff;padding:13px 16px;font-weight:800;text-transform:uppercase;text-align:center;border-right:1px solid rgba(255,255,255,.2)}.student-attendance-period{padding:16px;font-weight:800;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#2563eb0f}.student-attendance-week-cell{min-height:58px;margin:4px;border-radius:4px;padding:10px;background:#f8fafceb;border:1px solid transparent;border-bottom:1px solid var(--border)}.student-attendance-week-cell strong,.student-attendance-week-cell span{display:block;overflow-wrap:anywhere}.student-attendance-week-cell span{font-size:12px;opacity:.9}.training-center-student-journal-cell-list{display:grid;gap:8px}.training-center-student-journal-cell-item{display:grid;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.training-center-student-journal-cell-item+.training-center-student-journal-cell-item{padding-top:8px;border-top:1px solid rgba(15,23,42,.08)}.training-center-student-journal-cell-item:hover{opacity:.9}@media (max-width: 760px){.student-attendance-head,.student-attendance-summary{grid-template-columns:1fr;align-items:stretch}.student-attendance-head{display:grid}.student-attendance-ring{justify-self:center}.student-attendance-mode{justify-content:stretch}.student-attendance-mode button{flex:1;justify-content:center;padding:10px 12px}}.cell-substitution-replaced{background:#ef44441f;box-shadow:inset 0 0 0 1px #ef444433}.cell-substitution-replacement{background:#22c55e1f;box-shadow:inset 0 0 0 1px #22c55e33}.cell-substitution{background:#3b82f61f;box-shadow:inset 0 0 0 1px #3b82f633}.journal-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.journal-legend-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--ink)}.journal-class-name{font-size:28px;font-weight:700;color:var(--accent-strong)}.journal-title{text-align:right}.error-text{color:var(--warning)}.schedule-template-summary{margin-left:auto}.schedule-template-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px;padding:12px;border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.schedule-template-flow-item{display:flex;align-items:center;gap:10px;min-width:0}.schedule-template-flow-index{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#2563eb;color:#fff;font-weight:700;flex:0 0 auto}.schedule-template-flow-item strong{display:block;line-height:1.2}.schedule-template-flow-item .muted{margin-top:2px;font-size:12px;line-height:1.3}.schedule-template-flow-arrow{align-self:center;color:var(--muted);font-weight:700}@media (max-width: 900px){.schedule-template-flow{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.schedule-template-flow-item{min-width:240px}}.schedule-template-cell.filled{box-shadow:inset 0 0 0 1px #16a34a2e}.schedule-template-cell.filled select{background:#16a34a14;border-color:#16a34a4d}.schedule-template-cell.conflict{background:#fff1f2d9;box-shadow:inset 0 0 0 1px #dc262633}.schedule-template-table th,.schedule-template-table td{min-width:64px;padding:4px}.schedule-template-table{width:auto;min-width:0}.schedule-template-table select{width:100%;max-width:123px;min-width:0;font-size:13px;padding:4px 6px}.schedule-template-table .workload-time-col,.schedule-template-table .workload-time-cell{min-width:84px}.schedule-template-table .muted{font-size:12px}.schedule-template-teacher{min-height:16px;line-height:16px;white-space:normal;overflow-wrap:anywhere;max-width:84px;margin-inline:auto}body.journal-fullscreen-active .sidebar{display:none}body.journal-fullscreen-active .app-layout{grid-template-columns:1fr}body.journal-fullscreen-active .page{max-width:none;margin:0;height:100vh}@media (max-width: 1024px){.journal-toolbar{grid-template-columns:1fr}.journal-toolbar-actions{justify-content:flex-start}}.details{border:1px solid var(--border);border-radius:12px;padding:10px 14px;background:var(--surface)}.details summary{cursor:pointer;font-weight:600}.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-soft);transition:background-color .15s ease}.lesson-row:hover{background:#2563eb14}.progress{display:grid;gap:6px}.progress-track{height:8px;background:#1018281a;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#0f766e,#34d399)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.auth-shell{position:relative;max-width:420px;margin:60px auto;padding:20px 0;overflow:visible}.auth-card{position:relative;overflow:hidden;display:grid;gap:16px;box-shadow:0 22px 40px #10182814,0 4px 14px #1018280a}.auth-card .btn{justify-self:center}.auth-pill{display:inline-flex;align-items:center;gap:5px}.auth-date-inline{width:16px;height:16px;object-fit:contain}.auth-date-watermark{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain}.auth-date-watermark-back{width:190px;right:-44px;top:-24px;opacity:.06}.auth-date-watermark-page{width:320px;right:-150px;top:50%;transform:translateY(-50%) rotate(-8deg);opacity:.07;z-index:0}.auth-card{z-index:1}.hint{font-size:13px;color:var(--warning)}.comment-thread{display:grid;gap:10px}.comment-bubble{max-width:76%;padding:10px 12px;border-radius:12px;background:#e2eefa80;border:1px solid rgba(37,99,235,.15)}.comment-bubble.is-own{margin-left:auto;background:#2563eb1a}.comment-bubble.is-other{margin-right:auto}.comment-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:6px}.accordion-header{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:none;background:#e2eefa66;cursor:pointer;text-align:left}.accordion-header:hover{background:#2563eb1f}.accordion-icon{transition:transform .15s ease}.accordion-icon.is-open{transform:rotate(180deg)}.workload-filters .filter-row{gap:10px}.workload-filters .filter-group select,.workload-filters .filter-group input{height:30px;font-size:12px;padding:4px 8px}.workload-tabs-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0}.workload-year-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workload-year-card{text-align:left;cursor:pointer;border:1px solid var(--border);background:#f7f8fb;transition:border .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.workload-year-card:hover{border-color:#2563eb66;box-shadow:0 6px 18px #0f172a14}.workload-year-card.add{border-style:dashed;background:#2563eb0a}.workload-time-slot-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workload-time-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.workload-time-slot-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;box-shadow:0 6px 16px #0f172a0f}.workload-time-slot-card input[type=time]{border:none;padding:0;font-weight:600;background:transparent}.workload-time-slot-remove{border:1px solid rgba(226,232,240,.9);color:var(--text-muted)}.workload-time-slot-remove:hover{color:#b91c1ce6;border-color:#f8717199;background:#f871711a}.workload-time-slot-add{border:1px dashed rgba(37,99,235,.4);background:#2563eb0f;color:var(--accent-strong);padding:12px;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.workload-time-slot-add:hover{background:#2563eb1f}.workload-weekday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 12px}.workload-weekday-grid input[type=checkbox]{width:20px;height:20px}.workload-weekday-grid .checkbox-row{gap:12px}.workload-year-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.workload-year-delete{border:1px solid rgba(225,29,72,.4);color:#be123cf2;background:#fff}.workload-year-delete:hover{background:#e11d481a}.workload-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;flex:1;border-bottom:1px solid var(--border);min-width:0}.workload-tab{border:1px solid var(--border);border-bottom:3px solid transparent;background:#f7f8fb;color:var(--ink);padding:8px 14px;border-radius:10px 10px 0 0;font-size:13px;white-space:nowrap;cursor:pointer}.workload-tab.is-active{background:linear-gradient(180deg,#2563eb29,#2563eb14);border-color:#2563eb7a;border-bottom-color:#2563eb2e;font-weight:700;color:#0f172a;box-shadow:0 10px 24px #2563eb29}.workload-tabs-actions{display:grid;gap:6px;justify-items:end}.workload-tabs-switcher{display:flex;align-items:center;gap:8px;min-width:0}.workload-tab-nav{width:28px;height:28px;flex:0 0 28px;border-radius:8px;border:1px solid rgba(15,23,42,.1);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.workload-tab-nav:hover:not(:disabled){background:#2563eb14;border-color:#2563eb47}.workload-tab-nav:disabled{opacity:.45;cursor:default}.workload-tabs-switcher .muted{min-width:0;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workload-tabs-subrow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:10px}.workload-tabs-subrow-compact{margin-top:4px;align-items:center}.workload-tab-meta{display:grid;gap:4px;justify-items:start;text-align:left;max-width:min(760px,100%);margin-top:8px}.workload-tab-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workload-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}.workload-summary-chip{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#f8fafc}.workload-summary-chip span{color:var(--muted);font-size:12px}.workload-summary-chip strong{color:var(--ink);font-size:15px}.workload-chip-label,.workload-plan-unset{display:inline-flex;align-items:center;gap:4px}.workload-plan-unset-icon{color:var(--text-muted);cursor:help;flex-shrink:0;position:relative}.workload-plan-unset-icon[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;color:#fff;font-size:12px;font-weight:400;line-height:1.45;padding:6px 10px;border-radius:6px;width:max-content;max-width:220px;white-space:normal;pointer-events:none;opacity:0;z-index:300}.workload-plan-unset-icon[data-tooltip]:hover:after{opacity:1}.workload-plan-unset-icon[data-tooltip][data-tooltip-align=left]:after{left:0;transform:none}.workload-lesson-chip{width:100%;min-height:34px;border-radius:8px;display:grid;gap:5px;justify-items:center;white-space:normal;cursor:pointer}.workload-lesson-chip .badge{font-size:10px}.workload-lesson-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.workload-lesson-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.workload-lesson-detail-grid>div{display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#f8fafc}.workload-lesson-detail-grid span{color:var(--muted);font-size:12px}.workload-time-col,.workload-total-col{min-width:120px}.workload-table td.workload-time-cell{font-weight:600;background:#eff6ff}.workload-time-col,.workload-time-cell{position:sticky;left:0;z-index:3}.workload-assignments{margin-top:12px}.workload-table-card{min-height:420px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.workload-empty-schedule-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:14px}.workload-table-wrap{border:1px solid rgba(15,23,42,.08);border-radius:12px;overflow:auto;max-height:70vh;max-width:100%;width:100%;background:var(--surface);box-shadow:inset 0 0 0 1px #0f172a0a;transition:opacity .15s ease}.workload-table-fetching{opacity:.55;pointer-events:none}.workload-table{border-collapse:collapse;background:#fef6d1;width:max-content;min-width:100%}.workload-table th,.workload-table td{border:1px solid rgba(15,23,42,.18);padding:6px 8px;text-align:center;min-width:110px;vertical-align:top;background:#fff6d9}.workload-table .workload-month-header{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:700}.workload-table .workload-date-header{position:sticky;top:36px;z-index:2;background:#f8fafc;font-weight:700}.workload-table .workload-weekday-header{position:sticky;top:72px;z-index:2;background:#f8fafc;font-weight:600;text-transform:capitalize;font-size:12px}.workload-table th.workload-time-col{top:0;z-index:5;background:#eff6ff}.workload-table th.workload-corner-header{position:sticky;left:0;z-index:4;background:#eff6ff}.workload-month-header{font-size:14px}.workload-week-cell{min-width:72px;background:#dbeafe;border-left:2px solid #93c5fd;border-right:2px solid #93c5fd;font-weight:700;font-size:16px;vertical-align:middle}.workload-week-total{font-size:22px;font-weight:700;color:#1f2937;line-height:1.1}.workload-week-unit{font-size:13px;font-weight:400;color:#6b7280}.workload-week-number{font-size:11px;color:#6b7280;margin-top:4px}.workload-sunday{background:#fbe9e9}.workload-sunday .muted{color:#a33a3a}.workload-week-col,.workload-week-cell{border-right:2px solid rgba(15,23,42,.14)}.workload-substitution-replaced{background:#ef44441f}.workload-substitution-replacement{background:#22c55e1f}.workload-substitution-replaced .workload-lesson-chip{border-color:#ef4444b3;box-shadow:0 0 0 1px #ef44441f}.workload-substitution-replacement .workload-lesson-chip{border-color:#16a34ab3;box-shadow:0 0 0 1px #16a34a1f}.workload-proof-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;line-height:1;border:1px solid transparent;white-space:nowrap}.workload-proof-badge-journal{background:#2563eb1f;border-color:#2563eb33;color:#1d4ed8}.workload-proof-badge-attendance{background:#0ea5e91f;border-color:#0ea5e933;color:#0369a1}.workload-proof-badge-grades{background:#22c55e1f;border-color:#22c55e33;color:#15803d}.workload-proof-badge-homework{background:#f973161f;border-color:#f9731633;color:#c2410c}.workload-proof-badge-recording{background:#a855f71f;border-color:#a855f733;color:#7e22ce}.workload-proof-badge-materials{background:#4755691f;border-color:#47556933;color:#334155}.teacher-workload-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.teacher-workload-legend-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f8fafcf2;border:1px solid rgba(148,163,184,.18);color:#334155;font-size:13px;font-weight:600}.teacher-workload-legend-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.teacher-workload-legend-dot-base{background:#0f172a6b;box-shadow:0 0 0 4px #0f172a14}.teacher-workload-legend-dot-replacement{background:#22c55ee6;box-shadow:0 0 0 4px #22c55e24}.teacher-workload-legend-dot-replaced{background:#ef4444e0;box-shadow:0 0 0 4px #ef44441f}.teacher-workload-legend-dot-empty{background:#cbd5e1e6;box-shadow:0 0 0 4px #cbd5e138}@media (max-width: 900px){.student-school-hero{align-items:flex-end;min-height:138px;padding:18px;border-radius:24px}.student-school-avatar{width:54px;height:54px;border-radius:16px}.student-school-copy h1{font-size:clamp(26px,8vw,34px)}.student-school-copy p{display:none}.teacher-dashboard-sections,.manual-corrections-grid{grid-template-columns:1fr}.substitutions-page-hero,.schedule-teacher-hero,.schedule-admin-hero,.workload-table-card{padding:12px}.substitutions-admin-header,.schedule-substitutions-header,.schedule-teacher-hero-header,.schedule-admin-hero-header{gap:12px}.substitutions-page-hero .page-header,.workload-tabs-row,.workload-tabs-subrow,.workload-empty-schedule-note,.schedule-change-scenario-actions,.teacher-dashboard-substitution-alert-head,.teacher-session-summary,.teacher-session-footer{flex-direction:column;align-items:stretch}.workload-tabs-actions,.workload-tab-actions,.workload-tabs-switcher{width:100%;justify-content:space-between}.workload-tabs{width:100%;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.workload-tab{white-space:nowrap}.teacher-workload-legend{flex-direction:column;align-items:stretch}.teacher-workload-legend-item{width:100%;justify-content:flex-start}.workload-table-card{min-height:0}.workload-table-wrap{max-height:62vh}.workload-table th,.workload-table td{min-width:96px;padding:5px 6px;font-size:12px}.workload-week-col,.workload-week-cell{min-width:52px;font-size:14px}.workload-week-total{font-size:18px}.multi-item{flex-direction:column;align-items:flex-start}.teacher-choice-item{flex-direction:row;align-items:flex-start}.teacher-choice-main{align-items:flex-start;flex-direction:column}.subject-edit-modal .multi-list{max-height:46vh}.substitutions-request-head,.substitutions-request-actions,.substitutions-offer-actions,.schedule-substitutions-actions,.schedule-teacher-hero-actions,.schedule-admin-hero-actions,.schedule-request-offer-actions,.manual-corrections-footer{width:100%}.substitutions-request-actions .btn,.substitutions-offer-actions .btn,.schedule-request-offer-actions .btn,.manual-corrections-footer .btn{flex:1 1 220px}.substitutions-candidate-head,.teacher-session-summary-card,.teacher-dashboard-current-list,.teacher-dashboard-today-list,.teacher-dashboard-substitution-list,.teacher-dashboard-replaced-list{gap:10px}.teacher-dashboard-substitution-item{align-items:flex-start;flex-direction:column}.multi-item>div:last-child{width:100%}.multi-item .btn{width:100%;justify-content:center}.substitution-lesson-body{flex-direction:column;align-items:flex-start}}@media (max-width: 640px){.substitutions-page-hero h1,.modal-title{font-size:18px}.schedule-substitutions-card,.schedule-teacher-hero,.schedule-admin-hero,.substitutions-admin-card,.manual-corrections-slot-card,.manual-corrections-form-card{padding:12px}.modal-card.substitution-request-modal{width:min(100%,100vw - 20px);max-height:92vh}.substitution-request-modal-body{max-height:calc(92vh - 80px);padding-right:0}.substitution-submit,.offer-submit,.form-actions .btn,.page-header .btn,.substitutions-request-actions .btn,.substitutions-offer-actions .btn,.schedule-substitutions-actions .btn,.schedule-teacher-hero-actions .btn,.schedule-admin-hero-actions .btn,.schedule-request-offer-actions .btn,.manual-corrections-footer .btn{width:100%;justify-content:center}.substitutions-request-statuses,.substitutions-request-actions,.substitutions-offer-actions,.substitutions-candidate-stats,.substitutions-candidate-reason-badges,.schedule-substitutions-actions,.schedule-teacher-hero-actions,.schedule-admin-hero-actions,.schedule-request-offer-actions{flex-direction:column;align-items:stretch}.substitutions-history-card .chip,.schedule-request-card .chip,.schedule-my-request-card .chip,.manual-corrections-summary-card .chip{width:100%;justify-content:flex-start}.workload-table-wrap{max-height:58vh}.workload-table th,.workload-table td{min-width:84px;padding:4px 5px;font-size:11px}.workload-week-col,.workload-week-cell{min-width:46px}.workload-week-total{font-size:16px}.teacher-week-day{min-height:0;padding:14px}.teacher-week-day-empty{min-height:88px}.teacher-week-lesson{padding:10px 12px}.teacher-session-table{overflow-x:auto}.teacher-session-header,.teacher-session-row{min-width:520px}.substitution-lesson{grid-template-columns:18px minmax(0,1fr);gap:10px;padding:10px}.substitution-lesson-main{gap:8px}}.workload-details-row td{background:#f8fafc99}.workload-fs-toggle{position:absolute;top:12px;right:12px;z-index:12;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:background .15s ease,border .15s ease}.workload-fs-toggle:hover{background:#2563eb14;border-color:#2563eb40}.workload-fs-inline{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;transition:background .15s ease,border .15s ease}.workload-fs-inline:hover{background:#2563eb14;border-color:#2563eb40}.workload-fullscreen-card{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;margin:0;border-radius:0;padding:10px 16px 12px;background:var(--surface);gap:6px}.workload-fullscreen-card .workload-table-wrap{flex:1;height:0;min-height:0;max-height:none}.workload-fullscreen-card .workload-tabs-subrow{margin-top:2px}.workload-fullscreen-card .workload-tab-meta{margin-top:0}.workload-fullscreen-card .workload-tab-actions .btn{font-size:12px;padding:4px 10px}.workload-fullscreen-card .workload-summary-bar{margin-top:0}.workload-fullscreen-card .workload-summary-chip{padding:6px 10px}.workload-fullscreen-card .workload-summary-chip strong{font-size:13px}body.workload-fullscreen-active .sidebar{display:none}body.workload-fullscreen-active .app-layout{grid-template-columns:1fr}body.workload-fullscreen-active .page{padding:0}.landing-page{min-height:100vh}.landing-container{width:min(1120px,calc(100% - 32px));margin:0 auto}.landing-hero-header,.landing-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.landing-hero-header{position:absolute;top:0;left:0;right:0;z-index:2;padding:22px clamp(24px,5vw,72px);background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.landing-header-inner{padding:14px 0}.landing-brand{display:inline-flex;align-items:center;gap:6px;color:#102344;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.45)}.landing-brand-mark{display:inline-flex;align-items:center;padding:0;background:transparent;border:0;box-shadow:none}.landing-brand-logo{display:block;width:40px;height:40px;border-radius:0;box-shadow:none}.landing-brand:hover{background:transparent}.landing-header-actions{display:inline-flex;align-items:center;gap:8px}.landing-hero-header .landing-login-btn.btn.ghost{min-height:44px;padding:11px 20px;border:1px solid rgba(16,35,68,.24);background:#fffffff0;color:#102344;font-weight:900;box-shadow:0 18px 38px #081a344d,0 4px 12px #081a342e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.landing-hero-header .landing-login-btn.btn.ghost:hover{background:#fff;color:#0b1f3a;transform:translateY(-1px)}.landing-page{position:relative;overflow:hidden}.landing-page:before,.landing-page:after{content:"";position:absolute;border-radius:999px;pointer-events:none;z-index:0}.landing-page:before{width:420px;height:420px;top:-180px;right:-120px;background:radial-gradient(circle,#2563eb1a,#2563eb00 70%);animation:landing-float-slow 13s ease-in-out infinite alternate}.landing-page:after{width:320px;height:320px;left:-120px;top:140px;background:radial-gradient(circle,#2563eb14,#2563eb00 72%);animation:landing-float-slow 16s ease-in-out infinite alternate-reverse}.landing-page main{position:relative;z-index:2}.landing-page .landing-footer{position:relative;z-index:1}.landing-cookie-banner{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(16,24,40,.12);background:#fffffff2;box-shadow:0 18px 34px #1018282e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-cookie-banner p{margin:0;color:#1f2937;font-size:14px;line-height:1.45}.landing-cookie-accept-btn.btn{min-height:38px;padding:9px 14px;box-shadow:0 8px 16px #2563eb3d;white-space:nowrap}.landing-section{padding:68px 0}.landing-page main>.landing-section:last-child{position:relative;z-index:3;padding-bottom:0;margin-bottom:-120px}.landing-page main>.landing-section:last-child:after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#f6faff00,#f6faffb8 54%,#f6fafff5)}.landing-advantages-section,.landing-how-it-works-section,.landing-audience-section{padding-top:34px}.landing-section-head{display:grid;gap:10px;margin-bottom:24px;max-width:740px}.landing-section-title-row{display:inline-flex;align-items:center;gap:6px}.landing-section-title-row h2{margin:0}.landing-hero{padding:0 0 62px;position:relative;width:100vw;margin-inline:calc(50% - 50vw)}.landing-hero-stage{--landing-hero-x: clamp(30px, 5vw, 72px);--landing-hero-top: clamp(108px, 10vw, 144px);--landing-hero-bottom: clamp(30px, 5vw, 72px);--landing-hero-bg-top: #e8ebf2;--landing-hero-bg-mid: #dde2ec;--landing-hero-bg-bottom: #d5dae4;--landing-hero-image-width: min( calc(100vw - clamp(180px, 18vw, 300px)) , calc(100vh * 2752 / 1536));--landing-hero-seam: clamp(180px, 14vw, 260px);position:relative;display:flex;align-items:center;min-height:100vh;min-height:100svh;width:100vw;margin:0 auto;padding:0;overflow:hidden;isolation:isolate;border-radius:0;background:linear-gradient(180deg,var(--landing-hero-bg-top) 0%,var(--landing-hero-bg-mid) 52%,var(--landing-hero-bg-bottom) 100%);box-shadow:none}.landing-hero-image{position:absolute;top:0;right:0;bottom:0;left:calc(100vw - var(--landing-hero-image-width));display:block;width:var(--landing-hero-image-width);height:100%;z-index:-1;pointer-events:none;object-fit:cover;object-position:right center;-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.1) 36px,rgba(0,0,0,.38) 88px,rgba(0,0,0,.76) 148px,#000 var(--landing-hero-seam));mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.1) 36px,rgba(0,0,0,.38) 88px,rgba(0,0,0,.76) 148px,#000 var(--landing-hero-seam))}.landing-hero-copy{display:grid;gap:20px;max-width:560px;margin:var(--landing-hero-top) var(--landing-hero-x) var(--landing-hero-bottom);color:#102344;text-shadow:0 1px 0 rgba(255,255,255,.42);position:relative;z-index:1}.landing-hero-panel{position:relative;overflow:hidden;padding:34px 36px;border-radius:28px;background:radial-gradient(180px 120px at 92% 18%,#2563eb1a,#2563eb00 72%),radial-gradient(220px 140px at 0% 100%,#2563eb14,#2563eb00 74%),linear-gradient(180deg,#ffffffeb,#ffffffc7);border:1px solid rgba(255,255,255,.72);box-shadow:0 28px 60px #10182814,inset 0 1px #fff9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-hero-panel:before,.landing-hero-panel:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.landing-hero-panel:before{width:180px;height:180px;right:-44px;top:-52px;background:radial-gradient(circle,#2563eb1a,#2563eb00 72%);animation:landing-float-slow 12s ease-in-out infinite alternate}.landing-hero-panel:after{width:220px;height:220px;left:-90px;bottom:-128px;background:radial-gradient(circle,#2563eb14,#2563eb00 72%);animation:landing-float-slow 14s ease-in-out infinite alternate-reverse}.landing-hero-eyebrow{justify-self:start;padding:0;border:0;border-radius:0;background:transparent;color:#102344ad;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;-webkit-backdrop-filter:none;backdrop-filter:none}.landing-hero-copy h1{display:grid;gap:8px;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.055em;margin:0;max-width:11ch}.landing-hero-copy h1 span{font-size:clamp(30px,4vw,54px);letter-spacing:-.035em;opacity:.92}.landing-hero-copy p{color:#102344bd;font-size:18px;font-weight:650;margin:0;max-width:520px;line-height:1.6}.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.landing-hero-cta{padding:14px 22px;border:0;background:#fff;color:#1c5d9f;font-weight:900;box-shadow:0 18px 34px #081a3433}.landing-hero-cta:hover{transform:translateY(-2px);background:#f4f9ff;box-shadow:0 22px 40px #081a343d}.landing-inline-badges{display:flex;gap:8px;flex-wrap:wrap}.landing-hero-visual{display:grid;gap:14px}.landing-mock-card{display:grid;gap:12px}.landing-mock-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.landing-mock-label{display:inline-flex;align-items:center;gap:8px;font-weight:700}.landing-mock-list{display:grid;gap:8px}.landing-mock-item{display:flex;align-items:center;gap:8px;border-radius:10px;padding:8px 10px;border:1px solid var(--border);background:var(--surface-soft);font-size:14px}.landing-mock-item .badge{margin-left:auto}.landing-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-pricing-section{padding-top:34px;padding-bottom:34px}.landing-pricing-section .landing-container{width:min(1280px,calc(100% - 28px))}.landing-pricing-section+.landing-section{padding-top:20px}.landing-pricing-shell{display:block}.landing-pricing-content{display:grid;gap:20px}.landing-pricing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-radius:24px;background:linear-gradient(135deg,#fffffff5,#e8f0ffe0);box-shadow:0 22px 42px #1018280f,inset 0 1px #ffffffe6}.landing-pricing-toolbar-label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0f1d698a}.landing-pricing-toolbar-title{margin-top:6px;font-size:clamp(20px,2vw,28px);font-weight:900;line-height:1.05;color:#0f2d83}.landing-pricing-toolbar-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px;flex-wrap:wrap}.landing-pricing-switch-group{display:grid;gap:8px}.landing-pricing-switch-label{padding-left:10px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#0f1d698f}.landing-pricing-period-toggle,.landing-pricing-currency-toggle{display:inline-flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:#ffffffeb;box-shadow:inset 0 1px #ffffffe6,0 10px 20px #1018280d}.landing-pricing-period-toggle button,.landing-pricing-currency-toggle button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:11px 16px;font:inherit;font-weight:700;color:#0c1f62bd;background:transparent;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.landing-pricing-period-toggle button span{margin-left:8px;color:#128341}.landing-pricing-period-toggle button.is-active,.landing-pricing-currency-toggle button.is-active{color:#fff;background:linear-gradient(135deg,#0f3ecb,#1d63ee);box-shadow:0 14px 28px #1b53d742}.landing-pricing-period-toggle button.is-active span{color:#ffffffeb}.landing-pricing-currency-toggle button{gap:8px;min-width:112px}.landing-pricing-currency-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;font-size:13px;font-weight:900;color:#1450da;background:#1450da1a;transition:color .2s ease,background-color .2s ease}.landing-pricing-currency-toggle button.is-active .landing-pricing-currency-mark{color:#fff;background:#ffffff2e}.landing-pricing-grid{display:grid;align-items:stretch;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.landing-pricing-card,.landing-super-card{--pricing-accent: #2563eb;--pricing-accent-soft: rgba(37, 99, 235, .12);position:relative;display:flex;flex-direction:column;min-height:100%;height:100%;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.92);background:linear-gradient(180deg,#fffffffa,#fafcfff0);box-shadow:0 24px 50px #10182812,inset 0 1px #ffffffeb}.landing-pricing-card:before,.landing-super-card:before{content:"";position:absolute;inset:0 0 auto 0;height:48px;background:linear-gradient(135deg,#0730b7,#2a69f3)}.landing-pricing-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.landing-pricing-card:hover,.landing-pricing-card.is-active,.landing-super-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px #1018281a,0 14px 24px #1018280d}.landing-pricing-card-ribbon{position:relative;z-index:1;padding:11px 16px;text-align:center;font-size:14px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:#fff}.landing-pricing-card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;padding:24px 18px 14px}.landing-pricing-card-copy{display:grid;gap:10px}.landing-pricing-card-eyebrow{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:6px 10px;border-radius:999px;background:var(--pricing-accent-soft);color:var(--pricing-accent);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-pricing-card h3{margin:0;font-size:clamp(22px,1.75vw,29px);line-height:.98;font-weight:900;color:var(--pricing-accent)}.landing-pricing-card p{margin:0;min-height:52px;font-size:14px;line-height:1.55;color:#0d1e60e0}.landing-pricing-feature-list{display:grid;gap:10px}.landing-pricing-feature{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;line-height:1.45;color:#102b80}.landing-pricing-feature-icon,.landing-super-card-icon{flex:0 0 auto}.landing-pricing-feature-icon,.landing-super-card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;color:var(--pricing-accent);background:var(--pricing-accent-soft)}.landing-pricing-card-footer{margin-top:auto;display:grid;gap:10px;padding:0 18px 18px}.landing-pricing-price-panel{display:grid;justify-items:center;gap:6px;padding:15px 14px 14px;border-radius:20px;border:1px solid color-mix(in srgb,var(--pricing-accent) 14%,white);background:linear-gradient(180deg,rgba(255,255,255,.9),var(--pricing-accent-soft));box-shadow:inset 0 1px #ffffffe0,0 12px 24px #1018280a}.landing-pricing-card-footer-meta{min-height:22px;display:flex;align-items:center;justify-content:center}.landing-pricing-card-footer-meta:not(.is-active){opacity:0;pointer-events:none}.landing-pricing-price{font-size:clamp(24px,1.95vw,34px);line-height:1;letter-spacing:-.03em;font-weight:900;color:var(--pricing-accent);white-space:nowrap;text-transform:uppercase}.landing-pricing-price.is-quote{letter-spacing:0;text-transform:none}.landing-pricing-price-caption{font-size:13px;font-weight:800;letter-spacing:.06em;color:#0f2d83}.landing-pricing-card-button{width:100%;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.landing-pricing-card-button.is-active{border-color:#ff7a1a6b}.landing-pricing-super-cta{display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:22px;font-size:13px;font-weight:700;color:#ff7a1a}.landing-pricing-note-strip,.landing-pricing-discount-strip{padding:20px 22px;border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f4f8ffe6);box-shadow:0 20px 40px #1018280d,inset 0 1px #ffffffeb;border:1px solid rgba(255,255,255,.92)}.landing-pricing-note-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.landing-pricing-note-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;color:#0f2d83}.landing-pricing-note-card strong,.landing-pricing-discount-copy strong,.landing-pricing-discount-meta strong{display:block;font-size:18px;font-weight:900;color:#0c226d}.landing-pricing-note-card p,.landing-pricing-discount-copy p{margin:6px 0 0;line-height:1.7;color:#0c226dd1}.landing-super-pricing{display:grid;width:100%;margin:0;gap:16px;animation:landing-fade-up .44s ease both}.landing-super-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 14px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0e35c1,#1c63ec);box-shadow:0 14px 26px #1344c633}.landing-super-banner>svg{width:16px;height:16px;padding:8px;border-radius:14px;background:#ffffff24;box-shadow:inset 0 1px #ffffff38,0 8px 14px #06154e29}.landing-super-banner strong,.landing-super-banner span{display:block}.landing-super-banner strong{font-size:15px;line-height:1.18;font-weight:900}.landing-super-banner span{margin-top:2px;font-size:12px;line-height:1.38;color:#ffffffd6}.landing-super-layout{display:block;padding-inline:36px}.landing-super-grid{display:grid;align-items:stretch;grid-auto-rows:1fr;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.landing-super-card{min-height:536px;padding:20px 12px 18px;border-color:#e2eafff5;background:linear-gradient(180deg,#fffffffc,#f7fafff2);box-shadow:0 14px 28px #10182811,0 6px 14px #10182809,inset 0 1px #fffffff5}.landing-super-card:before{inset:0 16px auto 16px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--pricing-accent),color-mix(in srgb,var(--pricing-accent) 45%,white))}.landing-super-card.is-featured{border-color:#1d63ee61;box-shadow:0 20px 38px #1018281a,0 8px 20px #1d63ee12,0 0 0 1px #1d63ee29}.landing-super-card-title-row{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;width:100%;margin-bottom:10px;color:var(--pricing-accent)}.landing-super-card-title-row svg{flex:0 0 auto;color:color-mix(in srgb,var(--pricing-accent) 82%,white)}.landing-super-card-title{margin:0;font-size:18px;line-height:1.05;font-weight:900;letter-spacing:-.02em;color:var(--pricing-accent);white-space:nowrap}.landing-super-card-head{display:grid;gap:8px;min-height:92px;justify-items:start;padding:8px 12px 10px;border-radius:22px;background:linear-gradient(180deg,#ffffffc7,#f7faff61)}.landing-super-card-head .landing-super-card-icon{width:36px;height:36px}.landing-super-card-head strong{display:block;font-size:clamp(19px,1.55vw,29px);line-height:.96;letter-spacing:-.03em;color:#0d2574}.landing-super-card-divider{height:1px;margin:18px 0 16px;background:linear-gradient(90deg,#2563eb24,#2563eb57,#2563eb24)}.landing-super-card-meta{display:grid;flex:1 1 auto;gap:14px}.landing-super-card-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px 0;align-items:start;color:#0f2d83}.landing-super-card-row+.landing-super-card-row{border-top:1px solid rgba(37,99,235,.1)}.landing-super-card-row>div{display:grid;gap:3px}.landing-super-card-row strong{display:block;font-size:14px;line-height:1.18;font-weight:900}.landing-super-card-row p{margin:0;font-size:12px;line-height:1.52;color:#0c226dc7}.landing-super-card-price{margin-top:auto;min-height:60px;padding:10px 9px 9px;border-radius:14px;border:1px solid color-mix(in srgb,var(--pricing-accent) 14%,white);background:linear-gradient(180deg,rgba(255,255,255,.8),var(--pricing-accent-soft));box-shadow:inset 0 1px #ffffffe6,0 6px 12px #10182808;text-align:center}.landing-super-card-price div{font-size:clamp(17px,1.25vw,25px);line-height:1;letter-spacing:-.03em;font-weight:900;color:var(--pricing-accent);white-space:nowrap;text-transform:uppercase}.landing-super-card-price div.is-quote{letter-spacing:0;text-transform:none}.landing-super-card-price span{display:block;margin-top:3px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#0f2d83}.landing-pricing-discount-strip{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,.9fr);gap:22px;align-items:center}.landing-pricing-discount-badge{min-width:118px;padding:24px 20px;border-radius:26px;text-align:center;font-size:42px;font-weight:900;line-height:1;color:#fff;background:linear-gradient(135deg,#2a69f3,#4e6cff);box-shadow:0 22px 38px #225be93d}.landing-pricing-discount-meta{padding-left:22px;border-left:1px solid rgba(37,99,235,.16)}.landing-pricing-discount-meta-head{display:inline-flex;align-items:center;gap:10px;color:#0c226d}.landing-pricing-discount-meta ul{margin:10px 0 0;padding-left:18px;color:#0c226dd1}.landing-pricing-discount-meta li+li{margin-top:8px}@media (max-width: 1240px){.landing-super-layout{padding-inline:0}.landing-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-super-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-pricing-discount-strip{grid-template-columns:1fr}.landing-pricing-discount-meta{padding-left:0;border-left:0;padding-top:10px;border-top:1px solid rgba(37,99,235,.16)}}@media (max-width: 860px){.landing-pricing-note-strip,.landing-super-grid{grid-template-columns:1fr}.landing-pricing-toolbar{flex-direction:column;align-items:stretch}.landing-pricing-toolbar-actions{width:100%;justify-content:stretch}.landing-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.landing-pricing-intro,.landing-pricing-toolbar,.landing-pricing-note-strip,.landing-pricing-discount-strip{padding:18px;border-radius:20px}.landing-pricing-grid,.landing-super-grid{grid-template-columns:1fr}.landing-pricing-card-body{padding:22px 16px 14px}.landing-pricing-card-footer{padding:0 16px 16px}.landing-pricing-toolbar{gap:16px}.landing-pricing-toolbar-actions,.landing-pricing-switch-group{width:100%}.landing-pricing-period-toggle,.landing-pricing-currency-toggle{width:100%;justify-content:space-between}.landing-pricing-period-toggle button,.landing-pricing-currency-toggle button{flex:1 1 0;justify-content:center}.landing-pricing-discount-badge{width:100%}}.landing-feature-card,.landing-step-card,.landing-audience-card{display:grid;gap:12px;padding:24px;border-radius:18px;background:linear-gradient(180deg,#fffffff0,#ffffffd6);box-shadow:0 18px 34px #1018280f,0 2px 10px #10182808;border:1px solid rgba(255,255,255,.78);position:relative;overflow:hidden;transform:translateY(0);transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease}.landing-feature-card:before,.landing-step-card:before,.landing-audience-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,#ffffffd9,#2563eb2e,#ffffffd9)}.landing-feature-card:hover,.landing-step-card:hover,.landing-audience-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px #10182814,0 10px 20px #1018280a}.landing-feature-card h3,.landing-step-card h3,.landing-audience-card h3{margin:0;font-size:20px;line-height:1.3}.landing-feature-card p,.landing-step-card p,.landing-audience-card p{margin:0;line-height:1.7}.landing-feature-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 1px #ffffff94,0 8px 18px #2563eb1f}.landing-audience-card .landing-feature-icon{width:50px;height:50px;border-radius:15px}.landing-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-faq-list{display:grid;gap:12px}.landing-faq-item{padding:10px;border-radius:18px;background:#ffffffd6;box-shadow:0 14px 28px #1018280d,0 2px 10px #10182808}.landing-faq-trigger{justify-content:space-between;padding:14px 16px;border:1px solid transparent;border-radius:14px}.landing-faq-trigger:focus-visible{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px var(--input-focus-glow)}.landing-faq-content{padding:12px 16px 8px;opacity:0;transform:translateY(-6px);transition:opacity .24s ease,transform .24s ease}.landing-faq-content.is-open{opacity:1;transform:translateY(0)}.landing-faq-content-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.landing-faq-content-wrap.is-open{grid-template-rows:1fr}.landing-faq-content-wrap .landing-faq-content{min-height:0;overflow:hidden}.landing-faq-content p{margin:0}.landing-final-cta-wrap{padding-top:18px}.landing-final-cta{display:flex;align-items:center;justify-content:space-between;gap:20px}.landing-final-cta h2,.landing-final-cta p{margin:0}.landing-footer{position:relative;overflow:hidden;margin-top:-80px;width:100vw;margin-inline:calc(50% - 50vw);min-height:calc(100vw * 1536 / 2752);padding:calc(100vw * 1536 / 2752 - 100px) 0 36px;border-top:0;background:url(/landing-footer.jpg) center bottom / 100% auto no-repeat}.landing-footer:before{content:"";position:absolute;inset:0 0 auto;height:min(220px,38%);z-index:0;pointer-events:none;background:linear-gradient(180deg,#f6faff,#f6faffeb 24%,#f6faff75 58%,#f6faff00);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-footer-hadith{position:absolute;left:50%;top:42%;z-index:1;width:min(660px,calc(100% - 32px));margin:0;padding:22px 28px 20px;transform:translate(-50%,-50%);text-align:center;border:1px solid rgba(255,255,255,.56);border-radius:28px;background:#ffffff75;box-shadow:0 18px 42px #081a341a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.landing-footer-hadith blockquote{display:grid;gap:4px;margin:0;color:#102344;font-family:Space Grotesk,Manrope,sans-serif;font-size:clamp(25px,3vw,40px);font-weight:800;line-height:1.08;letter-spacing:-.04em}.landing-footer-hadith-kicker{margin:0 0 12px;color:#102344b3;font-size:15px;font-weight:800;letter-spacing:.02em}.landing-footer-hadith blockquote span:last-child{font-size:.82em;font-weight:760;opacity:.86}.landing-footer-hadith figcaption{display:inline-flex;align-items:center;gap:10px;margin-top:14px;color:#102344ad;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-footer-hadith figcaption:before,.landing-footer-hadith figcaption:after{content:"";width:28px;height:1px;background:#1023443d}.landing-footer-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 0}.landing-footer-links{display:inline-flex;align-items:center;gap:10px}.landing-footer-links a{padding:8px 10px;color:#102344c2;font-size:14px;font-weight:800}.landing-footer-links a:hover{background:#ffffff85;color:#102344}.landing-footer-brand{display:inline-flex;align-items:center;gap:10px}.landing-date-inline{width:18px;height:18px;object-fit:contain;flex:0 0 auto}.landing-date-inline-heading{width:20px;height:20px}.landing-date-inline-cta{width:16px;height:16px;transition:transform .22s ease,opacity .22s ease}.landing-hero-cta:hover .landing-date-inline-cta{transform:translate(2px) translateY(-1px)}.landing-date-inline-footer{width:14px;height:14px;opacity:.86}.landing-date-watermark{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain}.landing-date-watermark-hero{width:220px;right:-20px;bottom:-44px;opacity:.05}.landing-date-watermark-footer{width:140px;right:24px;bottom:-20px;opacity:.045}.privacy-policy-page{background:radial-gradient(620px 360px at 8% 6%,rgba(37,99,235,.12),transparent 72%),radial-gradient(520px 320px at 92% 0%,rgba(16,185,129,.1),transparent 70%),linear-gradient(180deg,#f6faff,#eef5ff);color:#102344}.privacy-policy-page:before,.privacy-policy-page:after{display:none}.privacy-policy-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(16,35,68,.08);background:#f6faffdb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.privacy-policy-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}.privacy-policy-main{position:relative;z-index:1;padding:64px 0 96px}.privacy-policy-hero{display:grid;gap:14px;padding-bottom:28px}.privacy-policy-hero h1{max-width:820px;margin:0;color:#102344;font-size:clamp(40px,7vw,78px);line-height:.95;letter-spacing:0}.privacy-policy-hero p{margin:0;color:#102344ad;font-size:17px;font-weight:800}.privacy-policy-content{display:grid;gap:16px}.privacy-policy-section{display:grid;gap:12px;padding:24px;border:1px solid rgba(16,35,68,.08);border-radius:22px;background:#ffffffb8;box-shadow:0 18px 42px #081a3414;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.privacy-policy-section h2,.privacy-policy-card h3{margin:0;color:#102344}.privacy-policy-section h2{font-size:clamp(22px,3vw,30px)}.privacy-policy-card h3{font-size:17px}.privacy-policy-section p{margin:0;color:#102344b8;line-height:1.7}.privacy-policy-section a{color:#1e40af;font-weight:800}.privacy-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.privacy-policy-card{display:grid;gap:10px;padding:16px;border:1px solid rgba(37,99,235,.12);border-radius:16px;background:#ffffffbd}.privacy-policy-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.privacy-policy-list li{position:relative;padding-left:18px;color:#102344bd;line-height:1.55}.privacy-policy-list li:before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;border-radius:999px;background:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.privacy-policy-contact{border-color:#2563eb29;background:radial-gradient(280px 160px at 100% 0%,rgba(37,99,235,.12),transparent 72%),#ffffffc7}@keyframes landing-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-float-slow{0%{transform:translateZ(0)}to{transform:translate3d(0,8px,0)}}.landing-hero-copy,.landing-section-head,.landing-feature-card,.landing-step-card,.landing-audience-card,.landing-faq-item{animation:landing-fade-up .56s ease both}.landing-feature-card:nth-child(2),.landing-step-card:nth-child(2),.landing-audience-card:nth-child(2),.landing-faq-item:nth-child(2){animation-delay:.05s}.landing-feature-card:nth-child(3),.landing-step-card:nth-child(3),.landing-audience-card:nth-child(3),.landing-faq-item:nth-child(3){animation-delay:.1s}.billing-page{display:grid;gap:16px}.billing-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.billing-summary-item{display:grid;gap:4px}.billing-summary-value{font-size:24px;font-weight:800}.billing-summary-actions{display:flex;justify-content:flex-end}.billing-filter{display:inline-flex;align-items:center;gap:8px}.billing-filter select{min-height:36px}.billing-admin-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.billing-admin-class-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.superadmin-billing-page .table-wrap,.superadmin-plan-types-page .table-wrap{overflow-x:auto}.superadmin-billing-table{min-width:1420px;table-layout:fixed}.superadmin-billing-table .superadmin-billing-plan-col{min-width:200px;width:200px;vertical-align:top}.superadmin-billing-table .superadmin-billing-overage-col{min-width:220px;width:220px;vertical-align:top}.superadmin-billing-table .superadmin-billing-actions-col{min-width:300px;width:300px;vertical-align:top}.superadmin-billing-table th:nth-child(1),.superadmin-billing-table td:nth-child(1){width:205px}.superadmin-billing-table th:nth-child(2),.superadmin-billing-table td:nth-child(2){width:150px}.superadmin-billing-table th:nth-child(3),.superadmin-billing-table td:nth-child(3){width:110px}.superadmin-billing-table th:nth-child(4),.superadmin-billing-table td:nth-child(4){width:125px}.superadmin-billing-table th:nth-child(7),.superadmin-billing-table td:nth-child(7){width:140px}.superadmin-billing-table th{overflow-wrap:break-word;word-break:break-word}.superadmin-billing-table .table-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-content:end;align-content:start;width:100%}.superadmin-billing-table .table-actions .btn{width:100%;justify-content:center;white-space:normal;line-height:1.25;text-align:center}@media (max-width: 1400px){.superadmin-billing-table .table-actions{grid-template-columns:minmax(0,1fr)}}.superadmin-billing-meta{display:grid;gap:3px}.superadmin-billing-meta span{color:#102344b8;font-size:12px;line-height:1.35;overflow-wrap:break-word}.superadmin-billing-meta strong{color:#0d2b4f;font-size:13px;overflow-wrap:break-word}.superadmin-plan-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.superadmin-plan-card{display:grid;align-content:start;gap:10px;border-radius:16px;padding:16px;border:1px solid rgba(16,24,40,.1);background:#ffffffeb;box-shadow:0 10px 22px #1018280f}.superadmin-plan-card.is-featured{border-color:#0d6a3f47;box-shadow:0 14px 24px #0d6a3f1f}.superadmin-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.superadmin-plan-head h3{margin:0;font-size:20px}.superadmin-plan-head p{margin:4px 0 0;color:#102344bd}.superadmin-plan-price{font-size:18px;font-weight:800;color:#0d2b4f}.superadmin-plan-discount{justify-self:start;padding:4px 8px;border-radius:999px;background:#0d6a3f1f;color:#0d6a3f;font-size:12px;font-weight:800}.superadmin-plan-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.superadmin-plan-list li{display:flex;gap:8px;align-items:flex-start}.superadmin-plan-list li svg{flex:0 0 auto;margin-top:2px;color:#0f6f4a}.superadmin-plan-features{display:flex;flex-wrap:wrap;gap:6px}.renewal-notice{background:#0ea5e91a;border-color:#0ea5e999}.school-tariff-page{display:grid;gap:14px}.school-tariff-current{margin-top:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.school-tariff-current-title{font-size:24px;font-weight:800;color:#0d2b4f;line-height:1.2}.school-tariff-current-price{margin-top:6px;font-size:18px;font-weight:800}.school-tariff-current-meta{display:grid;gap:4px;color:#102344c7}.school-tariff-limits-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.school-tariff-limit-card{display:grid;gap:10px}.school-tariff-limit-card.is-exceeded{border:1px solid rgba(220,38,38,.28)}.school-tariff-limit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.school-tariff-limit-head h3{margin:0;font-size:18px}.school-tariff-limit-value{font-size:18px;font-weight:800;color:#0d2b4f}.school-tariff-progress{width:100%;height:8px;border-radius:999px;background:#94a3b847;overflow:hidden}.school-tariff-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f6f4a,#10b981)}.school-tariff-limit-card.is-exceeded .school-tariff-progress span{background:linear-gradient(90deg,#dc2626,#ef4444)}.school-tariff-limit-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#102344b8;font-size:13px}.school-tariff-warning{display:flex;align-items:flex-start;gap:10px;border:1px solid rgba(245,158,11,.26);background:#f59e0b14}.school-tariff-warning svg{color:#b45309;flex:0 0 auto;margin-top:2px}.school-tariff-payment-grid{margin-top:12px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.school-tariff-amount{margin-top:6px;font-size:20px;font-weight:800;color:#0d2b4f}.school-tariff-contact-note{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;flex-wrap:wrap}.school-tariff-contact-note svg{color:#2f80edeb;flex:0 0 auto}.school-tariff-contact-note strong{line-height:1.35}.school-tariff-contact-chat{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(29,98,208,.36);border-radius:10px;background:#fff;color:#1d62d0;cursor:pointer;font-weight:700;padding:8px 12px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.school-tariff-contact-chat svg{width:24px;height:24px}.school-tariff-contact-chat span{white-space:nowrap}.school-tariff-contact-chat:hover{text-decoration:none;background:#2f80ed1a;border-color:#1d62d099}.school-tariff-contact-chat:focus-visible{outline:none;box-shadow:0 0 0 3px #2f80ed2e}.school-tariff-upgrades{margin-top:8px;display:grid;gap:12px}.school-tariff-upgrade-preview{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid rgba(16,24,40,.1);background:#f8fbffbd}.school-tariff-upgrade-preview h3{margin:0;font-size:18px}.school-tariff-upgrade-preview ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.school-tariff-upgrade-preview li{display:flex;align-items:flex-start;gap:8px}.school-tariff-upgrade-preview li svg{flex:0 0 auto;margin-top:2px;color:#0f6f4a}@media (max-width: 1024px){.landing-hero-grid,.landing-cards-grid,.landing-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-pricing-image{min-width:760px}.landing-hero-copy{padding:22px;border:1px solid rgba(255,255,255,.58);border-radius:28px;background:#ffffffad;box-shadow:0 18px 42px #081a3424;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}}@media (max-width: 780px){.landing-cookie-banner{align-items:stretch;flex-direction:column;gap:10px;padding:12px}.landing-cookie-accept-btn.btn{width:100%;justify-content:center}.landing-hero-header,.landing-header-inner{flex-wrap:nowrap}.landing-hero-header{padding:max(12px,env(safe-area-inset-top)) 12px 6px}.landing-header-actions{width:auto}.landing-header-actions .btn{flex:0 0 auto;justify-content:center}.landing-hero-grid,.landing-cards-grid,.landing-steps-grid{grid-template-columns:1fr}.landing-pricing-section{padding-top:24px;padding-bottom:24px}.landing-pricing-section+.landing-section{padding-top:16px}.landing-pricing-image{min-width:680px}.landing-section{padding:44px 0}.landing-page main>.landing-section:last-child{margin-bottom:0;padding-bottom:24px}.landing-page main>.landing-section:last-child:after{height:96px}.landing-advantages-section,.landing-how-it-works-section,.landing-audience-section{padding-top:24px}.landing-hero{padding:0 0 36px}.landing-hero-stage{--landing-hero-x: 24px;--landing-hero-top: 92px;--landing-hero-bottom: 32px;--landing-hero-image-width: 100vw;--landing-hero-bg-top: #d8deea;--landing-hero-bg-mid: #d8deea;--landing-hero-bg-bottom: #d2d8e4;width:100vw;min-height:100vh;min-height:100svh;align-items:flex-end;padding:0;border-radius:0}.landing-hero-image{left:0;width:100vw;object-fit:cover;object-position:58% 34%;-webkit-mask-image:none;mask-image:none}.landing-hero-copy h1{font-size:clamp(38px,12vw,54px);max-width:10ch}.landing-hero-copy p{font-size:16px;max-width:360px}.landing-section-title-row{align-items:flex-start}.landing-final-cta,.landing-footer-inner{flex-direction:column;align-items:flex-start}.landing-footer-links{flex-wrap:wrap}.landing-footer{margin-top:-48px;min-height:calc((100vw * 1536 / 2752) + 118px);padding:calc((100vw * 1536 / 2752) + 10px) 0 28px;background-position:center top;background-size:100% auto}.landing-footer:before{height:min(130px,42%)}.landing-footer-hadith{top:24vw;padding:18px 18px 16px;border-radius:22px}.landing-footer-hadith blockquote{font-size:clamp(22px,7vw,30px);gap:3px}.landing-footer-hadith-kicker{margin-bottom:10px;font-size:13px}.landing-footer-hadith figcaption{font-size:12px}.landing-footer-hadith figcaption:before,.landing-footer-hadith figcaption:after{width:18px}.landing-date-watermark-hero{width:160px;right:-18px;bottom:-24px}.privacy-policy-main{padding:38px 0 64px}.privacy-policy-nav{align-items:flex-start}.privacy-policy-hero h1{font-size:clamp(34px,12vw,50px)}.privacy-policy-grid{grid-template-columns:1fr}.privacy-policy-section{padding:18px;border-radius:18px}.billing-summary-grid{grid-template-columns:1fr}.billing-summary-actions{justify-content:flex-start}.billing-filter{width:100%;justify-content:flex-start}.superadmin-plan-grid,.school-tariff-limits-grid,.school-tariff-payment-grid{grid-template-columns:1fr}.school-tariff-limit-foot{flex-direction:column;align-items:flex-start}.billing-admin-filters .billing-filter{width:100%}}@media (max-width: 1024px){.page{gap:16px}.card{padding:16px}.page-header{flex-wrap:wrap;align-items:flex-start}.page-header>*{min-width:0}.page-header .btn{max-width:100%}.form-grid,.homework-class-subject-row,.material-inline,.teacher-material-row{grid-template-columns:minmax(0,1fr)}.teacher-material-actions{justify-content:flex-start}.schedule-time-panel-header{flex-direction:column;align-items:flex-start}.schedule-time-panel-header .btn{width:100%;justify-content:center}.schedule-time-panel{padding:12px}.filter-search-row,.filter-controls-row{width:100%;min-width:0}.filter-group-block{min-width:0;width:100%}.table-actions{flex-wrap:wrap;justify-content:flex-start}.checkbox-row{grid-template-columns:16px minmax(0,1fr);align-items:start}.checkbox-row .muted{grid-column:2}.card>.table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.chat-layout-card{grid-template-columns:minmax(0,1fr)!important;min-height:auto!important;height:auto!important}.chat-layout-sidebar{height:auto!important;max-height:45vh}.chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.chat-sidebar-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chat-sidebar-header-actions .btn{align-self:center}}.chat-class-teachers{display:grid;gap:8px;padding:10px;border:1px solid rgba(37,99,235,.14);border-radius:10px;background:#eff6ffb8}.chat-class-teachers-sidebar{margin:2px 0 4px}.chat-class-teachers-head{display:flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:13px;font-weight:800}.chat-class-teachers-list{display:grid;gap:6px}.chat-class-teacher-button{display:grid;gap:3px;width:100%;padding:9px 10px;border:1px solid rgba(37,99,235,.14);border-radius:8px;background:#ffffffe6;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.chat-class-teacher-button:hover,.chat-class-teacher-button.is-selected{border-color:#2563eb57;background:#dbeafec7}.chat-class-teacher-button:disabled{cursor:wait;opacity:.65}.chat-class-teacher-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.chat-class-teacher-inline-subject{color:var(--muted);font-size:12px;font-weight:600}.chat-class-teacher-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.chat-class-teachers-more{border:0;background:transparent;color:var(--accent-strong);font-weight:700;text-align:left;cursor:pointer}@media (max-width: 700px){.modal-card.subject-edit-modal{max-height:calc(100vh - 16px)}.subject-edit-modal .multi-list{max-height:42vh}.teacher-choice-badges,.teacher-choice-meta{width:100%}.card>.table th,.card>.table td{white-space:nowrap}.page-header{gap:12px}}@media (max-width: 1024px){.app-layout{--mobile-nav-offset: calc(84px + env(safe-area-inset-bottom)) }.app-layout main{margin-left:0;padding:20px 16px calc(24px + var(--mobile-nav-offset))}.sidebar{display:none}.mobile-school-header{display:flex;align-items:center;gap:11px;width:min(100%,760px);margin:0 auto 14px;padding:10px 12px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 84%,transparent);box-shadow:0 14px 30px #10182814;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.school-cover-hero{min-height:96px;margin-bottom:14px;padding:16px;border-radius:22px}.school-cover-avatar{width:44px;height:44px;border-radius:13px}.mobile-bottom-nav{display:block;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:8px 12px env(safe-area-inset-bottom);background:linear-gradient(180deg,#f6faff00,#f6faffeb 28%,#f6fafffa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}[data-theme=dark] .mobile-bottom-nav{background:linear-gradient(180deg,#0f111500,#0f1115eb 28%,#0f1115fa)}.mobile-bottom-nav-inner{display:grid;gap:8px;width:min(100%,760px);margin:0 auto;padding:8px;border:1px solid var(--border);border-radius:20px;background:var(--surface-soft);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;align-self:stretch;gap:6px;min-width:0;min-height:44px;height:100%;padding:10px 8px;border-radius:14px;font:inherit;text-decoration:none;overflow:hidden}.mobile-bottom-nav-item.active{background:var(--sidebar-item-active);color:var(--accent-strong)}.mobile-bottom-nav-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:20px;flex:0 0 auto}.mobile-bottom-nav-label{font-size:11px;font-weight:700;line-height:1.15;text-align:left;white-space:normal;overflow-wrap:break-word;word-break:normal;min-width:0;max-width:100%}.mobile-bottom-nav-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center}.mobile-more-modal{margin-top:auto;max-height:min(calc(100vh - 16px - env(safe-area-inset-bottom)),640px);border-radius:22px 22px 16px 16px}.mobile-more-list .nav-item,.mobile-more-footer .nav-item{display:flex;flex-direction:row;align-items:center;width:100%}.mobile-more-list .nav-item,.mobile-more-footer .logout-btn{justify-content:center}.mobile-more-list .nav-label,.mobile-more-footer .logout-btn .nav-label{text-align:center}.mobile-more-footer .theme-toggle{width:fit-content;justify-content:center;justify-self:center}.modal-backdrop{padding:8px 12px calc(12px + env(safe-area-inset-bottom))}}.payroll-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:16px}.payroll-controls{display:grid;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.payroll-range-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.payroll-toolbar{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:12px;align-items:end}.payroll-date-group{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.payroll-date-group label,.payroll-currency-field{display:grid;gap:6px;min-width:160px}.payroll-range-field .date-input{width:100%}.payroll-range-field .date-input-field{min-height:42px}.payroll-range-field .date-input input{width:100%}.payroll-toolbar-actions{display:grid;grid-template-columns:minmax(160px,200px) auto;gap:12px;align-items:end;align-self:end;justify-content:start}.payroll-toolbar-actions .btn{height:42px;align-self:end;justify-content:center;white-space:nowrap}.payroll-stat{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);box-shadow:none}.payroll-stat-label{display:block;margin-bottom:3px;color:var(--muted);font-size:11px;white-space:nowrap}.payroll-table-wrap{border-color:#94a3b838}.payroll-table-wrap .table th,.payroll-table-wrap .table td{border-right:1px solid rgba(148,163,184,.16);border-bottom:1px solid rgba(148,163,184,.16)}.payroll-table-wrap .table th:last-child,.payroll-table-wrap .table td:last-child{border-right:0}.payroll-table-wrap .table tbody tr:last-child td{border-bottom:0}.payroll-fullscreen-card{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;margin:0;border-radius:0;padding:16px;background:var(--surface);overflow:auto}.payroll-fullscreen-card .payroll-table-wrap{max-height:none}.payroll-fullscreen-card .page-header,.payroll-fullscreen-card .payroll-controls,.payroll-fullscreen-card .payroll-stats,.payroll-fullscreen-card .payroll-note-row .muted{display:none}.payroll-stat strong{font-size:19px;font-weight:700;line-height:1}.payroll-note-row{margin-top:12px;margin-bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.payroll-proof-cell{display:grid;gap:8px;min-width:220px}.payroll-proof-summary{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}.payroll-proof-badges{display:flex;flex-wrap:wrap;gap:4px}.callout{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--ink);padding:12px 14px}.callout.danger{border-color:#dc262642;background:#fee2e2b8}.callout.success{border-color:#16a34a3d;background:#dcfce7ad}.callout.info{border-color:#3b82f62e;background:#eff6ffb8}.journal-stage-card{padding:12px 14px}.journal-stage-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.journal-stage-card-head h2{margin:0;font-size:18px}.journal-stage-list{display:grid;gap:8px}.journal-stage-group{border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);overflow:hidden}.journal-stage-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--ink);text-align:left;padding:8px 10px;cursor:pointer}.journal-stage-toggle:hover{background:#eff6ffa8}.journal-stage-group.is-open .journal-stage-toggle{border-bottom:1px solid var(--border)}.journal-stage-title{flex:1;font-size:14px;font-weight:700}.journal-stage-meta{color:var(--muted);font-size:12px}.journal-stage-toggle-icon{color:var(--muted);font-size:18px;line-height:1;width:18px;text-align:right}.journal-stage-body{padding:10px;display:grid;gap:8px}.journal-parallel-row{display:flex;align-items:center;gap:10px}.journal-parallel-label{flex:0 0 auto;min-width:86px;font-size:13px;font-weight:700;color:var(--muted)}.journal-class-chips{display:flex;flex-wrap:wrap;gap:8px}.journal-class-chip{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);padding:6px 10px;font:inherit;font-weight:600;font-size:13px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.journal-class-chip:hover{background:#eff6fff5;border-color:#3b82f63d}.journal-class-chip.is-active{background:#dbeafef2;border-color:#2563eb57;color:var(--accent-strong)}body.payroll-fullscreen-active .sidebar{display:none}body.payroll-fullscreen-active .app-layout{grid-template-columns:1fr}body.payroll-fullscreen-active .page{padding:0}@media (max-width: 1100px){.payroll-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 720px){.payroll-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.payroll-toolbar,.payroll-date-group,.payroll-toolbar-actions{width:100%}.payroll-note-row{grid-template-columns:1fr;justify-items:start}.payroll-toolbar,.payroll-date-group,.payroll-toolbar-actions{grid-template-columns:1fr}.payroll-date-group label,.payroll-currency-field,.payroll-toolbar-actions .btn{width:100%}.homework-create-helper-row,.homework-materials-head,.homework-flat-materials-head,.homework-materials-empty,.homework-create-footer-actions,.homework-create-primary-actions,.homework-flat-material-item-head,.homework-material-actions,.homework-file-picker-row{align-items:stretch;flex-direction:column}.homework-create-helper-row .btn,.homework-materials-head .btn,.homework-flat-materials-head .btn,.homework-materials-empty .btn,.homework-create-footer-actions .btn,.homework-create-primary-actions .btn,.homework-material-actions .btn,.homework-file-picker-row .btn{width:100%}.journal-stage-card{padding:12px}.journal-stage-card-head{align-items:flex-start;flex-direction:column}.journal-parallel-row{align-items:flex-start;flex-direction:column;gap:6px}.journal-parallel-label{min-width:0}}.training-center-task-filterbar{display:flex;flex-wrap:wrap;gap:10px}.training-center-task-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.training-center-task-updates,.training-center-task-updates-list{display:grid}.training-center-task-updates{gap:12px}.training-center-task-updates-head,.training-center-task-updates-title,.training-center-task-update-item{display:flex}.training-center-task-updates-head,.training-center-task-update-item{align-items:flex-start;justify-content:space-between;gap:12px}.training-center-task-updates-title{align-items:center;gap:8px}.training-center-task-updates-list{gap:10px}.training-center-task-update-item{padding:10px 12px;border-radius:10px;background:#f8fafceb}.training-center-task-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px;display:grid;gap:12px}.training-center-task-card-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.95fr);gap:18px;align-items:start}.training-center-task-card-main,.training-center-task-card-side,.training-center-task-personal-card,.training-center-task-progress,.training-center-task-menu,.training-center-task-menu-statuses{display:grid}.training-center-task-card-main,.training-center-task-card-side,.training-center-task-personal-card,.training-center-task-progress{gap:10px}.training-center-task-card.is-overdue{border-color:#ef444447;box-shadow:0 0 0 1px #ef444414}.training-center-task-card-head,.training-center-manager-card,.training-center-manager-card-head,.training-center-task-card-actions,.training-center-task-card-badges,.training-center-task-card-meta,.training-center-task-status-row,.training-center-manager-meta,.training-center-manager-card-body{display:flex}.training-center-task-card-head{align-items:flex-start;justify-content:space-between;gap:12px}.training-center-task-card-head h3{margin:0;font-size:17px}.training-center-task-card-title{display:grid;gap:8px;min-width:0}.training-center-task-card-badges,.training-center-task-card-actions,.training-center-task-card-meta,.training-center-task-status-row,.training-center-manager-meta{flex-wrap:wrap;gap:8px}.training-center-task-card-description{margin:0;color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.training-center-task-card-meta{color:var(--muted);font-size:13px}.training-center-task-card-meta>div{display:inline-flex;align-items:center;gap:6px}.training-center-task-card-foot{color:var(--muted);font-size:12px}.training-center-task-compact-row,.training-center-task-manager-row,.training-center-task-personal-head,.training-center-task-personal-actions,.training-center-task-tool-actions,.training-center-task-search{display:flex}.training-center-task-compact-row,.training-center-task-manager-row,.training-center-task-personal-head{align-items:center;justify-content:space-between;gap:10px}.training-center-task-summary,.training-center-task-manager-progress,.training-center-task-team-progress{color:var(--muted);font-size:13px;line-height:1.45}.training-center-task-assignee-pills{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.training-center-task-mini-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f1f5f9f2;color:var(--muted);font-size:12px;line-height:1.2}.training-center-task-mini-pill.muted{opacity:.85}.training-center-task-mini-pill.is-done{padding:6px 10px;background:#dcfce7f2;color:#166534;font-weight:700}.training-center-task-mini-pill.is-in_progress{background:#dbeafef2;color:#1d4ed8;font-weight:600}.training-center-task-status-row{gap:10px}.training-center-task-status-row .chip{white-space:nowrap}.training-center-task-modal{display:grid;gap:14px}.training-center-task-modal .modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.training-center-task-modal .field textarea{min-height:88px}.training-center-task-section{display:grid;gap:10px}.training-center-task-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.training-center-task-callout{margin-top:0}.training-center-task-assignee-list,.training-center-task-assignee-picker{display:grid;gap:10px}.training-center-task-assignee{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#f8fafceb}.training-center-task-assignee-main{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.training-center-task-assignee-name{font-weight:600}.training-center-task-assignee-meta{display:grid;gap:4px;color:var(--muted);font-size:13px}.training-center-task-personal{display:grid;gap:10px;padding-top:2px}.training-center-task-personal-card{padding:14px;border-radius:12px;background:#f8fafceb;border:1px solid rgba(148,163,184,.14)}.training-center-task-personal-note{margin:0;color:var(--muted);font-size:13px}.training-center-task-personal-actions,.training-center-task-tool-actions{flex-wrap:wrap;gap:8px}.training-center-task-primary-btn{justify-content:center;min-height:40px}.training-center-task-save-btn{justify-self:flex-start}.training-center-task-progress-bar{height:7px;border-radius:999px;background:#94a3b82e;overflow:hidden}.training-center-task-progress-bar span{display:block;height:100%;border-radius:inherit;background:#22c55ecc}.training-center-task-status-compact{display:grid;gap:8px}.training-center-task-form-tools{display:grid;gap:10px}.training-center-task-search{align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.training-center-task-search input{border:0;background:transparent;box-shadow:none;padding:11px 0}.training-center-task-search input:focus{outline:none}.training-center-task-assignee-picker{max-height:280px;overflow-y:auto}.training-center-task-assignee-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.training-center-task-assignee-option strong{display:block;margin-bottom:2px}.training-center-task-assignee-option .muted{font-size:13px}.training-center-task-assignee-option.active{border-color:#3b82f64d;background:#eff6ffa6}.training-center-task-assignee-option input{margin-top:3px}.training-center-team-tasks-page .btn-xs{min-height:32px;padding:6px 10px;border-radius:8px;font-size:13px}.training-center-team-tasks-page .rotated{transform:rotate(180deg)}.training-center-task-menu-trigger{color:var(--muted)}.training-center-task-card-actions{position:relative;flex-wrap:nowrap}.training-center-task-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;padding:8px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 18px 30px #0f172a1f;gap:6px;z-index:4}.training-center-task-menu-item{display:inline-flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.training-center-task-menu-item:hover{background:#f1f5f9e6}.training-center-task-menu-item.danger{color:#b91c1c}.training-center-task-menu-item.danger:hover{background:#fef2f2f2}.training-center-task-menu-divider{height:1px;background:var(--border);margin:4px 0}.training-center-task-menu-label{padding:2px 2px 0;color:var(--muted);font-size:12px}.training-center-task-menu-statuses{gap:8px}.training-center-manager-list{display:grid;gap:14px}.training-center-manager-card{align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px 18px}.training-center-manager-card.active{border-color:#22c55e47;background:#f0fdf4b8}.training-center-manager-card-body{flex:1;min-width:0;flex-direction:column;gap:10px}.training-center-manager-card-head{align-items:center;gap:12px;min-width:0}.training-center-manager-icon{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#dbeafee6;color:var(--accent-strong);flex:0 0 auto}.training-center-manager-card.active .training-center-manager-icon{background:#dcfce7f2;color:#15803d}@media (max-width: 720px){.training-center-task-grid{grid-template-columns:1fr}.training-center-task-card-layout{grid-template-columns:1fr;gap:14px}.training-center-task-updates-head,.training-center-task-update-item,.training-center-task-card-head,.training-center-manager-card,.training-center-task-compact-row,.training-center-task-manager-row,.training-center-task-personal-head{flex-direction:column;align-items:stretch}.training-center-manager-card .btn,.training-center-task-card-actions,.training-center-task-personal-actions .btn,.training-center-task-tool-actions .btn,.training-center-task-modal .modal-actions .btn{width:100%}.training-center-task-card-actions{align-self:flex-end;width:auto}.training-center-task-assignee-main,.training-center-task-section-head{align-items:flex-start;flex-direction:column}.training-center-task-card{padding:14px}.training-center-task-status-row .chip{flex:1 1 calc(50% - 6px);justify-content:center}.training-center-task-menu{left:0;right:auto;min-width:min(260px,calc(100vw - 48px))}}.la-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.la-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.la-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:.01em}.la-empty{font-size:13px;color:var(--muted);margin:0}.la-list{display:flex;flex-direction:column;gap:4px}.la-item{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-soft, var(--surface));transition:background .12s}.la-item:hover{background:var(--surface-hover, var(--surface))}.la-item-icon{display:flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.la-item-meta{display:flex;flex-direction:column;min-width:0;gap:1px}.la-item-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.la-item-size{font-size:11px;color:var(--muted)}.la-item-action{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap;flex-shrink:0}.la-upload-modal{width:min(460px,100%)}.la-type-tabs{display:flex;gap:4px;margin:16px 0;padding:3px;background:var(--surface-soft, var(--background));border:1px solid var(--border);border-radius:10px}.la-type-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.la-type-tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000014}.la-type-tab:hover:not(.active){color:var(--text)}.la-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 24px;border:1.5px dashed var(--border);border-radius:10px;color:var(--muted);font-size:13px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.la-dropzone:hover,.la-dropzone.drag-over{border-color:var(--primary, #2563eb);background:#2563eb0a;color:var(--text)}.la-dropzone.has-file{border-style:solid;border-color:var(--primary, #2563eb);color:var(--text)}.la-dropzone-filename{font-weight:500;word-break:break-all}.la-dropzone-hint{font-size:11px;color:var(--muted)}.la-progress{margin-top:10px;height:5px;border-radius:999px;background:var(--border);overflow:hidden}.la-progress-bar{height:100%;border-radius:999px;background:var(--primary, #2563eb);transition:width .1s linear}.la-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6000;background:#040810d9;display:flex;align-items:center;justify-content:center;padding:20px}.la-viewer-panel{display:flex;flex-direction:column;width:min(960px,100%);max-height:calc(100vh - 40px);background:var(--surface);border-radius:14px;overflow:hidden}.la-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.la-viewer-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.la-viewer-content{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px}.la-viewer-video{width:100%;max-height:calc(90vh - 100px);border-radius:6px}.la-viewer-audio-wrap{padding:20px;width:100%}.la-viewer-audio{width:100%}.la-viewer-image{max-width:100%;max-height:calc(90vh - 120px);object-fit:contain;border-radius:6px}@media (max-width: 540px){.la-item{grid-template-columns:24px 1fr;row-gap:6px}.la-item-action{grid-column:1 / -1}}.hw-detail-header{display:grid;gap:12px}.hw-detail-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.hw-back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;font-size:13px;font-weight:600;color:var(--accent)}.hw-back-btn:hover{color:var(--accent-strong)}.hw-detail-title{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:var(--ink)}.hw-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.hw-detail-deadline{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:600;color:var(--muted)}.hw-detail-deadline.is-overdue{color:#ef4444}.hw-detail-teacher{font-size:13px}.hw-detail-description{margin:0;font-size:15px;color:var(--ink);line-height:1.6}.hw-detail-section{display:grid;gap:14px}.hw-material-list{display:grid;gap:10px}.hw-material-card{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.hw-material-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.hw-material-info{flex:1;min-width:0;display:grid;gap:2px;align-content:start}.hw-material-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hw-material-type{font-size:12px}.hw-material-actions{flex-shrink:0;display:flex;flex-direction:row;align-items:center;gap:6px}.hw-download-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;padding:0;font-size:13px}.hw-answer-form{display:grid;gap:14px}.hw-answer-textarea{width:100%;min-height:120px;box-sizing:border-box;resize:vertical;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.5;border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);color:var(--ink);transition:border-color .15s,box-shadow .15s}.hw-answer-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--input-focus-glow)}.hw-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;color:var(--muted);font-size:14px;font-weight:600;transition:border-color .15s,background .15s}.hw-dropzone:hover,.hw-dropzone.is-drag-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.hw-dropzone-hint{font-size:12px;font-weight:400}.hw-submit-btn{width:100%;justify-content:center;padding-top:13px;padding-bottom:13px;font-size:15px}.school-requisites-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:16px}.school-requisites-input-wrap{position:relative}.school-requisites-input-wrap .input{padding-right:38px}.school-requisites-input-wrap .input.is-invalid{border-color:#dc2626;box-shadow:0 0 0 1px #dc262624}.school-requisites-clear{position:absolute;right:8px;top:50%;width:24px;height:24px;border:0;border-radius:999px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;transform:translateY(-50%);cursor:pointer}.school-requisites-clear:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.school-requisites-clear:disabled{cursor:default;opacity:.35}.school-requisites-error{margin-top:6px;color:#dc2626;font-size:12px;font-weight:600}@media (max-width: 600px){.school-requisites-grid{grid-template-columns:1fr}.school-requisites-grid .form-group[style*=grid-column]{grid-column:1!important}}.school-requisites-dl{margin:12px 0 0;display:grid;grid-template-columns:1fr;gap:0}.school-requisites-dl-row{display:grid;grid-template-columns:200px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);align-items:baseline}.school-requisites-dl-row:last-child{border-bottom:none}.school-requisites-dl-row dt{font-size:13px;color:var(--text-muted);font-weight:500}.school-requisites-dl-row dd{margin:0;font-size:14px;word-break:break-word}@media (max-width: 540px){.school-requisites-dl-row{grid-template-columns:1fr;gap:2px}}.modal-card.billing-limit-modal{width:min(480px,100%)}.billing-limit-body{display:flex;flex-direction:column;gap:16px;padding-top:4px}.billing-limit-stat{display:flex;align-items:baseline;gap:4px;background:#ef44440f;border:1px solid rgba(239,68,68,.18);border-radius:10px;padding:12px 16px}.billing-limit-stat__current{font-size:28px;font-weight:700;color:var(--danger, #ef4444);line-height:1}.billing-limit-stat__sep{font-size:20px;color:var(--text-muted);margin:0 2px}.billing-limit-stat__max{font-size:20px;font-weight:600;color:var(--ink);line-height:1}.billing-limit-stat__label{font-size:13px;color:var(--text-muted);margin-left:8px}.billing-limit-overage{background:#2563eb0d;border:1px solid rgba(37,99,235,.15);border-radius:10px;padding:12px 16px;font-size:14px}.billing-limit-overage__title{font-weight:600;margin-bottom:4px}.billing-limit-overage p{margin:0;color:var(--text-secondary)}.billing-limit-actions-info{display:flex;flex-direction:column;gap:8px}.billing-limit-action-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text-secondary);line-height:1.4}.billing-limit-action-icon{flex-shrink:0;font-size:16px;margin-top:1px}.payroll-tabs{display:flex;gap:3px;padding:4px;background:var(--bg-secondary, #f1f5f9);border-radius:12px;width:fit-content;margin-top:16px;margin-bottom:8px}.payroll-tab{padding:9px 22px;border:none;border-radius:9px;background:transparent;font-size:15px;font-weight:500;cursor:pointer;color:var(--text-secondary, #64748b);transition:background .15s,color .15s}.payroll-tab.is-active{background:#fff;color:var(--text-primary, #0f172a);box-shadow:0 1px 5px #0000001f;font-weight:600}.quality-tab{display:flex;flex-direction:column;gap:24px;padding-top:8px}.quality-hero{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:28px;background:#f8fafc;border:1px solid var(--border, #e2e8f0);border-radius:12px}.quality-donut-wrap{display:flex;align-items:center;gap:24px}.quality-donut{width:164px;height:164px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 8px #ffffff0d}.quality-donut-center{width:106px;height:106px;border-radius:50%;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-primary, #0f172a)}.quality-donut-center strong{font-family:Space Grotesk,Manrope,sans-serif;font-size:28px;font-weight:700;line-height:1}.quality-donut-center span{font-size:11px;opacity:.5;margin-top:3px;text-transform:uppercase;letter-spacing:.05em}.quality-donut-legend{display:flex;flex-direction:column;gap:9px;color:var(--text-secondary, #64748b);font-size:13px}.quality-donut-legend span{display:flex;align-items:center;gap:8px}.quality-donut-legend b{color:var(--text-primary, #0f172a);font-weight:600}.q-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.q-dot-conducted{background:#22a06b}.q-dot-not-counted{background:#e25544}.q-dot-awaiting{background:#f6ab36}.q-dot-rest{background:#475569}.quality-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quality-kpi-grid .director-stat-card{min-height:110px}.quality-kpi-grid .director-stat-card strong{font-size:26px}.quality-teachers-section{display:flex;flex-direction:column;gap:14px}.quality-teachers-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.quality-teachers-title{display:flex;align-items:center;gap:10px}.quality-teachers-title h2{margin:0;font-size:16px;font-weight:700}.quality-problem-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;background:#fef2f2;color:#dc2626;font-size:12px;font-weight:600;border:1px solid #fecaca}.quality-sort-tabs{display:flex;gap:2px;background:var(--bg-secondary, #f1f5f9);border-radius:8px;padding:3px}.quality-sort-tabs button{padding:4px 12px;border-radius:6px;border:none;background:transparent;font-size:13px;cursor:pointer;color:var(--text-secondary, #64748b);font-weight:500;transition:background .15s,color .15s}.quality-sort-tabs button.is-active{background:#fff;color:var(--text-primary, #0f172a);box-shadow:0 1px 3px #0000001a;font-weight:600}.quality-teacher-list{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.quality-teacher-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(120px,2fr) 100px 22px minmax(80px,1fr) 36px;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.quality-teacher-row:last-child{border-bottom:none}.quality-teacher-row:hover{background:var(--bg-secondary, #f8fafc)}.quality-teacher-info{display:flex;flex-direction:column;gap:2px;min-width:0}.quality-teacher-info strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quality-teacher-info .muted{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quality-bar-wrap{display:flex;align-items:center;gap:8px}.quality-bar{flex:1;height:7px;border-radius:100px;background:var(--border, #e2e8f0);overflow:hidden;display:flex}.quality-bar-seg{height:100%;transition:width .4s ease}.quality-bar-seg.conducted{background:#22a06b}.quality-bar-seg.not-counted{background:#e25544}.quality-bar-seg.awaiting{background:#f6ab36}.quality-bar-pct{font-size:12px;font-weight:600;white-space:nowrap;min-width:30px;text-align:right}.quality-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.01em;white-space:nowrap;text-transform:uppercase}.quality-pill.excellent{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.quality-pill.warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.quality-pill.problem{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.quality-pill.no_data{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b);border:1px solid var(--border, #e2e8f0)}.quality-recording-icon{display:flex;align-items:center;justify-content:center;color:#6366f1}.quality-counts{display:flex;align-items:center;gap:8px}.quality-count{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:600}.quality-count.conducted{color:#16a34a}.quality-count.not-counted{color:#dc2626}.quality-count.awaiting{color:#b45309}.quality-goto-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:transparent;cursor:pointer;color:var(--text-secondary, #64748b);transition:background .12s,color .12s,border-color .12s}.quality-goto-btn:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #0f172a);border-color:#94a3b8}.quality-empty{padding:40px 20px;text-align:center;color:var(--text-secondary, #64748b);font-size:14px;border:1px solid var(--border, #e2e8f0);border-radius:10px}.mc-page{display:flex;flex-direction:column;gap:16px}.mc-hero{padding:20px 24px}.mc-hero-title{font-size:20px;font-weight:700;margin:0 0 2px}.mc-hero-sub{font-size:14px;margin:0}.mc-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:stretch}.mc-history{display:flex;flex-direction:column}.mc-history-card{flex:1}@media (max-width: 900px){.mc-layout{grid-template-columns:1fr}}.mc-sidebar{display:flex;flex-direction:column;gap:12px}.mc-card-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:12px}.mc-actions-card{padding:16px}.mc-actions-list{display:flex;flex-direction:column;gap:4px}.mc-action-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:none;background:transparent;cursor:pointer;text-align:left;width:100%;transition:background .15s}.mc-action-btn:hover:not(:disabled){background:var(--surface-soft)}.mc-action-btn--soon{opacity:.45;cursor:not-allowed}.mc-action-icon{color:var(--primary);flex-shrink:0}.mc-action-btn--soon .mc-action-icon{color:var(--text-secondary)}.mc-action-text{flex:1;display:flex;flex-direction:column;gap:1px}.mc-action-label{font-size:14px;font-weight:500;color:var(--text-primary)}.mc-action-hint{font-size:12px}.mc-open-card{padding:16px}.mc-open-count{font-size:32px;font-weight:700;color:var(--primary);line-height:1;margin-bottom:4px}.mc-open-hint{font-size:13px}.mc-snapshot-card{padding:16px}.mc-snapshot-list{display:flex;flex-direction:column;gap:8px;font-size:13px}.mc-snapshot-row{display:flex;align-items:center;gap:8px}.mc-snapshot-label{color:var(--text-primary)}.mc-history-card{padding:20px;display:flex;flex-direction:column}.mc-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mc-history-head .mc-card-title{margin-bottom:0}.mc-refresh-btn{padding:4px 8px;height:auto}.mc-history-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;text-align:center;font-size:14px}.mc-history-empty-icon{opacity:.4}.mc-event-groups{display:flex;flex-direction:column;gap:20px}.mc-event-group{display:flex;flex-direction:column;gap:6px}.mc-event-date-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.mc-event-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.mc-event-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mc-event-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mc-event-subject{font-size:13px;font-weight:500;color:var(--text-primary)}.mc-event-time{font-size:12px;white-space:nowrap;flex-shrink:0}.mc-event-desc{font-size:12px;padding-left:2px}.mc-wizard-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.mc-wizard-modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.mc-wizard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.mc-wizard-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.mc-wizard-steps{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.mc-wizard-step-label{font-size:12px;color:var(--text-secondary);opacity:.5}.mc-wizard-step-label.is-active{color:var(--primary);font-weight:600;opacity:1}.mc-wizard-step-label.is-done{opacity:.7}.mc-wizard-step-sep{margin:0 4px;opacity:.4}.mc-wizard-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px;border-radius:6px;display:flex;align-items:center;flex-shrink:0}.mc-wizard-close:hover{background:var(--surface-soft);color:var(--text-primary)}.mc-wizard-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.mc-wizard-field{display:flex;flex-direction:column;gap:6px}.mc-field-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.mc-wizard-loading{display:flex;justify-content:center;padding:16px 0}.mc-wizard-empty{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);padding:12px 0}.mc-lesson-list{display:flex;flex-direction:column;gap:4px}.mc-lesson-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.mc-lesson-row:hover{border-color:var(--primary);background:var(--surface-soft)}.mc-lesson-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,transparent)}.mc-lesson-time{font-size:13px;font-weight:600;color:var(--primary);min-width:90px;flex-shrink:0}.mc-lesson-subject{font-size:14px;color:var(--text-primary);flex:1}.mc-lesson-check{color:var(--primary);flex-shrink:0}.mc-candidates-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:4px}.mc-candidate-list{display:flex;flex-direction:column;gap:4px}.mc-candidate-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.mc-candidate-row:hover:not(.is-disabled){border-color:var(--primary);background:var(--surface-soft)}.mc-candidate-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,transparent)}.mc-candidate-row.is-disabled{cursor:default;opacity:.55}.mc-candidate-name{font-size:14px;font-weight:500;color:var(--text-primary);flex:1}.mc-wizard-lesson-card{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px}.mc-wizard-lesson-label{font-size:15px;font-weight:600;color:var(--text-primary)}.mc-wizard-lesson-meta{font-size:13px;color:var(--text-secondary)}.mc-preview-card{border:1px solid var(--border);border-radius:12px;overflow:hidden}.mc-preview-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.mc-preview-row{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.mc-preview-row:last-child{border-bottom:none}.mc-preview-key{font-size:13px;color:var(--text-secondary);min-width:110px;flex-shrink:0}.mc-preview-val{font-size:13px;color:var(--text-primary)}.mc-preview-highlight{font-weight:600;color:var(--primary)}.mc-preview-note{font-size:13px;color:var(--text-secondary);padding:0 2px}.mc-wizard-processing{align-items:center;justify-content:center;padding:48px 20px;gap:16px}.mc-processing-text{font-size:15px;color:var(--text-secondary)}.mc-wizard-done{align-items:center;text-align:center;padding:36px 20px 24px;gap:12px}.mc-done-icon{color:#22c55e}.mc-done-title{font-size:18px;font-weight:700;color:var(--text-primary)}.mc-done-desc{font-size:14px;color:var(--text-secondary);line-height:1.6}.mc-done-footer{width:100%;justify-content:center;margin-top:8px}.mc-wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;border-top:1px solid var(--border);padding-top:16px}.swp-page{display:flex;flex-direction:column;gap:16px}.swp-header{display:flex;align-items:center;gap:16px;padding:16px 20px}.swp-back-btn{flex-shrink:0;display:flex;align-items:center;gap:6px}.swp-header-center{display:flex;flex-direction:column;gap:4px}.swp-title{font-size:18px;font-weight:700;margin:0}.swp-steps{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.swp-step{font-size:12px;color:var(--text-secondary);opacity:.45}.swp-step.is-active{color:var(--primary);font-weight:600;opacity:1}.swp-step.is-done{opacity:.65}.swp-step-sep{margin:0 6px;opacity:.35}.swp-layout{display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto auto;gap:16px;align-items:stretch}.swp-layout--narrow{grid-template-columns:1fr;max-width:560px}@media (max-width: 800px){.swp-layout{grid-template-columns:1fr}}.swp-footer{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.swp-form-card,.swp-summary-card{padding:20px;display:flex;flex-direction:column;gap:16px}.swp-lessons-card,.swp-candidates-card{padding:20px;display:flex;flex-direction:column;gap:12px}.swp-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.swp-field{display:flex;flex-direction:column;gap:6px}.swp-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.swp-loading{display:flex;justify-content:center;padding:20px 0}.swp-skeleton-rows{display:flex;flex-direction:column;gap:8px}.swp-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--text-secondary);font-size:13px;text-align:center;flex:1}.swp-lesson-list{display:flex;flex-direction:column;gap:6px}.swp-lesson-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.swp-lesson-row:hover{border-color:var(--primary);background:var(--surface-soft)}.swp-lesson-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,transparent)}.swp-lesson-row.is-blocked,.swp-lesson-row:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.swp-lesson-time{font-size:13px;font-weight:600;color:var(--primary);min-width:96px;flex-shrink:0}.swp-lesson-subject{font-size:14px;color:var(--text-primary);flex:1}.swp-check{color:var(--primary);flex-shrink:0}.swp-summary-row{display:flex;align-items:flex-start;gap:12px;font-size:14px}.swp-summary-label{color:var(--text-secondary);min-width:80px;flex-shrink:0}.swp-summary-val{color:var(--text-primary);font-weight:500}.swp-search{margin-bottom:4px}.swp-candidates-group{display:flex;flex-direction:column;gap:6px}.swp-candidates-group-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:2px}.swp-candidate-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s,background .15s}.swp-candidate-row:hover:not(.is-disabled){border-color:var(--primary);background:var(--surface-soft)}.swp-candidate-row.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,transparent)}.swp-candidate-row.is-disabled{cursor:default;opacity:.5}.swp-candidate-name{font-size:14px;font-weight:500;color:var(--text-primary);flex:1}.swp-conflict-callout{border-left:3px solid var(--danger, #e53e3e);background:color-mix(in srgb,var(--danger, #e53e3e) 6%,var(--surface))}.swp-conflict-title{font-size:13px;font-weight:600;color:var(--danger, #e53e3e);margin-bottom:6px}.swp-conflict-row{font-size:13px;color:var(--text-primary);padding:2px 0}.swp-candidate-subjects{font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swp-preview-card{padding:0;overflow:hidden}.swp-preview-card .swp-section-title{padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface-soft);margin:0}.swp-preview-table{display:flex;flex-direction:column}.swp-preview-row{display:flex;align-items:flex-start;gap:16px;padding:12px 20px;border-bottom:1px solid var(--border)}.swp-preview-row:last-child{border-bottom:none}.swp-preview-key{font-size:13px;color:var(--text-secondary);min-width:130px;flex-shrink:0}.swp-preview-val{font-size:14px;color:var(--text-primary)}.swp-preview-accent{font-weight:600;color:var(--primary)}.swp-preview-note{padding:14px 20px;font-size:13px}.swp-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 20px;text-align:center}.swp-centered img{width:200px!important;height:200px!important;margin-bottom:-20px}.swp-done-icon{color:#22c55e}.swp-done-icon--cancelled{color:var(--danger, #ef4444)}.swp-preview-danger{font-weight:600;color:var(--danger, #ef4444)}.swp-done-title{font-size:20px;font-weight:700;color:var(--text-primary)}.swp-done-desc{font-size:14px;line-height:1.7}.swp-done-actions{display:flex;gap:10px;margin-top:8px}.mc-event-groups{max-height:480px;overflow-y:auto}.mc-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:12px;border-top:1px solid var(--border);margin-top:auto}.mc-page-btn{padding:4px 8px;height:auto;display:flex;align-items:center}.mc-page-info{font-size:13px;min-width:48px;text-align:center}.swp-placeholder--mascot{padding:16px 12px 20px;gap:0}.swp-mascot{width:240px;height:240px;object-fit:contain;display:block;margin-bottom:-48px}.swz-weekday-group{margin-bottom:8px}.swz-weekday-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:4px 0 4px 4px}
