*{box-sizing:border-box}html,body{color:#24212d;background:#f6f6fb;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.appShell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #e8e5ef;flex-direction:column;gap:22px;padding:22px 16px;display:flex}.brand{align-items:center;gap:10px;padding:0 5px;display:flex}.brand b{font-family:Georgia,serif;font-size:18px;display:block}.brand span{color:#7251c8;margin-top:2px;font-family:Georgia,serif;font-size:13px;font-style:italic;display:block}.book{color:#6d43d1;font-size:32px}.roleSwitch{background:#f6f3fd;border-radius:14px;grid-template-columns:1fr;gap:6px;padding:6px;display:grid}.roleSwitch button{cursor:pointer;color:#5f596b;background:0 0;border:0;border-radius:10px;padding:9px}.roleSwitch .active{color:#6d43d1;background:#fff;font-weight:700;box-shadow:0 2px 8px #2d175415}nav{flex-direction:column;gap:5px;display:flex}nav button{text-align:left;cursor:pointer;color:#514b5d;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;display:flex}nav button.active{color:#fff;background:#6d43d1}nav button i{color:#fff;background:#ff5d57;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:11px;font-style:normal;display:grid}.sidebarFoot{color:#6d43d1;background:#f7f3ff;border-radius:14px;margin-top:auto;padding:14px;font-size:13px;line-height:1.4}.workspace{min-width:0}.workspace header{background:#fff;border-bottom:1px solid #e8e5ef;justify-content:space-between;align-items:center;height:80px;padding:0 28px;display:flex}.workspace header h1{margin:0;font-size:24px}.workspace header span{color:#8b8498;font-size:13px}.profile{align-items:center;gap:10px;display:flex}.profile b,.profile span{display:block}.avatar{color:#6d43d1;background:#efe8ff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.avatar.big{width:56px;height:56px;font-size:20px}.content{padding:26px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat{background:#fff;border:1px solid #e6e1ee;border-radius:16px;min-height:140px;padding:20px}.stat.violet{background:#faf7ff}.stat.green{background:#f7fbf6}.stat.orange{background:#fffaf2}.stat.blue{background:#f5f9ff}.statLabel{font-size:13px}.statValue{margin:10px 0;font-size:34px;font-weight:800}.stat button{color:#6d43d1;cursor:pointer;background:0 0;border:0;padding:0}.grid2{grid-template-columns:1.4fr .9fr;gap:18px;margin-top:18px;display:grid}.panel{background:#fff;border:1px solid #e6e1ee;border-radius:16px;padding:20px}.sectionHead{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.sectionHead h2{margin:0;font-size:18px}.sectionHead p{color:#8c8598;margin:4px 0 0;font-size:13px}.lesson,.event,.task,.msg,.studentRow{border-top:1px solid #eeeaf3;align-items:center;gap:12px;padding:14px 0;display:flex}.time{width:48px}.time b,.time span{display:block}.time span,.lesson small,.lesson .grow span,.event span,.task span,.task small,.msg span,.studentRow span,.studentRow small{color:#8b8498;margin-top:3px;font-size:12px;display:block}.grow{flex:1;min-width:0}.ghost,.primary{cursor:pointer;border-radius:9px;padding:9px 12px}.ghost{color:#6d43d1;background:#fff;border:1px solid #cfbff3}.primary{color:#fff;background:#6d43d1;border:1px solid #6d43d1}.full{width:100%;margin-top:12px}.event>strong{margin-left:auto;font-size:13px}.icon{background:#f1ebff;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.tabs{border-bottom:1px solid #eeeaf3;gap:6px;margin-bottom:8px;display:flex}.tabs button{color:#777084;background:0 0;border:0;padding:10px}.tabs .active{color:#6d43d1;border-bottom:2px solid #6d43d1}.badge{color:#fff;background:#ff5d57;border-radius:999px;padding:2px 6px;font-size:10px}.task{justify-content:space-between}.status{color:#5f71b8;border:1px solid #a7b4e8;border-radius:8px;padding:6px 9px;font-size:12px}.status.ok{color:#4b9a62;border-color:#a7d7b4}.chatLayout{grid-template-columns:420px 1fr;gap:18px;display:grid}.search{border:1px solid #ddd7e8;border-radius:10px;width:100%;margin:4px 0 8px;padding:11px}.msgMeta{justify-items:end;gap:5px;display:grid}.msgMeta i{color:#fff;background:#ff5d57;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-style:normal;display:grid}.chat{place-items:center;min-height:500px;display:grid}.chatEmpty{text-align:center;color:#777084;font-weight:700}.chatEmpty span{font-size:13px;font-weight:400}.studentRow>div:nth-child(3){min-width:170px}.studentRow>div:nth-child(3) b{margin-top:3px;font-size:13px;display:block}.studentRow>strong{color:#6d43d1;font-size:12px}.schedulePanel{overflow:auto}.calendarHead,.calRow{grid-template-columns:70px repeat(7,minmax(90px,1fr));display:grid}.calendarHead b{text-align:center;color:#6b6575;padding:10px;font-size:12px}.calRow>span{color:#8b8498;padding:12px 8px;font-size:12px}.cell{border-top:1px solid #eeeaf3;border-left:1px solid #eeeaf3;min-height:72px;padding:5px}.cell em{color:#5c3db4;background:#efe8ff;border-radius:8px;padding:8px;font-size:11px;font-style:normal;display:block}.placeholder{text-align:center;padding:70px 20px}.mobileLike{max-width:760px;margin:0 auto}.hello{align-items:center;gap:14px;margin-bottom:14px;display:flex}.hello h1{margin:2px 0 0;font-size:24px}.hello span{color:#817a8c}.card{background:#fff;border:1px solid #e6e1ee;border-radius:16px;margin-bottom:14px;padding:18px}.card h2,.card h3{margin:8px 0 4px}.card>span{color:#8b8498;font-size:13px}.danger{color:#d94f4f!important}.success{color:#38a35a!important}.fakeChart{letter-spacing:3px;color:#6d43d1;margin-top:12px;font-size:34px;overflow:hidden}.miniStats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.miniStats>div{text-align:center;background:#faf9fc;border-radius:12px;padding:12px}.miniStats strong,.miniStats span{display:block}.miniStats strong{font-size:22px}.miniStats span{color:#8b8498;font-size:11px}.progress{background:#eeeaf3;border-radius:99px;height:8px;margin-top:10px;overflow:hidden}.progress span{background:#51ad6d;border-radius:99px;height:100%;display:block}.card small{color:#8b8498;font-size:12px;font-weight:400}@media (max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.grid2,.chatLayout{grid-template-columns:1fr}.chat{display:none}.lesson{flex-wrap:wrap}}@media (max-width:760px){.appShell{grid-template-columns:1fr}.sidebar{z-index:10;border-bottom:1px solid #e8e5ef;border-right:0;padding:12px;position:sticky;top:0}.brand{display:none}.roleSwitch{grid-template-columns:repeat(3,1fr)}nav,.sidebarFoot{display:none}.workspace header{height:auto;padding:14px 16px}.workspace header>div:first-child span,.profile{display:none}.content{padding:14px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:110px;padding:14px}.statValue{font-size:26px}.grid2{gap:12px}.panel{padding:14px}.lesson .ghost,.lesson .primary{flex:1}.studentRow{flex-wrap:wrap;align-items:flex-start}.studentRow>strong{width:100%;padding-left:50px}.calendarHead,.calRow{min-width:780px}.mobileLike{max-width:none}}.loginPage{background:radial-gradient(circle at 20% 10%,#eee8ff 0,#0000 35%),linear-gradient(135deg,#fbfaff,#f4f1ff);place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:#fff;border:1px solid #e8e3f5;border-radius:28px;width:min(430px,100%);padding:38px;box-shadow:0 24px 70px #432d7821}.loginBrand{text-align:center;margin-bottom:24px}.loginBrand .book{color:#6c45ce;font-size:42px}.loginBrand h1{margin:4px 0 0;font-family:Georgia,serif;font-size:30px}.loginBrand span{color:#7b5cc4;margin-top:4px;font-style:italic;display:block}.loginSubtitle{text-align:center;color:#6f6b78;margin:0 0 24px}.loginForm{gap:16px;display:grid}.loginForm label{color:#504b59;gap:7px;font-size:13px;font-weight:700;display:grid}.loginForm input{box-sizing:border-box;background:#fff;border:1px solid #ddd7e8;border-radius:12px;outline:none;width:100%;padding:14px 15px;font-size:15px}.loginForm input:focus{border-color:#7b57d1;box-shadow:0 0 0 3px #7b57d11c}.loginButton{margin-top:4px;padding:14px}.loginButton:disabled{opacity:.65}.loginError{color:#b53131;background:#fff1f1;border-radius:10px;padding:11px 13px;font-size:13px}.loginHint{text-align:center;color:#8a8492;margin-top:18px;line-height:1.45;display:block}.logoutButton{white-space:nowrap;margin-left:10px}.menuButton,.mobileProfileButton,.mobileDrawer,.drawerBackdrop{display:none}.lessonMain{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.lessonActions{flex:none;gap:10px;display:flex}.mobileHeaderRow{align-items:center;gap:12px;min-width:0;display:flex}@media (max-width:760px){body{overflow-x:hidden}.appShell{min-height:100vh;display:block}.sidebar{display:none}.workspace{width:100%;min-width:0}.workspace header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;gap:10px;height:auto;min-height:72px;padding:10px 14px;position:sticky;top:0}.workspace header h1{white-space:nowrap;text-overflow:ellipsis;max-width:42vw;font-size:20px;line-height:1.15;overflow:hidden}.workspace header span{font-size:11px;display:block!important}.profile{display:none}.menuButton{color:#5d3db7;cursor:pointer;background:#fff;border:1px solid #ddd5eb;border-radius:12px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.mobileProfileButton{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-width:0;margin-left:auto;padding:0;display:flex}.mobileProfileButton .avatar{width:36px;height:36px}.mobileProfileButton b,.mobileProfileButton span{white-space:nowrap;text-overflow:ellipsis;max-width:120px;display:block;overflow:hidden}.mobileProfileButton b{font-size:12px}.mobileProfileButton span{color:#8b8498;font-size:10px!important}.content{padding:14px 12px 28px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{border-radius:18px;min-height:124px;padding:14px}.statLabel{font-size:13px;line-height:1.25}.statValue{margin:10px 0;font-size:30px}.stat button{font-size:13px}.grid2{margin-top:12px;display:block}.grid2>.panel{margin-bottom:12px}.panel{border-radius:18px;padding:14px;overflow:hidden}.sectionHead{align-items:flex-start}.sectionHead h2{font-size:18px;line-height:1.2}.sectionHead .ghost{white-space:nowrap;padding:8px 10px}.lesson{padding:16px 0;display:block}.lessonMain{grid-template-columns:52px 42px minmax(0,1fr);align-items:center;gap:10px;width:100%;display:grid}.lessonInfo{min-width:0}.lessonInfo b{overflow-wrap:anywhere;font-size:16px;line-height:1.2;display:block}.lessonInfo span,.lessonInfo small{font-size:12px;line-height:1.35}.lessonActions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:12px;padding-left:0;display:grid}.lessonActions button{width:100%;min-height:44px;padding:10px 8px}.time{width:auto}.time b{font-size:15px}.time span{color:#91899d;font-size:12px}.event{align-items:flex-start}.event>strong{white-space:nowrap;font-size:12px}.event>div{min-width:0}.event b{line-height:1.3;display:block}.task{align-items:flex-start;gap:10px}.task>div{min-width:0}.status{white-space:nowrap}.studentRow{grid-template-columns:42px minmax(0,1fr);gap:10px 12px;display:grid}.studentRow>div:nth-child(3),.studentRow>strong{grid-column:2;min-width:0;padding-left:0}.studentRow>strong{width:auto}.tabs{white-space:nowrap;-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs button{flex:none}.sectionHead>.primary{max-width:46%;padding:9px 10px;font-size:12px}.drawerBackdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1f182d6b;border:0;display:block;position:fixed;inset:0}.mobileDrawer{z-index:50;background:#fff;flex-direction:column;gap:14px;width:min(86vw,340px);padding:18px 14px 20px;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:18px 0 50px #23183c2e}.mobileDrawer.open{transform:translate(0)}.drawerTop{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mobileBrand{padding:0;display:flex!important}.mobileBrand .book{font-size:28px}.mobileBrand b{font-size:17px}.drawerClose{cursor:pointer;color:#625a70;background:#f4f1fa;border:0;border-radius:12px;width:38px;height:38px;font-size:26px;line-height:1}.drawerProfile{background:#f8f6fc;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.drawerProfile b,.drawerProfile span{display:block}.drawerProfile span{color:#8b8498;margin-top:2px;font-size:12px}.drawerNav{gap:5px;overflow:auto;display:flex!important}.drawerNav button{min-height:44px}.drawerLogout{width:100%;min-height:44px;margin-top:auto}.schedulePanel{overflow-x:auto}.calendarHead,.calRow{min-width:780px}.chatLayout{display:block}.chat{display:none}.loginPage{padding:14px}.loginCard{border-radius:22px;padding:26px 20px}.loginBrand h1{font-size:26px}}@media (max-width:430px){.workspace header h1{max-width:35vw;font-size:18px}.mobileProfileButton b,.mobileProfileButton span{max-width:92px}.stats{grid-template-columns:1fr 1fr}.stat{min-height:118px;padding:12px}.statLabel{font-size:12px}.statValue{font-size:28px}.lessonMain{grid-template-columns:48px 38px minmax(0,1fr)}.avatar{width:36px;height:36px}}.sectionSub{color:#8b8498;margin:4px 0 0;font-size:13px}.studentsHead{margin-bottom:12px}.studentFilters{border-bottom:1px solid #ece7f2;gap:6px;margin:0 0 8px;display:flex}.studentFilters button{color:#777084;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-weight:700}.studentFilters button.active{color:#6d43d1;border-bottom-color:#6d43d1}.inlineError{color:#ad3030;background:#fff1f1;border:1px solid #ffd2d2;border-radius:12px;margin:10px 0;padding:11px 13px;font-size:13px}.emptyState{text-align:center;color:#777084;padding:48px 20px}.emptyState h3{color:#302b38;margin:8px 0}.emptyState p{max-width:440px;margin:0 auto 16px}.emptyIcon{font-size:42px}.studentsList{display:grid}.studentCard{border-bottom:1px solid #eeeaf3;grid-template-columns:minmax(220px,1.35fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:center;gap:18px;padding:16px 2px;display:grid}.studentCard:last-child{border-bottom:0}.studentCardMain{align-items:center;gap:12px;min-width:0;display:flex}.studentAvatar{flex:0 0 42px}.studentIdentity{min-width:0}.studentIdentity b,.studentIdentity span,.studentIdentity small{display:block}.studentIdentity b{font-size:15px}.studentIdentity span{color:#706978;margin-top:3px;font-size:13px}.studentIdentity small{color:#9a93a3;margin-top:3px;font-size:12px}.studentParent small,.studentParent b,.studentParent a,.studentNotes small,.studentNotes span{display:block}.studentParent small,.studentNotes small{color:#9a93a3;margin-bottom:4px;font-size:11px}.studentParent b,.studentNotes span{font-size:13px}.studentParent a{color:#6d43d1;margin-top:3px;font-size:12px;text-decoration:none}.studentNotes{min-width:0}.studentNotes span{white-space:nowrap;text-overflow:ellipsis;max-width:250px;overflow:hidden}.studentCardActions{align-items:center;gap:6px;display:flex}.textButton{color:#8b8498;cursor:pointer;background:0 0;border:0;padding:9px 8px}.textButton:hover{color:#6d43d1}.textButton:disabled{opacity:.5}.modalBackdrop{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#221b307a;border:0;position:fixed;inset:0}.studentModal{z-index:80;background:#fff;border-radius:24px;width:min(720px,100vw - 32px);max-height:calc(100vh - 40px);padding:22px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 30px 90px #23183c47}.modalHead{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.modalHead h2{margin:0;font-size:22px}.modalHead p{color:#8b8498;margin:4px 0 0;font-size:13px}.studentForm{grid-template-columns:1fr 1fr;gap:14px;display:grid}.studentForm label{color:#514b5b;gap:7px;font-size:12px;font-weight:700;display:grid}.studentForm input,.studentForm select,.studentForm textarea{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #ddd7e8;border-radius:12px;outline:none;padding:12px 13px;font-size:14px}.studentForm input:focus,.studentForm select:focus,.studentForm textarea:focus{border-color:#7b57d1;box-shadow:0 0 0 3px #7b57d11a}.studentForm textarea{resize:vertical}.formWide{grid-column:1/-1}.formDivider{color:#7d7587;align-items:center;gap:10px;margin-top:4px;font-size:12px;font-weight:800;display:flex}.formDivider:after{content:"";background:#ebe6f0;flex:1;height:1px}.modalActions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}@media (max-width:1000px){.studentCard{grid-template-columns:minmax(200px,1.4fr) minmax(160px,1fr) auto}.studentNotes{display:none}}@media (max-width:760px){.studentsHead{align-items:center}.studentsHead>.primary{white-space:nowrap;max-width:none}.studentCard{grid-template-columns:1fr;gap:10px;padding:16px 0}.studentCardMain{grid-column:1}.studentParent,.studentNotes{padding-left:54px;display:block}.studentNotes span{white-space:normal;max-width:none}.studentCardActions{grid-template-columns:1fr 1fr;padding-left:54px;display:grid}.studentCardActions button{width:100%}.studentModal{width:100%;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;top:auto;bottom:0;left:0;transform:none}.studentForm{grid-template-columns:1fr;gap:12px}.formWide{grid-column:1}.modalActions{grid-template-columns:1fr 1fr;display:grid}.modalActions button{width:100%;min-height:44px}}@media (max-width:430px){.studentsHead{align-items:flex-start;gap:10px}.studentsHead>.primary{padding:9px 8px;font-size:11px}.studentParent,.studentNotes,.studentCardActions{padding-left:48px}}.scheduleHead{margin-bottom:12px}.weekToolbar{color:#8c8495;border-bottom:1px solid #eeeaf3;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 14px;font-size:12px;display:flex}.weekNav{gap:6px;display:flex}.scheduleWeek{grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;margin-top:14px;padding-bottom:8px;display:grid;overflow-x:auto}.scheduleDay{background:#fbfaff;border:1px solid #ece7f2;border-radius:16px;min-width:150px;overflow:hidden}.scheduleDay.today{border-color:#c9b8f2;box-shadow:0 0 0 2px #6d43d10f}.scheduleDayHead{background:#f8f5ff;border-bottom:1px solid #eee8f5;justify-content:space-between;align-items:center;padding:11px;display:flex}.scheduleDayHead b{text-transform:capitalize;font-size:12px;display:block}.scheduleDayHead span{color:#6d43d1;margin-top:2px;font-size:10px;font-weight:700;display:block}.dayAdd{color:#6d43d1;cursor:pointer;background:#fff;border:0;border-radius:9px;width:28px;height:28px;font-size:18px}.scheduleDayBody{align-content:start;gap:8px;min-height:330px;padding:8px;display:grid}.emptyDay{color:#aaa2b3;cursor:pointer;background:0 0;border:1px dashed #ddd5e8;border-radius:12px;min-height:90px}.emptyDay span{color:#7b57d1;font-size:11px}.lessonCard{background:#fff;border:1px solid #e9e3f1;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:10px;display:grid}.lessonCard.status-completed{background:#f5fbf5;border-color:#dbeedb}.lessonCard.status-missed{background:#fff7f4;border-color:#f1ddd3}.lessonTime b,.lessonTime span,.lessonInfo b,.lessonInfo span{display:block}.lessonTime b{font-size:12px}.lessonTime span{color:#9b94a3;font-size:10px}.lessonInfo{min-width:0}.lessonInfo b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.lessonInfo span{color:#8c8495;margin-top:3px;font-size:10px;line-height:1.25}.lessonActions{gap:4px;display:flex}.iconButton{color:#6d43d1;cursor:pointer;background:#f4efff;border:0;border-radius:8px;width:25px;height:25px}.telemostMini{display:none}.lessonQuick{border-top:1px solid #f1edf4;flex-wrap:wrap;grid-column:1/-1;gap:4px;padding-top:6px;display:flex}.lessonQuick button{color:#6d43d1;cursor:pointer;background:#f4efff;border:0;border-radius:8px;padding:5px 7px;font-size:9px}.lessonQuick .dangerText{color:#bd6b6b;background:0 0}@media (max-width:760px){.scheduleWeek{grid-template-columns:1fr;overflow:visible}.scheduleDay{min-width:0}.scheduleDayBody{min-height:0}.lessonCard{grid-template-columns:66px 1fr auto;padding:12px}.telemostMini{color:#fff;background:#6d43d1;border-radius:8px;padding:6px 8px;font-size:10px;text-decoration:none;display:inline-flex}.emptyDay{min-height:64px}}.homeworkHead{margin-bottom:12px}.homeworkTabs{border-bottom:1px solid #ece7f2;gap:6px;margin-bottom:8px;display:flex;overflow-x:auto}.homeworkTabs button{color:#777084;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-weight:700}.homeworkTabs button.active{color:#6d43d1;border-bottom-color:#6d43d1}.homeworkTabs button span{color:#fff;background:#ef5d5d;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:4px;font-size:10px;display:inline-grid}.homeworkList{display:grid}.homeworkCard{border-bottom:1px solid #eeeaf3;grid-template-columns:minmax(280px,1.8fr) minmax(130px,.7fr) auto auto;align-items:center;gap:18px;padding:16px 2px;display:grid}.homeworkMain{gap:12px;min-width:0;display:flex}.homeworkIcon{background:#f2ecff;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.homeworkMain b,.homeworkMain span{display:block}.homeworkMain b{font-size:15px}.homeworkMain span{color:#847c8f;margin-top:4px;font-size:12px}.homeworkMain p{color:#675f70;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.homeworkDue small,.homeworkDue b{display:block}.homeworkDue small{color:#9d95a5;margin-bottom:4px;font-size:10px}.homeworkDue b{font-size:12px}.homeworkStatus{text-align:center;white-space:nowrap;border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800}.homeworkStatus.assigned{color:#5271b9;background:#eef3ff}.homeworkStatus.review{color:#b77616;background:#fff4df}.homeworkStatus.accepted{color:#418653;background:#eaf8ec}.homeworkStatus.revision{color:#7a4fc4;background:#f4edff}.homeworkStatus.overdue{color:#c34f4f;background:#fff0f0}.homeworkActions{align-items:center;gap:6px;display:flex}.primary.small{padding:8px 10px;font-size:11px}.reviewModal{max-width:620px}.submissionBox{background:#faf8fd;border:1px solid #ebe5f2;border-radius:14px;margin-bottom:14px;padding:14px}.submissionBox small{color:#938b9b;font-size:11px}.submissionBox p{white-space:pre-wrap;margin:7px 0 0;font-size:14px;line-height:1.5}.reviewActions{grid-template-columns:1fr 1fr}@media (max-width:900px){.homeworkCard{grid-template-columns:minmax(240px,1.5fr) auto auto}.homeworkDue{display:none}}@media (max-width:760px){.homeworkHead{align-items:center}.homeworkHead>.primary{white-space:nowrap}.homeworkCard{grid-template-columns:1fr auto;gap:10px;padding:16px 0}.homeworkMain{grid-column:1/-1}.homeworkDue{display:block}.homeworkStatus{justify-self:end}.homeworkActions{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;display:grid}.homeworkActions button{width:100%}}@media (max-width:430px){.homeworkHead{align-items:flex-start;gap:10px}.homeworkHead>.primary{padding:9px 8px;font-size:11px}.homeworkActions{grid-template-columns:1fr 1fr}.homeworkActions .primary.small{grid-column:1/-1}}.studentCabinet .hello small{color:#8b8498;margin-top:4px;display:block}.studentMuted{color:#8b8498;margin:10px 0 0;font-size:13px;line-height:1.5}.studentTopError{margin-bottom:14px}.studentCardHead{justify-content:space-between;align-items:center;gap:10px;display:flex}.studentCardHead>span{color:#8b8498;font-size:12px}.studentHomeworkList{margin-top:10px;display:grid}.studentHomeworkItem{border-top:1px solid #eeeaf3;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px 0;display:grid}.studentHomeworkItem:first-child{border-top:0}.studentHomeworkItem .grow>b,.studentHomeworkItem .grow>span{display:block}.studentHomeworkItem .grow>span{color:#8b8498;margin-top:4px;font-size:12px}.studentHomeworkItem>strong{white-space:nowrap;font-size:11px}.studentStatusReview{color:#b77616}.studentStatusRevision{color:#7a4fc4}.studentStatusAssigned{color:#5271b9}.studentScore{color:#418653;background:#eaf8ec;border-radius:999px;place-items:center;min-width:34px;height:34px;display:grid;font-size:13px!important}.studentHomeworkModal{max-width:680px}.teacherFeedback{background:#f7f3ff}.studentNextLesson h3{font-size:20px}.success.formWide{color:#418653;background:#eaf8ec;border-radius:10px;padding:12px;font-size:13px}@media (max-width:640px){.studentHomeworkItem{grid-template-columns:1fr auto}.studentHomeworkItem .grow{grid-column:1/-1}.studentHomeworkItem button{grid-column:1/-1;width:100%}.studentHomeworkModal{width:calc(100% - 20px)}}.chatRow{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;width:100%;padding:12px 8px}.chatRow:hover,.chatRow.selected{background:#f7f3ff}.chatHint{text-align:center;color:#8b8498;padding:22px 10px;font-size:13px}.realChatWindow{place-items:stretch stretch;padding:0;overflow:hidden}.chatInner{flex-direction:column;height:620px;display:flex}.chatTop{border-bottom:1px solid #eeeaf3;align-items:center;gap:10px;padding:14px 18px;display:flex}.chatTop span,.contactRow span{color:#8b8498;margin-top:2px;font-size:12px;display:block}.chatBack{color:#6d43d1;background:0 0;border:0;font-size:28px;display:none}.chatMessages{background:#faf9fc;flex:1;padding:18px;overflow:auto}.bubbleWrap{margin:8px 0;display:flex}.bubbleWrap.mine{justify-content:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e7e1ef;border-radius:14px;max-width:72%;padding:10px 12px}.bubbleWrap.mine .bubble{background:#efe8ff;border-color:#dfd2fa}.bubble small{text-align:right;color:#8b8498;margin-top:5px;font-size:10px;display:block}.bubbleMeta{justify-content:flex-end;align-items:center;gap:7px;display:flex!important}.messageStatus{font-weight:600}.messageStatus.read{color:#6d43d1}.chatComposer{background:#fff;border-top:1px solid #eeeaf3;gap:10px;padding:12px;display:flex}.chatComposer textarea{resize:none;font:inherit;border:1px solid #ddd7e8;border-radius:10px;flex:1;padding:10px}.chatComposer button{align-self:flex-end}.contactList{gap:6px;max-height:420px;display:grid;overflow:auto}.contactRow{text-align:left;cursor:pointer;background:#fff;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.contactRow:hover{background:#f7f3ff}.chatContactModal{z-index:81}@media (max-width:1100px){.realChat .realChatWindow{display:block}.realChat{position:relative}.realChatWindow{display:none!important}.realChatWindow.hasChat{display:block!important}.realChat:has(.realChatWindow.hasChat) .chatListPanel{display:none}.chatBack{display:block}.chatInner{height:calc(100vh - 150px);min-height:520px}}.presenceAvatar{position:relative;overflow:visible!important}.presenceDot{box-sizing:content-box;background:#b7b1bf;border:2px solid #fff;border-radius:999px;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.presenceDot.online{background:#39b86a}.presenceDot.offline{background:#b7b1bf}.presenceText{font-weight:700;margin:2px 0 3px!important;font-size:10px!important;display:block!important}.presenceText.online,.presenceInline.online{color:#2f9d5a!important}.presenceText.offline,.presenceInline.offline{color:#9a93a3!important}.presenceInline{font-size:12px;font-weight:700}.studentPresence{align-items:center;gap:5px;font-weight:700;margin-top:5px!important;font-size:11px!important;display:flex!important}.studentPresence i{background:#b7b1bf;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.studentPresence.online{color:#2f9d5a!important}.studentPresence.online i{background:#39b86a}.studentPresence.offline{color:#9a93a3!important}.studentPresence.noAccount{color:#aaa3b0!important}.studentPresence.noAccount i{background:#d0cbd5}.unreadDivider{color:#6d43d1;align-items:center;gap:10px;margin:16px 0 10px;scroll-margin-top:12px;font-size:12px;font-weight:700;display:flex}.unreadDivider:before,.unreadDivider:after{content:"";background:#d9cdf4;flex:1;height:1px}.unreadDivider span{white-space:nowrap;background:#faf9fc;padding:0 8px}.materialsPanel{min-height:520px}.materialsHead{align-items:flex-start}.materialsSubtitle{color:#8b8498;margin:5px 0 0;font-size:12px}.materialActions{flex-wrap:wrap;gap:8px;display:flex}.storageCard{background:#faf8fd;border:1px solid #ebe5f2;border-radius:16px;margin:14px 0 18px;padding:16px}.storageTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.storageTop b,.storageTop span{display:block}.storageTop span{color:#8b8498;margin-top:3px;font-size:12px}.storageTop strong{color:#6d43d1;font-size:18px}.storageBar{background:#ece7f2;border-radius:999px;height:8px;margin:12px 0 9px;overflow:hidden}.storageBar i{background:#6d43d1;border-radius:999px;min-width:0;height:100%;display:block}.storageFoot{color:#8b8498;justify-content:space-between;gap:10px;font-size:11px;display:flex}.driveReady{color:#6d43d1}.materialsGrid{gap:10px;display:grid}.materialCard{background:#fff;border:1px solid #ece7f2;border-radius:15px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;display:grid}.materialIcon{background:#f2ecff;border-radius:14px;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.materialIcon.link{background:#eef5ff}.materialBody{min-width:0}.materialTags{flex-wrap:wrap;gap:5px;margin-bottom:5px;display:flex}.materialTags span{color:#6d43d1;background:#f3eeff;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.materialBody h3{margin:0;font-size:14px}.materialBody p{color:#6f6878;margin:6px 0 0;font-size:12px;line-height:1.45}.materialMeta{color:#958d9d;flex-wrap:wrap;gap:8px;margin-top:7px;font-size:10px;display:flex}.materialCardActions{gap:6px;display:flex}.materialsEmpty{text-align:center;color:#8b8498;place-items:center;padding:58px 20px;display:grid}.materialsEmpty>div{color:#6d43d1;background:#f3eeff;border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:12px;font-size:26px;display:grid}.materialsEmpty b{color:#38313f}.materialsEmpty span{margin-top:5px;font-size:12px}.googleDriveTeaser{background:#fcfaff;border:1px dashed #d9cdf4;border-radius:15px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;margin-top:18px;padding:14px;display:grid}.driveLogo{color:#4285f4;background:#fff;border:1px solid #e7e1ef;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.googleDriveTeaser b,.googleDriveTeaser span{display:block}.googleDriveTeaser span{color:#8b8498;margin-top:3px;font-size:11px;line-height:1.4}.materialModal{max-width:680px}.filePicker>span{color:#8b8498;margin-top:5px;font-size:11px;display:block}.assignmentAll{background:#faf8fd;border:1px solid #ece7f2;border-radius:12px;padding:12px;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;display:flex!important}.assignmentAll input,.studentPicker input{margin-top:2px;width:auto!important}.assignmentAll span b,.assignmentAll span small,.studentPicker span,.studentPicker small{display:block}.assignmentAll small,.studentPicker small{color:#8b8498;margin-top:2px;font-size:10px}.studentPicker{border:1px solid #ece7f2;border-radius:12px;max-height:220px;padding:12px;overflow:auto}.studentPicker>b{margin-bottom:8px;font-size:12px;display:block}.studentPicker label{border-top:1px solid #f1edf4;padding:8px 4px;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;display:flex!important}.studentPicker label:first-of-type{border-top:0}.materialsError{margin:10px 0}@media (max-width:760px){.materialsHead{gap:12px;display:grid}.materialActions{grid-template-columns:1fr 1fr;width:100%;display:grid}.materialActions button{width:100%}.storageFoot{display:grid}.materialCard{grid-template-columns:42px minmax(0,1fr)}.materialIcon{width:42px;height:42px}.materialCardActions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.materialCardActions button{width:100%}.googleDriveTeaser{grid-template-columns:40px 1fr}.googleDriveTeaser button{display:none}.materialModal{width:100%;max-width:none}.materialsPanel{padding:14px}}.driveButton{color:#3367d6;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d9e3f7;border-radius:10px;padding:10px 13px;font-weight:800}.driveButton:hover{background:#f6f9ff}.driveButton:disabled{opacity:.55;cursor:default}.materialIcon.gdrive{color:#4285f4;background:#f5f9ff;font-family:Arial,sans-serif;font-weight:900}.googleDriveTeaser.configured{background:#f9fbff;border-style:solid;border-color:#dbe7fb}.drivePicked{background:#f9fbff;border:1px solid #dbe7fb;border-radius:13px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.drivePicked b,.drivePicked span{display:block}.drivePicked span{color:#7f7890;margin-top:4px;font-size:10px;line-height:1.4}@media (max-width:760px){.materialActions{grid-template-columns:1fr 1fr}.materialActions .driveButton{grid-area:1/1/auto/-1}.drivePicked{grid-template-columns:40px minmax(0,1fr)}.drivePicked button{grid-column:1/-1;width:100%}.googleDriveTeaser button{grid-column:1/-1;width:100%;display:block}}.paymentsPanel{min-height:520px}.paymentsHead{align-items:flex-start}.paymentStats{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 18px;display:grid}.paymentStats>div{background:#faf8fd;border:1px solid #ece7f2;border-radius:15px;padding:15px}.paymentStats span,.paymentStats b{display:block}.paymentStats span{color:#8b8498;font-size:11px}.paymentStats b{margin-top:5px;font-size:21px}.paymentList{gap:9px;display:grid}.paymentCard{background:#fff;border:1px solid #ece7f2;border-radius:15px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:15px;display:grid}.paymentMain{min-width:0}.paymentTitle{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.paymentTitle b{font-size:14px}.paymentTitle span{color:#8b8498;font-size:11px}.paymentMain p{color:#6f6878;margin:6px 0;font-size:12px}.paymentMain small{color:#958d9d;font-size:10px}.paymentAmount{white-space:nowrap;font-size:16px}.paymentBadge{white-space:nowrap;color:#5271b9;background:#eef3ff;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}.paymentBadge.paid{color:#418653;background:#eaf8ec}.paymentBadge.overdue{color:#b64545;background:#fff0f0}.paymentBadge.cancelled{color:#8b8498;background:#f1eff3}.paymentActions{align-items:center;gap:5px;display:flex}.paymentModal{max-width:620px}@media (max-width:850px){.paymentCard{grid-template-columns:1fr auto}.paymentBadge{justify-self:start}.paymentActions{justify-self:end}.paymentStats{grid-template-columns:1fr 1fr 1fr}}@media (max-width:600px){.paymentsHead{gap:12px;display:grid}.paymentsHead button{width:100%}.paymentStats,.paymentCard{grid-template-columns:1fr}.paymentAmount{font-size:20px}.paymentActions{grid-template-columns:1fr 1fr;justify-self:stretch;display:grid}.paymentActions button{width:100%}}.paymentTopActions{flex-wrap:wrap;gap:8px;display:flex}.paymentBadge.verification{color:#9a6b12;background:#fff6df}.paymentWaitingText{color:#8b6a22;max-width:180px;font-size:11px}.sbpPayBox{gap:10px;margin:14px 0;display:grid}.sbpPayBox>div{border:1px solid #ece7f2;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;padding:12px;display:grid}.sbpPayBox span{color:#8b8498;font-size:11px}.sbpPayBox b{grid-column:1;font-size:16px}.sbpPayBox button{grid-area:1/2/3}.sbpHint{color:#6f6878;background:#f7f4fb;border-radius:12px;padding:12px;font-size:12px;line-height:1.5}@media (max-width:600px){.paymentTopActions{width:100%;display:grid}.paymentTopActions button{width:100%}.sbpPayBox>div{grid-template-columns:1fr}.sbpPayBox button{grid-area:auto/1}}.fieldHint{color:var(--muted,#7a7585);margin-top:5px;font-size:12px;font-weight:400;display:block}.studentHeadActions,.paymentTopActions,.driveActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subjectChecks,.registerSubjects{gap:8px;display:grid}.subjectChecks label,.registerSubjects label{align-items:center;gap:9px;font-weight:500;display:flex}.subjectChecks input[type=checkbox],.registerSubjects input[type=checkbox]{width:18px;height:18px}.authSwitch{margin-top:10px}.telemostHelper{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.telemostHelper small{color:var(--muted,#777)}.paymentMonth{justify-content:flex-end;margin:12px 0;display:flex}.paymentMonth label{align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.paymentMonth input{background:#fff;border:1px solid #ddd7e8;border-radius:10px;padding:8px 10px}.paymentStats{grid-template-columns:repeat(3,minmax(0,1fr))}.parentPaymentCard{background:linear-gradient(135deg,#faf8ff,#fff);border:1px solid #ddd1ff}.parentPaymentCard.verification{background:#fffbf0;border-color:#f0d18a}.parentPaymentCard h2{margin:8px 0;font-size:30px}@media (max-width:760px){.paymentStats{grid-template-columns:repeat(2,minmax(0,1fr))}.studentHeadActions{width:100%}.studentHeadActions button{flex:1}.paymentMonth{justify-content:flex-start}}.inviteSummary{background:#faf8ff;border:1px solid #e4dcf5;border-radius:12px;gap:4px;margin:-10px 0 18px;padding:12px 14px;display:grid}.inviteSummary b{color:#5d3eb0;font-size:13px}.inviteSummary span{font-weight:700}.inviteSummary small{color:#81798d}.inviteChoices{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.inviteChoice{text-align:left;cursor:pointer;background:#fff;border:1px solid #ddd7e8;border-radius:14px;gap:5px;padding:16px;display:grid}.inviteChoice:hover,.inviteChoice.active{background:#faf8ff;border-color:#7b57d1}.inviteChoice:disabled{opacity:.55;cursor:not-allowed}.inviteChoice b{font-size:15px}.inviteChoice span{color:#81798d;font-size:12px;line-height:1.4}.inviteResult{background:#f7f4fd;border-radius:14px;gap:10px;margin-top:16px;padding:14px;display:grid}.inviteResult input{box-sizing:border-box;background:#fff;border:1px solid #ddd7e8;border-radius:10px;width:100%;padding:12px;font-size:12px}.inviteResult small{color:#81798d;line-height:1.45}.linkedAccount{margin-top:5px;font-weight:700;color:#2f9d5a!important;display:block!important}.emptyState.compact{padding:16px}@media (max-width:700px){.inviteChoices,.studentCardActions{grid-template-columns:1fr}.studentCardActions button{width:100%}}.paymentPayer{color:#6846b6;background:#f7f3ff;border:1px solid #cfc1ef;border-radius:9px;width:max-content;max-width:100%;margin-top:8px;padding:5px 9px;font-size:10px;font-weight:800;line-height:1.35;display:block}input::placeholder,textarea::placeholder{color:#9a93a7;opacity:.48}.registerSubjects{background:#fbfaff;border:1px solid #e4dff0;border-radius:14px;max-height:330px;padding:14px;overflow:auto}.registerSubjects>b{font-size:14px}.registerSubjects>.fieldHint{margin-top:-3px}.trialNote{color:#5e3fb3;background:#f1ecff;border-radius:12px;gap:3px;margin-top:7px;padding:12px 13px;display:grid}.trialNote b{font-size:14px}.trialNote span{color:#756b8a;font-size:12px;line-height:1.4}.trialBadge{color:#6846bd;background:#efe9ff;border-radius:999px;width:max-content;margin-top:3px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:700;display:block}.emptyStudentActions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.connectionCodeCard{background:linear-gradient(135deg,#fbf9ff,#fff);border:1px solid #dfd5f5}.connectionCodeCard .studentCardHead{align-items:flex-start}.connectionCodeResult{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:14px;display:grid}.connectionCodeResult code{white-space:nowrap;background:#fff;border:1px solid #ddd7e8;border-radius:12px;padding:12px 14px;font-size:13px;display:block;overflow:auto}.connectionCodeResult small{color:#81798d;grid-column:1/-1;line-height:1.45}@media (max-width:700px){.connectionCodeResult{grid-template-columns:1fr}.connectionCodeResult button{width:100%}.connectionCodeResult small{grid-column:1}.studentHeadActions{grid-template-columns:1fr 1fr;display:grid}.studentHeadActions button:first-child{grid-column:1/-1}}
