@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Open+Sans:wght@400;500;600;700;800&display=swap";html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{font-family:Manrope,sans-serif;--app-header-offset: 58px;--app-content-gutter: 24px;--catalog-pane-top: calc(var(--app-header-offset) + 16px);--catalog-pane-bottom: 24px;--layout-shift-duration: .22s;--layout-shift-easing: ease;line-height:1.5;font-weight:500;color:#1e2025;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh;background:radial-gradient(circle at 8% 8%,rgba(16,163,127,.18),transparent 42%),radial-gradient(circle at 96% 10%,rgba(24,144,255,.16),transparent 36%),#f2f5f9}.app-layout{min-height:100vh;overflow-x:hidden}.app-sider{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 18%),linear-gradient(180deg,#0e1824,#132334 56%,#183244);box-shadow:14px 0 30px #09111d29;transition:width var(--layout-shift-duration) var(--layout-shift-easing)}.app-sider-fixed{position:fixed;top:0;left:0;z-index:20;width:252px;height:100vh}.app-sider-collapsed{width:78px}.app-sider-inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:14px 10px;transition:padding .22s ease;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(174,204,221,.38) transparent}.app-sider-inner-collapsed{padding:14px 8px}.app-sider-inner::-webkit-scrollbar{width:6px}.app-sider-inner::-webkit-scrollbar-track{background:transparent}.app-sider-inner::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(180deg,#afcfdf6b,#7da1b8ad)}.app-sider-inner::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c5e1ee8f,#8eb4cbd6)}.sidebar-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.sidebar-topbar-collapsed{flex-direction:column;align-items:center}.brand-box{display:flex;align-items:center;gap:10px;padding:6px 6px 12px;flex:1 1 auto}.brand-box-collapsed{justify-content:center;padding-inline:0;padding-bottom:8px;flex:0 0 auto}.brand-box-button{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.brand-box-button-collapsed{display:inline-flex;justify-content:center;align-items:center;gap:0;width:auto;flex:0 0 auto;align-self:center}.brand-image{display:block;width:58px;height:auto;flex:0 0 auto;object-fit:contain}.brand-box-collapsed .brand-image,.brand-box-button-collapsed .brand-image{width:42px}.brand-box-button-collapsed:focus-visible{outline-offset:4px}.brand-image-public{width:42px;height:auto}.brand-copy{min-width:0;transition:opacity .16s ease,width .16s ease}.brand-title.ant-typography{margin:0;font-family:Manrope,sans-serif;letter-spacing:.02em;font-size:.96rem;line-height:1.1}.brand-wordmark{display:inline-flex;align-items:baseline;gap:0}.brand-wordmark-cool{color:#1f5faa}.brand-wordmark-fire{color:#ff8a1f}.brand-subtitle.ant-typography{color:#e2edf5ad!important;font-size:.76rem}.app-menu{flex:1 1 auto;min-height:0;overflow:visible;scrollbar-gutter:stable;background:transparent!important;border-inline-end:0!important}.app-menu.ant-menu{color:#e2edf5d1}.app-menu.ant-menu-inline .ant-menu-item-group-title{padding:10px 10px 6px;color:#c3dae780;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.app-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{display:none}.app-menu.ant-menu-inline-collapsed .ant-menu-item-group-list{margin-top:0;padding-top:10px;border-top:1px solid rgba(189,211,223,.14)}.app-menu.ant-menu-inline-collapsed .ant-menu-item-group:first-child .ant-menu-item-group-list{padding-top:0;border-top:0}.app-menu.ant-menu-inline .ant-menu-item{height:40px;margin:4px 0;border-radius:12px;line-height:40px;font-weight:700;font-size:.94rem;color:#ecf4f9d1}.app-menu.ant-menu-dark.ant-menu-inline .ant-menu-item:hover{background:#ffffff0f;color:#fff}.app-menu.ant-menu-dark .ant-menu-item-selected{background:linear-gradient(135deg,#31c6a329,#1c8cff38)!important;color:#fff!important;box-shadow:inset 0 0 0 1px #9be3ff1f}.app-menu.ant-menu-dark .ant-menu-item .ant-menu-item-icon{font-size:.95rem}.sidebar-user-box{display:grid;gap:6px;margin-top:auto;padding:14px 0 0;border-top:1px solid rgba(189,211,223,.16);border-radius:0;background:transparent;box-shadow:none}.sidebar-user-trigger{display:grid;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.sidebar-user-trigger-collapsed{justify-items:center}.sidebar-user-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-user-name{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:.82rem;font-weight:800}.sidebar-user-avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:linear-gradient(180deg,#ffffff29,#ffffff14);color:#eff7fceb;box-shadow:inset 0 1px #ffffff2e;flex:0 0 auto}.sidebar-user-box .ant-tag{margin-inline-end:0;border-radius:7px;font-size:.68rem;font-weight:700;padding-inline:7px}.sidebar-user-box .lang-switcher{display:inline-flex;width:fit-content}.sidebar-user-tools{display:flex;align-items:center;gap:8px;margin-top:8px}.sidebar-user-tools-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#ffffff14;color:#e4eef5db;flex:0 0 auto}.sidebar-user-box .lang-switcher .ant-space-item{display:flex}.sidebar-user-box .lang-switcher-btn.ant-btn{padding-inline:6px;height:28px;color:#e4eef5e0}.sidebar-user-box .lang-switcher-btn.ant-btn:hover,.sidebar-user-box .lang-switcher-btn.ant-btn:focus{color:#fff!important;background:#ffffff14!important}.sidebar-user-box .lang-switcher-btn.ant-btn-primary,.sidebar-user-box .lang-switcher-btn.ant-btn-primary:hover,.sidebar-user-box .lang-switcher-btn.ant-btn-primary:focus{color:#fff!important}.sidebar-user-box-collapsed{justify-items:center}.sidebar-user-name-collapsed{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#ffffff1f;font-size:.88rem}.sidebar-user-box-collapsed>.ant-btn{min-width:0;width:100%;padding-inline:0}.app-main{min-height:100vh;min-width:0;--app-shell-left: 0px}.app-main-with-sider{--app-shell-left: 252px;margin-left:252px;width:calc(100% - 252px);transition:margin-left var(--layout-shift-duration) var(--layout-shift-easing),width var(--layout-shift-duration) var(--layout-shift-easing)}.app-main-with-sider-collapsed{--app-shell-left: 78px;margin-left:78px;width:calc(100% - 78px)}.app-sider .ant-layout-sider-trigger{display:none}.app-content{display:flex;flex-direction:column;flex:1;padding:var(--app-header-offset) var(--app-content-gutter) var(--app-content-gutter);min-height:100vh;min-width:320px;overflow-x:hidden;min-width:0}.page-stack{flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column}.page-stack>.ant-space-item:nth-child(3){flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.page-main-slot{flex:1 1 auto;min-height:100%;display:flex;flex-direction:column}.teacher-page-main-slot{overflow:hidden}.section-title.ant-typography{margin:0;font-family:Manrope,sans-serif}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;top:0;z-index:20;left:252px;right:0;min-height:44px;padding:14px 24px 10px;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);background:linear-gradient(180deg,#f8fbff00,#f8fbff00);box-shadow:0 0 #9fb1c200;transition:left var(--layout-shift-duration) var(--layout-shift-easing),right var(--layout-shift-duration) var(--layout-shift-easing),padding var(--layout-shift-duration) var(--layout-shift-easing),background .18s ease,box-shadow .18s ease,backdrop-filter .18s ease,-webkit-backdrop-filter .18s ease}.app-main-scrolled .page-title-row{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(180deg,#f8fbffb8,#f8fbff7a 72%,#f8fbff00);box-shadow:0 10px 24px #9fb1c21f}.page-title-row.page-title-row-timetable{border-bottom:1px solid #d9e4ee;backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;box-shadow:none}.app-main-scrolled .page-title-row.page-title-row-timetable{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;box-shadow:none}.page-title-main{display:flex;align-items:center;gap:12px;min-width:0}.page-title-main.page-title-main-timetable{align-items:center}.page-title-copy{min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;gap:2px}.page-title-copy.page-title-copy-timetable{display:flex;align-items:center;min-height:44px}.page-title-inline{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;line-height:1}.page-title-subtitle{color:#5f7794;font-size:.88rem;font-weight:700;line-height:1}.page-title-trigger.ant-btn{width:44px;height:44px;border-radius:12px;color:#18324a;background:#f8fbff85!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .18s ease,color .18s ease}.page-title-trigger.ant-btn:hover,.page-title-trigger.ant-btn:focus{color:#10263a!important;background:#f8fbffbd!important}.page-title-trigger.page-title-trigger-timetable.ant-btn{border:1px solid #d9e4ee!important;background:#fff!important;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .18s ease,color .18s ease,border-color .18s ease}.page-title-trigger.page-title-trigger-timetable.ant-btn:hover,.page-title-trigger.page-title-trigger-timetable.ant-btn:focus{border-color:#bfd4e6!important;background:#f8fbfe!important}.app-main-with-sider-collapsed .page-title-row{left:78px}.app-main:not(.app-main-with-sider) .page-title-row{left:0}.page-title-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.timetable-header-select{min-width:280px}.timetable-option-label{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25}.timetable-option-main{display:inline-flex;align-items:center;gap:8px}.timetable-option-label .ant-tag{margin-inline-end:0}.timetable-option-meta{font-size:12px;color:#00000073}.stat-card{border-radius:16px}.generate-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.users-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}.users-card-grid>.ant-card{height:fit-content}.users-card-grid .settings-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.users-settings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.teacher-group-editor-list{display:flex;flex-wrap:wrap;gap:10px}.teacher-group-editor-item{display:flex;align-items:center;padding:10px 12px;border:1px solid #dbe5ee;border-radius:12px;background:#f8fbfd;min-width:180px}.teacher-group-editor-name{font-weight:600;margin-left:6px}.teacher-subject-group-section{display:grid;gap:10px;padding:14px;border:1px solid #dbe5ee;border-radius:14px;background:#fff}.teacher-subject-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.time-settings-layout{display:grid;gap:16px}.time-settings-section{display:grid;gap:14px;padding:18px;border:1px solid #e0e8ef;border-radius:18px;background:radial-gradient(circle at top right,rgba(92,171,255,.08),transparent 28%),linear-gradient(180deg,#fffffffa,#f8fbfef5)}.time-settings-section-main{padding-bottom:8px}.time-settings-section-head{display:flex;align-items:flex-start;gap:12px}.time-settings-section-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:14px;font-size:1rem;flex:0 0 auto}.time-settings-section-icon.tone-blue{color:#1554c0;background:#eaf2ff}.time-settings-section-icon.tone-green{color:#1a7f5a;background:#e9f9f1}.time-settings-section-icon.tone-orange{color:#bc6a13;background:#fff3e6}.time-settings-section-title{font-size:1rem;font-weight:800;color:#17324a}.time-settings-section-text{margin-top:3px;font-size:.88rem;color:#6b8093;line-height:1.45}.time-settings-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.time-settings-shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.time-settings-shift-fields{grid-template-columns:repeat(2,minmax(160px,1fr))}.time-settings-actions{margin-top:16px}.dashboard-page{min-width:320px;min-height:620px}.dashboard-kicker{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4d807a}.dashboard-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.92fr);gap:22px;padding:28px;border-radius:32px;background:radial-gradient(circle at 12% 14%,rgba(69,197,170,.14),transparent 34%),radial-gradient(circle at 84% 18%,rgba(90,154,255,.12),transparent 30%),radial-gradient(circle at 78% 84%,rgba(121,219,191,.1),transparent 34%),linear-gradient(135deg,#fbfefd,#f2f8f7 46%,#eef5fb);box-shadow:0 26px 56px #11213114;border:1px solid rgba(214,226,232,.9)}.dashboard-hero:before,.dashboard-hero:after{content:"";position:absolute;inset:auto;pointer-events:none;filter:blur(12px);opacity:.95;z-index:0}.dashboard-hero:before{top:-64px;right:12%;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,#72e8ce1a,#72e8ce00)}.dashboard-hero:after{right:-40px;bottom:-74px;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle,#73b2ff1a,#73b2ff00)}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero-copy{min-width:0}.dashboard-hero-title.ant-typography{margin:8px 0 12px;font-family:Manrope,sans-serif;font-size:clamp(1.6rem,3.2vw,2.45rem);line-height:1.08;color:#102133}.dashboard-hero-text.ant-typography{max-width:60ch;margin-bottom:16px;color:#587083;font-size:.98rem}.dashboard-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.dashboard-hero-badge{padding:8px 12px;border-radius:999px;border:1px solid rgba(16,33,51,.08);background:#fffc;color:#4e6478;font-size:.78rem;font-weight:700;line-height:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dashboard-hero-badge.is-positive{background:#ecfbf5;color:#18795a}.dashboard-hero-badge.is-warn{background:#fff6e7;color:#9c6808}.dashboard-hero-badge.is-info{background:#eef5ff;color:#275ea8}.dashboard-hero-badge.is-live{background:#edf9f7;color:#14685f}.dashboard-hero-badge.is-neutral{color:#556d80}.dashboard-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.dashboard-hero-secondary.ant-btn{border-color:#d8e4ec;background:#fff;color:#1d3448}.dashboard-hero-panel{display:flex;align-items:stretch}.dashboard-hero-highlights{display:grid;gap:12px;width:100%}.dashboard-hero-highlight{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:20px;background:radial-gradient(circle at top right,rgba(99,217,191,.1),transparent 38%),linear-gradient(180deg,#ffffffe0,#f7fafdeb);border:1px solid rgba(211,224,232,.9);box-shadow:0 10px 22px #1121310d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-hero-highlight-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#52c7b5,#6fa8ff);color:#fff;font-size:1rem}.dashboard-hero-highlight-label{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#728898}.dashboard-hero-highlight-value{margin-top:4px;font-size:1.08rem;font-weight:800;color:#102133}.dashboard-stat-card{overflow:hidden;border:1px solid #dde7ee;box-shadow:0 14px 28px #1121310f}.dashboard-stat-card.tone-teal{background:radial-gradient(circle at top right,rgba(38,190,163,.16),transparent 34%),linear-gradient(160deg,#eefcf9,#fcfffe 62%)}.dashboard-stat-card.tone-blue{background:radial-gradient(circle at top right,rgba(77,139,255,.16),transparent 34%),linear-gradient(160deg,#eef5ff,#fbfdff 62%)}.dashboard-stat-card.tone-copper{background:radial-gradient(circle at top right,rgba(255,146,87,.16),transparent 34%),linear-gradient(160deg,#fff3eb,#fffdf9 62%)}.dashboard-stat-card.tone-violet{background:radial-gradient(circle at top right,rgba(133,117,255,.16),transparent 34%),linear-gradient(160deg,#f4f1ff,#fcfbff 62%)}.dashboard-stat-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.dashboard-stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#dce9ee;color:#11303b}.dashboard-stat-card.tone-teal .dashboard-stat-icon{background:#d8f3ee;color:#0f766e}.dashboard-stat-card.tone-blue .dashboard-stat-icon{background:#dbeafe;color:#2563eb}.dashboard-stat-card.tone-copper .dashboard-stat-icon{background:#ffe6d6;color:#c05621}.dashboard-stat-card.tone-violet .dashboard-stat-icon{background:#ece4ff;color:#6d28d9}.dashboard-stat-kicker{font-size:.82rem;font-weight:800;letter-spacing:.04em;color:#51677c}.dashboard-stat-text{margin-top:10px;color:#5b7388;font-size:.86rem;line-height:1.4}.dashboard-section{padding:22px;border-radius:24px;background:radial-gradient(circle at top left,rgba(78,200,182,.08),transparent 30%),radial-gradient(circle at bottom right,rgba(110,157,255,.06),transparent 28%),linear-gradient(180deg,#fff,#f6f9fc);box-shadow:0 16px 38px #1121310f;border:1px solid #dde6ef}.dashboard-section-head{margin-bottom:14px}.dashboard-section-title{margin:6px 0 0;font-family:Manrope,sans-serif;font-size:1.14rem;color:#102133}.dashboard-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-command-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:14px 15px;border:1px solid #d9e4ec;border-radius:18px;background:radial-gradient(circle at top right,rgba(87,209,191,.08),transparent 32%),linear-gradient(180deg,#fcfdff,#f5f8fb);text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.dashboard-command-card:hover{transform:translateY(-2px);border-color:#c0d6e4;box-shadow:0 14px 24px #11213114}.dashboard-command-card.tone-teal:hover{border-color:#9dd8ce}.dashboard-command-card.tone-blue:hover{border-color:#a8c7f2}.dashboard-command-card.tone-copper:hover{border-color:#f0c7ab}.dashboard-command-card.tone-violet:hover,.dashboard-command-card.tone-ink:hover{border-color:#c9bbef}.dashboard-command-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#ecf2f6;color:#133543;font-size:1rem}.dashboard-command-icon.tone-teal{background:linear-gradient(135deg,#d7f3ee,#e9fbf7);color:#0f766e}.dashboard-command-icon.tone-blue{background:linear-gradient(135deg,#ddeafe,#edf5ff);color:#2563eb}.dashboard-command-icon.tone-copper{background:linear-gradient(135deg,#ffe5d7,#fff1e8);color:#c05621}.dashboard-command-icon.tone-violet,.dashboard-command-icon.tone-ink{background:linear-gradient(135deg,#ece4ff,#f4efff);color:#6d28d9}.dashboard-command-copy{min-width:0}.dashboard-command-title{font-size:.98rem;font-weight:800;color:#102133}.dashboard-command-text{margin-top:4px;color:#617b90;font-size:.84rem;line-height:1.4}.dashboard-command-arrow{color:#7690a5}.dashboard-command-more.ant-btn{margin-top:12px;padding-left:0;font-weight:700}.dashboard-focus-card{height:100%;border:1px solid #dde6ee;background:radial-gradient(circle at top right,rgba(86,207,188,.1),transparent 34%),radial-gradient(circle at bottom left,rgba(94,153,255,.1),transparent 32%),linear-gradient(180deg,#fff,#f5f8fb)}.dashboard-focus-summary{padding:14px 16px;border-radius:18px;background:radial-gradient(circle at top right,rgba(91,176,255,.12),transparent 36%),radial-gradient(circle at bottom left,rgba(86,207,188,.08),transparent 28%),linear-gradient(135deg,#fff,#f3f8fb);border:1px solid #dce6ee}.dashboard-focus-label{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#71879a}.dashboard-focus-value{margin-top:6px;font-size:1.22rem;font-weight:800;color:#102133}.dashboard-focus-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.dashboard-focus-list{display:grid;gap:10px;margin-top:14px}.dashboard-focus-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:12px 14px;border:1px solid #dbe4eb;border-radius:16px;background:radial-gradient(circle at top right,rgba(87,205,189,.08),transparent 32%),linear-gradient(180deg,#fcfdff,#f5f8fb);text-align:left;cursor:pointer;color:#102133}.dashboard-focus-item-title{font-weight:800;color:#102133}.dashboard-focus-item-text{margin-top:4px;color:#617b90;font-size:.85rem;line-height:1.4}.filter-select{min-width:210px}.teacher-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,2fr);flex:1;min-height:0;gap:16px;align-items:start}.teacher-layout>*{min-height:0}.catalog-shell{min-width:0;min-height:0;overflow:visible}.catalog-splitter{min-height:inherit;height:auto!important;align-items:flex-start;background:transparent}.catalog-splitter-panel{min-width:0;min-height:0;height:auto;overflow:visible!important}.catalog-splitter-panel-list{padding-right:0;align-self:flex-start;min-height:calc(100dvh - var(--catalog-pane-top) - var(--catalog-pane-bottom))}.catalog-splitter-panel-editor{padding-left:0}.catalog-splitter>.ant-splitter-bar{position:fixed;top:var(--catalog-pane-top);left:calc(var(--app-shell-left, 0px) + var(--app-content-gutter) + var(--catalog-fixed-pane-width, 430px));height:calc(100dvh - var(--catalog-pane-top) - var(--catalog-pane-bottom))!important;z-index:2}.catalog-splitter>.ant-splitter-bar .ant-splitter-bar-dragger:before{background:transparent}.catalog-splitter>.ant-splitter-bar .ant-splitter-bar-dragger:after{width:2px;height:56px;border-radius:999px;background:linear-gradient(180deg,#7896b333,#627e9a85,#7896b333);box-shadow:0 0 0 1px #ffffffb3}.catalog-list-pane{position:fixed;top:var(--catalog-pane-top);left:calc(var(--app-shell-left, 0px) + var(--app-content-gutter));width:var(--catalog-fixed-pane-width, 430px);height:calc(100dvh - var(--catalog-pane-top) - var(--catalog-pane-bottom));max-height:calc(100dvh - var(--catalog-pane-top) - var(--catalog-pane-bottom));min-height:0}.catalog-editor-pane{min-width:0;margin-left:14px;overflow:visible}.catalog-list-pane>.ant-card{height:100%;min-height:0}.catalog-editor-pane>.ant-card{height:auto;min-height:0}.catalog-editor-pane>.ant-card>.ant-card-body{overflow:visible}.groups-layout{grid-template-columns:minmax(360px,1fr) minmax(0,2fr)}.teacher-detail-stack,.teacher-detail-inner{width:100%}.teacher-create-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr) minmax(0,1fr) auto;gap:10px;width:100%}.teacher-create-grid .ant-input,.teacher-create-grid .ant-select{width:100%}.teacher-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}.teacher-profile-grid .ant-input,.teacher-profile-grid .ant-select{width:100%}.teacher-subject-editor>.ant-space-item{width:100%}.teacher-subject-select{width:100%}.teacher-subject-select .ant-select-selector{min-height:52px!important;padding-top:8px!important;padding-bottom:8px!important;align-items:flex-start!important}.teacher-name-cell{font-weight:800;color:#112033}.teacher-email-cell{font-size:.82rem;color:#5f7488}.teacher-row-active>td{background:#eef8ff!important}.catalog-list-table .ant-table-tbody>tr.teacher-row-active>td.ant-table-cell-fix-left,.catalog-list-table .ant-table-tbody>tr.teacher-row-active>td.ant-table-cell-fix-right{background:#eef8ff!important}.catalog-list-table .ant-table-tbody>tr:hover>td,.catalog-list-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.catalog-list-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:#f7fbff!important}.catalog-list-table .ant-table-tbody>tr.teacher-row-active:hover>td,.catalog-list-table .ant-table-tbody>tr.teacher-row-active:hover>td.ant-table-cell-fix-left,.catalog-list-table .ant-table-tbody>tr.teacher-row-active:hover>td.ant-table-cell-fix-right{background:#eef8ff!important}.catalog-list-card{height:100%;max-height:100%;display:flex;flex-direction:column;align-self:stretch}.catalog-list-card .ant-card-head-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.catalog-list-card .ant-card-head-title{min-width:0;white-space:nowrap}.catalog-list-card .ant-card-extra{flex:1 1 auto;min-width:0}.teacher-list-card .ant-card-head-title{flex:0 0 auto}.teacher-list-card .ant-card-extra{display:flex;justify-content:flex-end}.teacher-list-card .catalog-list-search{margin-left:auto;flex:0 0 260px;width:260px;max-width:100%}.catalog-list-card .ant-card-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;padding-bottom:16px}.catalog-list-head-tools{display:flex;gap:10px;flex-wrap:nowrap;align-items:center;justify-content:flex-end;min-width:0}.catalog-list-search{width:auto;min-width:0;flex:1 1 220px}.catalog-list-sort-field{width:140px;flex:0 0 140px}.catalog-list-table-shell{flex:1;min-height:0;overflow:hidden;padding-bottom:8px;box-sizing:border-box}.catalog-list-table{height:100%;min-height:0;box-sizing:border-box}.catalog-list-table,.catalog-list-table .ant-spin-nested-loading,.catalog-list-table .ant-spin-container{height:100%;min-height:0}.catalog-list-table .ant-spin-nested-loading,.catalog-list-table .ant-spin-container,.catalog-list-table .ant-table,.catalog-list-table .ant-table-container{display:flex;flex-direction:column;min-height:0}.catalog-list-table .ant-table-wrapper,.catalog-list-table .ant-table,.catalog-list-table .ant-table-container,.catalog-list-table .ant-table-content{height:100%;min-height:0}.catalog-list-table .ant-table-body{flex:1 1 auto;min-height:0;padding-bottom:12px}.catalog-list-table .ant-table-thead>tr>th.ant-table-column-sort{background:#f8fafc!important}.catalog-list-table .ant-table-tbody>tr>td.ant-table-column-sort{background:#fafcff}.catalog-list-table .ant-table-tbody>tr:hover>td.ant-table-column-sort{background:#f7fbff!important}.catalog-list-table .ant-table-tbody>tr.teacher-row-active>td.ant-table-column-sort,.catalog-list-table .ant-table-tbody>tr.teacher-row-active:hover>td.ant-table-column-sort{background:#eef8ff!important}.catalog-list-table .ant-table-cell{overflow:hidden;text-overflow:ellipsis}.catalog-order-cell{display:inline-flex;align-items:center;justify-content:center;min-width:24px;font-weight:700;color:#6a7f93;white-space:nowrap;overflow:visible;text-overflow:clip}.catalog-list-table .catalog-order-column{overflow:visible!important;text-overflow:clip!important;white-space:nowrap}.catalog-list-table .subject-name-column{white-space:normal;overflow:visible;text-overflow:clip}.catalog-list-table .room-number-column{width:128px}.catalog-list-table .room-number-cell{min-width:0}.catalog-list-table .subject-name-cell{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.catalog-table-filter-dropdown{display:grid;gap:8px;min-width:220px}.catalog-list-card .ant-table-body,.teacher-detail-inner,.teacher-availability-list,.tt-dashboard-list,.tt-shell-plain,.ant-modal-body{scrollbar-width:thin;scrollbar-color:#9db2c7 rgba(219,228,237,.28)}.catalog-list-card .ant-table-body{padding-bottom:12px}.catalog-list-card .ant-table-body::-webkit-scrollbar,.teacher-detail-inner::-webkit-scrollbar,.teacher-availability-list::-webkit-scrollbar,.tt-dashboard-list::-webkit-scrollbar,.tt-shell-plain::-webkit-scrollbar,.ant-modal-body::-webkit-scrollbar{width:12px;height:12px}.catalog-list-card .ant-table-body::-webkit-scrollbar-track,.teacher-detail-inner::-webkit-scrollbar-track,.teacher-availability-list::-webkit-scrollbar-track,.tt-dashboard-list::-webkit-scrollbar-track,.tt-shell-plain::-webkit-scrollbar-track,.ant-modal-body::-webkit-scrollbar-track{background:linear-gradient(180deg,#e4ecf485,#d6e1eb38);border:1px solid rgba(188,203,217,.2);border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff38}.catalog-list-card .ant-table-body::-webkit-scrollbar-thumb,.teacher-detail-inner::-webkit-scrollbar-thumb,.teacher-availability-list::-webkit-scrollbar-thumb,.tt-dashboard-list::-webkit-scrollbar-thumb,.tt-shell-plain::-webkit-scrollbar-thumb,.ant-modal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d5e0ea,#b4c6d7 48%,#9eb5c9);border:2px solid rgba(244,248,251,.85);border-radius:999px;background-clip:padding-box;box-shadow:inset 0 1px #ffffff6b,0 1px 3px #546c842e}.catalog-list-card .ant-table-body::-webkit-scrollbar-thumb:hover,.teacher-detail-inner::-webkit-scrollbar-thumb:hover,.teacher-availability-list::-webkit-scrollbar-thumb:hover,.tt-dashboard-list::-webkit-scrollbar-thumb:hover,.tt-shell-plain::-webkit-scrollbar-thumb:hover,.ant-modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#c8d8e6,#a8bfd3,#88a4be);box-shadow:inset 0 1px #ffffff7a,0 2px 6px #46607c38;background-clip:padding-box}.catalog-list-card .ant-table-body::-webkit-scrollbar-thumb:active,.teacher-detail-inner::-webkit-scrollbar-thumb:active,.teacher-availability-list::-webkit-scrollbar-thumb:active,.tt-dashboard-list::-webkit-scrollbar-thumb:active,.tt-shell-plain::-webkit-scrollbar-thumb:active,.ant-modal-body::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#b8cbdd,#97b1c7 52%,#7898b6);box-shadow:inset 0 1px 1px #ffffff52,0 1px 3px #46607c2e;background-clip:padding-box}.teacher-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.teacher-detail-title.ant-typography{margin:0}.teacher-detail-subtitle.ant-typography{color:#63778c!important}.teacher-subject-badges{display:flex;flex-wrap:wrap;gap:8px}.teacher-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-day-card{border:1px solid #d9e3ec;border-radius:16px;padding:14px;background:linear-gradient(180deg,#fbfdff,#f4f8fb)}.teacher-day-title{font-weight:800;color:#112033;margin-bottom:10px}.teacher-day-section{display:grid;gap:6px}.teacher-day-section+.teacher-day-section{margin-top:12px}.teacher-day-kicker{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#688095}.teacher-day-empty{font-size:.84rem;color:#8395a7}.teacher-busy-item{display:grid;gap:2px;padding:8px 10px;border-radius:12px;background:#eaf2f7;color:#17324a;font-size:.82rem}.teacher-availability-list{display:grid;gap:8px}.teacher-settings-section{display:grid;gap:10px}.teacher-settings-label{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#688095}.teacher-availability-board{display:block;overflow:visible}.teacher-availability-table{min-width:0;width:100%}.teacher-availability-table .ant-table{background:transparent}.teacher-availability-table .ant-table-content{overflow:visible!important}.teacher-availability-table .ant-table-container{border:0}.teacher-availability-table .ant-table-thead>tr>th,.teacher-availability-table .ant-table-tbody>tr>th{padding:8px 6px!important;background:transparent}.teacher-availability-table .ant-table-tbody>tr>td{padding:0!important;background:transparent}.teacher-availability-table .ant-table-thead>tr>th{border-bottom:1px solid #dbe5ee}.teacher-availability-table .ant-table-thead>tr>th.teacher-availability-day-column{padding:0 12px!important}.teacher-availability-table .ant-table-tbody>tr>td,.teacher-availability-table .ant-table-tbody>tr>th{border-bottom:1px solid #e7eef5}.teacher-availability-table .ant-table-thead>tr>th:before{display:none}.teacher-availability-period-head{display:grid;gap:1px;text-align:center;font-weight:800;color:#17324a;font-size:.69rem;white-space:normal}.teacher-availability-day-label{display:inline-flex;align-items:center;justify-content:space-between;min-height:40px;width:100%;padding:0 12px;border:0;background:transparent;font-weight:800;color:#17324a;font-size:.75rem;white-space:nowrap;text-align:left;cursor:pointer}.teacher-availability-day-label:hover{color:#10263a}.teacher-availability-day-label:disabled{cursor:not-allowed;opacity:.72}.teacher-availability-day-label.is-active .teacher-availability-day-icon{color:#2f9e58}.teacher-availability-day-icon{flex:0 0 auto;margin-left:8px;color:#8ea4b8;font-size:.9rem}.teacher-availability-period-time{color:#6a8094;font-size:.56rem;font-weight:700}.teacher-availability-cell{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:48px;border:1px dashed #dbe4ec;border-radius:0;background:#fff;color:#90a2b4;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.teacher-availability-cell:hover{border-color:#b7c9d8;background:#f8fbfe}.teacher-availability-cell.is-active{border-style:solid;border-color:#2f9e58;background:#38b565;color:#fff;box-shadow:inset 0 0 0 1px #ffffff24}.teacher-availability-cell.is-active:hover{background:#2f9e58;border-color:#258449}.teacher-availability-cell:disabled{cursor:not-allowed;opacity:.76;transform:none}.teacher-slot-main{font-weight:700;color:#112033}.teacher-slot-meta{font-size:.82rem;color:#6a8093}.teacher-reassign-control,.teacher-reassign-control .ant-select,.group-create-grid,.room-form-grid,.subject-form-grid{width:100%}.group-create-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 140px 160px auto;gap:10px}.group-create-card-grid{display:grid;gap:14px}.group-create-card-row{display:grid;grid-template-columns:minmax(0,1.6fr) 160px 180px;gap:12px;align-items:end}.group-create-card-row-english{grid-template-columns:minmax(0,1.6fr) 160px minmax(220px,1fr)}.catalog-form-field{display:grid;gap:4px;min-width:0}.catalog-form-field-compact,.catalog-form-field-wide{min-width:0}.catalog-form-label{color:#60758a;font-size:.72rem;font-weight:700;line-height:1.1}.catalog-form-field .ant-input,.catalog-form-field .ant-input-number,.catalog-form-field .ant-select{width:100%}.group-create-actions{display:flex;justify-content:flex-end}.group-days-box{grid-column:1 / -1;display:grid;gap:12px;padding:12px 14px;border:1px solid #dce6ef;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f4f8fb)}.group-days-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.group-days-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.group-days-title{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#688095}.group-days-checkbox-group{display:flex;flex-wrap:wrap;gap:10px}.group-days-checkbox-group .ant-checkbox-group-item{margin-inline-end:0}.group-days-checkbox{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #d7e4ef;border-radius:12px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.group-days-checkbox:hover{border-color:#8fb7dd;background:#f9fcff}.group-days-checkbox.ant-checkbox-wrapper-checked{border-color:#7ab1ff;background:#eef6ff;box-shadow:0 8px 18px #347edc1f}.group-days-checkbox .ant-checkbox+span{padding-inline-start:0;font-size:1rem;font-weight:700;color:#24384d}.subject-form-grid{display:grid;gap:12px}.subject-form-row{width:100%}.subject-form-choice-row{width:auto;max-width:100%}.subject-form-inputs{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.subject-segmented.ant-segmented{display:inline-flex;width:fit-content;max-width:100%;padding:4px;border-radius:8px;background:#eff4f9}.subject-form-choice-row>.catalog-form-field{justify-items:start}.subject-type-segmented.ant-segmented .ant-segmented-group{flex-wrap:nowrap}.subject-type-segmented.ant-segmented .ant-segmented-item{min-width:110px}.subject-room-type-segmented.ant-segmented .ant-segmented-group{flex-wrap:nowrap}.subject-room-type-segmented.ant-segmented .ant-segmented-item{min-width:120px}.subject-form-inputs>.catalog-form-field{flex:1 1 140px;min-width:140px;max-width:220px}.subject-form-inputs>.subject-name-field{flex:1.6 1 240px;min-width:220px;max-width:360px}.subject-form-inputs>.subject-color-field{flex:1.2 1 220px;min-width:220px;max-width:320px}.subject-requirements-field,.subject-form-inputs .subject-color-field .ant-select{width:100%}.subject-form-inputs .ant-select-selector{min-width:0!important}.subject-form-inputs .ant-select-selection-item,.subject-form-inputs .ant-select-selection-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-form-grid{display:flex;flex-direction:column;gap:12px}.catalog-create-modal{max-width:calc(100vw - 32px)}.catalog-create-modal .ant-modal-body{padding-top:8px}.catalog-create-modal .teacher-create-grid{grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr)}.catalog-create-modal .teacher-create-grid>:last-child,.catalog-create-modal .room-form-grid>:last-child,.catalog-create-modal .subject-form-grid>:last-child{justify-self:end}.catalog-create-modal .room-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-create-modal .subject-form-grid{grid-template-columns:1fr}.catalog-create-modal .group-create-card-row,.catalog-create-modal .group-create-card-row-english{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-create-modal .catalog-form-field,.catalog-create-modal .catalog-form-field-wide,.catalog-create-modal .catalog-form-field-compact{min-width:0}.dialog-modal{max-width:calc(100vw - 32px)}.group-create-grid .ant-input,.group-create-grid .ant-input-number,.group-create-grid .ant-select,.room-form-grid .ant-input,.room-form-grid .ant-input-number,.room-form-grid .ant-select,.subject-form-grid .ant-input,.subject-form-grid .ant-input-number,.subject-form-grid .ant-select{width:100%}.group-summary-badges,.subject-summary-badges{display:flex;flex-wrap:wrap;gap:8px}.subject-teacher-section{display:grid;gap:12px;margin-top:14px}.subject-teacher-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-summary-badges{display:flex;flex-wrap:wrap;gap:8px}.generator-rule-layout{display:flex;gap:16px;align-items:flex-start}.generator-rule-column{display:flex;flex:1 1 0;flex-direction:column;gap:8px;min-width:0;align-self:flex-start}.generator-rule-column-head{display:grid;gap:2px}.generator-rule-column-title{font-weight:800;color:#112033;font-size:.98rem}.generator-rule-column-text{color:#617b90;font-size:.84rem}.generator-rule-bucket{display:block;padding:10px;border:1px dashed #c5d6e4;border-radius:16px;background:linear-gradient(180deg,#fffffff0,#f4f8fbfa),radial-gradient(circle at top right,rgba(35,119,214,.08),transparent 42%);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;align-self:flex-start}.generator-rule-bucket.is-drop-target{border-color:#6aa4ff;box-shadow:0 12px 26px #1c8cff29}.generator-rule-list{display:grid;gap:8px}.generator-rule-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 12px;border:1px solid #dce6ef;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f4f8fb);cursor:grab;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.generator-rule-item.is-active{border-color:#cfe0f2}.generator-rule-item.is-inactive{border-style:dashed;background:linear-gradient(180deg,#fcfdff,#f7fafc)}.generator-rule-item.is-dragging{opacity:.74;transform:scale(.99);cursor:grabbing}.generator-rule-item.is-drop-target{border-color:#6aa4ff;box-shadow:0 12px 26px #1c8cff29;background:linear-gradient(180deg,#f6fbff,#edf6ff)}.generator-rule-item-rank{display:flex;align-items:center;padding-top:1px}.generator-rule-item-copy{min-width:0}.generator-rule-item-title-row{display:flex;align-items:flex-start;gap:8px}.generator-rule-item-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#eaf3ff;color:#2377d6;font-size:.92rem}.generator-rule-item-title{font-weight:800;color:#112033;line-height:1.25;font-size:.93rem}.generator-rule-item-text{margin-top:2px;color:#617b90;font-size:.84rem;line-height:1.35}.generator-rule-item-conflict{margin-top:5px;color:#b03d2d;font-size:.78rem;font-weight:700}.generator-rule-item-handle{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e7eef5;color:#607487;font-size:.92rem}.generator-rule-empty{display:grid;place-items:center;min-height:110px;padding:16px 14px;border:1px dashed #d5e0ea;border-radius:12px;color:#667d90;text-align:center;font-size:.84rem;background:#ffffffb8}.group-subject-section{display:grid;gap:12px}.group-subject-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.group-subject-table-wrap{display:grid;gap:10px}.group-subject-table .ant-table,.group-subject-table .ant-table-container{background:transparent}.group-subject-table .ant-table-thead>tr>th{padding:8px 12px!important;background:transparent;border-bottom:1px solid #dbe5ee;color:#243b53;font-size:.92rem;font-weight:600;letter-spacing:normal;text-transform:none}.group-subject-table .ant-table-tbody>tr>td{padding:10px 12px!important;border-bottom:1px solid #e7eef5;background:transparent}.group-subject-table .ant-table-thead>tr>th:before{display:none}.catalog-picker-modal .ant-modal-footer{margin-top:0;padding-top:14px;border-top:1px solid #e7eef5}.catalog-picker-modal-footer{display:flex;justify-content:flex-end}.catalog-picker-modal-footer .ant-btn{min-width:112px}.group-subject-main{display:grid;gap:2px}.catalog-editor-pane .subject-form-grid{display:grid;gap:12px}.catalog-editor-pane .subject-form-grid>.catalog-form-field,.catalog-editor-pane .subject-form-grid>.subject-form-row{min-width:0}.catalog-editor-pane .subject-form-grid>.subject-form-row .catalog-form-field{min-width:0}.room-form-row{width:100%}.room-form-choice-row{width:auto}.room-form-choice-row>.catalog-form-field{display:inline-flex;flex-direction:column;width:max-content;min-width:0;max-width:100%}.room-form-inputs{display:flex;flex-wrap:wrap;gap:10px}.room-form-inputs>.catalog-form-field{flex:1 1 120px;min-width:120px}.room-segmented{display:inline-flex;width:auto;max-width:100%}.room-segmented .ant-segmented-group{width:auto;flex-wrap:nowrap}.room-segmented .ant-segmented-item{flex:0 0 auto;min-width:108px;min-height:72px}.room-segmented .ant-segmented-item-label{padding:10px 14px}.room-radio-label{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-weight:600;text-align:center;line-height:1.2}.room-radio-label .anticon{font-size:18px}.room-type-segmented .ant-segmented-item{min-width:130px}.room-status-segmented .ant-segmented-item{min-width:126px}.room-radio-label-room{color:#08979c}.room-radio-label-lecture{color:#1677ff}.room-radio-label-laboratory{color:#722ed1}.room-radio-label-computer{color:#c41d7f}.room-radio-label-active{color:#389e0d}.room-radio-label-busy{color:#d48806}.room-radio-label-maintenance{color:#595959}.room-radio-label-subject-lecture{color:#1677ff}.room-radio-label-subject-empty{color:#5f6f82}.room-radio-label-subject-seminar{color:#d48806}.room-radio-label-subject-practice{color:#389e0d}.room-radio-label-subject-lab{color:#722ed1}.group-subject-title{font-weight:800;color:#17324a}.group-subject-code{color:#6a8094;font-size:.78rem;font-weight:700}.group-subject-load-text{color:#24384d;font-weight:700}.group-subject-summary{padding-top:4px;color:#60758a;font-size:.9rem;text-align:right}.tt-workspace-stack{flex:1 1 auto;display:grid;gap:16px;min-height:100%;min-width:0;width:100%}.tt-shell-plain{min-height:100%;overflow:hidden;min-width:0;width:100%;max-width:2000px;margin:0 auto;background:transparent}.tt-topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid #d4d7de;background:#fff}.tt-toolbar{display:flex;align-items:center;gap:10px}.tt-mode-tabs{display:flex;gap:4px;flex-wrap:wrap}.tt-mode-tabs-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start}.tt-tab{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#263445;font-weight:700;font-size:.83rem;letter-spacing:.02em;padding:8px 10px;border-radius:10px}.tt-tab-label{line-height:1}.tt-tab-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#1677ff;color:#fff;font-size:.68rem;font-weight:800;line-height:1}.tt-tab.active,.tt-tab.tt-tab-open{background:#dcebf8}.tt-tab.ant-btn,.tt-tab.ant-btn:hover,.tt-tab.ant-btn:focus,.tt-tab.ant-btn:focus-visible,.tt-tab.ant-btn:active{border:1px solid transparent!important;box-shadow:none!important}.tt-tab.tt-tab-open.ant-btn:hover,.tt-tab.tt-tab-open.ant-btn:focus,.tt-tab.tt-tab-open.ant-btn:active,.tt-tab.active.ant-btn:hover,.tt-tab.active.ant-btn:focus,.tt-tab.active.ant-btn:active{background:#dcebf8!important;color:#263445!important}.tt-mode-menu{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:fit-content;min-width:min(320px,calc(100vw - 24px));max-width:min(560px,calc(100vw - 24px));padding:0;background:transparent;box-shadow:none}.tt-mode-menu-search,.tt-mode-autocomplete{width:100%}.tt-mode-autocomplete .ant-input,.tt-mode-autocomplete .ant-input-affix-wrapper{border-radius:10px}.tt-mode-autocomplete-popup{border:1px solid #d7e4f0;border-radius:14px;overflow:hidden;width:fit-content!important;min-width:min(320px,calc(100vw - 24px))!important;max-width:min(560px,calc(100vw - 24px))!important;max-height:calc(100dvh - 32px);box-shadow:0 18px 44px #14355329}.tt-mode-autocomplete-popup .ant-select-item{padding:8px 10px;font-size:.84rem;font-weight:600}.tt-mode-autocomplete-popup .ant-select-item-option-content{white-space:nowrap}.tt-mode-option{border:0;width:100%;text-align:left;padding:8px 10px;border-radius:8px;background:transparent;color:#223446;font-size:.84rem;font-weight:600;transition:background .16s ease,color .16s ease}.tt-mode-option:hover{background:#eef5fb}.tt-mode-option.active{background:#dcebf8;color:#123c61}.tt-topbar-right{color:#2f3f52;font-size:.84rem;font-weight:700;letter-spacing:.04em}.tt-filter-row{padding:12px 14px 0}.tt-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 8px}.tt-logo{display:inline-flex;align-items:center;line-height:1}.tt-logo-image{display:block;height:52px;width:auto;object-fit:contain}.tt-title-copy{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:0}.tt-title-copy-dashboard{width:100%;align-items:center;text-align:center}.tt-title-copy-dashboard .tt-related-row,.tt-title-copy-dashboard .tt-related-list{justify-content:center}.tt-main-title{font-family:Manrope,sans-serif;font-size:2rem;font-weight:800;letter-spacing:-.03em;color:#101a2a;line-height:1}.tt-board-name{margin-bottom:6px;font-size:.82rem;font-weight:700;color:#5f7794}.tt-related-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:min(760px,100%)}.tt-related-row-compact{justify-content:flex-start;gap:6px;max-width:100%}.tt-related-label{color:#59718a;font-size:.74rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.tt-related-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.tt-related-chip{padding:4px 10px;border:1px solid #c8dced;border-radius:999px;background:#eef7ff;color:#16415e;font-size:.78rem;font-weight:700;line-height:1.3}.tt-related-chip-button{cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.tt-related-chip-button:hover{border-color:#8eb9dc;background:#dceeff;color:#0f3650;transform:translateY(-1px)}.tt-board-wrap{display:block;width:100%;max-width:100%;overflow-x:visible;overflow-y:hidden;font-family:Open Sans,sans-serif}.tt-board-wrap-board{margin:0 auto;width:100%;max-width:100%;overflow:visible}.tt-board-wrap-board-scrollable{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.tt-board-wrap-stage{width:max-content;margin:0 auto}.tt-board-wrap-scale{width:max-content}.tt-dashboard-layout{min-height:100%;position:relative;min-width:0;--tt-sidebar-width: 280px}.tt-dashboard-sidebar{position:fixed;top:calc(var(--app-header-offset) + 1px);left:var(--app-shell-left, 0px);width:var(--tt-sidebar-width);height:calc(100dvh - var(--app-header-offset) - 1px);max-height:calc(100dvh - var(--app-header-offset) - 1px);min-width:0}.tt-dashboard-sidebar-sticky{width:100%;display:grid;gap:12px;padding:24px;height:100%;min-height:0;max-height:100%;border:1px solid #d9e4ee;border-radius:0;background:#fff;box-shadow:0 16px 40px #14355314}.tt-dashboard-sidebar-head{display:grid;gap:12px}.tt-dashboard-brand{display:flex;align-items:center;gap:10px}.tt-dashboard-brand .tt-logo-image{height:42px}.tt-dashboard-list{display:grid;gap:8px;max-height:calc(100dvh - 160px);overflow-y:auto;padding:0 0 24px}.tt-dashboard-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1px solid #d9e4ee;border-radius:12px;background:#f8fbfe;color:#18324c;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.tt-dashboard-list-item:hover{border-color:#9cc0dd;background:#eef6fd;transform:translateY(-1px)}.tt-dashboard-list-item.is-selected{border-color:#b6d3eb;background:#edf6fe}.tt-dashboard-list-item.is-current{border-color:#7cb1da;background:#deeffd;box-shadow:inset 0 0 0 1px #4784b833}.tt-dashboard-list-copy{min-width:0;font-size:.9rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.tt-dashboard-room-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tt-dashboard-room-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tt-dashboard-room-type{color:#58758d;font-size:.8rem;font-weight:700}.tt-dashboard-room-status-chip{display:inline-flex;align-items:center;width:fit-content;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1.2}.tt-dashboard-room-status-busy{background:#fff2e2;color:#c67a00}.tt-dashboard-room-status-maintenance{background:#f3eefc;color:#6f42c1}.tt-dashboard-list-order{flex:0 0 auto;min-width:24px;height:24px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:#1677ff;color:#fff;font-size:.78rem;font-weight:800}.tt-dashboard-main{margin-left:calc(var(--tt-sidebar-width) - var(--app-content-gutter) + 18px);padding-top:12px;min-height:100%;min-width:0;display:grid;gap:8px}.tt-dashboard-main-scroll{min-height:100%;min-width:0;overflow-x:auto;overflow-y:hidden}.tt-dashboard-main-scroll.is-empty{display:grid;height:100%;overflow:hidden}.tt-dashboard-board-grid{display:grid;gap:8px;min-width:0;width:max-content}.tt-dashboard-board-grid-1{grid-template-columns:minmax(0,1fr);width:100%}.tt-dashboard-board-grid-2,.tt-dashboard-board-grid-4{grid-template-columns:repeat(2,minmax(600px,1fr));width:max-content;min-width:100%}.tt-dashboard-empty{display:grid;place-items:center;min-height:100%;padding:24px 16px}.tt-dashboard-empty .ant-empty{margin:0}.tt-dashboard-empty .ant-empty-image{height:72px;margin-bottom:12px}.tt-dashboard-empty-copy{display:grid;justify-items:center;gap:6px;text-align:center}.tt-dashboard-empty-title{font-size:1rem;font-weight:800;color:#18324c}.tt-dashboard-empty-text{font-size:.88rem;color:#60758a}.tt-dashboard-board-card{min-width:0;min-width:600px;max-width:1000px;padding:0}.tt-dashboard-board-card.is-active{z-index:0}.tt-dashboard-board-caption-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin:0 0 4px}.tt-dashboard-board-caption-wrap{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tt-dashboard-board-remove.ant-btn{flex:0 0 auto;min-width:28px;height:28px;padding-inline:4px;color:#60758a}.tt-dashboard-board-scroll{min-width:0;overflow:visible}.tt-dashboard-board-caption{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-family:Manrope,sans-serif;font-size:1rem;font-weight:800;line-height:1;color:#15304a}.tt-dashboard-board-mode-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#edf5fd;color:#476987;font-size:.7rem;font-weight:800;line-height:1.1;text-transform:uppercase}.tt-dashboard-board-inner{margin:0;width:100%}.tt-loading-wrap{min-height:220px;display:grid;place-items:center}.tt-board{width:100%;border-collapse:collapse;border:1px solid #727985;background:#f2f3f5;table-layout:fixed}.tt-board th,.tt-board td{border:1px solid #8f949f}.tt-day-head{background:#d7e7f2;color:#102538;font-size:.82rem;font-weight:800;text-align:center;padding:6px 4px}.tt-lesson-head{background:#d7f4fb;color:#091f30;font-weight:800;font-size:.9rem;padding:4px;text-align:center}.tt-break-head{background:#f4f6f9;color:#1e2d3f;font-weight:800;font-size:.68rem;padding:2px 0;text-align:center}.tt-break-head-label{display:inline-flex;align-items:center;justify-content:center;height:52px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.02em;white-space:nowrap}.tt-time-head{background:#c7f1ff;color:#0f3443;font-size:.67rem;font-weight:700;line-height:1.2;padding:3px 2px;text-align:center}.tt-break-time-head{padding:2px 0}.tt-break-time-stack{display:inline-grid;gap:1px;font-size:.46rem;line-height:1;white-space:nowrap}.tt-day-cell{background:#ecefc3;text-align:center;font-size:.92rem;font-style:italic;font-weight:700;color:#1a1f25;padding:6px 4px}.tt-slot-cell{height:88px;background:#eceef1;vertical-align:top;padding:0}.tt-slot-cell-drop{background:#d9f1ff}.tt-break-cell{background:#f6f7f9}.tt-shift-break-head{background:#ffe9cf;color:#6a3300}.tt-shift-break-cell{background:#fff2e3}.tt-slot-list{display:grid;gap:0}.tt-slot-item{border:1px solid;padding:3px 4px;min-height:40px;cursor:default;--tt-slot-top-lines: 2;--tt-slot-primary-lines: 1;--tt-slot-bottom-lines: 3;--tt-slot-top-line-height: 1.12;--tt-slot-primary-line-height: 1.1;--tt-slot-bottom-line-height: 1.12;--tt-slot-row-slack: 4px}.tt-slot-item-compact{min-height:46px;padding:0}.tt-slot-item-subjects{--tt-slot-top-lines: 1;--tt-slot-primary-lines: 2;--tt-slot-bottom-lines: 1}.tt-slot-item-draggable{cursor:grab}.tt-slot-item-dragging{opacity:.6}.tt-slot-compact-trigger{display:grid;grid-template-rows:calc(.56rem * var(--tt-slot-top-line-height) * var(--tt-slot-top-lines) + var(--tt-slot-row-slack)) calc(.72rem * var(--tt-slot-primary-line-height) * var(--tt-slot-primary-lines) + var(--tt-slot-row-slack)) calc(.58rem * var(--tt-slot-bottom-line-height) * var(--tt-slot-bottom-lines) + var(--tt-slot-row-slack));align-content:center;justify-items:center;gap:4px;width:100%;min-height:calc(.56rem * var(--tt-slot-top-line-height) * var(--tt-slot-top-lines) + .72rem * var(--tt-slot-primary-line-height) * var(--tt-slot-primary-lines) + .58rem * var(--tt-slot-bottom-line-height) * var(--tt-slot-bottom-lines) + (var(--tt-slot-row-slack) * 3) + 16px);padding:6px;border:0;background:transparent;text-align:center;cursor:pointer}.tt-slot-top{font-size:.56rem;line-height:var(--tt-slot-top-line-height);color:#23384e;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tt-slot-top-lines);overflow:hidden;align-self:center}.tt-slot-primary{font-size:.72rem;font-weight:800;line-height:var(--tt-slot-primary-line-height);color:#102538;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tt-slot-primary-lines);overflow:hidden;align-self:center}.tt-slot-secondary{font-size:.58rem;line-height:var(--tt-slot-bottom-line-height);color:#38526a;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tt-slot-bottom-lines);overflow:hidden;align-self:center}.tt-slot-public-stack{display:grid;grid-template-rows:calc(.64rem * var(--tt-slot-top-line-height) * var(--tt-slot-top-lines) + var(--tt-slot-row-slack)) calc(.82rem * var(--tt-slot-primary-line-height) * var(--tt-slot-primary-lines) + var(--tt-slot-row-slack)) calc(.64rem * var(--tt-slot-bottom-line-height) * var(--tt-slot-bottom-lines) + var(--tt-slot-row-slack));justify-items:center;align-content:center;gap:3px;min-height:100%;text-align:center}.tt-slot-public-top,.tt-slot-public-primary,.tt-slot-public-bottom,.tt-slot-link{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-decoration:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;text-align:center}.tt-slot-public-top{font-size:.64rem;line-height:var(--tt-slot-top-line-height);color:#253447;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tt-slot-top-lines);overflow:hidden;align-self:center}.tt-slot-public-primary{font-size:.82rem;font-weight:800;line-height:var(--tt-slot-primary-line-height);color:#0f1f2f;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tt-slot-primary-lines);overflow:hidden;align-self:center}.tt-slot-public-bottom{font-size:.64rem;line-height:var(--tt-slot-bottom-line-height);color:#253447;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tt-slot-bottom-lines);overflow:hidden;align-self:center}.tt-slot-public-top:hover,.tt-slot-public-primary:hover,.tt-slot-public-bottom:hover,.tt-slot-link:hover{color:inherit}.tt-slot-separator{color:#567086}.tt-slot-popover-overlay .ant-popover-inner{border-radius:14px}.tt-slot-popover{display:grid;gap:8px;min-width:220px;max-width:280px}.tt-slot-popover-title{font-size:.86rem;font-weight:800;line-height:1.3;color:#11263b}.tt-slot-popover-row{display:grid;gap:3px}.tt-slot-popover-room-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.tt-slot-popover-edit.ant-btn{flex:0 0 auto;width:24px;min-width:24px;height:24px;padding:0;color:#5e7790}.tt-slot-popover-room-editor{display:grid;gap:8px;padding-top:4px;border-top:1px solid #e6edf4}.tt-slot-popover-room-loading{display:flex;justify-content:center;padding:6px 0}.tt-slot-popover-room-options{display:grid;gap:6px;max-height:220px;overflow-y:auto}.tt-slot-popover-room-option{display:grid;gap:3px;width:100%;padding:8px 10px;border:1px solid #d8e4ef;border-radius:10px;background:#f8fbfe;text-align:left;color:#17324a;cursor:pointer}.tt-slot-popover-room-option.is-current{border-color:#7cb1da;background:#eaf4fd}.tt-slot-popover-room-option.is-disabled{cursor:not-allowed;opacity:.68}.tt-slot-popover-room-option-main{font-size:.8rem;font-weight:800;line-height:1.25}.tt-slot-popover-room-option-meta{font-size:.7rem;color:#617b90;line-height:1.3}.tt-slot-popover-label{font-size:.7rem;font-weight:700;color:#6a8097}.tt-slot-popover-value{font-size:.78rem;font-weight:600;color:#17324a;overflow-wrap:anywhere}.tt-slot-popover-link{border:0;padding:0;background:transparent;color:#17324a;font:inherit;font-weight:inherit;line-height:inherit;text-align:left;cursor:pointer}.tt-slot-popover-link:hover{color:#1677ff}.tt-board-compact .tt-lesson-head{padding:6px 4px;font-size:.8rem}.tt-dashboard-board-inner .tt-board-compact{width:auto;min-width:100%}.tt-board-compact .tt-day-cell{font-size:.82rem}.tt-board-compact .tt-slot-cell{height:72px;padding:0}.tt-move-notice{width:100%}.tt-move-notice-block{display:grid;gap:4px}.tt-move-notice-headline{font-size:.88rem;color:#102538;line-height:1.35}.tt-move-notice-target{color:#506274;font-size:.74rem}.tt-move-notice-title{font-size:.78rem;color:#0f3443}.tt-move-reason-list{display:grid;gap:4px}.tt-move-reason-item{border-left:3px solid #d46b08;padding:3px 0 3px 9px;color:#263445;font-size:.77rem;line-height:1.45;background:#f5b13f14}.tt-move-conflict-list{display:grid;gap:6px}.tt-move-conflict-card{display:grid;gap:5px;padding:8px 10px;border:1px solid #d6dde6;border-radius:10px;background:#f8fafc}.tt-move-conflict-subtitle{color:#526578;line-height:1.35;font-size:.75rem}.tt-float-panel{position:fixed;z-index:1100;width:min(396px,calc(100vw - 24px));max-height:min(72vh,620px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid #d6dde6;border-radius:14px;background:#fffffffa;box-shadow:0 26px 56px #1121312e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tt-float-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 8px 12px;border-bottom:1px solid #e1e6ee;border-radius:14px 14px 0 0;cursor:move;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg,#f7fafc,#eef4f8)}.tt-float-panel-title{display:inline-flex;align-items:center;gap:8px;color:#17324a;font-size:.8rem;font-weight:800}.tt-float-panel-body{overflow:auto;padding:10px 12px 12px}.tt-shell-plain .tt-topbar{padding:0 0 14px;border-bottom:0;background:transparent}.tt-shell-plain .tt-filter-row,.tt-shell-plain .tt-title-row{padding:0 0 14px}.tt-shell-plain .tt-board-wrap{overflow-x:visible}.tt-filter-row-public{width:100%;padding:0}.tt-board-wrap-head-public{display:grid;gap:14px;padding:0 0 12px}.tt-board-wrap-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.tt-board-wrap-title-public{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,auto) minmax(220px,1fr);align-items:end;gap:18px;margin-bottom:8px}.tt-board-wrap-title-col{min-width:0}.tt-board-wrap-title-col-start{justify-self:start}.tt-board-wrap-title-col-center{justify-self:center;text-align:center}.tt-board-wrap-title-col-end{justify-self:end;width:100%}.tt-board-wrap-title-public .tt-main-title{line-height:1;font-size:1.5rem}.tt-board-wrap-title-public .tt-logo{line-height:1}.tt-board-wrap-title-public .tt-logo-image{height:40px}.tt-board-wrap-title-public .tt-related-row{display:grid;justify-items:end;gap:4px;width:100%;text-align:right}.tt-board-wrap-title-public .tt-related-list{justify-content:flex-end}.tt-board-wrap-title-public .tt-related-chip{padding:3px 8px;font-size:.74rem}.tt-board-wrap-head-public .tt-mode-tabs{gap:3px}.tt-board-wrap-head-public .tt-mode-tabs-wrap{flex:1 1 auto;min-width:0}.tt-board-wrap-head-public .tt-tab.ant-btn{height:30px;display:inline-flex;align-items:center;justify-content:center;padding-inline:10px;font-size:.74rem;border-radius:8px;font-weight:700}.tt-filter-row-public .tt-main-select .ant-select-selector{min-height:34px!important;padding-block:0!important}.tt-toolbar-public{justify-content:flex-start}.tt-toolbar-public .ant-btn{height:28px;padding-inline:8px}.public-tt-page{min-height:100dvh;padding:14px 24px 28px}.public-tt-header{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:1700px;margin:0 auto 6px;padding:2px 0 6px;border-bottom:1px solid rgba(205,216,224,.9)}.public-tt-header-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}.public-tt-brand{display:flex;align-items:center;gap:10px;min-width:0}.public-tt-brand-button{display:flex;align-items:center;gap:4px;min-width:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.public-tt-brand-title.ant-typography{margin:0;font-family:Manrope,sans-serif;font-size:.74rem;line-height:1}.public-tt-brand-subtitle.ant-typography{display:block;color:#587083!important;margin-top:0;font-size:.6rem}.public-tt-body{width:100%;max-width:1700px;margin:0 auto;min-width:0}.public-tt-footer{max-width:1700px;margin:68px auto 0;padding:24px 0 0;border-top:1px solid rgba(195,209,219,.95)}.public-tt-footer-inner{display:grid;grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(220px,.92fr));gap:28px}.public-tt-footer-col{min-width:0;padding-right:18px;border-right:1px solid rgba(214,224,232,.9)}.public-tt-footer-col:last-child{padding-right:0;border-right:0}.public-tt-footer-logo{margin-bottom:12px;font-family:Manrope,sans-serif;font-size:1.2rem;font-weight:700;line-height:1}.public-tt-footer-section-title{margin:0 0 10px;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#658091}.public-tt-footer-text{margin:0;color:#43596c;font-size:.92rem;line-height:1.65}.public-tt-footer-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:#43596c;font-size:.92rem}.public-tt-footer-list li{display:grid;gap:2px}.public-tt-footer-item-label{font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6f8698}.public-tt-footer-list a{color:#1b5fa9;text-decoration:none;font-weight:700}.public-tt-footer-list a:hover{color:#0f4b88;text-decoration:none}.public-tt-footer-btn.ant-btn{margin-top:14px;min-width:148px;border-radius:8px;font-weight:700}.public-tt-footer-bottom{margin-top:20px;padding:14px 0 0;border-top:1px solid rgba(209,220,229,.92);color:#6a8192;font-size:.84rem}.ant-card{border-radius:16px;box-shadow:0 16px 38px #1121310f}.app-mobile-drawer .ant-drawer-content,.app-mobile-drawer .ant-drawer-body{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 24%),linear-gradient(160deg,#07111d,#0f2136 48%,#0b5c5f)!important}@media (max-width: 768px){.app-content{padding:14px;min-width:0}.filter-select{width:100%}.generate-grid{grid-template-columns:1fr}.dashboard-hero{grid-template-columns:1fr;padding:18px}.dashboard-command-grid,.teacher-layout,.groups-layout{grid-template-columns:1fr}.catalog-shell{min-height:auto;height:auto;overflow:visible}.catalog-splitter{min-height:auto;height:auto!important}.catalog-splitter>.ant-splitter-bar{position:static;top:auto;left:auto;height:auto!important}.catalog-list-pane{position:static;top:auto;height:auto;margin-bottom:16px}.catalog-splitter-panel-list,.catalog-splitter-panel-editor{padding-inline:0}.catalog-editor-pane{height:auto;overflow:visible;margin-left:0}.catalog-list-card{height:auto;max-height:none}.catalog-list-pane>.ant-card,.catalog-editor-pane>.ant-card{height:auto}.teacher-day-grid,.teacher-availability-row,.teacher-create-grid{grid-template-columns:1fr}.page-title-row{position:static;left:auto;right:auto;min-height:0;padding:0;align-items:flex-start;flex-direction:column}.page-title-actions{justify-content:flex-start}.catalog-list-card .ant-card-head-wrapper,.catalog-list-head-tools{flex-wrap:wrap}.catalog-list-card .ant-card-extra{width:100%}.catalog-list-search,.catalog-list-sort-field{flex:1 1 100%;width:100%}.catalog-create-modal .teacher-create-grid,.catalog-create-modal .room-form-grid,.catalog-create-modal .subject-form-grid,.catalog-create-modal .group-create-card-row,.catalog-create-modal .group-create-card-row-english,.teacher-profile-grid,.group-create-grid,.group-create-card-row,.group-create-card-row-english,.subject-form-inputs{grid-template-columns:1fr}.subject-type-segmented.ant-segmented .ant-segmented-item{min-width:0}.room-form-grid{grid-template-columns:1fr}.generator-rule-layout{flex-direction:column}.generator-rule-item{grid-template-columns:1fr}.generator-rule-item-handle{justify-self:flex-start}.group-subject-row,.settings-grid,.users-card-grid,.users-settings-grid,.time-settings-shift-grid,.time-settings-shift-fields{grid-template-columns:1fr}.dashboard-page{min-height:500px}.tt-main-title{font-size:1.3rem}.tt-logo{max-width:100%}.tt-logo-image{height:42px;max-width:100%}.tt-title-row,.tt-title-copy{align-items:flex-start}.tt-related-row,.tt-related-list{justify-content:flex-start}.tt-topbar-right{display:none}.public-tt-page{padding:12px 14px 20px}.public-tt-header{flex-direction:row;align-items:center;margin-bottom:8px;padding-bottom:8px}.public-tt-brand-button{min-width:0;flex:1 1 auto;align-items:center}.brand-image-public{width:56px}.public-tt-brand-title.ant-typography{font-size:.98rem}.public-tt-brand-subtitle.ant-typography{font-size:.72rem}.public-tt-header-actions .ant-btn{white-space:nowrap}.public-tt-footer{margin-top:44px;padding-top:18px}.public-tt-footer-inner{grid-template-columns:1fr;gap:18px}.public-tt-footer-col{padding-right:0;padding-bottom:16px;border-right:0;border-bottom:1px solid rgba(214,224,232,.9)}.public-tt-footer-col:last-child{padding-bottom:0;border-bottom:0}.public-tt-footer-logo{font-size:1.2rem}.tt-board-wrap-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.tt-dashboard-layout{display:grid;gap:16px}.tt-dashboard-sidebar{position:static;width:auto;height:auto;max-height:none;top:auto;left:auto}.tt-dashboard-sidebar-sticky{position:static;width:auto;min-height:auto;max-height:none;border-radius:18px}.tt-dashboard-main{margin-left:0}.tt-dashboard-main-scroll{overflow-x:visible}.tt-dashboard-list{max-height:320px}.tt-dashboard-board-grid-2,.tt-dashboard-board-grid-4{grid-template-columns:1fr;width:100%}.tt-board-wrap-title-public{grid-template-columns:1fr;gap:10px}.tt-board-wrap-title-col-start,.tt-board-wrap-title-col-center,.tt-board-wrap-title-col-end{justify-self:flex-start;width:100%;text-align:left}.tt-toolbar-public{justify-content:flex-start}.tt-board-wrap-title-public .tt-related-row,.tt-board-wrap-title-public .tt-related-list{justify-items:start;justify-content:flex-start}.tt-filter-row-public .tt-main-select{width:100%}.tt-board-wrap-head-public .tt-tab.ant-btn{font-size:.72rem}.tt-toolbar-public .ant-btn{min-width:44px}.tt-board-wrap-title-public .tt-main-title{font-size:1.18rem}}.page-loading-shell{min-height:320px;display:grid;place-items:center}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%)}.login-brand-link{display:inline-flex;text-decoration:none}.login-title.ant-typography{margin:8px 0 6px;font-family:Manrope,sans-serif;font-size:1.6rem;line-height:1.12}.login-hint-box{display:grid;gap:6px;padding:14px 16px;border:1px solid #dce6ef;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f4f8fb)}.login-hint-title{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#688095}.login-hint-line{color:#17324a;font-size:.9rem}
