.landing-page{background:#f7f9fe;color:#182230;min-height:100vh}.landing-page a{color:inherit;text-decoration:none}.landing-header{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:1px solid #e7ecf7;display:flex;justify-content:space-between;padding:17px clamp(22px,6vw,92px);position:sticky;top:0;z-index:5}.landing-brand{align-items:center;color:#16213d;display:flex;font-size:18px;font-weight:800;gap:10px;letter-spacing:1.1px}.landing-brand strong{color:#2558d8}.landing-brand-icon{align-items:center;background:#2558d8;border-radius:11px;box-shadow:0 7px 15px #2558d83d;color:#fff;display:inline-flex;font-size:12px;height:37px;justify-content:center;letter-spacing:-.5px;position:relative;width:37px}.landing-brand-icon:after{background:#f5c542;border:2px solid #fff;border-radius:50%;content:"";height:7px;position:absolute;right:-3px;top:-3px;width:7px}.landing-login,.landing-primary-action,.landing-secondary-action{align-items:center;border-radius:11px;display:inline-flex;font-size:14px;font-weight:750;justify-content:center;min-height:47px;padding:0 18px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.landing-login,.landing-secondary-action{border:1px solid #cfdaf0;color:#2049b6}.landing-login:hover,.landing-secondary-action:hover{background:#edf3ff}.landing-hero,.landing-features,.landing-workflow,.landing-cta{margin:0 auto;max-width:1240px;padding-left:clamp(22px,6vw,92px);padding-right:clamp(22px,6vw,92px)}.landing-hero{align-items:center;display:grid;gap:clamp(32px,6vw,84px);grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);min-height:600px;padding-bottom:76px;padding-top:72px}.landing-eyebrow{color:#285cd9;font-size:13px;font-weight:800;letter-spacing:.6px;margin:0 0 16px;text-transform:uppercase}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page p{margin-top:0}.landing-page h1{color:#172754;font-size:clamp(39px,5vw,45px);letter-spacing:-2px;line-height:1.08;margin-bottom:24px}.landing-page h2{color:#192854;font-size:clamp(30px,3.8vw,45px);letter-spacing:-1.15px;line-height:1.18;margin-bottom:38px}.landing-description{color:#53637f;font-size:18px;line-height:1.75;margin-bottom:31px;max-width:600px}.landing-actions{display:flex;flex-wrap:wrap;gap:13px}.landing-primary-action{background:#2558d8;box-shadow:0 12px 24px #2558d84d;color:#fff!important;gap:10px}.landing-primary-action:hover{box-shadow:0 16px 29px #2558d85c;transform:translateY(-2px)}.landing-visual{border-radius:22px;box-shadow:0 28px 62px #1c3e9329;overflow:hidden}.landing-visual img{display:block;height:auto;width:100%}.landing-features{padding-bottom:84px;padding-top:78px}.landing-section-intro{max-width:670px}.landing-feature-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.landing-feature-card{background:#fff;border:1px solid #e5ebf7;border-radius:18px;box-shadow:0 7px 18px #29477f0a;padding:27px}.landing-feature-icon{align-items:center;background:#e9f0ff;border-radius:11px;color:#2558d8;display:inline-flex;font-size:20px;font-weight:800;height:42px;justify-content:center;margin-bottom:20px;width:42px}.landing-feature-card h3{color:#20345f;font-size:20px;margin-bottom:10px}.landing-feature-card p,.landing-workflow p{color:#62718b;font-size:14px;line-height:1.72;margin-bottom:0}.landing-workflow{align-items:start;background:#ecf2ff;border-radius:28px;display:grid;gap:52px;grid-template-columns:.8fr 1.2fr;margin-bottom:100px;padding-bottom:56px;padding-top:64px}.landing-workflow h2{margin-bottom:0}.landing-workflow ol{display:grid;gap:23px;list-style:none;margin:0;padding:0}.landing-workflow li{align-items:start;border-bottom:1px solid #d4def2;display:flex;gap:19px;padding-bottom:22px}.landing-workflow li:last-child{border:0;padding-bottom:0}.landing-workflow li>span{color:#2558d8;font-size:13px;font-weight:800;letter-spacing:.7px;padding-top:4px}.landing-workflow h3{color:#213861;font-size:18px;margin-bottom:6px}.landing-cta{background:#1d50cc;border-radius:28px;color:#fff;margin-bottom:58px;padding-bottom:70px;padding-top:70px;text-align:center}.landing-cta .landing-eyebrow{color:#bcd1ff}.landing-cta h2{color:#fff;margin:0 auto 15px;max-width:720px}.landing-cta p:not(.landing-eyebrow){color:#dce7ff;line-height:1.7;margin-bottom:27px}.landing-light-action{background:#fff;box-shadow:none;color:#2251c7!important}.landing-footer{color:#72809a;display:flex;font-size:13px;justify-content:space-between;margin:0 auto;max-width:1240px;padding:0 clamp(22px,6vw,92px) 31px}.landing-footer-action{color:#3c61b8!important;font-weight:700}.landing-loading{cursor:wait;opacity:.65}.terms-page{display:flex;flex-direction:column}.terms-back-link{align-items:center;color:#2857c6!important;display:inline-flex;font-size:14px;font-weight:750;gap:9px}.terms-back-link:hover{color:#173d9e!important}.terms-content{margin:0 auto;max-width:940px;padding:70px clamp(22px,6vw,92px) 55px;width:100%}.terms-hero{background:linear-gradient(135deg,#1b4ec8,#336ce8);border-radius:26px;box-shadow:0 22px 50px #1b4ec833;color:#fff;margin-bottom:27px;overflow:hidden;padding:clamp(35px,6vw,58px);position:relative}.terms-hero:after{background:#ffffff12;border:1px solid #ffffff24;border-radius:50%;content:"";height:220px;position:absolute;right:-76px;top:-100px;width:220px}.terms-icon{align-items:center;background:#ffffff20;border:1px solid #ffffff3d;border-radius:13px;display:inline-flex;font-size:22px;height:48px;justify-content:center;margin-bottom:23px;width:48px}.terms-hero .landing-eyebrow{color:#d3e1ff;margin-bottom:12px;position:relative;z-index:1}.terms-hero h1{color:#fff;font-size:clamp(34px,5vw,46px);margin-bottom:15px;position:relative;z-index:1}.terms-hero>p:not(.landing-eyebrow){color:#e4ecff;font-size:17px;line-height:1.7;margin-bottom:23px;max-width:650px;position:relative;z-index:1}.terms-updated{align-items:center;color:#e8f0ff;display:inline-flex;font-size:13px;font-weight:650;gap:8px;position:relative;z-index:1}.terms-updated .anticon{color:#9effc4}.terms-card{background:#fff;border:1px solid #e1e8f5;border-radius:23px;box-shadow:0 12px 30px #29477f0b;padding:clamp(25px,5vw,48px)}.terms-section{border-bottom:1px solid #e7edf7;padding:0 0 28px}.terms-section+.terms-section{padding-top:28px}.terms-section:last-child{border-bottom:0;padding-bottom:0}.terms-section h2{color:#1f3563;font-size:20px;letter-spacing:-.35px;margin-bottom:11px}.terms-section p{color:#596b88;font-size:15px;line-height:1.8;margin-bottom:0}.terms-footer{margin-top:auto}@media(max-width:850px){.landing-hero{grid-template-columns:1fr;padding-top:55px}.landing-hero-copy{text-align:center}.landing-description{margin-left:auto;margin-right:auto}.landing-actions{justify-content:center}.landing-feature-grid{grid-template-columns:1fr}.landing-workflow{grid-template-columns:1fr;gap:8px}}@media(max-width:520px){.landing-header{padding-bottom:13px;padding-top:13px}.landing-brand{font-size:15px}.landing-login{font-size:12px;padding:9px 11px}.landing-hero{min-height:auto;padding-bottom:55px}.landing-description{font-size:16px}.landing-primary-action,.landing-secondary-action{width:100%}.landing-actions{display:grid}.landing-features{padding-bottom:58px;padding-top:55px}.landing-workflow{border-radius:20px;margin-bottom:60px;padding-bottom:42px;padding-top:45px}.landing-cta{border-radius:20px;margin-bottom:42px;padding-bottom:48px;padding-top:50px}.landing-footer{padding-bottom:23px}.terms-back-link{font-size:12px}.terms-content{padding-bottom:40px;padding-top:38px}.terms-hero{border-radius:20px}.terms-card{border-radius:18px}.terms-section h2{font-size:18px}.terms-section p{font-size:14px}}:root{font-family:Noto Sans Georgian,Arial,sans-serif;color:#182230;background:linear-gradient(90deg,#dfe8f6 1px,transparent 1px),linear-gradient(180deg,#dfe8f6 1px,transparent 1px),linear-gradient(135deg,#f5f8ff,#eef5f1 46%,#f8fbff);background-size:54px 54px,54px 54px,auto;background-attachment:fixed}*{box-sizing:border-box}body{margin:0;overflow-y:scroll;background:linear-gradient(90deg,#dfe8f6 1px,transparent 1px),linear-gradient(180deg,#dfe8f6 1px,transparent 1px),linear-gradient(135deg,#f5f8ff,#eef5f1 46%,#f8fbff);background-size:54px 54px,54px 54px,auto;background-attachment:fixed;font-family:Noto Sans Georgian,Arial,sans-serif}.app-shell{min-height:100vh;background:transparent}.brand-icon{align-items:center;background:#2558d8;border-radius:11px;box-shadow:0 7px 15px #2558d83d;color:#fff;display:inline-flex;flex:0 0 38px;font-size:13px;font-weight:800;height:38px;justify-content:center;letter-spacing:-.6px;position:relative}.brand-icon:after{background:#f5c542;border:2px solid #fff;border-radius:50%;content:"";height:7px;position:absolute;right:-3px;top:-3px;width:7px}.brand-name,.login-brand{font-weight:800;letter-spacing:1.2px;color:#16213d;font-size:18px;white-space:nowrap}.login-brand{text-decoration:none}.brand-name strong,.login-brand span{color:#2558d8}.header-brand{align-items:center;display:inline-flex;gap:10px;height:100%;margin-right:18px}.header-brand .brand-icon{flex:0 0 34px;height:34px;font-size:12px;border-radius:10px}.header-brand .brand-name{font-size:16px}.header{background:#fff!important;display:flex;align-items:center;justify-content:flex-start;padding:0 30px!important;border-bottom:1px solid #e9edf5;position:sticky;top:0;z-index:100}.header-title{margin-left:12px}.header-actions{align-items:center;display:inline-flex;gap:8px;margin-left:auto;min-width:0}.ai-header-trigger.ant-btn{align-items:center;background:#eef7f2;border:1px solid #d8ecdf;color:#157347;display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;width:40px}.ai-header-trigger.ant-btn:hover,.ai-header-trigger.ant-btn:focus-visible{background:#e3f4ea!important;border-color:#a8d7bb!important;color:#0f6a3e!important;box-shadow:0 8px 18px #15734729}.account-menu-trigger.ant-btn{align-items:center;border-radius:12px;display:inline-flex;gap:8px;height:42px;margin-left:0;max-width:280px;padding:5px 10px;transition:background .18s ease,color .18s ease}.account-menu-trigger.ant-btn:hover,.account-menu-trigger.ant-btn:focus-visible,.account-menu-trigger.ant-btn[aria-expanded=true]{background:#f0f4ff;color:#2049b6}.account-menu-avatar.ant-avatar{background:#e9efff;color:#2558d8;flex:0 0 auto}.account-menu-name{color:#182230;font-size:14px;font-weight:650;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-popup .ant-dropdown-menu{border:1px solid #e8edf6;border-radius:12px;box-shadow:0 14px 36px #1b2e5329;min-width:190px;padding:7px}.account-menu-popup .ant-dropdown-menu-item{border-radius:8px;min-height:40px;padding:9px 11px}.ai-assistant-drawer .ant-drawer-content{background:#f7f9fd}.ai-assistant-drawer .ant-drawer-header{border-bottom:1px solid #e3eaf6;padding:14px 18px}.ai-assistant-drawer .ant-drawer-body{overflow:hidden;padding:0}.ai-drawer-title-icon{align-items:center;background:#eaf8ef;border:1px solid #cfe9d9;border-radius:10px;color:#157347;display:inline-flex;height:32px;justify-content:center;width:32px}.ai-assistant-shell{display:grid;grid-template-columns:292px minmax(0,1fr);height:calc(100dvh - 65px);min-height:0;min-width:0;overflow:hidden}.ai-assistant-history{background:#fff;border-right:1px solid #e3eaf6;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.ai-history-head{align-items:center;border-bottom:1px solid #edf1f8;display:flex;min-height:52px;padding:0 16px}.ai-history-head .ant-typography{align-items:center;color:#253957;display:inline-flex;gap:8px}.ai-history-list{flex:1;min-height:0;overflow-y:auto;padding:10px;scrollbar-color:#c4d2ed transparent;scrollbar-width:thin}.ai-history-list .ant-list-items{display:grid;gap:8px}.ai-history-item.ant-list-item{align-items:center;border:1px solid #e7edf6;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:11px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.ai-history-item.ant-list-item:hover,.ai-history-item.ant-list-item.is-active{background:#f0f6ff;border-color:#bfd2fb;box-shadow:0 8px 18px #2558d81a}.ai-history-icon{align-items:center;background:#eef3ff;border-radius:10px;color:#2558d8;display:inline-flex;flex:0 0 34px;height:34px;justify-content:center;width:34px}.ai-history-copy{display:grid;min-width:0}.ai-history-copy strong{color:#243653;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-history-copy small{color:#7c8ba2;font-size:11.5px;margin-top:2px}.ai-chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;min-width:0;overflow:hidden}.ai-chat-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e9eef7;display:flex;justify-content:space-between;min-height:52px;min-width:0;overflow:hidden;padding:9px 16px}.ai-chat-toolbar .ant-segmented{background:#f1f4fa}.ai-provider-controls{align-items:center;display:flex;flex:0 0 auto;gap:8px;min-width:0}.ai-provider-controls .ant-select:first-child{width:166px}.ai-provider-controls .ant-select:last-child{width:210px}.ai-chat-messages{display:flex;flex-direction:column;gap:14px;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;padding:18px;scrollbar-color:#c4d2ed transparent;scrollbar-width:thin}.ai-message{align-items:flex-start;display:grid;gap:0 11px;grid-template-columns:32px minmax(0,1fr);max-width:min(82%,720px);min-width:0;width:100%}.ai-message.is-teacher{align-self:flex-end;align-items:end;grid-template-columns:minmax(0,1fr) 32px}.ai-message.is-assistant{align-self:flex-start}.ai-message.is-assistant .ai-message-avatar{grid-column:1;grid-row:1}.ai-message.is-assistant .ai-message-bubble{grid-column:2;grid-row:1;justify-self:start}.ai-message.is-teacher .ai-message-avatar{align-self:end;grid-column:2;grid-row:1;margin-bottom:2px}.ai-message.is-teacher .ai-message-bubble{grid-column:1;grid-row:1;justify-self:end}.ai-message-avatar{align-items:center;background:linear-gradient(135deg,#e8efff,#f4f7ff);border:1px solid #d6e2fb;border-radius:50%;color:#2558d8;display:inline-flex;flex:0 0 32px;font-size:13px;font-weight:800;height:32px;justify-content:center;width:32px}.ai-message.is-teacher .ai-message-avatar{background:linear-gradient(135deg,#e6f7ed,#f5fbf8);border-color:#ccebd8;color:#157347}.ai-message-bubble{background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #e3eaf6;border-radius:16px;box-shadow:0 10px 24px #1a396f14;color:#243653;line-height:1.65;max-width:100%;min-width:0;padding:11px 14px 12px;position:relative;width:fit-content}.ai-message-bubble .ant-typography{color:inherit;display:block;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.ai-message-role{color:#66748c;display:block;font-size:11px;font-weight:800;letter-spacing:0;line-height:1.2;margin-bottom:5px}.ai-message.is-teacher .ai-message-bubble{background:linear-gradient(135deg,#eaf8ef,#f7fcf9);border-color:#c8ead5;color:#174d32}.ai-message.is-teacher .ai-message-role{color:#157347}.ai-message.is-assistant .ai-message-role{color:#2558d8}.ai-usage-meta{align-items:center;border-top:1px solid #e6edf7;color:#66748c;display:flex;flex-wrap:wrap;font-size:11px;gap:6px 10px;margin-top:10px;padding-top:8px}.ai-usage-meta strong{background:#eef7f2;border-radius:999px;color:#157347;font-size:11px;padding:3px 7px}.ai-empty-state{align-items:center;color:#5f6d84;display:flex;flex:1;flex-direction:column;justify-content:center;margin:auto;max-width:520px;min-height:280px;text-align:center}.ai-empty-state>.anticon{align-items:center;background:#eaf8ef;border:1px solid #cfe9d9;border-radius:18px;color:#157347;display:inline-flex;font-size:28px;height:64px;justify-content:center;margin-bottom:14px;width:64px}.ai-empty-state .ant-typography{margin-bottom:6px}.ai-composer{background:#fff;border-top:1px solid #e3eaf6;display:grid;gap:10px;min-width:0;overflow:hidden;padding:14px 16px 16px}.ai-composer-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ai-composer .ant-input{border-radius:12px;resize:none}.ai-composer-actions{display:flex;gap:8px;justify-content:flex-end}.dashboard-page{margin:0 auto;max-width:1400px;width:100%}.content{margin:0 auto;max-width:1400px;padding:12px 32px 32px;width:100%}.content.content-calendar{max-width:none;padding:8px 12px 16px}.page-heading{display:flex;width:100%;justify-content:space-between;align-items:end;margin-bottom:22px}.page-heading h2{margin-bottom:4px!important}.page-heading:has(.groups-filters){flex-wrap:wrap;row-gap:10px;column-gap:12px}.groups-filters{display:flex;gap:8px;margin-left:auto;min-width:0}.groups-filters .ant-select{min-width:160px;max-width:220px}.groups-search{width:240px}.subject-option{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.subject-option>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:767px){.page-heading:has(.groups-filters) .groups-filters{flex:1 1 100%;flex-direction:column;width:100%;margin-left:0}.groups-filters .ant-select,.groups-search{width:100%;min-width:0;max-width:none}}.profile-hero{display:flex;gap:22px;align-items:center;background:linear-gradient(120deg,#f4f7ff,#fff 60%);border:1px solid #e4eaf7}.profile-hero .ant-card-body{display:flex;align-items:center;gap:22px;width:100%}.profile-hero-avatar .ant-avatar{background:linear-gradient(135deg,#2558d8,#6a8dff);color:#fff;font-size:30px;font-weight:750;flex:0 0 auto}.profile-hero-avatar{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:4px}.profile-avatar-button{background:transparent;border:0;border-radius:50%;cursor:pointer;line-height:0;padding:0;position:relative}.profile-avatar-button:focus-visible{outline:3px solid rgba(37,88,216,.28);outline-offset:3px}.profile-avatar-button:disabled{cursor:wait}.profile-avatar-edit-badge{align-items:center;background:#2558d8;border:3px solid #fff;border-radius:50%;bottom:-1px;box-shadow:0 4px 10px #2558d84d;color:#fff;display:flex;font-size:13px;height:28px;justify-content:center;position:absolute;right:-2px;transition:background .18s ease,transform .18s ease;width:28px}.profile-avatar-button:hover .profile-avatar-edit-badge,.profile-avatar-button:focus-visible .profile-avatar-edit-badge{background:#1744b5;transform:scale(1.06)}.profile-avatar-upload-control .ant-upload{border-radius:50%;display:block;line-height:0}.profile-hero-info{min-width:0}.profile-hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.profile-hero-tags .ant-tag{border-radius:999px;font-weight:600;margin-inline-end:0}.profile-hero-contact{color:#536078;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 18px;margin-top:10px}.profile-hero-contact span{align-items:center;display:inline-flex;gap:6px}.profile-settings-grid>.ant-col{display:flex}.profile-settings-grid>.ant-col>.ant-card{width:100%}.profile-hero-info .ant-typography-secondary{display:block}.profile-info-item{display:inline-flex;align-items:center;gap:8px}.control-works-mobile-list{width:100%}.control-work-mobile-item{border:1px solid #e5ebf5;border-radius:14px}.control-work-mobile-title{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.control-work-mobile-title .ant-typography-secondary{display:block;margin-top:4px}.control-work-mobile-meta{color:#6f7e97;display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:13px}.control-work-view-status{align-items:center;background:#eef5ff;border-radius:9px;color:#315dc6;display:inline-flex;font-size:13px;font-weight:650;gap:6px;margin-top:12px;padding:6px 9px}.homework-viewers-table .ant-table-thead>tr>th,.homework-viewers-table .ant-table-tbody>tr>td{font-size:12px;padding:8px 10px!important}.control-works-mobile-loading{color:#6f7e97;padding:28px 0;text-align:center}.section-card{margin-top:22px}.dashboard-nav{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:4px}.dashboard-module{min-width:0;position:relative;transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .18s ease;will-change:transform}.dashboard-module.is-dragging{opacity:1;z-index:5}.dashboard-nav-btn{position:relative;width:100%;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 10px;background:#fff;border:1px solid #e8edf5;border-radius:18px;cursor:pointer;font:inherit;color:#182230;box-shadow:0 1px 2px #1018280f;touch-action:pan-y;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none}.dashboard-nav-btn:hover{border-color:#2558d8;box-shadow:0 14px 28px #2558d82e;transform:translateY(-3px)}.dashboard-nav.is-sorting .dashboard-nav-btn{cursor:grabbing;touch-action:none}.dashboard-module.is-dragging .dashboard-nav-btn{background:#f8fbff;border-color:#2558d8;border-style:dashed;box-shadow:inset 0 0 0 1px #2558d814;opacity:.34;transform:none}.dashboard-module.is-dragging .dashboard-nav-btn>*{opacity:.55}.dashboard-nav-btn:active{transform:translateY(-1px)}.dashboard-nav-btn:focus-visible{outline:2px solid #2558d8;outline-offset:2px}.dashboard-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:#eef2ff;color:#2558d8;font-size:26px;line-height:1}.dashboard-nav-count{position:absolute;top:10px;right:10px;min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:#2558d8;box-shadow:0 4px 10px #2558d859;color:#fff;font-size:12px;font-weight:700;line-height:24px;text-align:center}.dashboard-nav-label{font-size:15px;font-weight:700;color:#16213d;text-align:center}.dashboard-drag-overlay{left:0;pointer-events:none;position:fixed;top:0;z-index:1000}.dashboard-drag-overlay .dashboard-nav-btn{border-color:#2558d8;box-shadow:0 22px 48px #2558d842;cursor:grabbing;height:100%;transform:scale(1.025) rotate(.35deg)}.dashboard-drag-overlay.is-settling{transition:left .24s cubic-bezier(.22,1,.36,1),top .24s cubic-bezier(.22,1,.36,1),width .24s cubic-bezier(.22,1,.36,1),height .24s cubic-bezier(.22,1,.36,1)}.dashboard-drag-overlay.is-settling .dashboard-nav-btn{transform:scale(1);transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease}.today-lesson-item{cursor:pointer;border-radius:10px;transition:background .18s ease,transform .18s ease}.today-lesson-item:hover,.today-lesson-item:focus-visible{background:#f4f7ff;outline:none}.today-lesson-item:active{transform:scale(.995)}.stat-card-clickable{cursor:pointer;transition:box-shadow .18s ease}.stat-card-clickable:hover{box-shadow:0 6px 16px #2558d824}.profile-income-link{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:12px 14px;background:linear-gradient(135deg,#eefaf3,#e2f7eb);border:1px solid #d0eede;border-radius:12px;cursor:pointer;font:inherit;color:#157347;font-weight:700;text-align:left;transition:box-shadow .18s ease,transform .18s ease}.profile-income-link:hover{border-color:#9fd4b6;box-shadow:0 6px 14px #1f9d5529;transform:translateY(-1px)}.profile-income-link:active{transform:translateY(0)}.profile-income-link:focus-visible{outline:2px solid #2558d8;outline-offset:2px}.profile-income-link-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#1f9d5524;color:#157347;font-size:18px;flex-shrink:0}.income-group-item{padding:10px 2px;gap:12px}.income-group-name{font-weight:600;color:#182230}.income-group-amount{white-space:nowrap;color:#157347;font-weight:700}.payments-page{width:100%}.payments-page>.page-heading{margin-bottom:20px;gap:16px;flex-wrap:wrap}.payments-page .page-heading h2{margin:0 0 4px}.payments-statistics{margin-bottom:16px}.payments-charts{margin-bottom:20px}.payments-charts .ant-card{height:100%}.payments-chart-key{display:flex;gap:18px;color:#667085;font-size:12px}.payments-chart-key span{display:flex;align-items:center;gap:6px}.payments-chart-key i{width:9px;height:9px;border-radius:3px;background:#2558d8}.payments-chart-key i.gift{background:#9865c4}.payments-bars{display:flex;align-items:end;gap:10px;padding-top:18px}.payments-bar-column{flex:1;min-width:0;text-align:center;color:#667085;font-size:12px}.payments-bar-value{display:block;white-space:nowrap;font-size:10px;font-weight:600;margin-bottom:5px}.payments-bar-track{height:130px;display:flex;flex-direction:column;justify-content:end;border-bottom:1px solid #dde3ef;margin-bottom:7px}.payments-bar-stack{display:flex;flex-direction:column;width:65%;margin:0 auto;border-radius:5px 5px 0 0;overflow:hidden;min-height:2px;background:#eef1f7}.payments-bar-cash{background:#2558d8}.payments-bar-gift{background:#9865c4}.payments-methods{display:flex;align-items:center;gap:22px;margin:10px 0 14px}.payments-method-list{flex:1;min-width:0}.payments-method-label{display:flex;justify-content:space-between;gap:10px;font-size:11px}.payments-method-label strong{white-space:nowrap}.payments-ledger-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.payments-ledger-toolbar .ant-segmented{max-width:100%;overflow-x:auto}.payments-secondary{color:#667085;font-size:12px}.payments-method-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.payments-ledger>.ant-card-body{padding:12px}.payments-methods{gap:12px}.payments-method-label{font-size:10px}.payments-method-picker{grid-template-columns:1fr}}.week-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}.week-calendar-toolbar h2{margin:0 0 3px;font-size:18px;color:#182230}.calendar-sharing-controls{max-width:100%;margin:3px 0}.calendar-sharing-controls .ant-typography{font-size:12px}.calendar-conflict-label{color:#b42318;font-weight:700}.week-calendar .week-calendar-event.has-conflict{border:2px solid #d92d20}.week-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:10px}.week-calendar-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#53637f}.week-calendar .kind-LESSON{--event-color: #4f5cc4;--event-bg: #eef0ff}.week-calendar .kind-MAKEUP_LESSON{--event-color: #15806a;--event-bg: #e9f7f0}.week-calendar .kind-ONE_TIME_LESSON{--event-color: #a7680d;--event-bg: #fff7e6}.week-calendar .kind-CONTROL_WORK{--event-color: #9746b5;--event-bg: #f7edfc}.week-calendar-legend-item i{width:8px;height:8px;border-radius:3px;background:var(--event-color)}.week-calendar-scroll{overflow:auto;border:1px solid #e4e8f0;border-radius:14px;max-height:76vh}.week-calendar-grid{min-width:1056px;padding-right:24px;background:#fff}.week-calendar-header,.week-calendar-row{display:grid;grid-template-columns:132px minmax(900px,1fr)}.week-calendar-header{position:sticky;top:0;z-index:5;background:#f8f9fc}.week-calendar-corner,.week-calendar-day{position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid #e4e8f0}.week-calendar-corner{padding:10px 16px;font-size:12px;color:#667085;background:#f8f9fc;z-index:6}.week-calendar-hours{position:relative;height:38px;border-bottom:1px solid #e4e8f0}.week-calendar-hours>span{position:absolute;top:11px;transform:translate(-50%);font-size:11px;color:#667085;font-variant-numeric:tabular-nums}.week-calendar-hours>span:first-child{transform:none;padding-left:6px}.week-calendar-hours>span:last-child{transform:translate(-100%)}.week-calendar-row{border-top:1px solid #e4e8f0}.week-calendar-day{padding:6px 16px;display:flex;flex-direction:column;justify-content:center;gap:2px}.week-calendar-day>span{font-size:12px;color:#667085}.week-calendar-day>strong{font-size:18px;color:#344054;line-height:1.2}.week-calendar-day small{font-size:11px;font-weight:500}.week-calendar-day em{position:absolute;right:10px;bottom:8px;font-size:10px;font-style:normal;color:#4f5cc4;font-weight:700}.week-calendar-track{position:relative}.week-calendar-gridline{position:absolute;top:0;bottom:0;width:1px;background:#e9edf4;pointer-events:none}.week-calendar-row.is-weekend,.week-calendar-row.is-weekend .week-calendar-day{background-color:#fafbfe}.week-calendar-row.is-today{background-color:#f8f9ff}.week-calendar-row.is-today .week-calendar-day{background:#eef0ff;box-shadow:inset 3px 0 #6264a7}.week-calendar-row.is-today .week-calendar-day>strong{color:#4f5cc4}.week-calendar-empty{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:11px;color:#98a2b3}.week-calendar-event{position:absolute;height:42px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--event-color) 20%,transparent);border-left:3px solid var(--event-color);border-radius:6px;background:var(--event-bg);color:var(--event-color);text-align:left;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:3px;font:inherit;min-width:0;z-index:1}.week-calendar-event>strong,.week-calendar-event>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.week-calendar-event>strong{font-size:11px}.week-calendar-event>span{font-size:10px;font-variant-numeric:tabular-nums}.week-calendar-event.is-live{border-color:var(--event-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--event-color) 16%,transparent)}.week-calendar-event.is-live>strong,.week-calendar-event.is-live>span{position:relative;z-index:1}.week-calendar-event.is-live>span{font-weight:700}.week-calendar-progress{position:absolute;inset:0 auto 0 0;pointer-events:none;background:color-mix(in srgb,var(--event-color) 22%,transparent);border-right:2px solid var(--event-color);transition:width 1s linear}@media(prefers-reduced-motion:reduce){.week-calendar-progress{transition:none}}.week-calendar-event:hover{filter:brightness(.97);box-shadow:0 3px 10px #18223016;z-index:2}.week-calendar-event:focus-visible{outline:2px solid #2558d8;outline-offset:2px;z-index:4}.week-calendar-event.is-point{padding:7px 2px;text-align:center}.week-calendar-event.is-past,.dashboard-calendar .dashboard-calendar-event.is-past{--event-color: #7b8492;color:#737b87;background:#f0f1f3;border-color:#d8dce2;opacity:.65;box-shadow:none}.dashboard-calendar .dashboard-calendar-event.is-past>span{background:#929aa6}.week-calendar-event.is-past:hover,.dashboard-calendar-event.is-past:hover,.week-calendar-event.is-past:focus-visible,.dashboard-calendar-event.is-past:focus-visible{opacity:.9}.calendar-day-items .ant-list-item.is-past .ant-list-item-meta{opacity:.6;filter:grayscale(1)}.week-calendar-now{position:absolute;top:0;bottom:0;width:2px;background:#df4762;z-index:2;pointer-events:none}.week-calendar-now:before{content:"";position:absolute;top:0;left:-3px;width:8px;height:8px;border-radius:50%;background:#df4762}@media(max-width:600px){.dashboard-calendar-card>.ant-card-head{padding:0 12px}.dashboard-calendar-card>.ant-card-head .ant-card-head-title{font-size:13px}.dashboard-calendar-card>.ant-card-head .ant-space{gap:5px!important}.dashboard-calendar-card>.ant-card-body{padding:12px}.week-calendar-toolbar h2{font-size:17px}.week-calendar-header,.week-calendar-row{grid-template-columns:112px minmax(900px,1fr)}.week-calendar-grid{min-width:1036px}.week-calendar-day,.week-calendar-corner{padding-left:10px;padding-right:10px}.week-calendar-legend{gap:10px}}.income-total{display:flex;justify-content:space-between;align-items:center;padding:14px 2px 0;margin-top:6px;border-top:1px solid #e9edf5;font-weight:800;font-size:16px;color:#157347}.mini-stat-card{height:100%}.dashboard-calendar-page{margin:0 auto;max-width:none;width:100%}.dashboard-calendar-card{border:1px solid #e3eaf6;border-radius:18px;box-shadow:0 8px 22px #1a396f0f}.dashboard-calendar-card .ant-card-head{border-bottom-color:#e8edf5;min-height:58px}.dashboard-calendar-card .ant-card-head-title{color:#22375f;font-weight:750}.dashboard-calendar-card .ant-card-body{padding:6px 16px 14px}.dashboard-calendar .ant-picker-calendar-header{padding:6px 2px 10px}.dashboard-calendar-toolbar{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:440px;padding:3px 0 8px}.dashboard-calendar-toolbar strong{color:#22375f;font-size:17px;min-width:200px;text-align:center;text-transform:capitalize}.dashboard-calendar-today-button.ant-btn{color:#315dc6;font-weight:700;margin-right:6px}.dashboard-calendar-today-button.ant-btn:hover{background:#eef3ff;color:#204db6}.dashboard-calendar-month-button.ant-btn{align-items:center;border:1px solid #dbe5f6;border-radius:9px;color:#315dc6;display:inline-flex;height:32px;justify-content:center;width:32px}.dashboard-calendar-month-button.ant-btn:hover{background:#eef3ff;border-color:#aabfee;color:#204db6}.dashboard-calendar .ant-picker-calendar-date{border-top:1px solid #e7edf7;height:112px;margin:0 4px;padding:7px 5px 4px}.dashboard-calendar .ant-picker-content tbody tr>td:not(:last-child){border-right:1px solid #e7edf7}.dashboard-calendar .ant-picker-content tbody tr{height:112px}.dashboard-calendar .ant-picker-content thead th:not(:last-child){border-right:1px solid #e7edf7}.dashboard-calendar .ant-picker-content thead th{color:transparent;font-size:0;white-space:nowrap}.dashboard-calendar .ant-picker-content thead th:before{color:#53637f;font-size:12px;font-weight:650}.dashboard-calendar .ant-picker-content thead th:nth-child(1):before{content:"ორშაბათი"}.dashboard-calendar .ant-picker-content thead th:nth-child(2):before{content:"სამშაბათი"}.dashboard-calendar .ant-picker-content thead th:nth-child(3):before{content:"ოთხშაბათი"}.dashboard-calendar .ant-picker-content thead th:nth-child(4):before{content:"ხუთშაბათი"}.dashboard-calendar .ant-picker-content thead th:nth-child(5):before{content:"პარასკევი"}.dashboard-calendar .ant-picker-content thead th:nth-child(6):before{content:"შაბათი"}.dashboard-calendar .ant-picker-content thead th:nth-child(7):before{content:"კვირა"}.reschedule-calendar .ant-picker-content tbody tr>td:not(:last-child){border-right:1px solid #e7edf7}.reschedule-calendar .ant-picker-content tbody tr{height:84px}.reschedule-calendar .ant-picker-content thead th:not(:last-child){border-right:1px solid #e7edf7}.reschedule-calendar .ant-picker-content thead th{color:transparent;font-size:0;white-space:nowrap}.reschedule-calendar .ant-picker-content thead th:before{color:#53637f;font-size:11px;font-weight:650}.reschedule-calendar .ant-picker-content thead th:nth-child(1):before{content:"ორშაბათი"}.reschedule-calendar .ant-picker-content thead th:nth-child(2):before{content:"სამშაბათი"}.reschedule-calendar .ant-picker-content thead th:nth-child(3):before{content:"ოთხშაბათი"}.reschedule-calendar .ant-picker-content thead th:nth-child(4):before{content:"ხუთშაბათი"}.reschedule-calendar .ant-picker-content thead th:nth-child(5):before{content:"პარასკევი"}.reschedule-calendar .ant-picker-content thead th:nth-child(6):before{content:"შაბათი"}.reschedule-calendar .ant-picker-content thead th:nth-child(7):before{content:"კვირა"}.reschedule-calendar .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-calendar-date-value:after{display:none}.reschedule-calendar-cell{height:84px;min-height:84px;margin:0 2px;padding:6px 4px 3px;border-radius:8px;cursor:pointer;overflow:hidden}.reschedule-calendar-cell.is-past{background:#f5f6f8}.reschedule-calendar-cell.is-past .reschedule-calendar-day,.reschedule-calendar-cell.is-past .reschedule-calendar-event{color:#a7b1c1}.reschedule-calendar-cell.is-outside-month{opacity:.35}.reschedule-calendar-cell.is-selected{outline:2px solid #2558d8;outline-offset:-2px}.reschedule-calendar-day{color:#2a3d63;display:block;font-size:13px;font-weight:650;line-height:1.25;text-align:right}.reschedule-calendar-events{display:grid;gap:2px;margin-top:3px;max-height:48px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c4d2ed transparent;scrollbar-width:thin}.reschedule-calendar-event{align-items:center;border-radius:5px;color:#3a4b69;display:flex;font-size:10px;gap:4px;line-height:1.2;overflow:hidden;padding:1px 3px;text-overflow:ellipsis;white-space:nowrap}.reschedule-calendar-event>span{background:#f04438;border-radius:50%;flex:0 0 6px;height:6px;width:6px}.reschedule-calendar-event.is-control-work{color:#6d28d9;font-weight:700}.reschedule-calendar-event.is-control-work>span{background:#7c3aed}.reschedule-calendar-event.is-makeup-lesson{color:#047857;font-weight:700}.reschedule-calendar-event.is-makeup-lesson>span{background:#10b981}.reschedule-calendar-event.is-one-time-lesson{color:#92400e;font-weight:700}.reschedule-calendar-event.is-one-time-lesson>span{background:#f59e0b}.reschedule-loading{color:#6b7a93;font-size:13px}.reschedule-comment{margin-bottom:16px}.reschedule-comment .ant-typography{display:block;margin-bottom:4px}.dashboard-calendar-cell{border-top:1px solid #e7edf7;height:112px;min-height:112px;margin:0 4px;padding:7px 5px 4px;position:relative}.dashboard-calendar-cell.is-today{background:#f1f5ff}.dashboard-calendar-cell.is-outside-month{background:#fafcff}.dashboard-calendar-cell.is-outside-month .dashboard-calendar-day,.dashboard-calendar-cell.is-outside-month .dashboard-calendar-event{color:#a7b1c1}.dashboard-calendar-cell.is-outside-month .dashboard-calendar-event>span{background:#f1a29a}.dashboard-calendar-day{color:#2a3d63;display:block;font-size:14px;font-weight:650;line-height:1.25;text-align:right}.dashboard-calendar-free{color:#257049;display:block;font-size:10px;line-height:1.25;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-calendar .ant-picker-calendar-date-value{color:#2a3d63;font-weight:650}.dashboard-calendar .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-calendar-date,.dashboard-calendar .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-calendar-date{background:#f1f5ff}.dashboard-calendar .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-calendar-date-value:after{display:none}.dashboard-calendar-events{display:grid;gap:3px;margin-top:4px;max-height:46px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#c4d2ed transparent;scrollbar-width:thin}.dashboard-calendar-event{align-items:center;background:transparent;border:0;border-radius:5px;color:#3a4b69;cursor:pointer;display:flex;font:inherit;font-size:11px;gap:5px;line-height:1.25;overflow:hidden;padding:1px 3px;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.dashboard-calendar-event:hover,.dashboard-calendar-event:focus-visible{background:#ffece9;color:#b42318;outline:none}.dashboard-calendar-event>span{background:#f04438;border-radius:50%;flex:0 0 6px;height:6px;width:6px}.dashboard-calendar-event.is-control-work{color:#6d28d9;font-weight:700}.dashboard-calendar-event.is-control-work>span{background:#7c3aed}.dashboard-calendar-event.is-control-work:hover,.dashboard-calendar-event.is-control-work:focus-visible{background:#f3efff;color:#5b21b6}.dashboard-calendar-event.is-makeup-lesson{color:#047857;font-weight:700}.dashboard-calendar-event.is-makeup-lesson>span{background:#10b981}.dashboard-calendar-event.is-makeup-lesson:hover,.dashboard-calendar-event.is-makeup-lesson:focus-visible{background:#ecfdf5;color:#065f46}.dashboard-calendar-event.is-one-time-lesson{color:#92400e;font-weight:700}.dashboard-calendar-event.is-one-time-lesson>span{background:#f59e0b}.dashboard-calendar-event.is-one-time-lesson:hover,.dashboard-calendar-event.is-one-time-lesson:focus-visible{background:#fffbeb;color:#78350f}.calendar-item-details .ant-descriptions-item-label{color:#6b7a93;font-weight:650;width:115px}.calendar-item-details .ant-descriptions-item-content{color:#24385e}.calendar-day-free-summary{background:#f0f9f3;border:1px solid #cfeeda;border-radius:12px;display:grid;gap:8px;margin-bottom:16px;padding:13px}.calendar-day-free-summary .ant-tag,.calendar-day-items .ant-list-item-meta-title{margin-bottom:4px}.dashboard-calendar-more{color:#b42318;font-size:11px;font-weight:750;padding-left:3px}.lesson-index{width:28px;height:28px;flex:none;border-radius:8px;background:#eef2ff;color:#3f5bd9;font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;margin-right:12px}.lesson-day-tag{margin-left:8px}.lesson-time{font-weight:600;color:#2f3440;margin-right:12px}.group-name-label{font-weight:500;color:#5b5f70;background:#f0f1f5;padding:1px 8px;border-radius:4px;margin-left:4px}.group-details-card .ant-card-body{padding:4px 0 0}.group-details-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.group-details-tags .ant-tag{margin-inline-end:0;border-radius:999px;font-weight:600}.group-details-summary .ant-descriptions-item-label{color:#6f7e97;font-weight:600}.group-details-summary .ant-descriptions-item-content{color:#293c5b}.group-student-list{max-height:360px;overflow:auto}.group-student-list .ant-list-item-meta-title{margin-bottom:2px;color:#283c5c;font-weight:650}.group-student-list .ant-list-item-meta-description{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px}.student-list-number{display:inline-grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#eaf0ff;color:#315dc6;font-size:12px;font-weight:750}.search{max-width:420px;margin-bottom:20px}.mobile-fab-wrap{display:none}.students-toolbar{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:20px}.students-toolbar .search{flex:1;max-width:420px;margin-bottom:0}.students-toolbar .page-add-btn{margin-left:auto}.students-mobile-panel{display:none}.students-mobile-list{width:100%}.students-mobile-card{border:1px solid #e5ebf5;border-radius:12px;box-shadow:0 6px 18px #1d34530f}.students-mobile-card .ant-card-body{padding:13px 14px}.students-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.students-mobile-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}.students-mobile-card-title .ant-typography{color:#283c5c;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.students-mobile-card-title .ant-tag,.students-mobile-groups .ant-tag{margin-inline-end:0}.students-mobile-phone{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:#315dc6;font-size:14px;font-weight:650;text-decoration:none}.students-mobile-phone:hover{color:#2049b6}.students-mobile-groups{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.student-wizard{width:100%}.student-wizard-steps{margin-bottom:22px}.student-wizard-steps .ant-steps-item-title{color:#283c5c!important;font-size:13px;font-weight:650;line-height:1.25}.student-wizard-form{min-height:252px}.student-wizard-step{display:none;gap:2px}.student-wizard-step.is-active{display:grid}.student-wizard-section-title{color:#283c5c!important;margin:0 0 8px!important}.student-wizard-note{display:block;margin:-4px 0 14px;font-size:13px;line-height:1.45}.student-wizard-footer{display:flex;justify-content:flex-end;gap:10px;width:100%}.student-wizard-footer .ant-btn{min-width:104px}@media(max-width:767px){.students-mobile-panel{display:block}.student-profile-hero{align-items:flex-start}.student-profile-avatar{flex-basis:50px;width:50px;height:50px;border-radius:14px;font-size:17px}.student-stat-grid,.student-groups-grid,.student-week-grid{grid-template-columns:1fr 1fr}.student-result-row{align-items:flex-start;flex-direction:column}.student-wizard-steps{margin-bottom:18px}.student-wizard-steps .ant-steps-item{padding-inline-start:0!important}.student-wizard-steps .ant-steps-item-title{font-size:11.5px}.student-wizard-form{min-height:310px}.student-wizard-footer{gap:8px}.student-wizard-footer .ant-btn{flex:1;min-width:0}}.login-page{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:clamp(26px,6vw,70px);background:linear-gradient(90deg,#dfe8f6 1px,transparent 1px),linear-gradient(180deg,#dfe8f6 1px,transparent 1px),linear-gradient(135deg,#f5f8ff,#eef5f1 46%,#f8fbff);background-size:54px 54px,54px 54px,auto}.login-page:before,.login-page:after{content:"";position:absolute;z-index:0;pointer-events:none}.login-page:before{top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,#183b7521 0%,transparent 45%),linear-gradient(315deg,#2c856323 0%,transparent 42%)}.login-page:after{right:-88px;bottom:34px;width:420px;height:420px;border:1px solid #3b6fbe18;border-radius:34px;background:linear-gradient(135deg,transparent 48%,#2558d812 49%,#2558d812 51%,transparent 52%),#ffffff30;transform:rotate(18deg)}.education-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.study-badge{position:absolute;display:inline-flex;min-width:136px;height:46px;align-items:center;gap:10px;padding:0 15px;border:1px solid #ffffff8a;border-radius:14px;color:#2d4771;background:#ffffff8a;box-shadow:0 16px 40px #24405f12;font-size:13px;font-weight:750;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:grab;opacity:.48;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .52s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.study-badge.is-dragging{cursor:grabbing;opacity:.94;box-shadow:0 24px 46px #24405f38;transition:none}.study-badge .anticon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;color:#fff;background:#2558d8;font-size:15px}.study-badge.math{top:10%;left:21%}.study-badge.history{top:10%;right:21%}.study-badge.science{bottom:13%;left:21%}.study-badge.geo{bottom:13%;right:21%}.study-badge.literature{top:43%;left:5%}.study-badge.reading{top:43%;right:5%}.study-badge.history .anticon{background:#8a5a2b}.study-badge.science .anticon{background:#15856d}.study-badge.geo .anticon{background:#6b5fcf}.study-badge.literature .anticon{background:#bd4d6b}.study-badge.reading .anticon{background:#d88625}.login-card{position:relative;z-index:1}.login-card.ant-card{width:min(440px,100%);overflow:hidden;border:1px solid #ffffff78;border-radius:22px!important;box-shadow:0 32px 82px #17365a33,0 8px 22px #ffffff38 inset,inset 0 1px #ffffffec,inset 0 -1px #ffffff4f;background:linear-gradient(145deg,#ffffff82,#ffffff42 45%,#dfeeff61);backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);animation:cardEnter .55s ease both}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(125deg,#ffffffdb 0%,#ffffff66 22%,transparent 42%),linear-gradient(315deg,#2558d820 0%,transparent 40%);opacity:.84;pointer-events:none}.login-card:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:21px;border:1px solid #ffffff5e;pointer-events:none}.login-card .ant-card-body{position:relative;z-index:1;padding:30px}.login-brand{padding:0;color:#17243b;font-size:20px;letter-spacing:.8px}.login-brand span{color:#2558d8}.login-card-header{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:26px}.login-card-header .login-brand{cursor:pointer;display:inline-flex;position:relative;z-index:2}.login-card-header .login-brand span{pointer-events:none}.test-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.test-profile-button.ant-btn{height:34px;padding:0 13px;color:#2d5c92;border:1px solid #ffffff8f;border-radius:999px;background:#ffffff5e;box-shadow:inset 0 1px #ffffffbd;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-size:12px;font-weight:750;transition:border-color .2s ease,box-shadow .2s ease,color .2s ease,transform .2s ease}.test-profile-button.ant-btn:hover{color:#fff!important;border-color:#15856d!important;background:#15856d!important;transform:translateY(-2px);box-shadow:0 10px 18px #15856d33}.login-form .ant-form-item{margin-bottom:17px}.login-form .ant-form-item-label>label{color:#344765;font-size:13px;font-weight:750}.login-form .ant-input-affix-wrapper{min-height:50px;border-color:#ffffff8f;border-radius:14px;background:#ffffff70;box-shadow:inset 0 1px #ffffffd6,0 10px 24px #1b3e6310;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.login-form .ant-input-affix-wrapper:hover{border-color:#b9cdee;background:#ffffff9e}.login-form .ant-input-affix-wrapper .anticon{color:#4f6b94}.login-form .ant-input-affix-wrapper input{color:#17243b;font-weight:650}.login-form .ant-input-affix-wrapper:focus,.login-form .ant-input-affix-wrapper-focused{border-color:#6d96ee;background:#ffffffc9;box-shadow:0 0 0 4px #2558d81c,0 12px 24px #24405f14,inset 0 1px #fff;transform:translateY(-1px)}.login-form .ant-btn-primary{height:52px;margin-top:7px;border:0;border-radius:14px;background:linear-gradient(100deg,#2558d8,#15856d);box-shadow:0 16px 28px #2558d838;font-weight:800;transition:box-shadow .2s ease,transform .2s ease,filter .2s ease}.login-form .ant-btn-primary:hover{background:linear-gradient(100deg,#214fc3,#117961)!important;box-shadow:0 18px 32px #15856d35;transform:translateY(-2px)}.login-form .ant-btn-primary:active{transform:translateY(0)}.login-panel-choice{display:grid;gap:10px;padding-top:4px}.teacher-existing-user-alert{margin:-2px 0 14px}@keyframes studyFloat{0%,to{transform:translateZ(0) rotate(-1deg)}50%{transform:translate3d(0,-12px,0) rotate(1deg)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.unread{background:#f0f5ff}.full-spinner{min-height:100vh;display:grid;place-items:center}.api-toast-root{position:fixed;top:18px;right:18px;z-index:99999;display:flex;width:min(390px,calc(100vw - 28px));flex-direction:column;gap:10px;pointer-events:none}.api-error-toast{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:12px;align-items:flex-start;padding:14px;border:1px solid #ffd4d4;border-left:4px solid #e53935;border-radius:14px;background:#fffffffa;box-shadow:0 18px 42px #4a172033;opacity:0;pointer-events:auto;transform:translate(18px);transition:opacity .18s ease,transform .18s ease}.api-error-toast.visible{opacity:1;transform:translate(0)}.api-error-toast-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#e53935,#ff6b6b);box-shadow:0 8px 18px #e5393530;font-size:18px;font-weight:900;line-height:1}.api-error-toast-text{min-width:0;color:#3b2430}.api-error-toast-text strong{display:block;margin-bottom:3px;color:#1f1f29;font-size:14px;font-weight:850}.api-error-toast-text span{display:block;color:#6f4450;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.api-error-toast-close{display:grid;width:28px;height:28px;place-items:center;padding:0;border:0;border-radius:8px;color:#8d5964;background:transparent;cursor:pointer;font-size:15px;font-weight:800;transition:background .16s ease,color .16s ease}.api-error-toast-close:hover{color:#e53935;background:#fff0f0}.group-card{position:relative;height:100%;overflow:hidden;border:1px solid #e3eaf7;border-radius:18px!important;box-shadow:0 8px 22px #1d34530b;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.group-card:before{content:"";position:absolute;top:0;left:0;right:0;z-index:1;height:4px;background:linear-gradient(90deg,#4f8bff,#7a6bff 55%,#b06bff)}.group-card:hover{transform:translateY(-4px);border-color:#c5d6fb;box-shadow:0 18px 36px #1d345326}.group-card .ant-card-head{min-height:68px;padding:0 18px;border-bottom-color:#edf1f7;background:linear-gradient(110deg,#fbfdff,#f1f6ff)}.group-card .ant-card-head-title{padding:18px 0;overflow:hidden}.group-card .ant-card-extra{padding:13px 0}.group-card .ant-card-body{display:flex;height:calc(100% - 68px);flex-direction:column;padding:18px}.group-card-title-link{display:flex;align-items:center;min-width:0;color:inherit}.group-card-title{display:block;flex:1;min-width:0;overflow:hidden;color:#172b55;font-size:17px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.group-card-title-arrow{flex:0 0 auto;margin-left:8px;color:#6d83b8;font-size:13px;transition:transform .2s ease,color .2s ease}.group-card-title-link:hover .group-card-title{color:#2558d8}.group-card-title-link:hover .group-card-title-arrow{transform:translate(3px);color:#2558d8}.group-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.group-card-tags .ant-tag{margin-inline-end:0;border-radius:999px;font-weight:600}.group-card .group-stat{margin-bottom:12px}.group-stat{display:flex;min-width:0;gap:10px;align-items:center;padding:10px;border:1px solid #e5ebf7;border-radius:12px;background:#f8faff}.group-stat>.anticon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#e7eeff;color:#3466db;font-size:18px}.money-icon{color:#1f9d55}.group-stat>.anticon.money-icon{background:#e3f3ea;color:#1f9d55}.group-stat div,.group-info-row div{display:flex;min-width:0;flex:1;flex-direction:column}.group-stat span,.group-info-row span{color:#7b879d;font-size:11px;line-height:1.35}.group-stat strong{overflow:hidden;color:#253856;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.group-stat strong small{color:#77849a;font-size:11px;font-weight:600}.group-info-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #edf1f7}.group-info-row>.anticon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;border-radius:7px;background:#f1f4fb;color:#6d83b8;font-size:12px}.group-info-row strong{overflow:hidden;color:#384966;font-size:12px;font-weight:600;line-height:1.55;text-overflow:ellipsis}.group-info-row small{margin-top:2px;color:#8591a5;font-size:11px}.group-description{margin:10px 0 0!important;padding:10px 12px;border-left:3px solid #91acf7;border-radius:0 8px 8px 0;background:#f7f9ff;color:#65728a;font-size:12px;line-height:1.55}.group-count{margin:18px 0 10px;font-weight:600}.group-detail-page{display:flex;flex-direction:column;gap:20px}.group-detail-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px;padding:26px 28px;border:1px solid #dbe6fb;border-radius:20px;background:radial-gradient(820px 240px at 92% -10%,#6c8ef1 0%,transparent 60%),radial-gradient(640px 220px at -6% 120%,#9ad7c0 0%,transparent 52%),linear-gradient(115deg,#fff,#f2f6ff 60%,#eef4ff);box-shadow:0 14px 34px #1d34531a}.group-detail-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border:1px solid #ffffff70;border-radius:34px;background:linear-gradient(135deg,transparent 48%,#ffffff3d 49%,#ffffff3d 51%,transparent 52%);transform:rotate(18deg);pointer-events:none}.group-detail-hero-top{display:flex;gap:16px;align-items:flex-start;position:relative;z-index:1}.group-detail-back{background:#fff!important;border-color:#dbe4f5!important;color:#315dc6!important;box-shadow:0 6px 16px #2558d81f;flex:0 0 auto}.group-detail-back:hover{background:#eef3ff!important;border-color:#c9d8f9!important}.group-detail-more{background:#fff!important;border-color:#dbe4f5!important;color:#315dc6!important;box-shadow:0 6px 16px #2558d81f}.group-detail-more:hover{background:#eef3ff!important;border-color:#c9d8f9!important}.group-detail-hero-main{flex:1;min-width:0}.group-detail-hero-title-row{display:flex;gap:16px;align-items:flex-start}.group-detail-hero-title{margin:0 0 6px!important;color:#172b55}.group-detail-hero-actions{display:flex;gap:8px;margin-inline-start:auto;flex:none}.group-detail-edit{flex:none}.group-detail-hero-tags{display:flex;flex-wrap:wrap;gap:6px}.group-detail-hero-tags .ant-tag{margin-inline-end:0;border-radius:999px;font-weight:600}.group-detail-hero-desc{margin:16px 0 0!important;padding:12px 16px;border-left:3px solid #91acf7;border-radius:0 10px 10px 0;background:#ffffffb8;color:#55627a;font-size:13px;line-height:1.6}.group-detail-hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.group-detail-hero-stat{display:flex;gap:11px;align-items:center;min-width:0;padding:13px 15px;border:1px solid #ffffffba;border-radius:14px;background:#ffffffd6;box-shadow:0 8px 20px #1d345312;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.group-detail-hero-stat>.anticon{color:#3466db;font-size:19px;flex:0 0 auto}.group-detail-hero-stat div{display:flex;min-width:0;flex-direction:column}.group-detail-hero-stat span{color:#7b879d;font-size:11px;line-height:1.3}.group-detail-hero-stat strong{overflow:hidden;color:#253856;font-size:15px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.group-detail-hero-stat strong small{color:#77849a;font-size:12px;font-weight:600}.group-detail-grid{margin-top:0!important}.group-detail-card{height:100%;border:1px solid #e3eaf7;border-radius:18px!important;box-shadow:0 8px 22px #1d34530b}.group-detail-card .ant-card-head{min-height:58px;border-bottom-color:#edf1f7}.group-detail-card .ant-card-head-title{padding:15px 0;color:#172b55;font-size:16px;font-weight:750}.group-detail-card .ant-card-body{padding:18px}.group-detail-card-icon{color:#3466db}.schedule-slot-list{display:flex;flex-direction:column;gap:10px}.schedule-slot-item{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e7edf9;border-radius:12px;background:#f8faff}.schedule-slot-item.is-next{border-color:#b7c9f7;background:linear-gradient(105deg,#f3f7ff,#e8efff);box-shadow:0 6px 16px #2558d819}.schedule-slot-item.is-next .schedule-day-chip{background:linear-gradient(135deg,#1d4ed8,#4f83f0)}.next-lesson-tag{margin-inline-end:0;margin-left:10px;border-radius:999px;background:#e7f7ef;border-color:#6cc29a;color:#1e8a5a;font-weight:700}.schedule-day-chip{flex:0 0 auto;min-width:52px;padding:5px 9px;border-radius:9px;background:linear-gradient(135deg,#2558d8,#5b8def);color:#fff;font-size:12px;font-weight:750;text-align:center}.schedule-day-full{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;color:#384966;font-size:13px;font-weight:650}.schedule-time-range{color:#253856;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.schedule-slot-item.is-rescheduled{background:#fbfbfd;border-style:dashed;border-color:#d4dae6}.schedule-slot-item.is-rescheduled .schedule-day-chip,.schedule-slot-item.is-rescheduled .schedule-day-full{text-decoration:line-through;text-decoration-thickness:1.5px}.schedule-slot-item.is-rescheduled .schedule-time-range{color:#3a4b69;text-decoration:none}.schedule-rescheduled-tag{margin-inline-end:0;margin-left:10px;border-radius:999px;background:#fff7e6;border-color:#f5c76b;color:#a16207;font-weight:700}.schedule-duration{color:#77849a;font-size:12px;font-weight:600}.schedule-lesson-action{margin-left:auto}.one-time-lesson-section{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:14px;border-top:1px dashed #dce5f5}.one-time-lesson-heading{color:#6b7a93;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.one-time-lesson-item{display:flex;gap:10px;align-items:center;padding:10px 14px;border:1px solid #f0e6c9;border-radius:12px;background:#fffdf5;flex-wrap:wrap}.one-time-lesson-date{color:#253856;font-size:14px;font-weight:700}.one-time-lesson-time{color:#77849a;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.one-time-lesson-comment{width:100%;color:#253856;font-size:13px;line-height:1.4;background:#faf6ea;border-radius:8px;padding:6px 10px;white-space:pre-wrap;overflow-wrap:anywhere}.one-time-lesson-actions{margin-left:auto;display:inline-flex;align-items:center}.group-homework-item{align-items:flex-start!important}.group-homework-title{color:#253856;font-weight:700;display:inline-flex;align-items:center;gap:7px;min-height:22px}.group-homework-title:hover{color:#2558d8}.group-homework-title:hover .group-homework-grade{color:#2558d8;border-color:#2558d8}.group-homework-grade{flex:none;font-size:12px;color:#7b879d;padding:3px;border:1px solid #d7deeb;border-radius:6px;background:#fff;transition:color .15s ease,border-color .15s ease,background .15s ease}.group-homework-title:hover .group-homework-grade{background:#eaf0ff}.group-homework-desc{margin-bottom:0!important;color:#55637c}.group-homework-dates{display:inline-flex;flex-wrap:wrap;gap:4px 16px;color:#77849a;font-size:12px;font-weight:600}.group-control-work-title{color:#253856;font-weight:700;display:inline-flex;align-items:center;gap:7px;min-height:22px}.group-control-work-title:hover{color:#2558d8}.group-control-work-title:hover .group-control-work-grade{color:#2558d8;border-color:#2558d8}.group-control-work-grade{flex:none;font-size:12px;color:#7b879d;padding:3px;border:1px solid #d7deeb;border-radius:6px;background:#fff;transition:color .15s ease,border-color .15s ease,background .15s ease}.group-control-work-title:hover .group-control-work-grade{background:#eaf0ff}.group-control-work-meta{color:#77849a;font-size:13px;font-weight:600}.group-detail-collapse{margin-bottom:0;border:1px solid #e3eaf7;border-radius:18px!important;box-shadow:0 8px 22px #1d34530b;background:#fff}.group-detail-collapse>.ant-collapse-item{border-bottom:none}.group-detail-collapse .ant-collapse-header{min-height:58px;padding:15px 18px!important;align-items:center}.group-detail-collapse .ant-collapse-header-text{color:#172b55;font-size:16px;font-weight:750}.group-detail-collapse .ant-collapse-content-box{padding:18px!important}.group-students-count{margin-inline-end:0;border-radius:999px;background:#eaf0ff;color:#315dc6;font-weight:750}.attendance-toggle{border:1px solid transparent;box-shadow:none}.ant-btn.attendance-toggle.is-attended.active,.ant-btn.attendance-toggle.is-attended.active:hover,.ant-btn.attendance-toggle.is-attended.active:focus,.ant-btn.attendance-toggle.is-attended.active:active{background:#16a34a;color:#fff;border-color:#16a34a}.ant-btn.attendance-toggle.is-attended:not(.active):hover,.ant-btn.attendance-toggle.is-attended:not(.active):focus,.ant-btn.attendance-toggle.is-attended:not(.active):active{background:transparent;color:#16a34a;border-color:#16a34a}.ant-btn.attendance-toggle.is-missing.active,.ant-btn.attendance-toggle.is-missing.active:hover,.ant-btn.attendance-toggle.is-missing.active:focus,.ant-btn.attendance-toggle.is-missing.active:active{background:#ef4444;color:#fff;border-color:#ef4444}.ant-btn.attendance-toggle.is-missing:not(.active):hover,.ant-btn.attendance-toggle.is-missing:not(.active):focus,.ant-btn.attendance-toggle.is-missing:not(.active):active{background:transparent;color:#ef4444;border-color:#ef4444}.group-detail-list-call{font-weight:600;color:#315dc6;border-radius:999px}.list-call-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.list-call-item{padding:10px 4px!important}.list-call-item .ant-list-item-action{margin-inline-start:12px}.list-call-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%}.list-call-count{font-size:13px;font-weight:650;color:#172b55}@media(max-width:600px){.list-call-footer{flex-direction:column;align-items:stretch}.list-call-footer>.ant-btn{width:100%}.list-call-footer-actions{width:100%}.list-call-footer-actions .ant-btn{flex:1}.list-call-count{text-align:center;padding:2px 0}}.student-item{padding:12px 4px!important}.student-item .ant-list-item-action{margin-inline-start:12px}.student-detail-header{padding:4px 0 16px}.student-profile-detail{display:grid;gap:18px}.student-profile-hero{display:flex;align-items:center;gap:14px;padding:4px 0 2px}.student-profile-avatar{display:grid;flex:0 0 58px;width:58px;height:58px;place-items:center;border-radius:16px;background:linear-gradient(135deg,#2558d8,#5d85ff);box-shadow:0 10px 22px #2558d833;color:#fff;font-size:20px;font-weight:800}.student-profile-main{min-width:0}.student-profile-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.student-profile-title-row .ant-tag{margin-inline-end:0}.student-profile-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;color:#66748c;font-size:13px}.student-profile-meta span{display:inline-flex;align-items:center;gap:6px}.student-detail-name{margin:0!important;color:#283c5c}.student-detail-contact{display:flex;flex-direction:column;gap:6px;padding:12px 14px;margin-bottom:20px;border-radius:12px;background:#f6f8fc;color:#3a4a66}.student-detail-contact-row{display:flex;align-items:center;gap:9px;font-size:14px;word-break:break-all}.student-detail-contact-row .anticon{color:#315dc6;font-size:15px}.student-phone{display:inline-flex;align-items:center;gap:8px;min-width:0}.student-phone>.anticon{color:#315dc6;font-size:15px;flex:none}.student-phone-call{color:inherit;text-decoration:none;white-space:nowrap}.student-phone-call:hover{color:#2558d8}.student-phone-copy{margin-inline-start:auto;padding-inline:8px;color:#7b879d;border-radius:8px}.student-phone-copy .anticon{font-size:13px}.student-phone-copy:hover{color:#2558d8}.student-phone-copy.is-copied{color:#22a06b}.student-phone-copy.is-copied .anticon{font-size:14px}.student-phone-empty{color:#9aa5b8}.student-fee-edit{margin-inline-start:0;padding-inline:4px;color:#7b879d;border-radius:8px}.student-fee-edit:hover{color:#2558d8}.student-fee-edit-controls{display:inline-flex;align-items:center;gap:6px}.student-fee-edit-controls .ant-input-number{width:130px}.student-fee-edit-controls .ant-btn .anticon{color:currentColor}.student-detail-parents-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}.student-profile-section{display:grid;gap:12px}.student-section-title{display:flex;align-items:center;gap:8px;color:#283c5c}.student-section-title .anticon{color:#315dc6}.student-detail-parents-count{display:inline-grid;min-width:20px;height:20px;padding:0 6px;place-items:center;border-radius:999px;background:#eaf0ff;color:#315dc6;font-size:12px;font-weight:750}.student-detail-parents{display:flex;flex-direction:column;gap:10px}.student-parent-card{padding:12px 14px;border:1px solid #e6ebf3;border-radius:12px;background:#fff;transition:border-color .2s ease}.student-parent-main{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-parent-name{color:#283c5c;font-size:14px;font-weight:700}.student-parent-relation{flex:none;padding:2px 10px;border-radius:999px;background:#f0f3f9;color:#7b879d;font-size:11.5px;font-weight:650}.student-parent-phone{display:flex;align-items:center;gap:6px;margin-top:6px;color:#566580;font-size:13.5px}.student-parent-phone .student-phone>.anticon{color:#7b879d;font-size:14px}.student-parent-phone .student-phone-copy{padding-inline:6px;font-size:12.5px}.student-avatar{background:linear-gradient(135deg,#eaf0ff,#dde8ff);color:#2558d8;font-weight:750}.student-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-stat-card{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid #e6ebf3;border-radius:12px;background:#fff}.student-stat-card strong{display:block;margin-top:2px;color:#1f3150;font-size:18px;line-height:1.15}.student-stat-label{display:block;color:#6f7e97;font-size:11.5px;line-height:1.25}.student-stat-icon{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:10px;font-size:17px}.student-stat-icon.is-blue{background:#eef3ff;color:#315dc6}.student-stat-icon.is-green{background:#eaf9ee;color:#15803d}.student-stat-icon.is-red{background:#fff0ef;color:#c4311d}.student-stat-icon.is-gold{background:#fff7df;color:#9a6700}.student-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-group-card{padding:12px 14px;border:1px solid #e6ebf3;border-radius:12px;background:#fff}.student-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.student-group-head strong{min-width:0;color:#283c5c;overflow-wrap:anywhere}.student-group-head .ant-tag{flex:0 0 auto;margin-inline-end:0}.student-group-meta{display:grid;gap:4px;margin-top:9px;color:#66748c;font-size:12.5px}.student-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.student-week-day{min-width:0;padding:10px;border:1px solid #e6ebf3;border-radius:12px;background:#fff}.student-week-day-head{display:grid;gap:3px}.student-week-day-head strong{color:#283c5c;font-size:12.5px;line-height:1.2}.student-week-day-head span{color:#7b879d;font-size:11px}.student-week-day-body{display:grid;gap:5px;margin-top:9px}.student-attendance-pill{display:block;border-radius:8px;font-size:11.5px;font-weight:700;line-height:1.25;padding:6px 7px}.student-attendance-pill.is-present,.student-attendance-counts .is-present{background:#eaf9ee;color:#15803d}.student-attendance-pill.is-absent,.student-attendance-counts .is-absent{background:#fff0ef;color:#c4311d}.student-attendance-pill.is-excused,.student-attendance-counts .is-excused{background:#eef3ff;color:#315dc6}.student-attendance-empty{color:#9aa5b8;font-size:11.5px}.student-attendance-summary{padding:12px 14px;border:1px solid #e6ebf3;border-radius:12px;background:#fff}.student-attendance-summary .ant-progress{margin-bottom:8px}.student-attendance-counts{display:flex;flex-wrap:wrap;gap:7px}.student-attendance-counts span{border-radius:999px;font-size:12px;font-weight:700;padding:5px 9px}.student-profile-mini{display:grid;gap:5px;margin-top:12px;color:#66748c;font-size:12.5px}.student-results-list{display:grid;gap:8px}.student-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #e6ebf3;border-radius:12px;background:#fff}.student-result-row strong{display:block;color:#283c5c}.student-result-row span{display:block;margin-top:3px;color:#66748c;font-size:12.5px}.student-result-row .ant-tag{flex:0 0 auto;margin-inline-end:0}.results-editor-hint{margin-bottom:14px!important}.results-editor-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.results-editor-student{display:flex;flex-direction:column;padding:12px;border:1px solid #e6ebf3;border-radius:14px;background:#fff;box-shadow:0 6px 18px #1d345308;transition:border-color .2s ease,box-shadow .2s ease}.results-editor-student:hover{border-color:#c9d7f5;box-shadow:0 8px 22px #1d345310}.results-editor-student.is-graded{border-color:#c9ecd9;background:#fbfffd}.results-editor-student-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.results-editor-student-number{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#eaf0ff,#dde8ff);color:#2558d8;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.results-editor-student-info{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.results-editor-student-name{color:#283c5c;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.results-editor-student-tag{margin:0;border-radius:999px;line-height:18px;font-size:11.5px;padding-inline:8px}.results-editor-student-body{display:flex;flex-direction:column;gap:8px;flex:1}.results-editor-score-input{width:100%}.results-editor-score-input .ant-input-group-addon{color:#5a6a86;font-size:12.5px;font-weight:650}.results-editor-score-input .ant-input-number,.results-editor-score-input .ant-input-number-input{font-size:13px}.results-editor-upload .ant-upload-list-picture-card .ant-upload-list-item{border-radius:10px}.results-editor-upload-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.results-editor-upload-buttons{display:flex;align-items:flex-start;gap:8px}.results-editor-upload-btn{width:102px;height:102px;border:1px dashed #d9d9d9;border-radius:10px;background:#fafafa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;color:#595959;cursor:pointer;transition:border-color .3s,color .3s}.results-editor-upload-btn:hover{border-color:#1677ff;color:#1677ff}.results-editor-upload-btn:active{border-color:#0958d9}.results-editor-upload-btn .anticon{font-size:20px}.ant-upload-disabled .results-editor-upload-btn{cursor:not-allowed;opacity:.6}@media(max-width:767px){.results-editor-list{grid-template-columns:1fr}}.grade-editor-progress{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;border-radius:12px;background:#f6f8fc;border:1px solid #e8edf6}.grade-editor-progress-text{flex:none;color:#283c5c;font-size:13px;font-weight:700;white-space:nowrap}.grade-editor-progress-bar{flex:1;min-width:60px;height:6px;border-radius:999px;background:#e3eaf7;overflow:hidden}.grade-editor-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2558d8,#5b8cff);transition:width .25s ease;min-width:4px}.grade-editor-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grade-editor-student{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #e6ebf3;border-radius:14px;background:#fff;box-shadow:0 6px 18px #1d345308;transition:border-color .2s ease,box-shadow .2s ease}.grade-editor-student:hover{border-color:#c9d7f5;box-shadow:0 8px 22px #1d345310}.grade-editor-student.is-done,.grade-editor-student.is-graded{border-color:#c9ecd9;background:#fbfffd}.grade-editor-student-head{display:flex;align-items:center;gap:9px;min-width:0}.grade-editor-student-number{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:linear-gradient(135deg,#eaf0ff,#dde8ff);color:#2558d8;font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums}.grade-editor-student-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#283c5c;font-size:13.5px;font-weight:700;cursor:pointer}.grade-editor-student-name:hover{color:#2558d8;text-decoration:underline}.grade-editor-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grade-editor-option{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border:1px solid #d7deeb;border-radius:10px;background:#fff;color:#55637c;font-size:13.5px;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.grade-editor-option:hover{border-color:#2558d8;color:#2558d8}.grade-editor-option.is-done.active{background:#eaf9ee;border-color:#22b455;color:#15803d}.grade-editor-option.is-not-done.active{background:#fff0ef;border-color:#f2654d;color:#c4311d}.grade-editor-option:disabled{cursor:not-allowed;opacity:.6}.grade-editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%}@media(max-width:1200px){.grade-editor-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.grade-editor-list{grid-template-columns:1fr}.grade-editor-progress{flex-wrap:wrap}.grade-editor-progress .ant-btn,.grade-editor-footer .ant-btn{flex:1}}.student-item .ant-list-item-meta-title{margin-bottom:2px}.student-name{color:#283c5c;font-weight:700;cursor:pointer}.student-name:hover{color:#2558d8;text-decoration:underline}.student-number{display:inline-grid;width:22px;height:22px;margin-right:8px;place-items:center;border-radius:50%;background:#eaf0ff;color:#315dc6;font-size:11px;font-weight:750}.student-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:#7b879d;font-size:12px}.attendance-select{display:block;margin:8px 0 16px}.attendance-students{margin-bottom:16px}.attendance-feedback{margin:0 0 16px}.full-width{width:100%}.schedule-slot-row{display:flex;gap:8px;align-items:flex-start;margin-top:8px}.schedule-edit-row .ant-form-item{margin-bottom:8px}.schedule-edit-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.delete-group-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%}.schedule-edit-alert{margin-bottom:16px}.schedule-conflict-warning{margin:-2px 0 10px;border:1px solid #f6d48d;border-radius:12px;background:linear-gradient(135deg,#fffaf0,#fff4d9)}.schedule-conflict-warning .ant-alert-message{color:#8a5300;font-weight:750}.schedule-conflict-warning .ant-alert-description{color:#815f20}.schedule-conflict-list{display:grid;gap:7px;margin-top:4px}.schedule-conflict-list>span{font-size:12px}.schedule-conflict-item{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,1fr) auto;align-items:center;gap:8px;padding:7px 9px;border:1px solid #f1d594;border-radius:8px;background:#fffdf8;color:#6c4a12;font-size:12px}.schedule-conflict-item strong{color:#7a4600}.schedule-conflict-item span:last-child{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.responsive-overlay-modal.ant-modal{max-width:calc(100vw - 32px);padding-bottom:0;top:24px}.responsive-overlay-modal .ant-modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);overflow:hidden}.responsive-overlay-modal .ant-modal-header,.responsive-overlay-modal .ant-modal-footer{flex:0 0 auto}.responsive-overlay-modal .ant-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:18px;scrollbar-color:#c4d2ed transparent;scrollbar-width:thin}.mobile-form-drawer .ant-drawer-header{align-items:center;position:relative}.mobile-form-drawer .ant-drawer-header-title{flex:1;min-width:0;padding-inline-end:40px}.mobile-form-drawer .ant-drawer-close{position:absolute;top:50%;right:8px;transform:translateY(-50%);flex:0 0 auto}.mobile-form-drawer .ant-drawer-content-wrapper{height:min(85vh,calc(100dvh - 24px))}.schedule-edit-remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #ffd6d6;border-radius:8px;background:#fff5f5;font-size:15px;line-height:1}.schedule-slot-row .ant-form-item{margin-bottom:8px}.schedule-day-field{flex:1;min-width:0}.schedule-time-field{width:112px;flex:0 0 112px}.schedule-remove-button{margin-top:4px;flex:0 0 auto}@media(max-width:991px){.header{min-height:56px;height:56px;padding:0 10px!important;gap:4px}.header-brand .brand-name{font-size:14px;letter-spacing:.8px}.header-brand{margin-right:0}.header-title{display:none}.header-actions{gap:6px;margin-left:auto}.ai-header-trigger.ant-btn{height:38px;width:38px}.account-menu-trigger.ant-btn{margin-left:0;max-width:min(52vw,220px);padding:4px 8px}.account-menu-name{font-size:13px}.page-search{display:none}.students-toolbar .page-search{display:flex;max-width:none;width:100%}}@media(max-width:767px){.ai-assistant-drawer-root.ant-drawer-right>.ant-drawer-content-wrapper,.ai-assistant-drawer.ant-drawer-content-wrapper{bottom:0!important;height:100dvh!important;left:0!important;max-width:100vw!important;right:0!important;top:0!important;width:100vw!important}.ai-assistant-drawer-root .ant-drawer-mask{top:0;right:0;bottom:0;left:0}.ai-assistant-drawer{width:100vw!important}.ai-assistant-drawer .ant-drawer-content{border-radius:0;height:100dvh;overflow:hidden}.ai-assistant-drawer .ant-drawer-body{max-width:100vw;overflow:hidden}}@media(max-width:600px){.ai-assistant-drawer.ant-drawer-right>.ant-drawer-content-wrapper{bottom:0;height:100dvh;left:0;max-width:100vw;right:0;top:0}.ai-assistant-drawer .ant-drawer-content-wrapper{width:100vw!important}.ai-assistant-drawer .ant-drawer-content{border-radius:0;height:100dvh;overflow:hidden}.ai-assistant-drawer .ant-drawer-header{min-height:54px;padding:10px 12px}.ai-assistant-drawer .ant-drawer-header-title,.ai-assistant-drawer .ant-drawer-title,.ai-assistant-drawer .ant-drawer-title .ant-space{min-width:0}.ai-assistant-drawer .ant-drawer-title .ant-tag{display:none}.ai-assistant-drawer .ant-drawer-extra .ant-btn{min-width:38px;padding-inline:10px}.ai-assistant-drawer .ant-drawer-extra .ant-btn .ant-btn-icon+span{display:none}.ai-drawer-title-icon{border-radius:9px;height:30px;width:30px}.ai-assistant-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 54px);overflow:hidden}.ai-assistant-history{border-bottom:1px solid #e3eaf6;border-right:0;max-height:118px;min-height:118px}.ai-history-head{display:none}.ai-history-list{max-width:100vw;overflow-x:auto;overflow-y:hidden;padding:9px 10px 11px;scroll-snap-type:x proximity}.ai-history-list .ant-spin-nested-loading,.ai-history-list .ant-spin-container{height:100%}.ai-history-list .ant-list-items{display:flex;gap:8px;height:100%}.ai-history-item.ant-list-item{align-self:stretch;flex:0 0 224px;min-height:78px;padding:8px 9px;scroll-snap-align:start}.ai-history-icon{border-radius:9px;flex-basis:30px;height:30px;width:30px}.ai-history-copy strong{font-size:12.5px}.ai-history-copy small{font-size:11px}.ai-chat-panel{min-height:0;overflow:hidden}.ai-chat-toolbar{align-items:stretch;flex-direction:column;gap:8px;min-height:0;overflow:visible;padding:7px 10px}.ai-chat-toolbar .ant-segmented{flex:1;min-width:0;width:100%}.ai-chat-toolbar .ant-segmented-item-label{min-height:32px;overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap}.ai-chat-toolbar .ant-segmented-item-icon{margin-inline-end:3px}.ai-provider-controls{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.ai-provider-controls .ant-select:first-child,.ai-provider-controls .ant-select:last-child{width:100%}.ai-chat-messages{gap:10px;padding:14px 10px}.ai-message{gap:8px;grid-template-columns:28px minmax(0,1fr);max-width:100%;width:100%}.ai-message.is-teacher{grid-template-columns:minmax(0,1fr) 28px}.ai-message-avatar{flex-basis:28px;font-size:12px;height:28px;width:28px}.ai-message-bubble{border-radius:12px;line-height:1.55;padding:9px 11px 10px}.ai-message-bubble .ant-typography{font-size:13px;line-height:1.55}.ai-message-role{font-size:10.5px;margin-bottom:4px}.ai-empty-state{min-height:180px;padding:0 12px}.ai-empty-state>.anticon{border-radius:15px;font-size:24px;height:54px;margin-bottom:10px;width:54px}.ai-empty-state h4.ant-typography{font-size:17px}.ai-composer{gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.ai-composer-meta{gap:6px}.ai-composer-meta .ant-typography{display:none}.ai-composer .ant-input{max-height:112px;overflow-y:auto!important}.ai-composer-actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.ai-composer-actions .ant-btn{min-width:0}.ai-message{align-items:end}.ai-message-avatar{align-self:end;margin-bottom:2px}.ai-message.is-teacher .ai-message-bubble{justify-self:end;max-width:100%;width:fit-content}.ai-message.is-teacher .ai-message-role{display:none}.ai-message.is-teacher .ai-message-bubble .ant-typography{text-align:left}.mobile-fab-wrap{display:block}.students-toolbar{align-items:stretch;display:flex;margin-bottom:14px}.page-add-btn{display:none}.content{padding:20px 14px 28px}.dashboard-nav{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:auto;max-width:520px;padding-inline:2px;width:100%}.dashboard-module,.dashboard-nav-btn{max-width:100%}.dashboard-nav-btn{align-items:center;border-radius:14px;flex-direction:column;gap:9px;justify-content:center;min-height:118px;padding:12px 8px;text-align:center}.dashboard-nav-icon{border-radius:12px;flex:0 0 44px;font-size:21px;height:44px;width:44px}.dashboard-nav-label{flex:0 1 auto;font-size:12.5px;line-height:1.3;min-width:0;overflow-wrap:anywhere;text-align:center}.dashboard-nav-count{right:8px;top:8px;transform:none}.user-box .ant-btn{padding-inline:6px}.page-heading{align-items:start;gap:10px}.page-heading h2{font-size:24px}.schedule-slot-row{gap:6px}.schedule-time-field{width:94px;flex-basis:94px}.ant-table-wrapper{overflow-x:auto}.students-mobile-panel{display:block}.students-mobile-card .ant-btn{flex:0 0 auto}.students-mobile-phone{min-height:32px}.student-stat-grid,.student-groups-grid,.student-week-grid{grid-template-columns:1fr}.student-stat-card{padding:11px}.student-detail-contact{padding:11px 12px}.student-profile-meta,.student-attendance-counts{flex-direction:column;align-items:stretch}.ant-modal{max-width:calc(100vw - 24px)!important;margin:12px auto}.ant-modal-content{border-radius:12px}.mobile-form-drawer .ant-drawer-body{padding:20px 16px 32px}.mobile-form-drawer .ant-drawer-content{border-radius:18px 18px 0 0}.page-heading .ant-btn{white-space:normal;height:auto;min-height:32px}.profile-hero .ant-card-body{align-items:center;flex-direction:column;gap:16px;text-align:center}.profile-hero-avatar .ant-avatar{width:64px;height:64px;font-size:24px;line-height:64px}.profile-hero-info{width:100%}.profile-hero-tags,.profile-hero-contact{justify-content:center}.profile-hero-contact span{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.profile-settings-grid .ant-descriptions-view table{table-layout:fixed}.profile-settings-grid .ant-descriptions-item-container{align-items:flex-start;flex-direction:column;gap:5px}.profile-settings-grid .ant-descriptions-item-content{max-width:100%;overflow-wrap:anywhere}.group-detail-hero{gap:16px;padding:16px 14px;border-radius:16px}.group-detail-hero-top{gap:12px}.group-detail-hero-title-row{gap:12px;align-items:flex-start}.group-detail-hero-title-row>div:first-child{flex:1;min-width:0}.group-detail-hero-title{font-size:21px!important;line-height:1.25!important}.group-detail-edit{margin-inline-start:0;margin-top:2px}.group-detail-hero-desc{margin-top:12px!important;padding:10px 12px;font-size:12px}.group-detail-hero-stats{grid-template-columns:1fr;gap:8px}.group-detail-hero-stat{gap:10px;padding:10px 12px}.group-detail-hero-stat strong{font-size:14px}.group-detail-card .ant-card-body{padding:14px}.group-detail-card .ant-card-head-title{font-size:15px}.schedule-slot-item{display:grid;grid-template-columns:52px 1fr;grid-template-areas:"chip day" "chip time" "chip duration";column-gap:12px;row-gap:5px;padding:12px}.schedule-day-chip{grid-area:chip;align-self:start}.schedule-day-full{grid-area:day;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.schedule-time-range{grid-area:time}.schedule-duration{grid-area:duration;margin-left:0}.schedule-lesson-action{grid-column:2;justify-self:start;margin-left:0}.one-time-lesson-item{padding:10px}.one-time-lesson-actions{margin-left:0}.next-lesson-tag{height:28px;min-height:28px;line-height:26px;margin:0;display:inline-flex;align-items:center}.group-detail-card .ant-card-head{flex-wrap:wrap;gap:4px 10px;padding:12px 14px;min-height:auto}.group-detail-card .ant-card-head-title{white-space:normal;padding-inline-end:0}.group-detail-card .ant-card-extra .ant-btn{min-height:34px;display:inline-flex;align-items:center;justify-content:center}.group-homework-dates{flex-direction:column;align-items:flex-start;gap:4px;width:100%}.group-homework-item .ant-list-item-meta{align-items:flex-start}.group-homework-item .ant-list-item-meta-title{margin-bottom:4px}.group-control-work-item .ant-list-item-meta{align-items:flex-start}}.public-result-page,.public-result-state{min-height:100vh;display:grid;place-items:center;padding:28px 16px;background:linear-gradient(145deg,#edf3ff,#f9fbff 58%,#f4f7ff)}.public-result-card{width:min(100%,680px);box-shadow:0 18px 55px #2558d824}.public-homework-page{background:transparent}@media(max-width:767px){input,textarea,select{font-size:16px!important}.login-page{padding:22px 14px}.education-backdrop,.study-badge{pointer-events:none}.study-badge{min-width:88px;height:36px;gap:5px;padding:0 9px;font-size:10px;opacity:.34}.study-badge .anticon{width:22px;height:22px;border-radius:7px;font-size:12px}.study-badge.math{top:7%;left:calc(50% - 100px)}.study-badge.history{top:7%;right:auto;left:calc(50% + 12px)}.study-badge.literature{top:19%;right:auto;left:calc(50% - 44px)}.study-badge.reading{top:auto;right:auto;left:calc(50% + 12px);bottom:8%}.study-badge.science{bottom:8%;left:calc(50% - 100px)}.study-badge.geo{bottom:19%;right:auto;left:calc(50% - 44px)}.page-heading:has(.group-filter-select){flex-wrap:wrap}.page-heading:has(.group-filter-select) .ant-space-item:last-child{flex-basis:100%;max-width:100%}.group-filter-select{min-width:0!important;max-width:none!important;width:100%}.dashboard-calendar-card .ant-card-head{align-items:flex-start;flex-wrap:wrap;gap:4px 10px;padding:11px 14px}.dashboard-calendar-card .ant-card-head-title{font-size:14px;padding:0;white-space:normal}.dashboard-calendar-card .ant-card-extra{font-size:11px;padding:0}.dashboard-calendar-card .ant-card-body{padding:8px 7px 12px}.dashboard-calendar .ant-picker-calendar-header{align-items:stretch;flex-direction:column;gap:8px;padding:7px 5px 11px}.dashboard-calendar-toolbar strong{font-size:15px;min-width:175px}.dashboard-calendar-today-button.ant-btn{font-size:12px;margin-right:1px;padding-inline:5px}.dashboard-calendar .ant-picker-calendar-header .ant-picker-calendar-year-select,.dashboard-calendar .ant-picker-calendar-header .ant-picker-calendar-month-select{flex:1}.dashboard-calendar .ant-picker-calendar-date{height:94px;margin:0 1px;padding:5px 2px 2px}.dashboard-calendar-cell{height:94px;min-height:94px;margin:0 1px;padding:5px 2px 2px}.dashboard-calendar-day{font-size:12px}.dashboard-calendar-free{font-size:8px}.dashboard-calendar .ant-picker-calendar-date-value{font-size:12px}.dashboard-calendar .ant-picker-content thead th:before{font-size:9px}.dashboard-calendar-events{gap:1px;margin-top:2px;max-height:46px}.dashboard-calendar-event{font-size:9px;gap:3px;padding:1px}.dashboard-calendar-event>span{flex-basis:5px;height:5px;width:5px}.dashboard-calendar .ant-picker-content tbody tr{height:94px}}.student-info-link{background:none;border:0;padding:0;color:var(--ant-color-link, #1677ff);font:inherit;font-weight:600;text-align:inherit;cursor:pointer}.student-info-link:hover{text-decoration:underline}.student-info-link:focus-visible{outline:2px solid #1677ff;outline-offset:3px;border-radius:2px}.global-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 30% 20%,rgba(219,232,255,.7),transparent 55%),radial-gradient(ellipse at 80% 85%,rgba(224,222,255,.55),transparent 50%),#f7f9fdeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.global-loading-card{box-sizing:border-box;width:min(100%,320px);display:flex;flex-direction:column;align-items:center;padding:36px 28px 28px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:linear-gradient(145deg,#fffffff2,#ffffffb8);box-shadow:0 24px 70px -28px #2558d838,0 2px 8px #1f346508;color:#172b4d;text-align:center;animation:global-loading-enter .25s ease-out both}.global-loading-emblem{position:relative;width:92px;height:92px;display:grid;place-items:center;margin-bottom:22px}.global-loading-orbit{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #e0e8fa;border-top-color:#4777ed;border-right-color:#98b3f7;border-radius:50%;animation:global-loading-spin 2s linear infinite}.global-loading-orbit:after{content:"";position:absolute;top:10px;right:10px;width:6px;height:6px;border-radius:50%;background:#4777ed;box-shadow:0 0 0 4px #4777ed17}.global-loading-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(140deg,#477aef,#2558d8 65%,#4053cc);box-shadow:0 8px 18px -6px #2558d866,inset 0 1px #ffffff40}.global-loading-icon svg{width:32px;height:32px}.global-loading-brand{font-size:10px;font-weight:700;letter-spacing:.2em;color:#7b8baa}.global-loading-title{margin-top:10px;font-size:21px;font-weight:600;line-height:1.5}.global-loading-description{margin-top:6px;font-size:13px;line-height:1.6;color:#7b879c}.global-loading-dots{display:flex;gap:6px;margin-top:24px;height:8px;align-items:center}.global-loading-dots i{width:5px;height:5px;border-radius:50%;background:#4777ed;animation:global-loading-pulse 1.4s ease-in-out infinite}.global-loading-dots i:nth-child(2){animation-delay:.16s}.global-loading-dots i:nth-child(3){animation-delay:.32s}.global-loading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:2500;overflow:hidden;background:#dce6fba6;pointer-events:none}.global-loading-progress:after{content:"";display:block;width:35%;height:100%;border-radius:999px;background:linear-gradient(90deg,transparent,#477aef,#2558d8,#8a9af2,transparent);animation:global-loading-slide 1.6s ease-in-out infinite}@keyframes global-loading-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes global-loading-spin{to{transform:rotate(360deg)}}@keyframes global-loading-pulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:1;transform:scale(1.15)}}@keyframes global-loading-slide{0%{transform:translate(-100%)}to{transform:translate(390%)}}@media(prefers-reduced-motion:reduce){.global-loading-card,.global-loading-orbit,.global-loading-dots i,.global-loading-progress:after{animation:none}.global-loading-progress:after{width:100%}}.homework-sms-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.homework-sms-list{max-height:min(420px,48dvh);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #f0f0f0}.homework-sms-list .homework-sms-row{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;padding:9px 2px}.homework-sms-person{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.homework-sms-name{font-size:13px;font-weight:500;overflow-wrap:anywhere}.homework-sms-phone{font-size:11px;color:#8c8c8c}.homework-sms-status{flex-shrink:0;font-size:11px;color:#8c8c8c}.homework-sms-status.is-viewed{color:#389e0d}.homework-sms-link{flex-shrink:0;font-size:12px;white-space:nowrap}@media(max-width:400px){.homework-sms-list .homework-sms-row{gap:8px}.homework-sms-status{font-size:10px}}.homework-history-summary{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 14px;background:#f7f8fa;border-radius:10px;color:#667085;font-size:12px}.homework-history-summary strong{font-size:17px;margin-right:4px;color:#344054}.homework-history .is-viewed{color:#389e0d}.homework-history-hint{color:#8c8c8c;font-size:12px;margin:10px 0 14px}.homework-history-scroll{max-height:56dvh;overflow-y:auto;overscroll-behavior:contain}.homework-history-students.ant-collapse>.ant-collapse-item{border:1px solid #eaecf0;border-radius:10px;margin-bottom:8px;overflow:hidden}.homework-history-students.ant-collapse>.ant-collapse-item>.ant-collapse-header{align-items:center;padding:12px;color:#344054}.homework-history-students .ant-collapse-header-text{min-width:0}.homework-history-student{display:flex;align-items:center;justify-content:space-between;gap:12px}.homework-history-identity,.homework-history-metrics{display:flex;flex-direction:column;gap:4px;min-width:0}.homework-history-name{font-size:13px;font-weight:600;overflow-wrap:anywhere}.homework-history-muted{font-size:11px;color:#8c8c8c}.homework-history-metrics{text-align:right;flex-shrink:0}.homework-history-status{font-size:12px;color:#8c8c8c}.homework-history-copy{margin-left:12px}.homework-history-students .ant-collapse-content>.ant-collapse-content-box{padding:0 12px 12px}.homework-history-details{border-top:1px solid #eaecf0;padding-top:12px}.homework-history-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f7f8fa;padding:10px 12px;border-radius:8px;margin-bottom:8px}.homework-history-dates>div{display:flex;flex-direction:column;gap:4px}.homework-history-dates span,.homework-history-visit span{color:#8c8c8c;font-size:11px}.homework-history-dates strong,.homework-history-visit strong{font-size:12px;font-weight:500;color:#344054;font-variant-numeric:tabular-nums}.homework-history-visits{max-height:280px;overflow-y:auto}.homework-history-visit{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid #f0f0f0}.homework-history-visit:last-child{border-bottom:none}.homework-history-visit-number{width:22px;flex-shrink:0;text-align:center}.homework-history-visit-main,.homework-history-activity{display:flex;flex-direction:column;gap:4px}.homework-history-activity{margin-left:auto;text-align:right}.homework-history-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.homework-history-footer>span{font-size:11px;color:#8c8c8c}@media(max-width:480px){.homework-history-students.ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:10px 8px}.homework-history-student{align-items:flex-start;flex-direction:column;gap:6px}.homework-history-metrics{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;text-align:left}.homework-history-visit{flex-wrap:wrap}.homework-history-activity{width:100%;padding-left:32px;margin-left:0;text-align:left}.homework-history-dates{grid-template-columns:1fr}}
