.school-year-switcher_switcher__vQJua{display:none;min-height:40px;align-items:center;gap:7px;padding:0 7px 0 10px;border:1px solid var(--border-strong);border-radius:11px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-xs);color:var(--muted);cursor:pointer}.school-year-switcher_label__yJLOn{font-size:.7rem;font-weight:800;white-space:nowrap}.school-year-switcher_select__mqNpC{height:32px;min-width:104px;padding:0 28px 0 7px;border:0;outline:0;background:#fff;color:var(--text);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.school-year-switcher_switcher__vQJua:focus-within{border-color:rgba(79,70,229,.48);box-shadow:0 0 0 4px rgba(79,70,229,.09)}.school-year-switcher_select__mqNpC:disabled{cursor:wait;opacity:.65}@media (max-width:720px){.school-year-switcher_switcher__vQJua{min-height:38px;padding-left:7px}.school-year-switcher_label__yJLOn{display:none}.school-year-switcher_select__mqNpC{min-width:92px;font-size:.74rem}}.staff-session-badge_badge__SW6nQ{position:fixed;z-index:1000;right:16px;bottom:16px;display:flex;max-width:min(360px,calc(100vw - 32px));align-items:center;gap:10px;padding:8px 9px 8px 12px;border:1px solid rgba(98,105,145,.2);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(31,38,70,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.staff-session-badge_badgeIdentity__B2fHL{display:flex;min-width:0;flex-direction:column}.staff-session-badge_badgeIdentity__B2fHL span,.staff-session-badge_badgeIdentity__B2fHL strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-session-badge_badgeIdentity__B2fHL strong{color:#282d4a;font-size:.72rem}.staff-session-badge_badgeIdentity__B2fHL span{margin-top:2px;color:#767c96;font-size:.63rem}.staff-session-badge_logout__jgYJs{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;border-radius:9px;background:#f0f1f8;color:#4e5573;font-size:.66rem;font-weight:850;text-decoration:none}.staff-session-badge_logout__jgYJs:hover{background:#e5e7f2}@media (max-width:720px){.staff-session-badge_badge__SW6nQ{right:auto;bottom:calc(72px + env(safe-area-inset-bottom));left:10px;max-width:none;gap:0;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.staff-session-badge_badgeIdentity__B2fHL{display:none}.staff-session-badge_logout__jgYJs{min-height:44px;padding:0 13px;border:1px solid rgba(98,105,145,.2);border-radius:999px;background:rgba(255,255,255,.98);box-shadow:0 8px 24px rgba(31,38,70,.12);font-size:.68rem}}.staff-session-badge_badge__SW6nQ{position:static;right:auto;bottom:auto;left:auto;max-width:none;gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.staff-session-badge_badgeIdentity__B2fHL{display:none}.staff-session-badge_logout__jgYJs{min-height:38px;padding:0 11px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-soft);font-size:.8rem}@media (max-width:720px){.staff-session-badge_badge__SW6nQ{display:none}}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--text:#151827;--text-soft:#343a50;--muted:#697188;--muted-light:#8c94a8;--surface:#ffffff;--surface-soft:#f7f8fc;--border:#e3e7f0;--border-strong:#d4d9e6;--accent:#4f46e5;--accent-dark:#3933bb;--accent-soft:#eef0ff;--blue-soft:#edf5ff;--mint-soft:#ecfaf5;--pink-soft:#fff0f6;--violet-soft:#f4efff;--success:#18794e;--success-soft:#eaf8f1;--warning:#9a5b13;--warning-soft:#fff6df;--danger:#b42318;--danger-soft:#fff0ef;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--shadow-xs:0 1px 2px rgba(26,34,61,.04);--shadow-sm:0 12px 32px rgba(32,42,79,.07);--shadow-md:0 24px 60px rgba(32,42,79,.1);background:#f5f7fb;color:var(--text)}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 8% 0,rgba(208,218,255,.46),transparent 31rem),radial-gradient(circle at 92% 8%,rgba(255,220,237,.35),transparent 28rem),linear-gradient(180deg,#fbfcff,#f4f6fb);color:var(--text);-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}a,button,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid rgba(79,70,229,.2);outline-offset:2px}.appHeader{position:-webkit-sticky;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(218,223,235,.86);background:rgba(251,252,255,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.appHeaderInner{display:flex;width:min(1200px,calc(100% - 32px));min-height:72px;margin:0 auto;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;min-width:0;align-items:center;gap:11px;color:var(--text);text-decoration:none}.brandMark{display:inline-grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#7868ee 58%,#d974a8);box-shadow:0 9px 22px rgba(79,70,229,.23);color:#fff;font-size:.76rem;font-weight:900;letter-spacing:.04em}.brandText{display:flex;min-width:0;flex-direction:column;line-height:1.1}.brandText strong{font-size:.97rem;letter-spacing:-.01em}.brandText small{margin-top:4px;overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.mainNav{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.78);box-shadow:var(--shadow-xs)}.navLink{padding:8px 13px;border-radius:9px;color:var(--muted);font-size:.84rem;font-weight:750;text-decoration:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.navLink:hover{color:var(--text)}.navLinkActive{background:#fff;box-shadow:0 3px 10px rgba(31,39,75,.08);color:var(--accent-dark)}.shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:46px 0 72px}.dashboardShell{width:min(1200px,calc(100% - 32px))}.dashboardHero,.pageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;margin-bottom:28px}.dashboardHero>div:first-child,.pageHeader>div:first-child{min-width:0}.eyebrow,.sectionEyebrow{margin:0 0 8px;color:var(--accent);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(2.35rem,5.4vw,4.2rem);line-height:.98;letter-spacing:-.052em}h1,h2{margin-bottom:0}h2{font-size:1.35rem;letter-spacing:-.025em}.lead{max-width:720px;margin:16px 0 0;color:var(--muted);font-size:1rem;line-height:1.65}.iconButton,.primaryButton,.secondaryButton{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;border-radius:12px;font-weight:800;line-height:1;text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.primaryButton{padding:0 17px;border:1px solid var(--accent);background:linear-gradient(135deg,var(--accent),#6359e8);box-shadow:0 9px 22px rgba(79,70,229,.2);color:#fff}.primaryButton:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 27px rgba(79,70,229,.27)}.iconButton,.secondaryButton{padding:0 15px;border:1px solid var(--border-strong);background:rgba(255,255,255,.92);box-shadow:var(--shadow-xs);color:var(--text-soft)}.iconButton:hover,.secondaryButton:hover{transform:translateY(-1px);border-color:#bfc6d7;background:#fff;color:var(--accent-dark)}.iconButton{width:44px;padding:0}.primaryButton:disabled,.secondaryButton:disabled{transform:none;cursor:not-allowed;opacity:.52;box-shadow:none}.textLink{color:var(--accent-dark);font-size:.84rem;font-weight:800;text-decoration:none}.textLink:hover{text-decoration:underline;text-underline-offset:3px}.integrationBadge{display:flex;max-width:360px;min-width:250px;align-items:flex-start;gap:12px;padding:15px 17px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.86);box-shadow:var(--shadow-sm)}.integrationDot{width:10px;height:10px;flex:0 0 auto;margin-top:5px;border:3px solid #c7f0dd;border-radius:50%;background:#24a36a;box-sizing:content-box}.integrationBadge div{display:flex;min-width:0;flex-direction:column}.integrationBadge small{color:var(--muted);font-size:.72rem;font-weight:700}.integrationBadge strong{margin-top:2px;font-size:.92rem}.integrationBadge span:not(.integrationDot){margin-top:4px;overflow:hidden;color:var(--muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.dashboardControlGrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);grid-gap:16px;gap:16px;margin-bottom:16px}.infoBanner,.notice,.panel,.settingsToolbar,.syncCard{border:1px solid var(--border);border-radius:var(--radius-lg);background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm)}.syncCard{min-width:0;flex-direction:column;padding:22px}.syncCard,.syncCardHeader{display:flex;justify-content:space-between}.syncCardHeader{align-items:flex-start;gap:16px}.syncCardHeader .sectionEyebrow{margin-bottom:4px}.syncCard>p{margin:13px 0 17px;color:var(--muted);font-size:.88rem;line-height:1.55}.syncButton,.syncWidget,.syncWidget form{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}.metric{position:relative;min-height:142px;overflow:hidden;padding:21px;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs)}.metric:after{position:absolute;top:-28px;right:-28px;width:92px;height:92px;border-radius:50%;content:"";opacity:.75}.metricBlue:after{background:#dbeaff}.metricMint:after{background:#d9f5e9}.metricPink:after{background:#fbddea}.metricViolet:after{background:#e8ddff}.metricLabel{color:var(--muted);font-size:.77rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.metric strong,.metricLabel{position:relative;z-index:1;display:block}.metric strong{margin-top:14px;font-size:2.35rem;line-height:1;letter-spacing:-.045em}.metric small{position:relative;z-index:1;display:block;margin-top:9px;color:var(--muted);font-size:.78rem}.lessonPanel{overflow:hidden}.panelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:23px 24px 20px;border-bottom:1px solid var(--border)}.panelHeader .sectionEyebrow{margin-bottom:4px}.panelMeta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.82rem}.panelMeta strong{display:inline-grid;min-width:30px;height:30px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-dark)}.lessonTable{padding:0 24px 10px}.lessonRow,.lessonTableHeader{display:grid;grid-template-columns:130px minmax(220px,1fr) minmax(220px,auto);grid-gap:22px;gap:22px;align-items:center}.lessonTableHeader{padding:13px 4px 10px;color:var(--muted-light);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.lessonTableHeader span:last-child{text-align:right}.lessonRow{margin-bottom:8px;padding:14px 15px;border:1px solid transparent;border-radius:14px;background:var(--surface-soft);transition:border-color .17s ease,background .17s ease,transform .17s ease}.lessonRow:hover{transform:translateY(-1px);border-color:var(--border);background:#fff}.lessonTime{display:flex;flex-direction:column;font-style:normal}.lessonTime strong{font-size:1rem;letter-spacing:-.02em}.lessonTime span{margin-top:3px;color:var(--muted);font-size:.76rem}.lessonPerson{min-width:0}.lessonPerson span,.lessonPerson strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lessonPerson strong{font-size:.94rem}.lessonPerson span{margin-top:4px;color:var(--muted);font-size:.8rem}.badges{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.statusBadge{display:inline-flex;min-height:27px;align-items:center;justify-content:center;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:.69rem;font-weight:820;line-height:1;white-space:nowrap}.statusInfo{border-color:#d7dcff;background:var(--accent-soft);color:#4942b8}.statusSuccess{border-color:#c8ead9;background:var(--success-soft);color:var(--success)}.statusWarning{border-color:#f1dda8;background:var(--warning-soft);color:var(--warning)}.statusDanger{border-color:#f3ceca;background:var(--danger-soft);color:var(--danger)}.statusNeutral{border-color:#e0e4ec;background:#f3f5f8;color:#667085}.emptyState{display:flex;min-height:250px;flex-direction:column;align-items:center;justify-content:center;padding:38px 24px;text-align:center}.emptyStateIcon{display:inline-grid;width:48px;height:48px;margin-bottom:15px;place-items:center;border-radius:15px;background:var(--accent-soft);color:var(--accent);font-size:1.35rem;font-weight:800}.emptyState strong{font-size:1.05rem}.emptyState p{max-width:430px;margin:8px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55}.emptyState .primaryButton{margin-top:18px}.notice{display:flex;flex-direction:column;gap:5px;padding:20px 22px;color:var(--muted)}.notice strong{color:var(--text)}.noticeError{border-color:#f0d1ce;background:rgba(255,246,245,.95)}.syncFeedback{display:flex;width:100%;flex-direction:column;gap:4px;margin-top:12px;padding:12px 13px;border:1px solid transparent;border-radius:12px;line-height:1.45}.syncFeedback,.syncFeedback strong{font-size:.78rem}.syncFeedback span{overflow-wrap:anywhere}.syncSuccess{border-color:#cae8d9;background:var(--success-soft);color:var(--success)}.syncError{border-color:#efcfcb;background:var(--danger-soft);color:var(--danger)}.syncProgress{border-color:#dce0ff;background:#f6f6ff;color:var(--text-soft)}.syncProgressText{display:flex;align-items:center;justify-content:space-between;gap:12px}.syncProgressText strong{flex:0 0 auto;color:var(--accent-dark)}.progressTrack{position:relative;height:5px;overflow:hidden;margin-top:5px;border-radius:999px;background:#e3e5f7}.progressBar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#8a7ff2);transition:width .25s ease}.progressBarIndeterminate{position:absolute;width:42%;animation:progress-indeterminate 1.1s ease-in-out infinite}.spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes progress-indeterminate{0%{left:-45%}to{left:105%}}.pageHeader{align-items:center}.pageHeader h1{font-size:clamp(2.2rem,4.5vw,3.7rem)}.settingsShell{width:min(1220px,calc(100% - 32px))}.infoBanner{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;padding:17px 19px;background:linear-gradient(135deg,rgba(241,243,255,.96),rgba(255,255,255,.96))}.infoBannerIcon{display:inline-grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:.95rem;font-weight:700}.infoBanner strong{display:block;font-size:.88rem}.infoBanner p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.settingsToolbar{position:-webkit-sticky;position:sticky;top:84px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;padding:16px 18px;background:rgba(255,255,255,.91);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.settingsActions,.settingsCounters{display:flex;align-items:center;gap:12px}.settingsCounter{display:flex;min-width:150px;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--surface-soft)}.settingsCounterActive{background:var(--success-soft)}.settingsCounter strong{font-size:1.35rem;line-height:1}.settingsCounter span{color:var(--muted);font-size:.75rem;line-height:1.3}.changesBadge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f2f4f7;color:var(--muted);font-size:.71rem;font-weight:750;white-space:nowrap}.changesBadgeActive{background:var(--warning-soft);color:var(--warning)}.settingsSave{min-width:145px}.settingsMessage{margin:0 0 16px}.calendarTable{overflow:hidden;padding:0}.calendarRow,.calendarTableHeader{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(240px,1fr) minmax(230px,.9fr);grid-gap:22px;gap:22px;align-items:center}.calendarTableHeader{padding:13px 20px;background:#f6f7fb;color:var(--muted-light);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.calendarRow,.calendarTableHeader{border-bottom:1px solid var(--border)}.calendarRow{position:relative;padding:18px 20px;background:rgba(255,255,255,.96);transition:background .16s ease}.calendarRow:last-child{border-bottom:0}.calendarRow:before{position:absolute;top:17px;bottom:17px;left:0;width:3px;border-radius:0 3px 3px 0;background:transparent;content:""}.calendarRow:hover{background:#fbfcff}.calendarRowActive:before{background:#35a873}.calendarRowError{background:#fff8f7}.calendarRowError:before{background:var(--danger)}.calendarIdentity{min-width:0}.calendarTitleLine{display:flex;min-width:0;align-items:center;gap:9px}.calendarTitleLine strong{min-width:0;font-size:.9rem}.calendarId,.calendarTitleLine strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarId{display:block;max-width:100%;margin-top:7px;color:var(--muted-light);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.66rem}.fieldGroup{display:flex;min-width:0;flex-direction:column;gap:6px}.fieldLabel{display:none;color:var(--muted);font-size:.7rem;font-weight:750}.settingsInput{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:11px;background:#fff;color:var(--text);font-weight:650;transition:border-color .16s ease,box-shadow .16s ease}.settingsInput:hover{border-color:#b7bfd1}.settingsInput:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,70,229,.13)}.switchLabel{display:inline-flex;min-width:0;align-items:center;gap:11px;cursor:pointer}.switchInput{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.switchTrack{position:relative;width:44px;height:25px;flex:0 0 auto;border:1px solid #cfd4df;border-radius:999px;background:#e4e7ec;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.switchThumb{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(25,32,56,.2);transition:transform .18s ease}.switchInput:checked+.switchTrack{border-color:var(--accent);background:var(--accent)}.switchInput:checked+.switchTrack .switchThumb{transform:translateX(19px)}.switchInput:focus-visible+.switchTrack{box-shadow:0 0 0 3px rgba(79,70,229,.2)}.switchText{min-width:0}.switchText small,.switchText strong{display:block}.switchText strong{font-size:.78rem}.switchText small{margin-top:3px;color:var(--muted);font-size:.68rem;text-overflow:ellipsis}.srOnly,.switchText small{overflow:hidden;white-space:nowrap}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}@media (max-width:980px){.dashboardControlGrid{grid-template-columns:1fr}.syncCard{min-height:auto}.calendarTableHeader{display:none}.calendarRow{grid-template-columns:minmax(0,1fr) minmax(220px,.9fr)}.calendarRow .switchLabel{grid-column:1/-1}.fieldLabel{display:block}.settingsToolbar{align-items:stretch;flex-direction:column}.settingsActions{justify-content:space-between}}@media (max-width:760px){.appHeaderInner{min-height:64px}.brandText small{display:none}.mainNav{border:0;background:transparent;box-shadow:none}.navLink{padding:8px 10px}.shell{padding:32px 0 54px}.dashboardHero,.pageHeader{align-items:stretch;flex-direction:column;gap:20px}.integrationBadge{width:100%;max-width:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lessonTableHeader{display:none}.lessonTable{padding:12px}.lessonRow{grid-template-columns:92px minmax(0,1fr);gap:12px 16px}.lessonRow .badges{grid-column:1/-1;justify-content:flex-start;padding-left:108px}.panelHeader{padding:20px}.panelMeta span{display:none}.settingsToolbar{position:static}.settingsCounters{width:100%}.settingsCounter{flex:1 1;min-width:0}.calendarRow{grid-template-columns:1fr;gap:15px}.calendarRow .switchLabel{grid-column:auto}}@media (max-width:540px){.appHeaderInner,.dashboardShell,.settingsShell,.shell{width:min(100% - 22px,1200px)}.brandMark{width:35px;height:35px}.brandText strong{font-size:.84rem}.navLink{font-size:.76rem}h1{font-size:2.5rem}.metrics{gap:10px}.metric{min-height:126px;padding:17px}.metric strong{font-size:2rem}.lessonRow{grid-template-columns:1fr}.lessonRow .badges{grid-column:auto;padding-left:0}.lessonTime{flex-direction:row;align-items:baseline;gap:6px}.settingsActions,.settingsCounters{align-items:stretch;flex-direction:column}.settingsCounter,.settingsSave{width:100%}.changesBadge{justify-content:center}}@media (max-width:420px){.appHeaderInner{gap:10px}.brandText{display:none}.mainNav{gap:2px;padding:2px}.navLink{padding:8px 9px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.brandLogo{display:block;width:138px;height:auto;max-height:74px;flex:0 0 auto;object-fit:contain}.brandTextWithLogo{padding-left:12px;border-left:1px solid var(--border-strong)}.brandTextWithLogo strong{font-size:.95rem}@media (max-width:900px){.brandLogo{width:116px;max-height:64px}.brandTextWithLogo{display:none}}@media (max-width:560px){.brandLogo{width:104px;max-height:58px}}.schedulePanelHeader{align-items:flex-start}.scheduleHint{max-width:720px;margin:8px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}.scheduleWrapper{min-width:0}.scheduleLegend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:13px 24px;border-bottom:1px solid var(--border);background:#fafbfe;color:var(--muted);font-size:.75rem;font-weight:720}.scheduleLegend span{display:inline-flex;align-items:center;gap:7px}.legendSwatch{display:inline-block;width:15px;height:10px;border-radius:3px}.legendLesson{border:1px solid #cfd5ff;background:#eef0ff}.legendBreak{border:1px dashed #c3cad8;background:repeating-linear-gradient(135deg,#f5f6f9 0 4px,#eceff4 4px 8px)}.legendCancelled{border:1px solid #efc7c3;background:repeating-linear-gradient(135deg,#fff0ef 0 5px,#fbdedb 5px 10px)}.scheduleViewport{position:relative;max-height:min(72vh,880px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#c8cddd #f1f3f7;scrollbar-width:thin}.scheduleViewport::-webkit-scrollbar{width:10px;height:10px}.scheduleViewport::-webkit-scrollbar-track{background:#f1f3f7}.scheduleViewport::-webkit-scrollbar-thumb{border:2px solid #f1f3f7;border-radius:999px;background:#c8cddd}.scheduleGrid{display:grid;min-width:100%;grid-template-columns:78px repeat(var(--teacher-count),minmax(190px,1fr));grid-template-rows:64px var(--schedule-height);background:#fff}.scheduleCorner,.scheduleTeacherHeader{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:flex;min-width:0;align-items:center;justify-content:center;border-bottom:1px solid var(--border-strong);background:rgba(250,251,254,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.scheduleCorner{left:0;z-index:7;padding:0 10px;border-right:1px solid var(--border-strong);color:var(--muted-light);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.scheduleTeacherHeader{flex-direction:column;padding:10px 13px;border-left:1px solid var(--border);text-align:center}.scheduleTeacherHeader strong{font-size:.84rem;line-height:1.25}.scheduleTeacherHeader span,.scheduleTeacherHeader strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduleTeacherHeader span{margin-top:4px;color:var(--muted);font-size:.68rem;line-height:1.2}.scheduleAxis{position:-webkit-sticky;position:sticky;left:0;z-index:5;grid-column:1;grid-row:2;border-right:1px solid var(--border-strong);background:rgba(250,251,254,.98)}.scheduleHourLabel{position:absolute;right:11px;transform:translateY(-50%);color:var(--muted);font-size:.7rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:780;white-space:nowrap}.scheduleHourLabel:first-child{transform:translateY(5px)}.scheduleHourLabelLast{transform:translateY(calc(-100% - 5px))}.scheduleTeacherColumn{position:relative;min-width:190px;grid-row:2;border-left:1px solid var(--border);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--half-hour-height) - 1px),#edf0f5 calc(var(--half-hour-height) - 1px),#edf0f5 var(--half-hour-height)),repeating-linear-gradient(to bottom,transparent 0,transparent calc((var(--half-hour-height) * 2) - 1px),#dfe3eb calc((var(--half-hour-height) * 2) - 1px),#dfe3eb calc(var(--half-hour-height) * 2)),#fff}.scheduleBreak,.scheduleLesson{position:absolute;right:7px;left:7px;overflow:hidden;border-radius:10px}.scheduleLesson{z-index:3;display:flex;flex-direction:column;padding:7px 8px;border:1px solid #cfd5ff;background:linear-gradient(145deg,#f5f6ff,#e9ecff);box-shadow:0 4px 12px rgba(65,70,145,.1);color:#28256f}.scheduleLesson:hover{z-index:6;overflow:visible;box-shadow:0 10px 24px rgba(46,52,112,.18)}.scheduleLesson time{display:block;flex:0 0 auto;font-size:.67rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:820;line-height:1.1}.scheduleLesson strong{margin-top:4px;font-size:.78rem;line-height:1.2}.scheduleLesson strong,.scheduleLesson>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduleLesson>span{margin-top:auto;padding-top:3px;font-size:.63rem;line-height:1.1;opacity:.8}.scheduleLessonCancelled{border-color:#efc7c3;background:repeating-linear-gradient(135deg,#fff3f2 0 7px,#fce4e1 7px 14px);box-shadow:none;color:var(--danger)}.scheduleLessonMakeup{border-color:#efd9a1;background:linear-gradient(145deg,#fffaf0,#fff1c9);color:#7e4a0f}.scheduleLessonCompleted{border-color:#c6e7d7;background:linear-gradient(145deg,#f1fbf6,#def4e9);color:var(--success)}.scheduleBreak{z-index:2;display:grid;min-height:10px;place-items:center;border:1px dashed #c5cbd7;background:repeating-linear-gradient(135deg,rgba(245,246,249,.96) 0 6px,rgba(235,238,244,.96) 6px 12px);color:#747d90}.scheduleBreak span{max-width:calc(100% - 10px);overflow:hidden;font-size:.64rem;font-weight:780;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media (max-width:760px){.schedulePanelHeader{align-items:stretch}.schedulePanelHeader .panelMeta{align-items:flex-start}.scheduleLegend{gap:12px;padding:12px 16px}.scheduleViewport{max-height:68vh}.scheduleGrid{grid-template-columns:68px repeat(var(--teacher-count),minmax(168px,1fr))}.scheduleTeacherColumn{min-width:168px}.scheduleCorner{padding:0 6px}.scheduleHourLabel{right:8px;font-size:.65rem}}.scheduleTeacherColumn{background:repeating-linear-gradient(180deg,transparent 0,transparent 30.5px,#edf0f5 0,#edf0f5 31.5px),repeating-linear-gradient(180deg,transparent 0,transparent 62px,#dfe3eb 0,#dfe3eb 63px),#fff}.scheduleTeacherColumnEmpty{background:repeating-linear-gradient(135deg,rgba(249,250,252,.88) 0 8px,rgba(244,246,249,.88) 8px 16px),#fafbfc}.scheduleNoLessons{position:-webkit-sticky;position:sticky;top:82px;display:block;margin:18px 12px;padding:8px 10px;border:1px dashed #d7dce6;border-radius:9px;background:rgba(255,255,255,.78);color:var(--muted-light);font-size:.68rem;font-weight:760;text-align:center}.scheduleGrid{grid-template-columns:78px var(--teacher-columns)}.scheduleLegendHint{margin-left:auto;color:var(--accent-dark);font-weight:780}.scheduleLesson{right:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.scheduleLesson:hover{z-index:8;transform:translateY(-1px);overflow:hidden}.scheduleLesson:focus-visible{z-index:9;outline:3px solid rgba(79,70,229,.24);outline-offset:1px}.scheduleLessonCompact{padding:6px}.scheduleLessonCompact time{font-size:.61rem}.scheduleLessonCompact strong{margin-top:3px;font-size:.7rem}.scheduleLessonCompact>span{display:none}.lessonDialogBackdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(18,22,38,.46);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lessonDialog{width:min(520px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(19,25,51,.28)}.lessonDialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px 18px;border-bottom:1px solid var(--border)}.lessonDialogHeader p{margin:0 0 5px;color:var(--accent);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.lessonDialogHeader h3{margin:0;font-size:1.35rem;line-height:1.2;letter-spacing:-.025em}.lessonDialogClose{display:inline-grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);color:var(--text-soft);font-size:1.45rem;line-height:1;cursor:pointer}.lessonDialogClose:hover{border-color:var(--border-strong);background:#fff;color:var(--accent-dark)}.lessonDetailTime{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 24px 0;padding:18px;border:1px solid #dce0ff;border-radius:16px;background:linear-gradient(135deg,#f5f6ff,#eef0ff)}.lessonDetailTime strong{color:var(--accent-dark);font-size:1.25rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.lessonDetailTime span{color:var(--muted);font-size:.8rem;font-weight:760}.lessonDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:18px 24px 0}.lessonDetailGrid>div{min-width:0;padding:14px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.lessonDetailGrid dt{margin-bottom:7px;color:var(--muted);font-size:.68rem;font-weight:820;letter-spacing:.06em;text-transform:uppercase}.lessonDetailGrid dd{margin:0;overflow-wrap:anywhere;color:var(--text);font-size:.88rem;font-weight:720}.lessonDetailBadge{display:inline-flex;min-height:27px;align-items:center;padding:5px 9px;border:1px solid transparent;border-radius:999px;font-size:.7rem;font-weight:820}.lessonDetailBadgeInfo{border-color:#d7dcff;background:var(--accent-soft);color:var(--accent-dark)}.lessonDetailBadgeSuccess{border-color:#c8ead9;background:var(--success-soft);color:var(--success)}.lessonDetailBadgeWarning{border-color:#f1dda8;background:var(--warning-soft);color:var(--warning)}.lessonDetailBadgeDanger{border-color:#f3ceca;background:var(--danger-soft);color:var(--danger)}.lessonDialogFooter{display:flex;justify-content:flex-end;padding:20px 24px 24px}@media (max-width:760px){.scheduleGrid{grid-template-columns:68px var(--teacher-columns)}.scheduleLegendHint{width:100%;margin-left:0}.scheduleTeacherColumn,.scheduleTeacherHeader{min-width:280px}.scheduleLesson{justify-content:flex-start;padding:5px 7px}.scheduleLesson time{font-size:.58rem;line-height:1}.scheduleLesson strong{display:-webkit-box;margin-top:3px;overflow:hidden;font-size:.72rem;line-height:1.08;text-overflow:clip;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.scheduleLesson>span{display:none}.scheduleLessonCompact{justify-content:flex-start;padding:4px 5px}.scheduleLessonCompact time{display:block;font-size:.54rem;line-height:1}.scheduleLessonCompact strong{margin-top:2px;font-size:.67rem;line-height:1.05;-webkit-line-clamp:2}.lessonDialogBackdrop{align-items:end;padding:12px}.lessonDialog{width:100%;max-height:calc(100vh - 24px);border-radius:20px}.lessonDetailGrid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.scheduleLesson{transition:none}}.studentImportWidget{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.studentImportPanel .studentImportWidget{margin-top:0;padding-top:0;border-top:0}.studentImportHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.studentImportHeader>div{display:flex;min-width:0;flex-direction:column}.studentImportHeader strong{font-size:.84rem}.studentImportHeader span{margin-top:3px;overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.studentImportButton{min-height:38px;flex:0 0 auto;padding:0 12px;font-size:.75rem}.studentImportHint{margin:10px 0 0!important;color:var(--muted);font-size:.75rem!important;line-height:1.45!important}.studentImportHint a{color:var(--accent-dark);font-weight:750;text-decoration:none}.studentImportHint a:hover{text-decoration:underline;text-underline-offset:2px}.spinnerDark{border-color:rgba(79,70,229,.22);border-top-color:var(--accent)}.importAnalysis{margin-top:16px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff}.importAnalysis>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.importAnalysis>header>div{display:flex;flex-direction:column}.importAnalysis>header p,.importSyncStep p{margin:0 0 3px;color:var(--accent);font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.importAnalysis>header h3,.importSyncStep h3{font-size:1rem}.importAnalysis>header span,.importSyncStep span{margin-top:4px;color:var(--muted);font-size:.74rem;line-height:1.45}.importAnalysis>header>strong{display:grid;min-width:42px;height:42px;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent-dark);font-size:1.05rem}.importAnalysisCounters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:9px;gap:9px;padding:13px;border-bottom:1px solid var(--border)}.importAnalysisCounters article{display:flex;min-width:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);flex-direction:column}.importAnalysisCounters article.warning{border-color:#ead5a7;background:var(--warning-soft)}.importAnalysisCounters strong{font-size:1rem}.importAnalysisCounters span{margin-top:3px;color:var(--muted);font-size:.68rem;line-height:1.35}.importPreviewGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;padding:13px}.importIssues,.importPreviewGrid details{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff}.importIssues summary,.importPreviewGrid summary{padding:11px 12px;cursor:pointer;background:var(--surface-soft);color:var(--text-soft);font-size:.74rem;font-weight:850}.importPreviewGrid details>div{max-height:260px;overflow-y:auto}.importPreviewGrid article{display:flex;padding:9px 11px;border-top:1px solid var(--border);flex-direction:column}.importPreviewGrid article strong{font-size:.74rem;line-height:1.35}.importPreviewGrid article span,.importPreviewGrid p{margin:3px 0 0;color:var(--muted);font-size:.68rem;line-height:1.4}.importPreviewGrid p{padding:12px}.importIssues{margin:0 13px 13px;border-color:#ead5a7}.importIssues summary{background:var(--warning-soft);color:var(--warning)}.importIssues ol{max-height:260px;margin:0;overflow-y:auto;padding:12px 12px 12px 34px}.importIssues li{padding:3px 0;color:var(--text-soft);font-size:.71rem;line-height:1.45}.importNoIssues{margin:0 13px 13px;padding:11px 12px;border:1px solid #c8ead9;border-radius:11px;background:var(--success-soft);color:var(--success);font-size:.76rem;font-weight:800}.importConfirmation{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-top:1px solid var(--border);background:var(--surface-soft)}.importConfirmation label{display:flex;max-width:720px;align-items:flex-start;gap:9px;color:var(--text-soft);font-size:.74rem;line-height:1.45}.importConfirmation input{margin-top:2px}.importConfirmation button{flex:0 0 auto}.importSyncStep{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--accent-soft)}.importSyncStep>div{display:flex;flex-direction:column}@media (max-width:900px){.importAnalysisCounters{grid-template-columns:repeat(2,minmax(0,1fr))}.importPreviewGrid{grid-template-columns:1fr}}@media (max-width:560px){.importConfirmation,.importSyncStep,.studentImportHeader{align-items:stretch;flex-direction:column}.studentImportHeader span{white-space:normal}.importConfirmation button,.importSyncStep button,.studentImportButton{width:100%}.importAnalysisCounters{grid-template-columns:1fr}}.studentsShell{width:min(1220px,calc(100% - 32px));padding-top:30px}.studentsPageHeader{margin-bottom:18px}.studentProfileHeader h1,.studentsPageHeader h1{font-size:clamp(2rem,4vw,3.35rem)}.calendarSummaryBar,.studentOverviewBar{display:flex;flex-wrap:wrap;align-items:center;gap:0;min-height:58px;margin-bottom:14px;padding:10px 15px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-xs)}.calendarSummaryBar span,.studentOverviewBar span{display:inline-flex;align-items:baseline;gap:6px;padding:5px 16px;border-right:1px solid var(--border);color:var(--muted);font-size:.8rem;white-space:nowrap}.calendarSummaryBar span:first-child,.studentOverviewBar span:first-child{padding-left:4px}.calendarSummaryBar span:last-child,.studentOverviewBar span:last-child{border-right:0}.calendarSummaryBar strong,.studentOverviewBar strong{color:var(--text);font-size:1.18rem;letter-spacing:-.025em}.calendarSummaryWarning strong,.studentOverviewWarning strong{color:var(--danger)}.studentDirectoryPanel,.studentImportPanel,.studentProfileCard,.studentSection{border:1px solid var(--border);border-radius:var(--radius-lg);background:rgba(255,255,255,.95);box-shadow:var(--shadow-sm)}.studentImportPanel{margin-bottom:14px;padding:19px 21px}.studentDirectoryPanel{overflow:hidden}.studentDirectoryToolbar{display:flex;align-items:flex-end;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border)}.studentSearchField{flex:1 1 auto}.studentFilterField select,.studentSearchField input{width:100%;min-height:44px;border:1px solid var(--border-strong);border-radius:12px;background:#fff;color:var(--text)}.studentSearchField input{padding:0 14px}.studentFilterField{display:flex;min-width:210px;flex-direction:column;gap:6px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.studentFilterField select{padding:0 38px 0 13px;text-transform:none}.studentDirectoryResult{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 20px 0;color:var(--muted);font-size:.75rem}.studentDirectoryResult strong{color:var(--text)}.studentCardList{display:grid;grid-gap:8px;gap:8px;padding:10px 14px 16px}.studentCard{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.studentCard:hover,.studentCardExpanded{border-color:#d3d7e6;background:#fff}.studentCardExpanded{box-shadow:var(--shadow-xs)}.studentCardToggle{display:grid;width:100%;min-height:68px;grid-template-columns:minmax(200px,1.3fr) minmax(180px,1fr) auto 26px;grid-gap:16px;gap:16px;align-items:center;padding:11px 14px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.studentCardToggle:focus-visible{outline:3px solid rgba(92,78,202,.18);outline-offset:-3px}.studentCardCourseSummary,.studentCardIdentity{display:grid;min-width:0;grid-gap:3px;gap:3px}.studentCardCourseSummary>strong,.studentCardIdentity>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studentCardIdentity>strong{color:var(--text);font-size:.94rem;font-weight:840;letter-spacing:-.015em}.studentCardCourseSummary>small,.studentCardIdentity>small{overflow:hidden;color:var(--muted);font-size:.69rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.studentCardCourseSummary>strong{color:var(--text-soft);font-size:.78rem;font-weight:760}.studentStatus{display:inline-flex;min-height:28px;align-items:center;justify-content:center;padding:4px 9px;border:1px solid #dfe3eb;border-radius:999px;background:#f4f5f8;color:var(--muted);font-size:.68rem;font-weight:820}.studentStatusActive{border-color:#c6ead7;background:var(--success-soft);color:var(--success)}.studentCardStatus{white-space:nowrap}.studentCardChevron{display:grid;width:26px;height:26px;place-items:center;color:var(--muted);transition:transform .18s ease,color .18s ease}.studentCardChevron svg{width:18px;height:18px}.studentCardExpanded .studentCardChevron{transform:rotate(180deg);color:var(--accent-dark)}.studentCardDetails{display:grid;grid-template-columns:minmax(0,.95fr) minmax(260px,1.35fr);grid-gap:18px;gap:18px;padding:14px;border-top:1px solid var(--border);background:#fff}.studentCardContactDetails{display:grid;align-content:start}.studentCardContactDetails>div{display:grid;grid-template-columns:112px minmax(0,1fr);grid-gap:10px;gap:10px;min-height:36px;align-items:center;padding:6px 0;border-top:1px solid var(--border)}.studentCardContactDetails>div:first-child{border-top:0}.studentCardContactDetails span,.studentCardDetailLabel{color:var(--muted);font-size:.68rem;font-weight:760}.studentCardContactDetails a,.studentCardContactDetails strong{min-width:0;overflow:hidden;color:var(--text-soft);font-size:.76rem;font-weight:720;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.studentCardContactDetails a:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:2px}.studentCardCourseDetails{min-width:0}.studentCardDetailLabel{display:block;margin-bottom:7px}.studentCardCourseList{display:flex;flex-wrap:wrap;gap:7px}.studentCourseChip{display:inline-flex;max-width:180px;min-width:0;flex-direction:column;gap:2px;padding:7px 9px;border:1px solid #dfe2ff;border-radius:10px;background:#f3f4ff;color:#3f3a9d;font-size:.69rem;font-weight:800;line-height:1.15}.studentCourseChip small{overflow:hidden;color:#7770bd;font-size:.61rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.studentCourseChipExpanded{max-width:220px;padding:8px 10px}.studentNoCourse{color:var(--warning)!important}.studentCardActions{display:flex;grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:2px}.studentOpenLink{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 16px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--accent-dark);font-size:.72rem;font-weight:900;text-decoration:none}.studentOpenLink:hover{border-color:#c6c9ee;background:var(--accent-soft)}.studentEmptyState{min-height:190px}.studentBackLink{display:inline-flex;margin-bottom:17px;color:var(--accent-dark);font-size:.82rem;font-weight:800;text-decoration:none}.studentBackLink:hover{text-decoration:underline;text-underline-offset:3px}.studentProfileHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.studentProfileHeader h1{margin-bottom:12px}.studentProfileGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px;margin-bottom:14px}.studentProfileCard{padding:21px}.studentProfileCard h2{margin-bottom:16px}.studentCourseCard dl,.studentProfileList{display:grid;grid-gap:0;gap:0;margin:0}.studentCourseCard dl div,.studentProfileList div{display:grid;grid-template-columns:145px minmax(0,1fr);grid-gap:16px;gap:16px;padding:10px 0;border-top:1px solid var(--border)}.studentCourseCard dl div:first-child,.studentProfileList div:first-child{border-top:0}.studentCourseCard dt,.studentProfileList dt{color:var(--muted);font-size:.74rem;font-weight:750}.studentCourseCard dd,.studentProfileList dd{margin:0;color:var(--text-soft);font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.studentProfileList a{color:var(--accent-dark);text-decoration:none}.studentNotesCard>p:last-child{margin:0;color:var(--muted);font-size:.84rem;line-height:1.65;white-space:pre-wrap}.studentSection{margin-top:14px;overflow:hidden}.studentSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 21px 16px;border-bottom:1px solid var(--border)}.studentSectionHeader .sectionEyebrow{margin-bottom:4px}.studentSectionHeader>strong{display:inline-grid;min-width:32px;height:32px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-dark)}.studentCourseGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;padding:16px}.studentCourseCard{padding:17px;border:1px solid var(--border);border-radius:15px;background:var(--surface-soft)}.studentCourseInactive{opacity:.65}.studentCourseCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:9px}.studentCourseCardHeader h3{margin:0;font-size:.98rem;letter-spacing:-.02em}.studentCourseCardHeader span{color:var(--success);font-size:.68rem;font-weight:820}.studentLessonHistory{padding:8px 14px 16px}.studentLessonHistoryRow{display:grid;grid-template-columns:140px minmax(220px,1fr) minmax(190px,auto);grid-gap:18px;gap:18px;align-items:center;margin-top:7px;padding:13px 14px;border-radius:13px;background:var(--surface-soft)}.studentLessonHistoryRow time,.studentLessonHistoryRow>div:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:3px}.studentLessonHistoryRow strong{font-size:.82rem}.studentLessonHistoryRow span{color:var(--muted);font-size:.73rem}.studentLessonStatuses{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.studentLessonStatuses span{padding:5px 8px;border-radius:999px;background:#eef0f7;color:var(--text-soft);font-size:.67rem;font-weight:780}@media (max-width:980px){.studentCardToggle{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) auto 24px;gap:12px}.studentCourseGrid,.studentProfileGrid{grid-template-columns:1fr}}@media (max-width:700px){.studentsShell{width:min(100% - 20px,1220px);padding-top:22px}.calendarSummaryBar,.studentOverviewBar{align-items:stretch;padding:7px}.calendarSummaryBar span,.studentOverviewBar span{width:50%;padding:8px 10px;border-right:0;white-space:normal}.studentDirectoryToolbar{align-items:stretch;flex-direction:column;gap:10px;padding:14px 12px}.studentFilterField{min-width:0}.studentDirectoryResult{padding:9px 12px 0}.studentCardList{gap:7px;padding:8px 7px 18px}.studentCardToggle{min-height:74px;grid-template-columns:minmax(0,1fr) auto 24px;grid-template-rows:auto auto;gap:5px 10px;padding:10px 11px}.studentCardIdentity{grid-column:1;grid-row:1}.studentCardIdentity>strong{font-size:.91rem}.studentCardIdentity>small{margin-top:1px}.studentCardCourseSummary{grid-column:1/3;grid-row:2;display:flex;gap:6px;align-items:baseline}.studentCardCourseSummary>small{flex:0 0 auto}.studentCardCourseSummary>strong{min-width:0;font-size:.74rem}.studentCardStatus{grid-column:2;grid-row:1;min-height:26px;padding:3px 7px;font-size:.64rem}.studentCardChevron{grid-column:3;grid-row:1/3}.studentCardDetails{grid-template-columns:1fr;gap:14px;padding:12px}.studentCardContactDetails>div{grid-template-columns:104px minmax(0,1fr)}.studentCardActions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.studentCardActions .studentEditButton,.studentOpenLink{width:100%;min-height:44px}.studentCourseCard dl div,.studentProfileList div{grid-template-columns:1fr;gap:4px}.studentLessonHistoryRow{grid-template-columns:1fr;gap:9px}.studentLessonStatuses{justify-content:flex-start}}.studentHistoryModeSwitch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.studentHistoryModeSwitch a{display:inline-flex;min-height:44px;align-items:center;padding:7px 11px;border-radius:9px;color:var(--muted);font-size:.75rem;font-weight:820;text-decoration:none}.studentHistoryModeSwitch a:hover{color:var(--accent-dark)}.studentHistoryModeSwitch .studentHistoryModeActive{background:#fff;box-shadow:var(--shadow-xs);color:var(--accent-dark)}.studentCourseCurrentYear{border-color:#c6c9ee;background:var(--accent-soft)}.studentCourseHistorical{background:#f7f8fa}.studentCourseCardHeader>div:first-child{min-width:0}.studentSchoolYearBadge{display:inline-flex;margin-bottom:7px;padding:4px 7px;border-radius:999px;background:#eef0f7;color:var(--muted);font-size:.64rem;font-weight:820}.studentCourseCurrentYear .studentSchoolYearBadge{background:#fff;color:var(--accent-dark)}.studentFullTimeline{padding:8px 14px 16px}.studentTimelineRow{display:grid;grid-template-columns:140px minmax(260px,1fr) minmax(150px,auto);grid-gap:18px;gap:18px;align-items:center;margin-top:7px;padding:13px 14px;border:1px solid transparent;border-radius:13px}.studentTimelineCurrentYear{border-color:#d9dcf7;background:var(--accent-soft)}.studentTimelineHistorical{background:var(--surface-soft)}.studentTimelineBody,.studentTimelineRow time{display:flex;min-width:0;flex-direction:column;gap:3px}.studentTimelineBody strong,.studentTimelineRow time strong{color:var(--text);font-size:.82rem}.studentTimelineBody>span,.studentTimelineRow time span{color:var(--muted);font-size:.72rem}.studentTimelineBody>div{display:flex;min-width:0;align-items:center;gap:8px}.studentTimelineKind{display:inline-flex;flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#eef0f7;color:var(--text-soft);font-size:.63rem;font-weight:820}.studentTimelineCurrentYear .studentTimelineKind{background:#fff;color:var(--accent-dark)}.studentTimelineStatus{justify-self:end;padding:5px 8px;border-radius:999px;background:#eef0f7;color:var(--text-soft);font-size:.67rem;font-weight:780;text-align:right}.studentTimelineCurrentYear .studentTimelineStatus{background:#fff}@media (max-width:700px){.studentProfileHeader{align-items:flex-start;flex-direction:column;gap:14px}.studentHistoryModeSwitch{width:100%}.studentHistoryModeSwitch a{flex:1 1;justify-content:center;text-align:center}.studentTimelineRow{grid-template-columns:1fr;gap:9px}.studentTimelineStatus{justify-self:start;text-align:left}}.studentDirectoryToolbarWithAction{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,230px) auto}.studentAddButton{min-height:44px;white-space:nowrap}.studentTableHeader,.studentTableRow{grid-template-columns:minmax(180px,1fr) minmax(190px,.9fr) minmax(280px,1.35fr) 95px 112px}.studentRowActions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.studentEditButton{min-height:44px;padding:0 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--accent-dark);cursor:pointer;font:inherit;font-size:.68rem;font-weight:820}.studentEditButton:hover{border-color:#c6c9ee;background:var(--accent-soft)}.studentEditorBackdrop{position:fixed;z-index:1200;inset:0;display:grid;overflow-y:auto;place-items:center;padding:24px;background:rgba(20,23,38,.48);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.studentEditorDialog{width:min(680px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(26,31,64,.28)}.studentEditorHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#fff,#f6f7ff)}.studentEditorHeader h2{margin:3px 0 0;font-size:1.35rem}.studentEditorClose{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-soft);cursor:pointer;font-size:1.35rem;line-height:1}.studentEditorClose:disabled{cursor:wait;opacity:.55}.studentEditorForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:15px;gap:15px;padding:22px 24px 24px}.studentEditorField{display:grid;grid-gap:7px;gap:7px}.studentEditorFieldWide{grid-column:1/-1}.studentEditorField>span{color:var(--text-soft);font-size:.72rem;font-weight:800}.studentEditorField input,.studentEditorField textarea{width:100%;border:1px solid var(--border-strong);border-radius:11px;background:#fff;color:var(--text);font:inherit;font-size:.82rem;outline:none}.studentEditorField input{min-height:44px;padding:0 12px}.studentEditorField textarea{min-height:102px;resize:vertical;padding:11px 12px;line-height:1.45}.studentEditorField input:focus,.studentEditorField textarea:focus{border-color:#8d95e8;box-shadow:0 0 0 3px rgba(92,78,202,.1)}.studentEditorToggle{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.studentEditorToggle input{margin-top:3px}.studentEditorToggle span{display:grid;grid-gap:3px;gap:3px}.studentEditorToggle strong{font-size:.78rem}.studentEditorToggle small{color:var(--muted);font-size:.68rem;line-height:1.4}.studentEditorError{grid-column:1/-1;padding:11px 13px;border:1px solid #f0b9c4;border-radius:10px;background:#fff1f3;color:#9c2944;font-size:.74rem;font-weight:750}.studentEditorActions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}@media (max-width:980px){.studentDirectoryToolbarWithAction{grid-template-columns:1fr minmax(180px,220px)}.studentAddButton{grid-column:1/-1}.studentTableHeader{display:none}.studentTableRow{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}.studentContact,.studentCourses,.studentTableRow>div[role=cell]:has(.studentStatus){grid-column:1}.studentRowActions{grid-column:2;grid-row:1/span 4;flex-direction:column}}@media (max-width:620px){.studentDirectoryToolbarWithAction,.studentEditorForm{grid-template-columns:1fr}.studentAddButton,.studentEditorFieldWide{grid-column:auto}.studentEditorBackdrop{align-items:flex-end;padding:0}.studentEditorDialog{width:100%;max-height:94vh;overflow-y:auto;border-radius:20px 20px 0 0}.studentEditorForm,.studentEditorHeader{padding-right:17px;padding-left:17px}.studentEditorActions{position:-webkit-sticky;position:sticky;bottom:0;margin:0 -17px -24px;padding:14px 17px 18px;border-top:1px solid var(--border);background:rgba(255,255,255,.96)}}.studentDuplicateGuard{overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.studentDuplicateGuardClear,.studentDuplicateGuardError,.studentDuplicateGuardLoading{padding:11px 12px;font-size:.75rem;font-weight:750}.studentDuplicateGuardLoading{color:var(--muted)}.studentDuplicateGuardClear{border-color:#c8ead9;background:var(--success-soft);color:var(--success)}.studentDuplicateGuardError{border-color:#ead5a7;background:var(--warning-soft);color:var(--warning)}.studentDuplicateGuardExact{border-color:#e8bcc5;background:var(--danger-soft)}.studentDuplicateGuard>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid rgba(88,96,127,.14)}.studentDuplicateGuard>header>div{display:flex;flex-direction:column}.studentDuplicateGuard>header strong{color:var(--text);font-size:.78rem}.studentDuplicateGuardExact>header strong{color:var(--danger)}.studentDuplicateGuard>header span{margin-top:3px;color:var(--muted);font-size:.7rem}.studentDuplicateGuard>header b{display:grid;min-width:30px;height:30px;place-items:center;border-radius:9px;background:#fff;color:var(--accent-dark);font-size:.8rem}.studentDuplicateList{display:grid;max-height:260px;overflow-y:auto}.studentDuplicateList article{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1.2fr);grid-gap:12px;gap:12px;padding:10px 13px;border-bottom:1px solid rgba(88,96,127,.12);background:rgba(255,255,255,.76)}.studentDuplicateList article:last-child{border-bottom:0}.studentDuplicateList article>div{display:flex;min-width:0;flex-direction:column}.studentDuplicateList a{overflow:hidden;color:var(--accent-dark);font-size:.76rem;font-weight:850;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.studentDuplicateList a:hover{text-decoration:underline;text-underline-offset:2px}.studentDuplicateList small,.studentDuplicateList span{margin-top:2px;overflow:hidden;color:var(--muted);font-size:.67rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.studentDuplicateOverride{border-top:1px solid rgba(181,48,71,.18);background:rgba(255,255,255,.58)}.studentDuplicateOverride summary{padding:11px 13px;cursor:pointer;color:var(--danger);font-size:.72rem;font-weight:850}.studentDuplicateOverride p{margin:0;padding:0 13px 9px;color:var(--text-soft);font-size:.69rem;line-height:1.45}.studentDuplicateOverride label{display:flex;padding:0 13px;flex-direction:column;gap:5px}.studentDuplicateOverride label span{color:var(--text-soft);font-size:.7rem;font-weight:800}.studentDuplicateOverride textarea{width:100%;padding:9px 10px;resize:vertical;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--text);font:inherit}.studentDuplicateOverride>small{display:block;padding:6px 13px 11px;color:var(--danger);font-size:.66rem}.studentDuplicateOverride>small.valid{color:var(--success)}@media (max-width:640px){.studentDuplicateList article{grid-template-columns:1fr}}.studentPayerHint{display:grid;grid-gap:4px;gap:4px;padding:11px 13px;border:1px solid #dfe3f8;border-radius:11px;background:#f7f8ff}.studentPayerHint strong{color:var(--accent-dark);font-size:.72rem}.studentPayerHint span{color:var(--muted);font-size:.68rem;line-height:1.45}.studentContact small{color:var(--accent-dark);font-size:.6rem;font-weight:760}.payersShell{display:grid;grid-gap:20px;gap:20px}.payersHeader{align-items:flex-start}.payersSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.payersSummary article{display:flex;align-items:baseline;gap:9px;padding:16px 18px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:var(--shadow-xs)}.payersSummary strong{color:var(--accent-dark);font-size:1.5rem;line-height:1}.payersSummary span{color:var(--muted);font-size:.72rem;font-weight:760}.payerDirectoryPanel{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.payerToolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 160px auto;grid-gap:10px;gap:10px;align-items:center;padding:17px;border-bottom:1px solid var(--border);background:#fbfbfe}.payerOperationRow select,.payerToolbar input[type=search],.payerToolbar select{width:100%;min-width:0;min-height:42px;padding:0 11px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:.76rem}.payerToolbar .primaryButton{min-height:42px;padding:0 14px;white-space:nowrap}.payerDuplicateFilter{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text-soft);cursor:pointer;font-size:.72rem;font-weight:760}.payerDuplicateFilter input{width:16px;height:16px}.payerResultCount{display:flex;align-items:center;gap:7px;padding:12px 17px;border-bottom:1px solid var(--border);color:var(--muted);font-size:.7rem}.payerResultCount strong{color:var(--text)}.payerResultCount button{margin-left:auto;padding:0;border:0;background:transparent;color:var(--accent-dark);cursor:pointer;font:inherit;font-weight:780}.payerTableHeader,.payerTableRow{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(190px,1fr) minmax(220px,1.2fr) 100px 150px;grid-gap:14px;gap:14px;align-items:center}.payerTableHeader{padding:10px 17px;border-bottom:1px solid var(--border);background:#f7f8fc;color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.payerTableRow{padding:14px 17px;border-bottom:1px solid #edf0f6;transition:background .15s ease}.payerTableRow:hover{background:#fbfcff}.payerTableRow:last-child{border-bottom:0}.payerTableRow>div{display:flex;min-width:0;align-items:flex-start;gap:6px}.payerContact,.payerIdentity,.payerStudents{flex-direction:column}.payerContact a,.payerIdentity strong,.payerStudents a{max-width:100%;overflow:hidden;color:var(--text);font-size:.75rem;font-weight:790;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.payerContact a:last-of-type,.payerStudents a{color:var(--text-soft);font-size:.68rem;font-weight:680}.payerContact small,.payerStudents small{color:var(--muted);font-size:.65rem}.payerDuplicateBadge{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:4px 7px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:.59rem;font-weight:820;white-space:nowrap}.payerRowActions{flex-wrap:wrap;justify-content:flex-end}.payerRowActions a,.payerRowActions button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--accent-dark);cursor:pointer;font:inherit;font-size:.68rem;font-weight:820;text-decoration:none}.payerEmptyState{padding:42px 20px}.payerEditorBackdrop{position:fixed;z-index:120;inset:0;display:grid;overflow-y:auto;padding:28px;place-items:start center;background:rgba(18,23,42,.56);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.payerEditorDialog{width:min(790px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(18,23,42,.28)}.payerEditorHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f5f5ff,#fff7fb)}.payerEditorHeader p,.payerHistory header p,.payerOperations header p{margin:0 0 5px;color:var(--accent);font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.payerEditorHeader h2{margin:0;font-size:1.45rem}.payerEditorHeader>button{width:34px;height:34px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer;font-size:1.3rem}.payerEditorForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:15px;gap:15px;padding:22px 24px 24px}.payerEditorForm label{display:grid;grid-gap:6px;gap:6px}.payerEditorForm label>span{color:var(--text-soft);font-size:.7rem;font-weight:800}.payerEditorForm input,.payerEditorForm select{width:100%;min-height:43px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:.78rem}.payerEditorWide{grid-column:1/-1}.payerEditorHint{padding:11px 13px;border:1px solid #dfe3f8;border-radius:10px;background:#f7f8ff;color:var(--muted);font-size:.67rem;line-height:1.45}.payerEditorError,.payerHistoryError{padding:11px 13px;border:1px solid #efcfcb;border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:.72rem}.payerEditorActions{display:flex;justify-content:flex-end;gap:9px}.payerEditorActions .primaryButton,.payerEditorActions .secondaryButton,.payerOperationRow .secondaryButton{min-height:42px;padding:0 14px;font-size:.73rem}.payerOperations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;padding:0 24px 24px}.payerOperations section{padding:17px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.payerHistory>header,.payerOperations header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.payerHistory h3,.payerOperations h3{margin:0;font-size:.94rem}.payerHistory header>strong,.payerOperations header>strong{color:var(--muted);font-size:.7rem}.payerOperationRow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.payerDangerButton{min-height:42px;padding:0 13px;border:1px solid #e7b7b1;border-radius:10px;background:#fff;color:var(--danger);cursor:pointer;font:inherit;font-size:.72rem;font-weight:820}.payerMergeSection>small{display:block;margin-top:9px;color:var(--muted);font-size:.63rem;line-height:1.4}.payerHistory{border-top:1px solid var(--border);background:#fafbfe}.payerHistory>header{padding:17px 24px 0}.payerHistoryList{max-height:230px;overflow-y:auto;padding:0 24px 20px}.payerHistoryList article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #e8ebf2}.payerHistoryList article:last-child{border-bottom:0}.payerHistoryList article>div{display:grid;grid-gap:3px;gap:3px}.payerHistoryList strong{font-size:.72rem}.payerHistoryEmpty,.payerHistoryList span,.payerHistoryList time{color:var(--muted);font-size:.64rem}.payerHistoryEmpty,.payerHistoryError{margin:0 24px 20px}@media (max-width:1050px){.payerToolbar,.payersSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.payerToolbar .primaryButton,.payerToolbar input[type=search]{grid-column:1/-1}}@media (max-width:900px){.payerTableHeader{display:none}.payerTableRow{grid-template-columns:repeat(2,minmax(0,1fr))}.payerRowActions{justify-content:flex-end}}@media (max-width:700px){.payerOperations{grid-template-columns:1fr}}@media (max-width:620px){.payerEditorForm,.payerTableRow,.payerToolbar,.payersSummary{grid-template-columns:1fr}.payerEditorWide,.payerToolbar .primaryButton,.payerToolbar input[type=search]{grid-column:auto}.payerEditorBackdrop{padding:10px}.payerEditorDialog{border-radius:17px}.payerEditorForm,.payerEditorHeader,.payerOperations{padding-right:17px;padding-left:17px}.payerEditorActions{display:grid;grid-template-columns:1fr}.payerHistory>header,.payerHistoryList{padding-right:17px;padding-left:17px}.payerHistoryEmpty,.payerHistoryError{margin-right:17px;margin-left:17px}}.payersSummary a{color:inherit;text-decoration:none}.payersSummary a:hover{border-color:var(--border-strong);background:#fff}.payerEditorDialogSafe{max-width:940px}.payerEditorSuccess{padding:11px 13px;border:1px solid #c8ead9;border-radius:10px;background:var(--success-soft);color:var(--success);font-size:.8rem;font-weight:750}.payerSafeOperations{display:grid;grid-gap:14px;gap:14px}.payerAdvancedOperations,.payerSafeOperations>section{padding:17px;border:1px solid var(--border);border-radius:15px;background:#fff}.payerSafeOperations>section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.payerSafeOperations header p,.payerUnassignedPanel header p{margin:0 0 3px;color:var(--accent);font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.payerSafeOperations header h3,.payerUnassignedPanel header h2{font-size:1rem}.payerAdvancedBody input,.payerAdvancedBody select,.payerAdvancedBody textarea,.payerOperationConfirmation input,.payerOperationConfirmation textarea,.payerSafeOperations select,.payerUnassignedList select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);font:inherit}.payerOperationConfirmation{display:grid;grid-gap:12px;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid var(--border)}.payerComparisonGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.payerComparisonCard{min-width:0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.payerComparisonCard-keep{border-color:#b9decf;background:var(--success-soft)}.payerComparisonCard-remove{border-color:#efd0d5;background:var(--danger-soft)}.payerComparisonCard p{margin:0 0 4px;color:var(--muted);font-size:.65rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.payerComparisonCard h4{overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.payerComparisonCard dl{display:grid;grid-gap:7px;gap:7px;margin:11px 0 0}.payerComparisonCard dl>div{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:7px;gap:7px}.payerComparisonCard dt{color:var(--muted);font-size:.7rem}.payerComparisonCard dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text-soft);font-size:.73rem;font-weight:700}.payerOperationConfirmation>label:not(.payerOperationCheck){display:flex;flex-direction:column;gap:5px}.payerOperationConfirmation>label>span{color:var(--text-soft);font-size:.74rem;font-weight:800}.payerOperationCheck{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text-soft);font-size:.74rem;line-height:1.45}.payerOperationCheck input{width:auto;min-height:auto;margin-top:2px}.payerSafeHint{margin:0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent-dark);font-size:.75rem;line-height:1.45}.payerAdvancedOperations{background:var(--warning-soft)}.payerAdvancedOperations summary{cursor:pointer;color:var(--warning);font-size:.79rem;font-weight:850}.payerAdvancedBody{display:grid;grid-gap:12px;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(164,106,18,.18)}.payerAdvancedBody>p{margin:0;color:var(--text-soft);font-size:.75rem;line-height:1.5}.payerAdvancedBody>label{display:flex;flex-direction:column;gap:5px}.payerAdvancedBody>label>span{color:var(--text-soft);font-size:.74rem;font-weight:800}.payerMergeResult{display:flex;padding:12px;border:1px solid var(--border);border-radius:11px;background:#fff;flex-direction:column;gap:4px}.payerMergeResult strong{font-size:.78rem}.payerMergeResult span{color:var(--muted);font-size:.72rem;line-height:1.4}.payerUnassignedPanel{margin-bottom:17px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.payerUnassignedPanel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 20px;border-bottom:1px solid var(--border)}.payerUnassignedPanel>header>strong{display:grid;min-width:36px;height:36px;place-items:center;border-radius:10px;background:var(--warning-soft);color:var(--warning)}.payerUnassignedList{display:grid}.payerUnassignedList article{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(250px,1.4fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border)}.payerUnassignedList article:last-child{border-bottom:0}.payerUnassignedList a{font-weight:800;text-decoration:none}.payerUnassignedEmpty{padding:22px;color:var(--success);font-weight:800;text-align:center}@media (max-width:760px){.payerComparisonGrid,.payerUnassignedList article{grid-template-columns:1fr}}.quickCreateButton{display:inline-flex;width:-moz-fit-content;width:fit-content;min-height:44px;align-items:center;padding:4px 0;border:0;background:transparent;color:var(--accent-dark);cursor:pointer;font:inherit;font-size:.68rem;font-weight:850}.quickCreateButton:disabled{cursor:not-allowed;opacity:.48}.quickCreateBackdrop{position:fixed;z-index:1500;inset:0;display:grid;overflow-y:auto;place-items:center;padding:24px;background:rgba(20,23,38,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quickCreateDialog{width:min(620px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(24,28,62,.3)}.quickCreateHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 17px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#fff,#f6f7ff)}.quickCreateHeader h2,.quickCreateHeader p{margin:0}.quickCreateHeader p{margin-bottom:4px;color:var(--accent-dark);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.quickCreateHeader h2{font-size:1.25rem}.quickCreateHeader>button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-soft);cursor:pointer;font-size:1.3rem}.quickCreateForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;padding:21px 22px 22px}.quickCreateForm label{display:grid;grid-gap:7px;gap:7px}.quickCreateForm label>span,.quickCreateReadOnly>span{color:var(--text-soft);font-size:.7rem;font-weight:800}.quickCreateForm label>small{color:var(--muted);font-size:.64rem;line-height:1.35}.quickCreateForm input,.quickCreateForm select{width:100%;min-height:44px;padding:0 11px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:.8rem;outline:none}.quickCreateForm input:focus,.quickCreateForm select:focus{border-color:#8f98eb;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.quickCreateReadOnly{display:grid;grid-gap:7px;gap:7px}.quickCreateReadOnly strong{display:flex;min-height:44px;align-items:center;padding:0 11px;border:1px solid #e1e4ee;border-radius:10px;background:#f7f8fb;color:var(--text);font-size:.8rem}.quickCreateWide{grid-column:1/-1}.quickCreateHint{margin:0;padding:10px 12px;border:1px solid #dfe3f8;border-radius:10px;background:#f7f8ff;color:var(--muted);font-size:.68rem;line-height:1.45}.quickCreateError{padding:10px 12px;border:1px solid #f0b9c4;border-radius:10px;background:#fff1f3;color:#9c2944;font-size:.72rem;font-weight:760}.quickCreateActions{display:flex;justify-content:flex-end;gap:9px;padding-top:3px}.fieldLabelWithAction{display:flex;align-items:center;justify-content:space-between;gap:10px}@media (max-width:620px){.quickCreateBackdrop{align-items:flex-end;padding:0}.quickCreateDialog{width:100%;max-height:94vh;overflow-y:auto;border-radius:20px 20px 0 0}.quickCreateForm{grid-template-columns:1fr;padding-right:16px;padding-left:16px}.quickCreateWide{grid-column:auto}}.coursesShell{display:grid;grid-gap:20px;gap:20px}.coursesHeader{align-items:flex-start}.coursesSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:13px;gap:13px}.coursesSummary article{display:flex;align-items:baseline;gap:9px;padding:17px 19px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:var(--shadow-soft)}.coursesSummary strong{color:var(--accent-dark);font-size:1.55rem;line-height:1}.coursesSummary span{color:var(--muted);font-size:.76rem;font-weight:760}.courseDirectoryPanel{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.courseToolbar{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(155px,.75fr)) auto;grid-gap:10px;gap:10px;align-items:center;padding:17px;border-bottom:1px solid var(--border);background:#fbfbfe}.courseToolbar input,.courseToolbar select{min-width:0;min-height:44px;padding:0 11px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:.76rem}.courseToolbar .quickCreateButton{min-height:44px;padding:0 14px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;white-space:nowrap}.courseResultCount{display:flex;align-items:center;gap:7px;padding:12px 17px;border-bottom:1px solid var(--border);color:var(--muted);font-size:.7rem}.courseResultCount strong{color:var(--text)}.courseResultCount button{display:inline-flex;min-height:44px;align-items:center;margin-left:auto;padding:0;border:0;background:transparent;color:var(--accent-dark);cursor:pointer;font:inherit;font-weight:780}.courseTableHeader,.courseTableRow{display:grid;grid-template-columns:minmax(170px,1.15fr) minmax(145px,.9fr) minmax(165px,1fr) 120px 95px 72px;grid-gap:13px;gap:13px;align-items:center}.courseTableHeader{padding:10px 17px;border-bottom:1px solid var(--border);background:#f7f8fc;color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.courseTableRow{padding:14px 17px;border-bottom:1px solid #edf0f6;transition:background .15s ease}.courseTableRow:hover{background:#fbfcff}.courseTableRow:last-child{border-bottom:0}.courseTableRow>div{display:flex;min-width:0;align-items:center;gap:7px}.courseTableRow>div:first-child,.courseTableRow>div:nth-child(2){align-items:flex-start;flex-direction:column;gap:3px}.courseTableRow a,.courseTableRow span,.courseTableRow strong{min-width:0;overflow:hidden;font-size:.76rem;font-weight:790;text-overflow:ellipsis;white-space:nowrap}.courseTableRow a{color:var(--text);text-decoration:none}.courseTableRow small{color:var(--muted);font-size:.64rem}.courseTeacherDot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.courseRowActions button{min-height:44px;padding:0 10px;border:1px solid var(--border-strong);border-radius:9px;background:#fff;color:var(--accent-dark);cursor:pointer;font-size:.68rem;font-weight:820}.courseEmptyState{padding:42px 20px}.courseEditorBackdrop{position:fixed;z-index:120;inset:0;display:grid;overflow-y:auto;padding:28px;place-items:start center;background:rgba(18,23,42,.56);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.courseEditorDialog{width:min(760px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(18,23,42,.28)}.courseEditorHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f5f5ff,#fff7fb)}.courseEditorHeader p,.courseHistory header p{margin:0 0 5px;color:var(--accent);font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.courseEditorHeader h2{font-size:1.45rem}.courseEditorHeader button{width:44px;height:44px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer;font-size:1.3rem}.courseDetailsDialog{width:min(620px,100%)}.courseDetailsSubtitle{display:block;margin-top:6px;color:var(--text-soft);font-size:.85rem;line-height:1.4}.courseDetailsContent{display:grid;grid-gap:20px;gap:20px;padding:22px 24px 24px}.courseDetailsStatus{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--text-soft);font-size:.76rem}.courseDetailsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.courseDetailsGrid>div{min-width:0;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.courseDetailsGrid dt{margin-bottom:6px;color:var(--text-soft);font-size:.7rem;font-weight:650}.courseDetailsGrid dd{margin:0;color:var(--text);font-size:.86rem;font-weight:760;overflow-wrap:anywhere}.courseDetailsTerms{border:1px solid var(--border);border-radius:12px;padding:13px}.courseDetailsTerms summary{cursor:pointer;color:var(--accent-dark);font-size:.78rem;font-weight:760}.courseDetailsTerms ul{max-height:180px;overflow-y:auto;margin:12px 0 0;padding-left:23px;color:var(--text-soft);font-size:.76rem;line-height:1.8}.courseDetailsActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:7px;border-top:1px solid var(--border)}.courseDetailsActions a,.courseDetailsActions button{min-height:44px;padding:0 15px;font-size:.76rem}.courseDetailsActions>a{margin-right:auto}.courseEditorForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:15px;gap:15px;padding:22px 24px 24px}.courseEditorForm label{display:grid;grid-gap:6px;gap:6px}.courseEditorForm label>span{color:var(--text-soft);font-size:.7rem;font-weight:800}.courseEditorForm input,.courseEditorForm select{width:100%;min-height:44px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:.78rem}.courseEditorWide{grid-column:1/-1}.courseStatusField{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.courseStatusField small{color:var(--muted);font-size:.66rem;line-height:1.45}.courseEditorError{padding:11px 13px;border:1px solid #efcfcb;border-radius:10px;background:var(--danger-soft);color:var(--danger);font-size:.74rem}.courseEditorActions{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:9px;gap:9px;align-items:center;padding-top:4px}.courseEditorActions .primaryButton,.courseEditorActions .secondaryButton{min-height:44px;padding:0 14px;font-size:.74rem}.courseHistory{border-top:1px solid var(--border);background:#fafbfe}.courseHistory>header{display:flex;align-items:center;justify-content:space-between;padding:17px 24px 12px}.courseHistory h3{margin:0;font-size:.98rem}.courseHistory>header>strong{color:var(--muted);font-size:.76rem}.courseHistoryList{max-height:230px;overflow-y:auto;padding:0 24px 20px}.courseHistoryList article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #e8ebf2}.courseHistoryList article:last-child{border-bottom:0}.courseHistoryList article>div{display:grid;grid-gap:3px;gap:3px}.courseHistoryList strong{font-size:.73rem}.courseHistoryEmpty,.courseHistoryList span,.courseHistoryList time{color:var(--muted);font-size:.65rem}.courseHistoryEmpty{margin:0;padding:4px 24px 22px}.studentSectionHeaderActions{display:flex;align-items:center;gap:10px}.studentEmptyState .secondaryButton,.studentSectionHeaderActions .secondaryButton{min-height:44px;padding:0 12px;font-size:.7rem}.studentCourseCardLink{color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.studentCourseCardLink:hover{transform:translateY(-1px);border-color:#cfd3fb;box-shadow:var(--shadow-sm)}@media (max-width:1080px){.courseToolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.courseToolbar .quickCreateButton,.courseToolbar input{grid-column:1/-1}}@media (max-width:900px){.courseTableHeader{display:none}.courseTableRow{grid-template-columns:1fr 1fr}.courseRowActions{justify-content:flex-end}}@media (max-width:620px){.courseEditorForm,.courseTableRow,.courseToolbar,.coursesSummary{grid-template-columns:1fr}.courseEditorWide,.courseToolbar .quickCreateButton,.courseToolbar input{grid-column:auto}.courseEditorBackdrop{padding:10px}.courseEditorDialog{border-radius:17px}.courseEditorForm,.courseEditorHeader{padding-right:17px;padding-left:17px}.courseEditorActions{grid-template-columns:1fr 1fr}.courseEditorActions>span{display:none}.courseEditorActions .secondaryButton:first-child{grid-column:1/-1}.courseDetailsGrid{grid-template-columns:minmax(0,1fr)}.courseDetailsContent{padding:17px;gap:14px}.courseDetailsActions{display:grid;grid-template-columns:1fr 1fr}.courseDetailsActions>a{grid-column:1/-1}.courseDetailsActions a,.courseDetailsActions button{justify-content:center;width:100%}.studentSectionHeaderActions{align-items:flex-end;flex-direction:column}}.courseEditorReadOnly{display:grid;grid-gap:5px;gap:5px;padding:13px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft)}.courseEditorReadOnly>span{color:var(--muted);font-size:.66rem;font-weight:800}.courseEditorReadOnly strong{font-size:.82rem}.courseEditorReadOnly small{color:var(--muted);font-size:.65rem;line-height:1.4}