@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap");:root{--bg:#f7f7ff;--surface:#ffffff;--surface-soft:#f0f1ff;--primary:#595dff;--primary-dark:#3f43d9;--primary-light:#e7e8ff;--accent:#f99c6e;--text:#01050c;--muted:#6f728a;--line:#e3e5ff;--green:#2f9e44;--red:#d9480f;--blue:#595dff;--yellow:#ffa10a;--shadow:0 18px 45px rgba(89,93,255,0.10);--radius-lg:24px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);font-family:Nunito,Arial,sans-serif;color:var(--text)}button,input,select{font-family:inherit}button{transition:.2s ease}a{color:var(--primary);font-weight:800;text-decoration:none}.loginPage{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.loginPanel{width:min(440px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:26px}.loginPanel h1{margin:0 0 18px;font-size:32px;line-height:1.1;letter-spacing:0}.app{display:grid;grid-template-columns:280px 1fr;width:100%;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:12px;padding:0 8px}.brand.large{padding:0;margin-bottom:22px}.brand-logo{width:44px;height:44px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;box-shadow:0 12px 25px rgba(89,93,255,.28)}.brand-title{line-height:1.1}.brand-title strong{display:block;font-size:16px;font-weight:800}.brand-title span{font-size:12px;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:6px}.nav-title{margin:0 8px 8px;font-size:12px;font-weight:800;color:#8b8eb5;text-transform:uppercase;letter-spacing:.08em}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-radius:14px;background:transparent;color:var(--muted);text-decoration:none;font-size:15px;font-weight:700;cursor:pointer;text-align:left}.nav-item:hover{background:var(--surface-soft);color:var(--text)}.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 12px 24px rgba(89,93,255,.24)}.nav-icon{width:22px;display:grid;place-items:center}.sidebar-card{margin-top:auto;padding:16px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid #dfe1ff}.sidebar-card strong{display:block;margin-bottom:6px;font-size:14px}.sidebar-card p{margin:0 0 12px;font-size:13px;color:var(--muted);line-height:1.4}.sidebar-card button{width:100%;border:none;border-radius:var(--radius-sm);background:var(--primary);color:#fff;padding:10px 12px;font-weight:800;cursor:pointer}.main{min-width:0;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.topbar-left{display:flex;gap:14px;align-items:center}.page-title h1{margin:0;font-size:34px;line-height:1.1;letter-spacing:0}.page-title p{margin:8px 0 0;color:var(--muted);font-size:16px}.top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.search{position:relative;width:280px}.search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 16px 13px 42px;outline:none;font-size:14px;box-shadow:0 10px 25px rgba(69,43,24,.04)}.search span{position:absolute;top:50%;left:15px;transform:translateY(-50%);color:var(--muted);display:grid;place-items:center}.user-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:8px 12px 8px 8px;border-radius:18px;box-shadow:0 10px 25px rgba(69,43,24,.04)}.avatar{width:38px;height:38px;border-radius:13px;background:#2f2f2f;color:#fff;display:grid;place-items:center;font-weight:800}.user-card strong{display:block;font-size:13px;line-height:1}.user-card span{color:var(--muted);font-size:12px}.icon-action,.mobile-menu-btn{border:none;background:var(--primary);color:#fff;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 25px rgba(89,93,255,.18)}.mobile-menu-btn{display:none}.notice,.statusText{margin:0 0 24px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:14px;font-weight:700}.notice.error{color:var(--red);background:#fff0eb;border-color:#ffd7c9}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:999px;background:var(--primary-light);color:var(--primary-dark);padding:7px 12px;font-size:13px;font-weight:900}.status-pill.warning{background:#fff3e4;color:#c66a00}.quick-actions{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-bottom:24px}.quick-btn{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px 12px;cursor:pointer;font-weight:800;color:var(--text);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 25px rgba(69,43,24,.04)}.quick-btn:hover{transform:translateY(-2px);border-color:#b8bbff;box-shadow:0 16px 30px rgba(69,43,24,.08)}.primary,.quick-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.primary{border:none;border-radius:14px}.neutral,.primary{padding:12px 16px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.neutral{border:1px solid var(--line);border-radius:14px;background:#f7f8ff;color:var(--primary-dark)}.neutral:hover{border-color:#c9ccff;background:var(--primary-light)}.neutral.danger{border-color:#ffd6c9;background:#fff2ed;color:var(--red)}.neutral.danger:hover{border-color:#ffb59f;background:#ffe8df}.neutral:disabled,.primary:disabled{opacity:.58;cursor:not-allowed;transform:none}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:999px;right:-45px;top:-45px;background:var(--surface-soft)}.stat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}.stat-label{color:var(--muted);font-size:14px;font-weight:800}.stat-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:var(--primary-light);color:var(--primary-dark);font-size:15px;font-weight:800}.stat-value{margin:14px 0 8px;font-size:31px;line-height:1;font-weight:800;letter-spacing:0}.stat-note,.stat-value{position:relative;z-index:1}.stat-note{color:var(--muted);font-size:13px;font-weight:700}.dashboard-grid{grid-template-columns:1.3fr .7fr;grid-gap:18px}.dashboard-grid,.sectionGrid{display:grid;gap:18px;align-items:start}.sectionGrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px;min-width:0}.panel.wide{grid-column:1/-1}.panel-header{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.panel h2,.panel-header h2{margin:0;font-size:21px;letter-spacing:0}.panel h2{margin-bottom:16px}.panel p,.panel-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.compactForm,.formStack{display:grid;grid-gap:12px;gap:12px}.compactForm{grid-template-columns:repeat(3,minmax(0,1fr))}.studentParentForm{display:grid;grid-gap:18px;gap:18px}.formGroup{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfbff;padding:16px}.formGroup h3{margin:0 0 12px;font-size:16px}.formGroupHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.formGroupHeader h3{margin:0}.formSubmit{justify-self:start}.addChildButton{width:-moz-fit-content;width:fit-content;min-height:44px;display:inline-flex;align-items:center;gap:8px;border:1px dashed #b8bbff;border-radius:14px;background:var(--primary-light);color:var(--primary-dark);padding:10px 14px;font-weight:900;cursor:pointer}.formStack label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:800;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 14px;outline:none;font-size:14px;color:var(--text)}textarea{min-height:104px;resize:vertical;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:#b8bbff;box-shadow:0 0 0 4px rgba(89,93,255,.1)}.table-wrap{overflow-x:auto}.table-wrap.scrollRows{max-height:390px;overflow:auto;border-radius:14px}.table-wrap.scrollRows thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface)}tr.clickableRow{cursor:pointer}tr.clickableRow:focus-visible td,tr.clickableRow:hover td{background:var(--primary-light)}tr.clickableRow:focus-visible{outline:3px solid rgba(89,93,255,.24);outline-offset:-3px}.clickableMiniRow,.clickableStudentRow,.clickableText,.inlineStudentButton{cursor:pointer}.clickableText:hover,.inlineStudentButton:hover{color:var(--primary)}.inlineStudentButton{border:none;background:transparent;color:inherit;padding:0;font:inherit;font-weight:900}.clickableMiniRow:hover,.clickableStudentRow:hover{border-color:#c9ccff;background:var(--primary-light)}.table-action{border:none;background:var(--surface-soft);color:var(--primary-dark);font-weight:800;border-radius:10px;padding:8px 10px;cursor:pointer}.leadsWorkspace{display:grid;grid-gap:16px;gap:16px}.leadsToolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px 20px}.leadsToolbar h2{margin:0;font-size:22px}.leadsToolbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.leadDrawerActions,.leadsActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.leadsTabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.leadsTabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:14px;padding:10px 13px;font-weight:900;cursor:pointer;white-space:nowrap}.leadsTabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.leadCreateForm{align-items:end}.leadFormWide{grid-column:span 2}.leadsKanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,300px);grid-gap:12px;gap:12px;overflow-x:auto;min-height:560px;padding-bottom:8px}.leadColumn{min-width:0;background:#f7f8ff;border:1px solid var(--line);border-radius:var(--radius-md);display:grid;grid-template-rows:auto 1fr}.leadColumnHead{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:4px solid var(--primary);border-bottom:1px solid var(--line);padding:12px}.leadColumnHead strong{font-size:14px}.leadColumnHead span{min-width:28px;height:28px;border-radius:999px;background:#fff;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:900}.leadColumnBody{display:grid;align-content:start;grid-gap:10px;gap:10px;padding:10px;overflow-y:auto}.leadCard{position:relative;display:grid;grid-gap:6px;gap:6px;width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);text-align:left;padding:12px;box-shadow:0 10px 24px rgba(89,93,255,.08);cursor:pointer}.leadCard:hover{border-color:#c7caff;transform:translateY(-1px)}.leadCard strong{padding-right:12px;font-size:14px}.leadCard span{color:var(--muted);font-size:12px;line-height:1.35}.leadStatusDot{position:absolute;top:12px;right:12px;width:10px;height:10px;border-radius:999px}.leadLabels{display:flex;gap:6px;flex-wrap:wrap}.leadLabels em{border-radius:999px;background:var(--primary-light);color:var(--primary-dark);padding:4px 7px;font-size:11px;font-style:normal;font-weight:900}.leadDrawer{position:fixed;top:0;right:0;z-index:40;width:min(460px,100vw);height:100vh;background:var(--surface);border-left:1px solid var(--line);box-shadow:-20px 0 50px rgba(20,23,52,.12);display:grid;grid-template-rows:auto 1fr}.leadDrawerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid var(--line)}.leadDrawerHead h2{margin:0;font-size:22px}.leadDrawerHead p{margin:4px 0 0;color:var(--muted);font-size:13px}.leadDrawerBody{overflow-y:auto;padding:18px 20px 28px;display:grid;align-content:start;grid-gap:18px;gap:18px}.leadDrawerBody section{border-bottom:1px solid var(--line);padding-bottom:18px;display:grid;grid-gap:12px;gap:12px}.leadDrawerBody section:last-child{border-bottom:0}.leadDrawerBody h3{margin:0;font-size:16px}.leadFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.leadFacts span{display:grid;grid-gap:3px;gap:3px;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--muted);font-size:12px}.leadFacts strong{color:var(--text);overflow-wrap:anywhere}.checkboxLine{display:flex!important;align-items:center;gap:8px}.checkboxLine input{width:auto}.calendarControls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendarGrid{display:grid;grid-template-columns:72px repeat(7,minmax(132px,1fr));height:620px;max-height:68vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overscroll-behavior:contain}.calendarCorner,.calendarDayHead,.calendarTime{background:#fbfbff;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.calendarCorner{min-width:72px;height:64px;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:800;position:-webkit-sticky;position:sticky;top:0;left:0;z-index:5}.calendarDayHead{min-width:132px;height:64px;display:grid;place-items:center;align-content:center;grid-gap:2px;gap:2px;position:-webkit-sticky;position:sticky;top:0;z-index:4}.calendarDayHead strong{font-size:15px}.calendarDayHead span{color:var(--muted);font-size:12px;font-weight:800}.calendarRow{display:contents}.calendarTime{min-width:72px;min-height:42px;padding:7px 10px;color:var(--muted);font-size:12px;font-weight:800;text-align:right;position:-webkit-sticky;position:sticky;left:0;z-index:3}.calendarCell{min-width:132px;min-height:42px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--primary);cursor:pointer;padding:0;text-align:left;display:grid;grid-template-rows:1fr 1fr;overflow:visible;position:relative}.calendarCell:hover{background:var(--primary-light)}.calendarCell.hasEvent{background:#fff;color:var(--text)}.calendarHalf{min-height:21px;display:flex;align-items:flex-start;padding:2px 8px;overflow:visible;position:relative}.calendarHalf.top{border-bottom:1px dashed rgba(89,93,255,.16)}.calendarHalf:hover{background:var(--primary-light)}.calendarCell em{display:grid;place-items:center;width:24px;height:24px;border-radius:9px;background:var(--surface-soft);font-style:normal;font-weight:800}.calendarEvent{width:100%;min-height:18px;display:grid;grid-gap:2px;gap:2px;background:var(--primary);color:#fff;border-radius:10px;padding:3px 6px;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.22);overflow:hidden;position:relative;z-index:8}.calendarEvent.startsHalf{z-index:9}.calendarEvent.draggingSource{opacity:0}.calendarEvent:active{cursor:-webkit-grabbing;cursor:grabbing}.calendarEvent strong{font-size:11px;line-height:1.1;padding-right:56px}.calendarCoursePill,.calendarEvent strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarCoursePill{position:absolute;top:3px;right:5px;max-width:54px;min-height:13px;display:inline-flex;align-items:center;justify-content:center;padding:1px 5px;border-radius:999px;background:rgba(255,255,255,.28);color:inherit;font-size:8px;font-weight:900;line-height:1}.calendarEvent small{color:currentColor;opacity:.78;font-size:9px;font-weight:800;line-height:1.1}.calendarDragPreview{position:fixed;display:grid;grid-gap:2px;gap:2px;border-radius:10px;background:var(--primary);color:#fff;padding:3px 6px;box-shadow:0 18px 34px rgba(89,93,255,.32);pointer-events:none;z-index:80;overflow:hidden}.calendarDragPreview strong{font-size:11px;line-height:1.1}.calendarDragPreview small{color:rgba(255,255,255,.78);font-size:9px;font-weight:800;line-height:1.1}.lessonPopoverLayer{position:fixed;inset:0;z-index:70;background:transparent}.lessonDetailsModal{position:fixed;width:min(440px,calc(100vw - 28px));aspect-ratio:4/3;max-height:min(78vh,330px);overflow-y:auto;border:1px solid rgba(231,234,242,.9);border-radius:20px;background:#fff;box-shadow:0 18px 56px rgba(20,28,52,.13);padding:14px 16px 16px}.lessonDetailsTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.lessonHeaderActions{display:flex;align-items:center;gap:8px}.lessonIconButton{width:32px;height:32px;display:grid;place-items:center;border:none;border-radius:11px;color:#4a5168;background:#fff;box-shadow:inset 0 0 0 1px #e7eaf2,0 6px 14px rgba(12,20,40,.04);cursor:pointer}.lessonIconButton svg{width:18px;height:18px}.lessonIconButton.closeLarge{background:#f5f6fa;box-shadow:none}.lessonIconButton.closeLarge svg{width:22px;height:22px}.lessonIconButton:disabled{cursor:not-allowed;opacity:.45}.lessonDetailsActions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-bottom:10px}.lessonDetailsActions .lessonCourseBadge{margin-right:auto}.lessonDetailsActions .closeLarge{width:42px;height:42px;border:none;border-radius:14px;color:var(--muted);background:var(--surface-soft)}.studentDetailsModal{width:min(820px,calc(100vw - 32px));max-height:min(92vh,760px)}.studentDetailsModal,.teacherDetailsModal{overflow-y:auto;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 32px 80px rgba(1,5,12,.28);padding:18px 24px 24px}.teacherDetailsModal{width:min(960px,calc(100vw - 32px));max-height:min(92vh,820px)}.studentDetailsHeader{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;align-items:start;margin-bottom:18px}.studentDetailsHeader h2{margin:0 0 5px;font-size:28px;line-height:1.1;letter-spacing:0}.studentDetailsHeader p{margin:0;color:var(--muted);font-weight:800}.studentDetailsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.messengerActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.messengerButton{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:14px;padding:10px 14px;color:#fff;font-size:14px;font-weight:900;cursor:pointer;text-decoration:none}.messengerButton.telegram{background:#229ed9;box-shadow:0 10px 22px rgba(34,158,217,.2)}.messengerButton.whatsapp{background:#25d366;box-shadow:0 10px 22px rgba(37,211,102,.2)}.messengerButton.disabled{background:#d8dbea;color:#7b8099;cursor:not-allowed;box-shadow:none}.studentDetailsGrid>div,.studentDetailsNotes>div{min-height:74px;border:1px solid var(--line);border-radius:16px;background:#fbfbff;padding:12px;display:grid;grid-gap:5px;gap:5px;align-content:start}.studentDetailsGrid span,.studentDetailsNotes span{color:var(--muted);font-size:12px;font-weight:800}.studentDetailsGrid strong,.studentDetailsNotes strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}.detailRowContent{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.textButton{background:transparent;border:none;color:var(--primary);font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0;font-size:14px}.textButton:hover{color:var(--primary-dark)}.textButton.tiny{font-size:11px}.textButton.tiny svg{width:12px;height:12px}.studentDetailsNotes{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.studentEditForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.studentEditForm input,.studentEditForm select,.studentEditForm textarea{min-height:40px;border-radius:12px;padding:9px 11px;font-size:13px}.studentEditFooter,.studentEditForm textarea{grid-column:1/-1}.studentEditForm textarea{min-height:78px}.teacherEditForm{margin-top:14px}.studentActiveToggle{min-height:40px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px 11px;font-size:13px;font-weight:800}.studentActiveToggle input{width:auto}.studentEditFooter{display:flex;justify-content:flex-end;gap:10px}.studentScheduleBlock{margin-top:16px}.studentScheduleBlock h3{margin:0 0 10px;font-size:16px}.studentScheduleList{display:grid;grid-gap:8px;gap:8px}.studentScheduleList>div{display:grid;grid-gap:4px;gap:4px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 12px}.studentScheduleList strong{font-size:14px}.studentScheduleList span{color:var(--muted);font-size:13px;font-weight:800}.studentInlineForm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:10px}.studentInlineForm input,.studentInlineForm select{min-height:40px;border-radius:12px;padding:9px 11px;font-size:13px}.studentInlineForm button{min-height:40px}.compactRateForm{grid-template-columns:1fr 160px 1fr auto}.teacherTabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;margin-bottom:6px}.teacherTabs button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fbfbff;color:var(--muted);padding:9px 12px;font-size:13px;font-weight:900;cursor:pointer}.teacherTabs button.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 10px 20px rgba(89,93,255,.18)}.teacherActionRow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;margin-top:14px}.teacherActionRow button,.teacherActionRow select{min-height:42px}.teacherActionRow button:disabled{cursor:not-allowed;opacity:.45}.teacherColumns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.scrollList{max-height:380px;overflow:auto;padding-right:4px}.teacherHero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;background:linear-gradient(135deg,rgba(89,93,255,.09),rgba(12,165,233,.08)),#fff}.teacherHero span{color:var(--primary);font-size:13px;font-weight:900}.teacherHero h2{margin:6px 0 8px;font-size:32px;line-height:1.08}.teacherHero p{max-width:560px;margin:0;color:var(--muted);font-weight:800}.teacherHeroBadge{min-width:132px;min-height:112px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 34px rgba(89,93,255,.12);display:grid;place-items:center;align-content:center;grid-gap:4px;gap:4px}.teacherHeroBadge strong{font-size:36px;line-height:1}.teacherHeroBadge span{color:var(--muted);font-size:12px}.teacherLessonList{display:grid;grid-gap:10px;gap:10px}.teacherLessonItem{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fbfbff;padding:12px}.teacherLessonItem strong{display:block;margin-bottom:4px;font-size:14px}.teacherLessonItem span{color:var(--muted);font-size:13px;font-weight:800}.teacherLessonActions{display:flex;gap:8px}.teacherLessonActions button{min-height:36px;border:none;border-radius:12px;background:#e9f9ef;color:#1b9b50;padding:8px 10px;font-size:12px;font-weight:900;cursor:pointer}.teacherLessonActions button.burned{background:#fff3e4;color:#e87900}.teacherPayGrid{grid-template-columns:1fr}.previousPayrollPanel{min-height:100%}.previousPayrollPanel .status-pill{margin-top:0;white-space:nowrap}.previousPayrollAmount{color:var(--primary);font-size:34px;font-weight:950;line-height:1;margin:18px 0 10px}.previousPayrollMeta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.previousPayrollMeta span{border-radius:999px;background:#f3f4ff;color:var(--muted);font-size:13px;font-weight:900;padding:8px 10px}.previousPayrollButton{width:100%}.previousPayrollEmpty{min-height:190px;display:grid;align-content:center;grid-gap:8px;gap:8px}.previousPayrollEmpty h2,.previousPayrollEmpty p{margin:0}.previousPayrollEmpty p{color:var(--muted);font-weight:800}.teacherDashboard{display:grid;grid-gap:22px;gap:22px}.teacherStatsRow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:14px;gap:14px}.teacherStatTile{min-height:112px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow);padding:16px;display:grid;align-content:center;grid-gap:5px;gap:5px}.teacherStatTile strong{color:var(--primary);font-size:25px;line-height:1.08;font-weight:900}.teacherStatTile span{color:var(--muted);font-size:14px;font-weight:800}.teacherDashboardGrid{grid-template-columns:2fr 1fr;align-items:start}.teacherDashColumn,.teacherDashboardGrid{display:grid;grid-gap:22px;gap:22px}.teacherDashCard{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow);padding:22px}.teacherDashHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.teacherDashHeader h2{margin:0;font-size:21px;line-height:1.15}.teacherDashHeader button{border:none;background:var(--primary-light);color:var(--primary);border-radius:12px;padding:9px 11px;font-size:13px;font-weight:900;cursor:pointer}.teacherLessonItem.detailed{grid-template-columns:78px minmax(0,1fr) auto;background:#fbfbff}.teacherLessonTime{color:var(--primary);font-size:17px;font-weight:900;line-height:1.2}.teacherStatus{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:7px;border-radius:999px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:900}.teacherStatus.planned{background:#e7f5ff;color:#0277bd}.teacherStatus.wait{background:#fff4e6;color:#c77700}.teacherStatus.low{background:#fff0ef;color:#c0392b}.teacherStatus.ok{background:#e9f9ef;color:#1b9b50}.teacherLessonActions button.neutral{background:#f2f4ff;color:var(--muted)}.teacherLessonActions button.done{background:#e9f9ef;color:#1b9b50}.teacherNotificationList,.teacherStudentList{display:grid;grid-gap:10px;gap:10px}.teacherNotificationList>div,.teacherStudentRow{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fbfbff;padding:14px}.teacherNotificationList>div{grid-template-columns:1fr}.teacherNotificationList strong,.teacherStudentRow strong{display:block;margin-bottom:4px;font-size:14px}.teacherNotificationList span,.teacherStudentRow span{color:var(--muted);font-size:13px;font-weight:800}.teacherSalaryBox{border:1px solid #dfe2ff;border-radius:20px;background:linear-gradient(135deg,#f0f2ff,#fff);padding:18px}.teacherSalaryBox>strong{display:block;margin-bottom:8px;color:var(--primary);font-size:34px;line-height:1;font-weight:900}.teacherSalaryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.teacherSalaryGrid>div{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.teacherSalaryGrid strong{display:block;font-size:18px}.teacherGradeRow,.teacherMuted,.teacherSalaryGrid span{color:var(--muted);font-size:13px;font-weight:800}.teacherGradeTitle{margin:0}.teacherProgress{height:10px;margin:14px 0;border-radius:999px;background:#e4e7ff;overflow:hidden}.teacherProgress span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.teacherGradeRow{display:flex;justify-content:space-between;gap:12px}.teacherQuickActions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.teacherQuickActions button{min-height:42px;border:none;border-radius:13px;background:var(--primary-light);color:var(--primary);font-weight:900;cursor:pointer}.teacherQuickActions button:first-child{background:var(--primary);color:#fff}.teacherCalendar{min-width:0}.teacherCalendar.embedded{display:block}.teacherCalendarGrid{max-height:560px;overflow:auto;border:1px solid var(--line);border-radius:18px}.teacherCalendarGrid .calendarCell{cursor:default}.teacherCalendarGrid .calendarCell:hover,.teacherCalendarGrid .calendarHalf:hover{background:#fff}.teacherEvent{cursor:default;touch-action:auto}.teacherCalendarControls{justify-content:flex-end;margin-bottom:10px}.lessonCourseBadge{display:inline-flex;align-items:center;justify-content:center;max-width:110px;min-height:34px;padding:6px 10px;border:2px solid var(--primary);border-radius:12px;color:var(--primary-dark);background:var(--primary-light);font-size:13px;line-height:1.15;font-weight:800;overflow-wrap:anywhere;text-align:center}.lessonCourseBadge.large{max-width:82px;min-height:30px;border:0;border-radius:10px;padding:5px 9px;font-size:13px}.lessonDetailsBody{display:grid;grid-gap:9px;gap:9px}.lessonHero{display:grid;grid-gap:7px;gap:7px}.lessonDetailsBody h2{margin:0;color:#070d1d;font-size:22px;line-height:1.1;font-weight:900;letter-spacing:0}.lessonDateRow{display:grid;grid-template-columns:auto 1fr auto;grid-gap:9px;gap:9px;align-items:center}.lessonInfoIcon,.lessonRoundIcon{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;color:#1067d8;background:#eef5ff}.lessonInfoIcon svg,.lessonRoundIcon svg{width:17px;height:17px}.lessonDateRow strong{display:block;color:#101728;font-size:12px;line-height:1.25;font-weight:900}.lessonDateRow p{margin:1px 0 0;color:#101728;font-size:13px;line-height:1.1}.lessonStatusPill{min-height:30px;display:inline-flex;align-items:center;gap:7px;border-radius:11px;background:#eaf3ff;color:#1473e6;padding:5px 8px;font-size:11px;font-weight:900;white-space:nowrap}.lessonMetaPills{display:flex;align-items:center;gap:6px;margin-left:41px;flex-wrap:wrap}.lessonMetaPills span{min-height:21px;display:inline-flex;align-items:center;border-radius:9px;padding:3px 7px;background:#edf5ff;color:#1a66c7;font-size:10px;font-weight:800}.lessonMetaPills span+span{background:#f5f3ff;color:#5a39b8}.lessonDetailsRows{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;border-top:1px solid #e8ebf3;border-bottom:1px solid #e8ebf3;padding:9px 0}.lessonDetailRow{display:grid;grid-template-columns:auto 1fr;grid-gap:8px;gap:8px;align-items:center}.lessonRoundIcon{color:#424a60;background:#f8f9fc;box-shadow:inset 0 0 0 1px #edf0f5}.lessonDetailsMain,.lessonDetailsMuted,.lessonDetailsRepeat,.lessonDetailsTime{margin:0}.lessonDetailsMain,.lessonDetailsRepeat,.lessonDetailsTime{color:#101728;font-size:12px;line-height:1.3;font-weight:800}.lessonDetailsMuted{color:#9aa0b3;font-size:10px;font-weight:800;margin-bottom:1px}.lessonDetailsButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.statusButton{border:none;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:11px;padding:6px;font-size:10px;line-height:1.2;font-weight:900;cursor:pointer}.iconButton:disabled,.statusButton:disabled{cursor:not-allowed;opacity:.45}.statusButton.done{color:#0fa64b;background:#f0fbf2}.statusButton.burned{color:#f08a00;background:#fff6e4}.statusButton.delete{color:#f03818;background:#fff1ec}.lessonEditForm{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}.lessonEditForm input,.lessonEditForm select{font-size:14px;padding:10px 12px;background:#fff}.lessonEditFooter{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.eventModalOverlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px;background:rgba(1,5,12,.42)}.eventModal{width:min(760px,100%);max-height:min(92vh,760px);overflow-y:auto;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 32px 80px rgba(1,5,12,.28);padding:18px 30px 24px}.eventModalTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dragHandle{width:28px;height:18px;position:relative}.dragHandle:after,.dragHandle:before{content:"";position:absolute;left:0;width:28px;height:3px;border-radius:999px;background:#9aa0b8}.dragHandle:before{top:3px}.dragHandle:after{bottom:3px}.iconButton{width:42px;height:42px;display:grid;place-items:center;border:none;border-radius:14px;background:transparent;color:var(--muted);cursor:pointer}.iconButton:hover{background:var(--surface-soft);color:var(--text)}.eventForm{display:flex;flex-direction:column;gap:22px}.eventTitleSelect{border:0;border-bottom:5px solid #c7d4ff;border-radius:0;padding:6px 0 10px;font-size:38px;line-height:1.1;font-weight:700;color:var(--text);background:#fff;min-height:62px}.eventTitleSelect:focus{border-color:var(--primary);box-shadow:none}.lessonTypeTabs{display:flex;gap:12px;flex-wrap:wrap}.lessonTypeTabs label{cursor:pointer}.lessonTypeTabs input{position:absolute;opacity:0;pointer-events:none}.lessonTypeTabs span{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border-radius:14px;padding:0 18px;color:var(--muted);font-size:17px;font-weight:800}.lessonTypeTabs input:checked+span{background:var(--primary);color:#fff;box-shadow:0 12px 24px rgba(89,93,255,.24)}.eventFormRows{display:flex;flex-direction:column;gap:14px}.eventFormRow{display:grid;grid-template-columns:34px 1fr;align-items:center;grid-gap:16px;gap:16px;color:var(--muted)}.eventFormRow strong{display:block;color:var(--text);font-size:19px;line-height:1.3}.eventFormRow span{display:block;margin-top:2px;color:var(--muted);font-size:15px;font-weight:700}.eventFormRow input,.eventFormRow select{border:0;border-radius:12px;background:#fbfbff;padding:13px 14px;font-size:17px}.eventFormRow input:focus,.eventFormRow select:focus{box-shadow:0 0 0 4px rgba(89,93,255,.1)}.eventModalFooter{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:8px}.secondaryButton{border:none;background:transparent;color:var(--primary-dark);border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.secondaryButton:hover{background:var(--surface-soft)}.recurringModal{width:min(520px,100%);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:0 28px 70px rgba(89,93,255,.22);padding:26px}.recurringModal h2{margin:0;font-size:26px;line-height:1.1;font-weight:800;letter-spacing:0}.recurringHint{margin:8px 0 22px;color:var(--muted);font-size:14px;font-weight:700}.recurringOptions{display:flex;flex-direction:column;gap:10px}.recurringOptions label{display:grid;grid-template-columns:28px 1fr;align-items:center;grid-gap:14px;gap:14px;min-height:72px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfbff;color:var(--text);cursor:pointer}.recurringOptions label:has(input:checked){border-color:var(--primary);background:var(--primary-light);box-shadow:0 12px 26px rgba(89,93,255,.12)}.recurringOptions label.disabled{opacity:.62;cursor:not-allowed}.recurringOptions input{width:22px;height:22px;accent-color:var(--primary);cursor:pointer}.recurringOptions strong{display:block;font-size:15px;font-weight:800}.recurringOptions small{display:block;margin-top:3px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.35}.recurringOptions label.disabled input{cursor:not-allowed}.recurringFooter{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}.recurringFooter .secondaryButton{color:var(--primary)}.recurringFooter .primary{min-width:130px}.recurringFooter .dangerPrimary{background:linear-gradient(135deg,#ff6b4a,#f03818);box-shadow:0 14px 28px rgba(240,56,24,.22)}table{width:100%;border-collapse:collapse;min-width:720px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:14px 10px;border-bottom:1px solid #f5eadf;font-size:14px;font-weight:700;vertical-align:middle;max-width:260px}tr:last-child td{border-bottom:none}.empty{color:var(--muted);font-weight:700}.alert-list,.mini-list{display:flex;flex-direction:column;gap:12px}.alert-item{display:grid;grid-template-columns:40px 1fr;grid-gap:12px;gap:12px;padding:12px;border-radius:16px;background:#fbfbff;border:1px solid var(--line)}.alert-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-weight:800}.alert-item strong{display:block;font-size:14px;margin-bottom:3px}.alert-item span{color:var(--muted);font-size:13px;line-height:1.35}.mini-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f5eadf}.mini-row:last-child{border-bottom:none;padding-bottom:0}.mini-row strong{font-size:14px}.mini-row span{color:var(--muted);font-size:13px;font-weight:700}.amount{font-weight:800;white-space:nowrap}.plainList{margin:0;padding-left:20px;color:var(--muted);line-height:1.7;font-weight:700}@media (max-width:1180px){.quick-actions{grid-template-columns:repeat(4,minmax(120px,1fr))}.stats-grid,.teacherStatsRow{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.teacherDashboardGrid{grid-template-columns:1fr}}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-300px;z-index:20;width:280px;transition:.25s ease}.sidebar.open{left:0}.mobile-menu-btn{display:grid}.main{padding:20px}.topbar{align-items:center}.page-title h1{font-size:28px}.search{width:100%;order:3}.top-actions{flex:1 1}.compactForm,.compactRateForm,.sectionGrid,.studentDetailsGrid,.studentEditForm,.studentInlineForm,.teacherActionRow,.teacherColumns,.teacherHero,.teacherLessonItem,.teacherLessonItem.detailed,.teacherQuickActions,.teacherSalaryGrid,.teacherStatsRow,.teacherStudentRow{grid-template-columns:1fr}.teacherHeroBadge,.teacherLessonActions{width:100%}.teacherLessonActions button{flex:1 1}.lessonDetailsModal{left:14px!important;right:14px;width:auto;aspect-ratio:auto;border-radius:22px;padding:16px}.lessonDateRow,.lessonDetailRow{grid-template-columns:1fr}.lessonDetailsTop,.lessonHeaderActions{gap:12px}.lessonHeaderActions{flex-wrap:wrap}.lessonIconButton{width:42px;height:42px;border-radius:15px}.lessonMetaPills{margin-left:0}.lessonDetailsButtons{grid-template-columns:1fr;gap:10px}.statusButton{min-height:52px;font-size:14px}}@media (max-width:640px){.topbar{flex-direction:column;align-items:stretch}.top-actions{justify-content:stretch}.user-card{width:100%}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:1fr}.quick-btn{min-height:58px}.panel{padding:16px}}.teacherFullPageOverlay{position:fixed;inset:0;z-index:120;background:#f5f6fa;overflow-y:auto;display:flex;flex-direction:column}.teacherFullPageInner{max-width:1200px;width:100%;margin:0 auto;padding:32px 32px 64px}.teacherFullPageHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.teacherFullPageMeta{display:flex;align-items:flex-start;gap:14px}.teacherFullPageMeta h1{margin:6px 0;font-size:34px;line-height:1.08;letter-spacing:-.5px}.teacherFullPageMeta p{margin:0;color:var(--muted);font-weight:800;font-size:15px}.teacherFullPageStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:32px}.teacherStatCard{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 6px 20px rgba(20,28,52,.06);padding:18px;display:grid;grid-gap:4px;gap:4px;align-content:start;transition:box-shadow .18s ease}.teacherStatCard:hover{box-shadow:0 12px 32px rgba(89,93,255,.12)}.teacherStatLabel{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.teacherStatValue{color:var(--primary);font-size:28px;font-weight:900;line-height:1.1}.teacherStatNote{color:var(--muted);font-size:12px;font-weight:700;font-style:normal}.teacherFullPageGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.teacherFullSection{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 14px rgba(20,28,52,.05);padding:22px}.teacherFullSection h2{margin:0 0 16px;font-size:18px;line-height:1.2}@media (max-width:900px){.teacherFullPageStats{grid-template-columns:repeat(2,minmax(0,1fr))}.teacherFullPageGrid{grid-template-columns:1fr}.teacherFullPageInner{padding:20px 16px 48px}}