:root{color-scheme:dark;--bg:#0f1217;--panel:#151a21;--panel-strong:#11161d;--line:rgba(255,255,255,0.08);--line-strong:rgba(255,255,255,0.13);--line-hover:rgba(238,242,246,0.28);--text:#eef2f6;--muted:rgba(238,242,246,0.58);--muted-soft:rgba(238,242,246,0.42);--accent:#4f7fd8;--accent-soft:rgba(79,127,216,0.16);--surface:rgba(17,22,29,0.72);--tint-1:rgba(255,255,255,0.025);--tint-2:rgba(255,255,255,0.04);--tint-3:rgba(255,255,255,0.075);--row-group:#1b2430;--row-problem-tint:rgba(218,88,88,0.055);--row-selected-tint:rgba(79,127,216,0.18);--row-hover-tint:rgba(79,127,216,0.07);--row-check-tint:rgba(227,180,103,0.07);--danger-text:#f0a0a0;--warning-text:#e3b467;--danger:#e5484d;--warning:#e3b467;--sticky-bg:rgba(15,18,23,0.96);--shadow-soft:rgba(15,18,23,0.72);--shadow-strong:rgba(0,0,0,0.48);--dialog-bg:rgba(19,24,31,0.98);--brand:#6f9bea;--success:#34d399;--presence-1:#3f73d6;--presence-2:#c46a1c;--presence-3:#23875d;--presence-4:#b83d74;--presence-5:#7d55cc;--presence-6:#1f86a0;--presence-7:#9c7a14;--presence-8:#c8483e;--presence-text:#ffffff;--sidebar-width:280px}:root[data-theme=light]{color-scheme:light;--bg:#f5f7fb;--panel:#ffffff;--panel-strong:#f3f4f6;--line:#e2e7ef;--line-strong:#c7ced9;--line-hover:rgba(17,24,39,0.3);--text:#111827;--muted:#4b5563;--muted-soft:#6b7280;--accent:#4f7fd8;--accent-soft:#eef4ff;--surface:#ffffff;--tint-1:rgba(17,24,39,0.025);--tint-2:rgba(17,24,39,0.05);--tint-3:rgba(17,24,39,0.09);--row-group:#e9eef7;--row-check-tint:rgba(146,88,10,0.06);--danger-text:#b3261e;--warning-text:#92580a;--danger:#d1352f;--warning:#92580a;--sticky-bg:rgba(245,247,251,0.97);--shadow-soft:rgba(17,24,39,0.1);--shadow-strong:rgba(17,24,39,0.18);--dialog-bg:#ffffff;--brand:#034ea2;--success:#16a34a;--presence-1:#2f62c4;--presence-2:#a95b16;--presence-3:#1d7f55;--presence-4:#a8336a;--presence-5:#6d48b8;--presence-6:#1a7d93;--presence-7:#8f6d12;--presence-8:#b23d33}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.viewer-shell{color-scheme:light;--v-bg:#f5f7fb;--v-surface:#ffffff;--v-surface-2:#f3f4f6;--v-border:#c7ced9;--v-text:#111827;--v-muted:#6b7280;--v-accent:#4f7fd8;--v-accent-soft:#eef4ff;--v-today:#16a34a;--v-danger:#b42318;min-height:100vh;background:var(--v-bg);color:var(--v-text);padding:24px 16px;transition:background-color .22s ease,color .22s ease}.viewer-shell[data-theme=dark]{color-scheme:dark;--v-bg:#0f1217;--v-surface:#151a21;--v-surface-2:#1b222c;--v-border:rgba(255,255,255,0.1);--v-text:#eef2f6;--v-muted:rgba(238,242,246,0.6);--v-accent:#6f9bec;--v-accent-soft:rgba(79,127,216,0.16);--v-today:#34d399;--v-danger:#f0a0a0}.viewer-inner{width:min(720px,100%);margin:0 auto;display:flex;flex-direction:column;gap:16px}.viewer-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:inline-flex;align-items:center;gap:11px;min-width:0}.rksi-mark{display:block;background-color:currentColor}.brand__mark{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--brand)}.viewer-shell .brand__mark{color:#034ea2}.viewer-shell[data-theme=dark] .brand__mark{color:#6f9bea}.brand__text{display:grid;grid-gap:4px;gap:4px;min-width:0}.brand__title{color:var(--text);font-size:13px;font-weight:700;letter-spacing:.1em;line-height:1.15;text-transform:uppercase}.viewer-shell .brand__title{color:var(--v-text)}.brand__subtitle{color:var(--muted);font-size:12px;line-height:1.15}.viewer-shell .brand__subtitle{color:var(--v-muted)}.viewer-theme{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--v-border);border-radius:10px;background:var(--v-surface);color:var(--v-text);cursor:pointer;transition:background-color .2s ease,border-color .16s ease,color .2s ease}.viewer-theme:hover{border-color:var(--v-accent)}.viewer-theme svg{transition:transform .26s cubic-bezier(.22,.61,.36,1)}.viewer-theme:hover svg{transform:rotate(18deg)}.viewer-topbar__actions{display:inline-flex;align-items:center;gap:8px}.viewer-push{position:relative}.viewer-push__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:grid;grid-gap:10px;gap:10px;width:min(320px,calc(100vw - 32px));padding:14px;border:1px solid var(--v-border);border-radius:14px;background:var(--v-surface);color:var(--v-text);box-shadow:0 12px 32px rgba(15,23,42,.16)}@media (max-width:767px){.viewer-topbar{position:relative}.viewer-push{position:static}}.viewer-push__title{font-weight:650}.viewer-push__error,.viewer-push__text{margin:0;color:var(--v-muted);font-size:14px;line-height:1.4}.viewer-push__error{color:var(--v-danger)}.viewer-push__steps{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:20px;color:var(--v-text);font-size:14px;line-height:1.4}.viewer-push__icon{vertical-align:-2px}.viewer-push__help{color:var(--v-muted);font-size:13px;line-height:1.4}.viewer-push__help summary{color:var(--v-accent);font-size:14px;cursor:pointer}.viewer-push__help ul{display:grid;grid-gap:6px;gap:6px;margin:8px 0 0;padding-left:18px}.viewer-push__toggle{min-height:40px;padding:0 12px;border:1px solid var(--v-accent);border-radius:10px;background:var(--v-accent-soft);color:var(--v-text);font:inherit;font-weight:600;cursor:pointer}.viewer-push__toggle:disabled{cursor:progress;opacity:.6}.viewer-push__list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.viewer-push__chip{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 10px;border:1px solid var(--v-border);border-radius:999px;background:var(--v-surface-2);font-size:13px}.viewer-push__chip button{display:inline-flex;padding:4px;border:0;border-radius:999px;background:transparent;color:var(--v-muted);cursor:pointer}.viewer-combobox{position:relative;width:100%}.viewer-search{width:100%;min-height:46px;display:flex;align-items:center;gap:10px;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface);color:var(--v-muted);padding:0 14px}.viewer-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--v-text);font-size:15px}.viewer-suggestions{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:340px;overflow-y:auto;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface);box-shadow:0 12px 28px rgba(17,24,39,.18);animation:viewer-pop-in .13s ease both;transform-origin:top center}@keyframes viewer-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}.viewer-suggestion{transition:background-color .14s ease;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;color:var(--v-text)}.viewer-suggestion--active{background:var(--v-surface-2)}.viewer-suggestion__icon{flex-shrink:0;color:var(--v-muted)}.viewer-suggestion__name{flex:1 1;min-width:0;font-size:14px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-suggestion__badge{flex-shrink:0;font-size:12px;font-weight:640;color:var(--v-muted)}.viewer-suggestions--empty{padding:9px 10px;color:var(--v-muted)}.viewer-status{color:var(--v-muted);font-size:14px;line-height:1.4}.viewer-empty{border:1px dashed var(--v-border);border-radius:12px;background:var(--v-surface);color:var(--v-muted);padding:28px 20px;text-align:center;font-size:15px}.viewer-week-view{display:flex;flex-direction:column;gap:14px;scroll-margin-top:12px}.viewer-tabs{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px}.viewer-tab{transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;display:grid;grid-gap:2px;gap:2px;justify-items:center;align-content:center;min-height:52px;min-width:0;padding:6px 2px;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface);color:var(--v-muted);cursor:pointer}.viewer-tab strong{font-size:14px;font-weight:760;line-height:1;color:var(--v-text)}.viewer-tab__date{font-size:11px;line-height:1;color:var(--v-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-tab--today{position:relative}.viewer-tab--today strong{color:var(--v-today)}.viewer-tab--today:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--v-today)}.viewer-tab:hover:not(.viewer-tab--active){border-color:var(--v-accent)}.viewer-tab:active{transform:scale(.98)}.viewer-tab--active{border-color:var(--v-accent);background:var(--v-accent-soft)}.viewer-tab--active strong{color:var(--v-accent)}.viewer-day{display:flex;flex-direction:column;gap:10px}.viewer-week-view{animation:viewer-fade-in .22s ease both}@keyframes viewer-fade-in{0%{opacity:0}to{opacity:1}}.viewer-day__head{color:var(--v-muted);font-size:13px;font-weight:740}.viewer-day-empty{border:1px dashed var(--v-border);border-radius:12px;background:var(--v-surface);color:var(--v-muted);padding:20px;text-align:center;font-size:14px}.viewer-lesson{display:flex;flex-direction:column;gap:6px;border:1px solid var(--v-border);border-left:3px solid var(--v-accent);border-radius:12px;background:var(--v-surface);padding:12px 14px;animation:viewer-card-in .26s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(min(var(--index, 0), 8) * 45ms);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.viewer-lesson:hover{border-color:var(--v-accent);box-shadow:0 6px 18px rgba(17,24,39,.08);transform:translateY(-1px)}@keyframes viewer-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.viewer-lesson__top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.viewer-lesson__pair{font-size:12px;font-weight:740;color:var(--v-muted)}.viewer-lesson__time{font-size:13px;font-weight:780;color:var(--v-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-lesson__subject{font-size:16px;font-weight:720;line-height:1.3;color:var(--v-text);overflow-wrap:anywhere}.viewer-lesson__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--v-muted);font-size:13px}.viewer-lesson__meta span{display:inline-flex;align-items:center;overflow-wrap:anywhere}.viewer-lesson__meta span:not(:first-child):before{content:"·";margin-right:8px;color:var(--v-muted)}.viewer-skeleton{display:flex;flex-direction:column;gap:10px}.viewer-skeleton__card{height:82px;border-radius:12px;background:linear-gradient(90deg,var(--v-surface-2) 0,var(--v-surface) 48%,var(--v-surface-2) 100%);background-size:220% 100%;animation:viewer-loading 1.2s ease-in-out infinite}@keyframes viewer-loading{0%{background-position:120% 0}to{background-position:-120% 0}}@media (max-width:767px){.viewer-shell{padding:16px 12px}.viewer-tab strong{font-size:13px}.viewer-tab{padding:6px 1px}.viewer-tab__date{font-size:10px;letter-spacing:-.2px}}@media (max-width:360px){.viewer-tab__date{display:none}}.auth-shell{color-scheme:dark;min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:20px}.auth-card{width:min(380px,100%);border:1px solid var(--line);border-radius:10px;background:var(--panel);display:grid;grid-gap:14px;gap:14px;padding:18px}.auth-card__hint{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.auth-card h1{margin:0;color:var(--text);font-size:28px;line-height:1.15;letter-spacing:0}.auth-loader{color:var(--muted);font-size:14px;line-height:1.4}.app-shell{color-scheme:dark;min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:var(--bg)}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow:hidden;border-right:1px solid var(--line);background:var(--panel-strong);display:flex;flex-direction:column;gap:22px;padding:18px 14px}.sidebar__brand{min-height:48px;display:flex;align-items:center;gap:12px;padding:0 8px 16px;border-bottom:1px solid var(--line)}.sidebar__mark{display:grid;place-items:center;flex:none;color:var(--brand)}.sidebar__title{color:var(--text);font-size:13px;font-weight:700;letter-spacing:.1em;line-height:1.15;text-transform:uppercase}.role-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--tint-1);padding:4px}.role-switch__button{min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:650;cursor:pointer;transition:background-color .14s ease,color .14s ease}.role-switch__button:hover{color:var(--text)}.role-switch__button--active{background:var(--accent-soft);color:var(--text)}.sidebar__account{margin-top:auto;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--tint-1);padding:8px}.sidebar__avatar{position:relative;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--text);font-size:12px;font-weight:700;letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar__live{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid var(--panel-strong);border-radius:50%;background:var(--muted-soft);transition:background-color .2s ease}.sidebar__live[data-status=online]{background:var(--success)}.sidebar__account-text{min-width:0}.sidebar__account-name{color:var(--text);font-size:13px;font-weight:650;line-height:1.25}.sidebar__account-name,.sidebar__account-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__account-role{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.2}.sidebar__account-actions{display:flex;gap:2px}.sidebar__icon-button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.sidebar__icon-button:hover{border-color:var(--line-strong);background:var(--tint-2);color:var(--text)}.sidebar__nav{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;align-content:start;grid-gap:20px;gap:20px}.nav-group{display:grid;grid-gap:8px;gap:8px}.nav-group__title{padding:0 8px;color:var(--muted-soft);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1;text-transform:uppercase}.nav-group__items{display:grid;grid-gap:4px;gap:4px}.nav-item{width:100%;min-height:40px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);padding:0 9px;text-align:left;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.nav-item:hover{border-color:var(--line-strong);background:var(--tint-2);color:var(--text)}.nav-item__icon{color:currentColor}.nav-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.nav-item:has(.presence-dots){grid-template-columns:22px minmax(0,1fr) auto}.nav-item--child:has(.presence-dots){grid-template-columns:minmax(0,1fr) auto}.nav-item .presence-dots{display:inline-flex;align-items:center;gap:2px}.nav-item .presence-dot{width:18px;height:18px;display:inline-grid;place-items:center;border:1px solid var(--panel-strong);border-radius:50%;color:var(--presence-text);font-size:10px;font-weight:700;letter-spacing:-.03em;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-item .presence-dot--more{width:auto;min-width:18px;padding:0 3px;border-radius:9px;background:var(--tint-3);color:var(--text)}.nav-item--active{border-color:rgba(79,127,216,.38);background:var(--accent-soft);color:var(--text)}.nav-group__subitems{display:grid;grid-gap:2px;gap:2px;margin:2px 0 0 14px;padding-left:8px;border-left:1px solid var(--line)}.nav-item--child{min-height:32px;grid-template-columns:minmax(0,1fr)}.nav-item--child span{font-size:12px}.nav-item--child .nav-item__icon{display:none}.nav-row{position:relative}.nav-row .nav-item{padding-right:32px}.nav-help{position:absolute;top:50%;right:5px;width:24px;height:24px;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted-soft);padding:0;cursor:pointer;transform:translateY(-50%);transition:background-color .14s ease,border-color .14s ease,color .14s ease}.nav-help:focus-visible,.nav-help:hover,.nav-help[aria-expanded=true]{border-color:var(--line-strong);background:var(--tint-2);color:var(--text)}.nav-item--child+.nav-help{width:22px;height:22px}.sidebar__help{display:none}.sidebar__icon-button[aria-expanded=true]{border-color:var(--line-strong);background:var(--tint-2);color:var(--text)}.section-help{position:fixed;z-index:200;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel-strong);box-shadow:0 18px 44px var(--shadow-strong);color:var(--text);padding:14px 16px 16px;font-size:13px;line-height:1.45;animation:admin-dialog-in .16s cubic-bezier(.22,.61,.36,1) both}.section-help:focus{outline:none}.section-help__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-help h2{margin:3px 0 0;font-size:15px;font-weight:700;line-height:1.3}.section-help__close{flex:none;width:28px;height:28px;display:grid;place-items:center;margin:-4px -6px 0 0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.section-help__close:focus-visible,.section-help__close:hover{border-color:var(--line-strong);background:var(--tint-2);color:var(--text)}.section-help__summary{margin:8px 0 0;color:var(--text)}.section-help h3{margin:14px 0 6px;color:var(--muted-soft);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1;text-transform:uppercase}.section-help ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:18px;color:var(--muted)}.section-help li::marker{color:var(--muted-soft)}.hint-button{flex:none;width:24px;height:24px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted-soft);padding:0;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.hint-button:focus-visible,.hint-button:hover,.hint-button[aria-expanded=true]{border-color:var(--line-strong);background:var(--tint-2);color:var(--text)}.hint-popover{position:fixed;z-index:200;width:min(340px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel-strong);box-shadow:0 18px 44px var(--shadow-strong);color:var(--text);padding:12px 14px;font-size:13px;line-height:1.45;animation:admin-dialog-in .16s cubic-bezier(.22,.61,.36,1) both}.hint-popover:focus{outline:none}.hint-popover p{margin:0}.hint-popover p+p{margin-top:8px}.assistant-fab{position:fixed;right:20px;bottom:20px;z-index:150;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(79,127,216,.38);border-radius:50%;background:var(--accent);box-shadow:0 10px 28px var(--shadow-strong);color:#fff;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.assistant-fab:hover{transform:translateY(-1px);box-shadow:0 14px 32px var(--shadow-strong)}.assistant-panel{position:fixed;right:20px;bottom:20px;z-index:150;width:min(400px,calc(100vw - 40px));height:min(600px,calc(100vh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel-strong);box-shadow:0 18px 44px var(--shadow-strong);color:var(--text);overflow:hidden;animation:admin-dialog-in .18s cubic-bezier(.22,.61,.36,1) both}.assistant-panel__head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;grid-gap:8px;gap:8px;border-bottom:1px solid var(--line);padding:10px 10px 10px 14px;color:var(--accent)}.assistant-panel__head h2{margin:0;color:var(--text);font-size:14px;font-weight:700}.assistant-panel__icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.assistant-panel__icon:focus-visible,.assistant-panel__icon:hover:not(:disabled){border-color:var(--line-strong);background:var(--tint-2);color:var(--text)}.assistant-panel__icon:disabled{cursor:default;opacity:.4}.assistant-panel__list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding:14px}.assistant-panel__empty{display:grid;grid-gap:8px;gap:8px;margin-top:auto}.assistant-panel__empty p{margin:0 0 4px;color:var(--muted);font-size:13px;line-height:1.45}.assistant-panel__suggestion{border:1px solid var(--line-strong);border-radius:10px;background:var(--tint-1);color:var(--text);padding:8px 10px;font:inherit;font-size:13px;line-height:1.35;text-align:left;cursor:pointer}.assistant-panel__suggestion:focus-visible,.assistant-panel__suggestion:hover{border-color:rgba(79,127,216,.5);background:var(--accent-soft)}.assistant-message{max-width:88%;align-self:flex-start;border:1px solid var(--line);border-radius:12px 12px 12px 4px;background:var(--tint-1);padding:8px 11px;font-size:13px;line-height:1.5}.assistant-message--user{align-self:flex-end;border-color:rgba(79,127,216,.38);border-radius:12px 12px 4px 12px;background:var(--accent-soft)}.assistant-message__text{overflow-wrap:anywhere;white-space:pre-wrap}.assistant-message__error{color:var(--danger-text)}.assistant-message__text+.assistant-message__error,.assistant-message__text+.assistant-message__note{margin-top:6px}.assistant-message__note{color:var(--muted);font-size:12px}.assistant-message__typing{display:flex;gap:4px;padding:4px 0}.assistant-message__typing span{width:6px;height:6px;border-radius:50%;background:var(--muted-soft);animation:assistant-typing 1s ease-in-out infinite}.assistant-message__typing span:nth-child(2){animation-delay:.15s}.assistant-message__typing span:nth-child(3){animation-delay:.3s}@keyframes assistant-typing{0%,80%,to{opacity:.3}40%{opacity:1}}.assistant-panel__form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding:10px}.assistant-panel__form textarea{min-height:38px;max-height:132px;resize:none;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);padding:9px 11px;font:inherit;font-size:13px;line-height:1.4}.assistant-panel__form textarea:focus{border-color:rgba(79,127,216,.6);outline:none}.assistant-panel__send{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}.assistant-panel__send:disabled{cursor:default;opacity:.45}@media (max-width:1024px){.assistant-fab{z-index:90}}@media (max-width:767px){.assistant-fab{right:16px;bottom:16px}.assistant-panel{right:8px;bottom:8px;left:8px;width:auto;height:calc(100vh - 72px);height:calc(100dvh - 72px)}}.workspace{min-width:0;min-height:100vh;background:var(--bg);display:grid;place-items:stretch;align-content:start;grid-row-gap:18px;row-gap:18px;padding:24px}.workspace>*{width:min(1280px,100%);display:grid;align-content:start;grid-gap:18px;gap:18px}.import-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.import-head h1{margin:0;color:var(--text);font-size:28px;line-height:1.15;letter-spacing:0}.import-head p{max-width:540px;margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.import-panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:16px;display:grid;grid-gap:14px;gap:14px}.import-file-input{display:none}.import-dropzone{min-height:178px;border:1px dashed var(--line-strong);border-radius:10px;background:linear-gradient(180deg,var(--tint-2),transparent),var(--panel-strong);color:var(--text);display:grid;align-content:center;justify-items:center;grid-gap:8px;gap:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.import-dropzone:hover{border-color:rgba(79,127,216,.58);background-color:rgba(79,127,216,.08)}.import-dropzone:active{transform:translateY(1px)}.import-dropzone strong{font-size:17px;line-height:1.2;letter-spacing:0}.import-dropzone span{max-width:360px;color:var(--muted);font-size:13px;line-height:1.4}.import-actions{display:flex;flex-wrap:wrap;gap:10px}.import-button{min-height:40px;border:1px solid var(--line-strong);border-radius:8px;background:var(--tint-2);color:var(--text);padding:0 14px;font-size:13px;font-weight:650;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.import-button:hover:not(:disabled){border-color:var(--line-hover);background:var(--tint-3)}.import-button--primary{border-color:rgba(79,127,216,.68);background:var(--accent);color:white}.import-button--primary:hover:not(:disabled){border-color:rgba(112,155,232,.9);background:#5d8ce3}.import-button:disabled{cursor:not-allowed;opacity:.46}.import-plan{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;display:grid;grid-gap:12px;gap:12px}.import-plan__head{display:grid;grid-gap:4px;gap:4px}.import-plan__head strong{color:var(--text);font-size:13px;font-weight:700}.import-plan__head span{color:var(--muted);font-size:13px;line-height:1.4}.import-plan__rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px 20px;gap:8px 20px}.import-plan__row{min-height:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;color:var(--muted);font-size:13px;line-height:1.25}.import-plan__row strong{color:var(--text);font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-plan__row--warn strong{color:var(--danger-text)}.import-plan__groups{margin:0;padding:10px 0 0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:6px 16px;gap:6px 16px;border-top:1px solid var(--line)}.import-plan__groups li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;font-size:13px}.import-plan__groups strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:650}.import-plan__groups span{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-plan__outside{display:grid;grid-gap:6px;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.import-plan__title{color:var(--text);font-size:13px;font-weight:700}.import-plan__outside-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:4px;gap:4px}.import-plan__outside-list li{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;font-size:13px}.import-plan__outside-list--single li{grid-template-columns:minmax(0,1fr)}.import-plan__outside-list span,.import-plan__outside-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-plan__outside-list strong{color:var(--text);font-weight:650}.import-plan__outside-list span{color:var(--muted)}.import-plan__outside-list span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.import-plan__more{color:var(--muted);font-size:13px}.import-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.import-card{min-height:174px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;display:grid;align-content:start;grid-gap:10px;gap:10px}.import-card__label{color:var(--muted-soft);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1;text-transform:uppercase}.import-card__value{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:17px;font-weight:650;line-height:1.25}.import-card__hint{color:var(--muted);font-size:13px;line-height:1.4}.import-summary{display:grid;grid-gap:8px;gap:8px}.import-summary__row{min-height:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;color:var(--muted);font-size:13px;line-height:1.25}.import-summary__row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-summary__row strong{color:var(--text);font-size:13px;font-weight:700}.schedule-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:grid;grid-gap:10px;gap:10px;background:var(--sticky-bg);padding-bottom:10px;transition:box-shadow .16s ease}.schedule-sticky__sentinel{height:1px;margin-bottom:-1px}.schedule-sticky--stuck{box-shadow:0 12px 24px var(--shadow-soft)}.schedule-toolbar{display:grid;grid-template-columns:minmax(340px,1fr) minmax(320px,1fr);align-items:end;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:14px}.lesson-switch{min-height:40px;display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));grid-gap:4px;gap:4px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);padding:4px}.lesson-switch__button{min-width:0;min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:background-color .14s ease,color .14s ease}.lesson-switch__button:hover{color:var(--text)}.lesson-switch__button--active{background:var(--accent);color:white}.day-switch{min-height:40px;display:grid;grid-template-columns:repeat(6,minmax(52px,1fr));grid-gap:4px;gap:4px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);padding:4px}.day-switch__button{min-width:0;display:grid;justify-items:center;grid-gap:1px;gap:1px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:3px 2px;cursor:pointer;transition:background-color .14s ease,color .14s ease}.day-switch__button:hover{color:var(--text)}.day-switch__button--active,.day-switch__button--active:hover{background:var(--accent);color:white}.field .day-switch span{color:inherit;letter-spacing:0;line-height:1.1;text-transform:none}.field .day-switch__weekday{font-size:12px;font-weight:700}.field .day-switch__date{font-size:11px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:767px){.day-switch{grid-template-columns:repeat(6,minmax(0,1fr))}}.schedule-sheet-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;align-items:start;grid-gap:12px;gap:12px}.schedule-sheet-wrap{overflow:auto;max-height:calc(100vh - 220px);border:1px solid var(--line-strong);border-radius:8px;background:var(--panel)}.xl-grid{min-width:820px;width:100%;border-collapse:separate;border-spacing:0;color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.25;table-layout:fixed}.xl-grid td,.xl-grid th{overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:5px 9px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.xl-grid td:last-child,.xl-grid th:last-child{border-right:0}.xl-grid thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;height:30px;border-bottom:1px solid var(--line-strong);background:var(--panel-strong);color:var(--muted-soft);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.xl-grid thead th:first-child{left:0;z-index:4}.xl-grid tbody .xl-grid__group th{position:-webkit-sticky;position:sticky;top:30px;left:0;overflow:visible;z-index:2;display:table-cell;height:34px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);box-shadow:inset 3px 0 0 var(--accent);background:var(--row-group);color:var(--text);font-size:13px;font-weight:800}.xl-grid__group-toggle{display:flex;align-items:center;gap:8px;width:calc(100% + 18px);margin:-5px -9px;border:0;border-radius:0;padding:5px 9px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.xl-grid__group-label{position:-webkit-sticky;position:sticky;left:9px;display:flex;align-items:center;gap:8px}.xl-grid__group-toggle:hover{background:rgba(79,127,216,.12)}.xl-grid__group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.xl-grid__group-count{color:var(--muted-soft);font-weight:500}.xl-grid__group-hint{color:var(--muted-soft);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.xl-grid__row{height:30px;cursor:cell}.xl-grid__row:focus{outline:none}.xl-grid tbody th{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--panel);color:var(--text);font-weight:700}.xl-grid tbody .xl-grid__row>td,.xl-grid tbody .xl-grid__row>th{background-image:var(--row-layer-hover,none),var(--row-layer-state,none),var(--row-layer-alt,none)}.xl-grid__row:nth-child(2n){--row-layer-alt:linear-gradient(var(--tint-1),var(--tint-1))}.xl-grid__row--problem{--row-layer-state:linear-gradient(var(--row-problem-tint),var(--row-problem-tint))}.xl-grid__row--selected{--row-layer-state:linear-gradient(var(--row-selected-tint),var(--row-selected-tint));color:var(--text)}.xl-grid__row:hover:not(.xl-grid__row--selected){--row-layer-hover:linear-gradient(var(--row-hover-tint),var(--row-hover-tint))}.xl-grid tbody .xl-grid__row--drop>td,.xl-grid tbody .xl-grid__row--drop>th,.xl-grid tbody .xl-grid__row--selected>td,.xl-grid tbody .xl-grid__row--selected>th{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}.xl-grid tbody .xl-grid__row--drop>th,.xl-grid tbody .xl-grid__row--selected>th{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent),inset 2px 0 0 var(--accent)}.xl-grid tbody .xl-grid__row--drop>td:last-child,.xl-grid tbody .xl-grid__row--selected>td:last-child{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent),inset -2px 0 0 var(--accent)}.xl-grid__resizer{position:absolute;top:0;right:0;z-index:1;width:7px;height:100%;cursor:col-resize}.xl-grid__resizer:hover{background:var(--accent)}body.is-col-resizing{cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.xl-grid__room{margin-right:6px}.xl-grid__room-shared{display:inline-flex;margin-right:6px;color:var(--muted);vertical-align:-1px}.xl-grid__group-cell{display:flex;align-items:center;min-width:0}.xl-grid__group-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl-grid__group-cell .schedule-accounting-badge{flex:0 0 auto}.subs-toolbar{grid-template-columns:minmax(340px,440px) minmax(0,1fr)}.subs-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.subs-actions .import-button{display:inline-flex;align-items:center;gap:7px}.subs-report{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:12px 14px}.subs-report__head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:13px}.subs-report__days{display:flex;flex-wrap:wrap;gap:6px}.subs-report__day{min-height:30px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:7px;background:var(--tint-2);color:var(--muted);padding:0 10px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.subs-report__day:hover{border-color:var(--line-hover);color:var(--text)}.subs-report__day--active,.subs-report__day--active:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.subs-report__date{color:var(--text);font-weight:700}.subs-report__check{display:inline-flex;align-items:center;gap:4px;color:var(--warning-text)}.subs-grid{min-width:0}.subs-grid thead .subs-grid__parts th{height:28px;color:var(--text)}.subs-grid thead .subs-grid__columns th{top:28px;height:auto;padding-top:6px;padding-bottom:6px;line-height:1.25;vertical-align:bottom;white-space:normal}.subs-grid thead th.subs-grid__part{overflow:visible}.subs-grid__part-label{position:-webkit-sticky;position:sticky}.subs-grid thead th.subs-grid__corner{z-index:5}.subs-grid tbody td.subs-grid__sticky{position:-webkit-sticky;position:sticky;left:var(--sticky-left);z-index:1;background-color:var(--panel)}.xl-grid.subs-grid thead th.subs-grid__sticky{left:var(--sticky-left);z-index:4}.subs-grid .subs-grid__sticky--edge{box-shadow:inset -1px 0 0 var(--line-strong)}.subs-grid tbody td.subs-grid__actions{position:-webkit-sticky;position:sticky;right:0;z-index:1;background-color:var(--panel);box-shadow:inset 1px 0 0 var(--line-strong);padding:0 8px}.xl-grid.subs-grid thead th.subs-grid__actions{right:0;left:auto;box-shadow:inset 1px 0 0 var(--line-strong)}.subs-grid td.subs-grid__center{text-align:center}.subs-grid td.subs-grid__edit{padding:0}.subs-grid td.subs-grid__edit>.subs-cell-text{padding:0 9px}.subs-row--check{--row-layer-state:linear-gradient(var(--row-check-tint),var(--row-check-tint))}.subs-status{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;cursor:help}.subs-status--draft{color:var(--muted-soft)}.subs-status--failed{color:var(--danger-text)}.subs-status--applied{color:var(--success)}.subs-status--check{color:var(--warning-text)}.subs-cell-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subs-grid .combobox>span,.subs-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;padding:0;white-space:nowrap}.subs-grid .field{display:block}.subs-grid .combobox input,.subs-grid .subs-input,.subs-grid .subs-select{display:block;width:100%;height:32px;min-height:0;border:0;border-radius:0;background-color:transparent;color:var(--text);padding:0 9px;font:inherit;font-size:13px;outline:none;text-overflow:ellipsis}.subs-grid .subs-select{padding-right:24px;background-position:right 7px center;background-size:12px}.subs-grid .combobox input:hover,.subs-grid .subs-input:hover,.subs-grid .subs-select:hover{background-color:var(--tint-2)}.subs-grid .combobox input:focus,.subs-grid .subs-input:focus,.subs-grid .subs-select:focus{background-color:var(--panel-strong);box-shadow:inset 0 0 0 2px var(--accent)}.subs-grid input::placeholder{color:var(--muted-soft)}.subs-checkbox{display:block;width:15px;height:15px;margin:0 auto;accent-color:var(--accent);cursor:pointer}.subs-checkbox:disabled{cursor:not-allowed;opacity:.6}.subs-grid .date-picker{min-height:0;height:32px;border:0;border-radius:0;background:transparent;padding-right:2px}.subs-grid .date-picker:focus-within{background:var(--panel-strong);box-shadow:inset 0 0 0 2px var(--accent)}.subs-grid .date-picker .date-picker__input{min-height:0;height:32px;border-radius:0;padding:0 0 0 9px}.subs-grid .date-picker__icon{width:24px;height:24px}.subs-grid tr:not(:hover) .date-picker:not(:focus-within) .date-picker__icon{opacity:0}.subs-grid tr:not(:hover) .subs-select:not(:focus){background-image:none}.subs-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.subs-icon-button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--line-strong);border-radius:7px;background:var(--tint-2);color:var(--muted);padding:0;cursor:pointer}.subs-icon-button:hover:not(:disabled){border-color:var(--line-hover);color:var(--text)}.subs-icon-button--danger:hover:not(:disabled){color:var(--danger-text)}.subs-icon-button:disabled{cursor:not-allowed;opacity:.45}.subs-dialog{width:min(520px,100%);max-height:calc(100vh - 48px);overflow-y:auto}.subs-lesson-list{max-height:300px;display:grid;align-content:start;grid-gap:2px;gap:2px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);padding:4px}.subs-lesson{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:6px;background:transparent;color:var(--text);padding:6px 9px;font-size:13px;text-align:left;cursor:pointer}.subs-lesson:hover:not(:disabled){background:var(--tint-2)}.subs-lesson--active,.subs-lesson--active:hover:not(:disabled){background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.subs-lesson:disabled{cursor:not-allowed;opacity:.45}.subs-lesson__label{min-width:0;line-height:1.3;overflow-wrap:anywhere}.subs-lesson__room{flex:none;color:var(--muted-soft);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.subs-lesson-list__empty{color:var(--muted);padding:14px 9px;font-size:13px;text-align:center}.subs-file{position:relative;min-height:40px;display:flex;align-items:center;gap:8px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--panel-strong);color:var(--muted);padding:0 11px;cursor:pointer}.subs-file:focus-within,.subs-file:hover{border-color:var(--accent);color:var(--text)}.subs-file--disabled{cursor:not-allowed;opacity:.5}.field .subs-file__name{color:var(--text);font-size:13px;font-weight:500;letter-spacing:0;line-height:1.3;text-transform:none;overflow-wrap:anywhere}.subs-aliases{display:grid;grid-gap:8px;gap:8px}.subs-aliases__list{max-height:200px;display:grid;grid-gap:4px;gap:4px;overflow-y:auto;margin:0;padding:0;list-style:none}.subs-aliases__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:7px;padding:4px 4px 4px 10px;font-size:13px}.subs-aliases__kind{color:var(--muted-soft);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.subs-aliases__text{color:var(--text);overflow-wrap:anywhere}@media (max-width:1200px){.subs-toolbar{grid-template-columns:1fr}.subs-actions{justify-content:flex-start}}@media (max-width:767px){.subs-actions .import-button{flex:1 1 auto;justify-content:center}.subs-grid tbody td.subs-grid__sticky:not(:first-child),.xl-grid.subs-grid thead th.subs-grid__sticky{left:auto}.subs-grid .subs-grid__sticky--edge{box-shadow:none}.subs-grid tbody td.subs-grid__sticky:first-child{box-shadow:inset -1px 0 0 var(--line-strong)}.subs-grid tbody td.subs-grid__actions,.xl-grid.subs-grid thead th.subs-grid__actions{right:auto;box-shadow:none}}.schedule-clipboard{position:-webkit-sticky;position:sticky;top:0;display:grid;align-content:start;grid-gap:8px;gap:8px;max-height:calc(100vh - 220px);border:1px dashed var(--line-strong);border-radius:8px;background:var(--panel);padding:10px}.schedule-clipboard--drop{border-color:var(--accent);border-style:solid;background:var(--accent-soft)}.schedule-clipboard__head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted-soft);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.schedule-clipboard__list{overflow-y:auto;display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.schedule-clipboard__item{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong);padding:6px 8px;cursor:-webkit-grab;cursor:grab}.schedule-clipboard__item:active{cursor:-webkit-grabbing;cursor:grabbing}.schedule-clipboard__item-body{min-width:0;display:grid;grid-gap:2px;gap:2px}.schedule-clipboard__item-body strong{overflow:hidden;color:var(--text);font-size:12px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.schedule-clipboard__item-body span{color:var(--muted-soft);font-size:11px;line-height:1.2}.schedule-clipboard__remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:transparent;color:var(--muted-soft);padding:4px;cursor:pointer}.schedule-clipboard__remove:hover{color:var(--danger-text)}.schedule-clipboard__empty{margin:0;color:var(--muted-soft);font-size:12px;line-height:1.35}.schedule-reason-badge{min-height:20px;max-width:100%;border:1px solid rgba(218,88,88,.36);border-radius:999px;background:rgba(218,88,88,.1);color:var(--danger-text);padding:3px 7px;font-weight:800;white-space:normal}.schedule-accounting-badge,.schedule-reason-badge{display:inline-flex;align-items:center;font-size:10px;line-height:1.2}.schedule-accounting-badge{gap:4px;margin-left:6px;border:1px solid var(--line-strong);border-radius:999px;background:var(--accent-soft);color:var(--muted);padding:2px 7px;font-weight:750;white-space:nowrap}.schedule-edit{position:relative;z-index:51;width:min(760px,calc(100vw - 32px));border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 24px 80px var(--shadow-strong);max-height:calc(100vh - 32px);overflow-y:auto;display:grid;grid-gap:12px;gap:12px;padding:16px}.schedule-edit__title{color:var(--text);font-size:15px;font-weight:700;line-height:1.2}.schedule-edit__section{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--tint-1);padding:12px}.schedule-edit__section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-edit__section-head span{color:var(--muted-soft);font-size:11px;font-weight:750;letter-spacing:.08em;line-height:1;text-transform:uppercase}.schedule-edit__snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.schedule-edit__row{min-width:0;display:grid;grid-gap:5px;gap:5px;border:1px solid var(--line);border-radius:7px;background:var(--tint-1);padding:9px 10px}.schedule-edit__row span{color:var(--muted-soft);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1;text-transform:uppercase}.schedule-edit__row strong{min-height:18px;color:var(--text);font-size:13px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.schedule-edit__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.schedule-edit__lint{display:grid;grid-gap:8px;gap:8px;border:1px solid rgba(205,153,74,.34);border-radius:8px;background:rgba(205,153,74,.08);padding:12px}.schedule-edit__warning{display:grid;grid-gap:4px;gap:4px;border-top:1px solid rgba(205,153,74,.24);padding-top:8px}.schedule-edit__warning:first-of-type{border-top:0;padding-top:0}.schedule-edit__warning--error{border-color:rgba(218,88,88,.28)}.schedule-edit__warning strong{color:var(--text);font-size:13px;line-height:1.35}.schedule-edit__warning span{color:var(--muted-soft);font-size:12px;line-height:1.35}.schedule-edit__actions{display:flex;justify-content:flex-end;gap:8px}.schedule-edit__actions--force{flex-wrap:wrap}.schedule-edit__force-field{display:inline-flex;align-items:center;gap:4px;margin-right:auto}.schedule-edit__force{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;cursor:pointer}.schedule-edit__force input{accent-color:var(--accent)}.schedule-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}.schedule-modal__backdrop{position:fixed;inset:0;border:0;background:rgba(4,7,12,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default}.toast-stack{position:fixed;top:16px;right:16px;z-index:1000;flex-direction:column;max-width:min(420px,calc(100vw - 32px))}.toast,.toast-stack{display:flex;gap:8px}.toast{align-items:flex-start;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px var(--shadow-strong);animation:toast-in .14s ease-out}.toast--error{border-left:3px solid var(--danger)}.toast--warning{border-left:3px solid var(--warning)}.toast--success{border-left:3px solid var(--success)}.toast__body{display:flex;flex-direction:column;gap:2px;min-width:0}.toast__title{font-size:13px}.toast__reason{font-size:13px;color:var(--text)}.toast__technical{font-size:11px;color:var(--muted)}.toast__close{margin-left:auto;border:0;background:transparent;color:var(--muted);cursor:pointer}@keyframes toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.users-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(360px,1fr) minmax(260px,320px);grid-gap:14px;gap:14px}.users-panel{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:16px;display:grid;align-content:start;grid-gap:12px;gap:12px}.users-panel--list{min-height:286px}.users-panel__title{color:var(--text);font-size:15px;font-weight:700;line-height:1.2}.field{display:grid;grid-gap:7px;gap:7px}.field span{color:var(--muted-soft);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1;text-transform:uppercase}.field input,.field select{width:100%;min-height:40px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);color:var(--text);padding:0 11px;font:inherit;font-size:13px;outline:none}.field select,.lesson-times-head select,.subs-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a93a0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:13px;padding-right:30px;cursor:pointer}.field input:focus,.field select:focus{border-color:rgba(79,127,216,.75)}.field textarea{width:100%;min-height:96px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);color:var(--text);padding:9px 11px;font:inherit;font-size:13px;line-height:1.45;outline:none;resize:vertical}.field textarea:focus{border-color:var(--accent)}.field input:disabled,.field select:disabled{cursor:not-allowed;opacity:.5}.combobox{position:relative}.combobox__list{position:fixed;z-index:200;margin:0;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);box-shadow:0 18px 44px var(--shadow-strong);padding:4px;overflow-y:auto;overscroll-behavior:contain;list-style:none}.combobox__option{border-radius:6px;color:var(--text);padding:7px 9px;font-size:13px;line-height:1.3;cursor:pointer;overflow-wrap:anywhere}.combobox__option--active{background:var(--tint-2)}.combobox__empty{color:var(--muted-soft);padding:7px 9px;font-size:13px;line-height:1.3}.date-picker{position:relative;min-height:40px;display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);padding-right:4px}.date-picker:focus-within{border-color:var(--accent)}.date-picker--disabled{opacity:.6}.date-picker .date-picker__input{flex:1 1 auto;min-width:0;min-height:38px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:0 11px;outline:none}.date-picker .date-picker__input:disabled{opacity:1}.date-picker__icon,.date-picker__nav{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.date-picker__icon:hover,.date-picker__nav:hover{background:var(--tint-2);color:var(--text)}.date-picker--button{min-height:0;border:0;background:transparent;padding:0}.date-picker__trigger{min-height:36px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);color:var(--text);font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:0 12px;cursor:pointer}.date-picker__trigger:hover{border-color:var(--line-hover)}.date-picker__popover{position:fixed;z-index:200;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel-strong);box-shadow:0 18px 44px var(--shadow-strong);padding:10px;overflow-y:auto;overscroll-behavior:contain}.date-picker__head{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;margin-bottom:6px}.date-picker__month{color:var(--text);font-size:14px;font-weight:700;text-align:center}.date-picker__row,.date-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.date-picker__weekdays span{color:var(--muted-soft);font-size:11px;font-weight:650;line-height:24px;text-align:center}.date-picker__row{border-radius:7px}.date-picker__grid--week .date-picker__row:hover,.date-picker__row--selected{background:var(--accent-soft)}.date-picker__day{position:relative;height:36px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.date-picker__day:hover{background:var(--tint-3)}.date-picker__day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.date-picker__day--outside{color:var(--muted-soft)}.date-picker__day--today{border-color:var(--line-hover)}.date-picker__day--selected,.date-picker__day--selected:hover{background:var(--accent);color:white}.date-picker__day--study:after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--accent);transform:translateX(-50%)}.date-picker__day--selected.date-picker__day--study:after{background:white}.date-picker__foot{display:flex;justify-content:center;margin-top:6px}.date-picker__today{border:0;border-radius:6px;background:transparent;color:var(--accent);font-size:13px;font-weight:650;padding:6px 10px;cursor:pointer}.date-picker__today:hover{background:var(--tint-2)}.week-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.week-bar__switch{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);padding:3px}.week-bar__arrow,.week-bar__option{min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;font-weight:650;cursor:pointer;transition:background-color .14s ease,color .14s ease}.week-bar__arrow{width:30px;display:inline-flex;align-items:center;justify-content:center}.week-bar__option{padding:0 12px}.week-bar__arrow:hover,.week-bar__option:hover{color:var(--text)}.week-bar__option--active,.week-bar__option--active:hover{background:var(--accent);color:white}.form-error{min-height:36px;display:flex;align-items:center;border:1px solid rgba(218,88,88,.38);border-radius:8px;background:rgba(218,88,88,.09);color:var(--danger-text);padding:7px 12px;font-size:13px;font-weight:600;line-height:1.35}.users-list{display:grid;grid-gap:8px;gap:8px}.users-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;color:var(--muted);font-size:12px}.users-row__meta .users-role{min-height:28px;display:inline-flex;align-items:center;justify-content:center;margin:0;border:1px solid rgba(79,127,216,.38);border-radius:999px;background:var(--accent-soft);padding:0 12px;color:var(--text);font-size:12px;font-weight:650;line-height:1;white-space:nowrap}.users-row__meta .users-role--operator{border-color:var(--line-strong);background:var(--tint-2)}.users-row__meta .users-role--inactive{border-color:var(--line);background:var(--tint-2);color:var(--muted)}.users-row__action{min-height:28px;border:1px solid var(--line-strong);border-radius:7px;background:var(--tint-2);color:var(--muted);padding:0 8px;font-size:12px;font-weight:650;cursor:pointer}.users-row__action:hover:not(:disabled){border-color:var(--line-hover);color:var(--text)}.users-row__action:disabled{cursor:not-allowed;opacity:.45}.users-credentials{display:grid;grid-gap:9px;gap:9px}.users-credentials__row{display:grid;grid-gap:4px;gap:4px;border-bottom:1px solid var(--line);padding-bottom:9px}.users-credentials__row:last-child{border-bottom:0;padding-bottom:0}.users-credentials__row span{color:var(--muted-soft);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1;text-transform:uppercase}.users-credentials__row strong{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:13px;line-height:1.35}.users-credentials__actions{display:flex;justify-content:flex-start;padding-top:2px}.users-password-form{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:12px}.users-password-form__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.users-password-form__actions .import-button{min-height:30px;padding:0 12px;font-size:12px}.users-empty{min-height:150px;border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted);display:grid;place-items:center;padding:16px;text-align:center;font-size:13px;line-height:1.4}.time-profiles-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;grid-gap:14px;gap:14px}.time-profile-tabs{width:-moz-fit-content;width:fit-content;display:inline-flex;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:3px}.time-profile-tab{min-width:96px;min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.time-profile-tab--active{background:var(--accent-soft);color:var(--text)}.time-profile-form{position:-webkit-sticky;position:sticky;top:0}.lesson-times-toolbar{display:grid;grid-template-columns:minmax(200px,280px) auto minmax(0,1fr);align-items:end;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:14px}.lesson-times-sheet{overflow:auto;max-height:calc(100vh - 300px);border:1px solid var(--line-strong);border-radius:8px;background:var(--panel)}.lesson-times-sheet table{min-width:940px;width:100%;border-collapse:separate;border-spacing:0;color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-times-sheet td,.lesson-times-sheet th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.lesson-times-sheet td:last-child,.lesson-times-sheet th:last-child{border-right:0}.lesson-times-sheet thead th{top:0;z-index:3;border-bottom:1px solid var(--line-strong)}.lesson-times-sheet tbody th,.lesson-times-sheet thead th{position:-webkit-sticky;position:sticky;background:var(--panel-strong)}.lesson-times-sheet tbody th{left:0;z-index:2;width:56px;color:var(--text);font-weight:700;text-align:center}.lesson-times-sheet thead th:first-child{left:0;z-index:4}.lesson-times-head{display:grid;grid-gap:4px;gap:4px}.lesson-times-head select{width:100%;min-height:28px;margin-top:2px;border:1px solid var(--line-strong);border-radius:7px;background-color:var(--panel-strong);color:var(--text);padding:0 24px 0 8px;font:inherit;font-size:12px;outline:none;cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.lesson-times-head select:hover:not(:disabled){border-color:var(--line-hover)}.lesson-times-head select:focus{border-color:rgba(79,127,216,.75)}.lesson-times-head select:disabled{cursor:not-allowed;opacity:.5}.lesson-times-head strong{color:var(--text);font-size:13px}.lesson-times-head span{color:var(--muted-soft);font-size:11px}.lesson-times-cell{display:grid;grid-gap:5px;gap:5px}.lesson-times-cell__count{color:var(--muted-soft);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.time-range{display:grid;grid-template-columns:auto auto auto;justify-content:center;align-items:center;grid-gap:2px;gap:2px;min-height:34px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-strong);padding:0 6px;transition:border-color .14s ease,background-color .14s ease}.time-range:hover{border-color:var(--line-hover)}.time-range:focus-within{border-color:rgba(79,127,216,.75);background:var(--accent-soft)}.time-range:has(input:disabled){opacity:.5}.time-range__dash{color:var(--muted);font-size:12px;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.time-range input{width:auto;border:0;background:transparent;color:var(--text);padding:0 2px;font:inherit;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;outline:none}.time-range input:disabled{cursor:not-allowed}.time-range--dense input::-webkit-calendar-picker-indicator{display:none}.time-range:not(.time-range--dense) input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;-webkit-transition:opacity .14s ease;transition:opacity .14s ease}.time-range:not(.time-range--dense) input:focus::-webkit-calendar-picker-indicator,.time-range:not(.time-range--dense):hover input::-webkit-calendar-picker-indicator{opacity:.55}.time-slot-editor,.week-day-editor{display:grid;grid-gap:8px;gap:8px}.time-slot-editor__row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px}.time-slot-editor__row .time-range{min-height:36px}.time-slot-editor__row>span{min-height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:12px;font-weight:750}.time-profile-actions{display:flex;justify-content:flex-end;gap:8px}.time-profile-list{display:grid;grid-gap:10px;gap:10px}.time-profile-row{align-items:start}.time-profile-slots,.time-profile-week{display:flex;flex-wrap:wrap;gap:6px}.time-profile-slots span,.time-profile-week span{min-height:24px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);padding:0 8px;font-size:11px;line-height:1}.rooms-list,.teachers-list{display:grid;grid-gap:14px;gap:14px}.rooms-building,.rooms-card-list{display:grid;grid-gap:8px;gap:8px}.rooms-row{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:9px 11px}.rooms-row--excluded{border-color:rgba(218,88,88,.34);background:rgba(218,88,88,.07)}.rooms-row--add{display:flex;justify-content:center;gap:8px;border:1px dashed var(--line-strong);background:none;color:var(--muted);font:inherit;font-weight:650;text-align:center;cursor:pointer}.rooms-row--add:hover:not(:disabled){border-color:var(--accent);background:rgba(79,127,216,.07);color:var(--text)}.rooms-row--add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rooms-row--add:disabled{cursor:default;opacity:.55}.rooms-row__body{min-width:0;display:grid;grid-gap:4px;gap:4px}.rooms-row__body strong{color:var(--text);font-size:14px;line-height:1.2;overflow-wrap:anywhere}.rooms-row__body span{color:var(--muted-soft);font-size:12px;line-height:1.2}.rooms-row__delete{display:inline-flex;align-items:center;gap:6px}.rooms-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.rooms-exclusion{display:flex;flex-wrap:wrap;gap:6px}.rooms-exclusion span{min-height:22px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);padding:0 8px;font-size:11px;line-height:1}.rooms-exclusion__badge{border-color:rgba(218,88,88,.38)!important;background:rgba(218,88,88,.1);color:var(--danger-text)!important;font-weight:800}.teachers-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.teachers-slot-picker{display:grid;grid-gap:8px;gap:8px}.teachers-slot-picker__head{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px}.teachers-slot-picker__label{color:var(--muted-soft);font-size:12px;font-weight:700}.teachers-select-all{border:1px solid var(--line);border-radius:8px;background:var(--tint-2);color:var(--text);cursor:pointer;font-size:12px;font-weight:750;line-height:1;padding:8px 10px;transition:background .16s ease,border-color .16s ease,color .16s ease}.teachers-select-all:hover:not(:disabled){border-color:rgba(238,185,82,.42);background:rgba(238,185,82,.1)}.teachers-select-all:disabled{cursor:not-allowed;opacity:.52}.teachers-slot-picker__buttons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.teachers-slot-button{min-width:0;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--tint-2);color:var(--muted-soft);cursor:pointer;font-size:13px;font-weight:800;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.teachers-slot-button:hover:not(:disabled){border-color:rgba(238,185,82,.42);color:var(--text);transform:translateY(-1px)}.teachers-slot-button--active{border-color:rgba(238,185,82,.72);background:rgba(238,185,82,.17);color:var(--accent-strong)}.teachers-slot-button:disabled{cursor:not-allowed;opacity:.64}.teachers-absence-list{display:grid;grid-gap:6px;gap:6px;padding-top:4px}.teachers-absence{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(238,185,82,.22);border-radius:8px;background:rgba(238,185,82,.08);padding:6px 8px}.teachers-absence span{color:var(--text);font-size:12px}.teachers-absence__actions{display:flex;flex:none;align-items:center;gap:4px}.teachers-absence-list--days{padding:0 0 0 14px}.day-marks__modes{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.day-marks__modes .time-profile-tab{min-width:0}.day-marks__period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.day-marks__days{display:flex;flex-wrap:wrap;gap:6px}.day-marks__day{min-height:28px;display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;background:var(--tint-2);color:var(--text);padding:0 4px 0 10px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.day-marks__day button{width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted-soft);cursor:pointer}.day-marks__day button:hover:not(:disabled){background:var(--tint-2);color:var(--text)}.day-marks__day button:disabled{cursor:not-allowed}.teachers-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}.teachers-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(7,10,15,.66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.teachers-absence-dialog{position:relative;z-index:1;width:min(440px,100%);display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--dialog-bg);box-shadow:0 26px 80px var(--shadow-strong);padding:18px}.teachers-absence-dialog__title{color:var(--text);font-size:18px;font-weight:750;line-height:1.25;overflow-wrap:anywhere}.problems-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.problems-filters{display:flex;flex-wrap:wrap;gap:8px}.problems-filter{min-height:34px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--tint-2);color:var(--muted-soft);cursor:pointer;padding:0 10px;font-size:12px;font-weight:750;transition:background .16s ease,border-color .16s ease,color .16s ease}.problems-filter:hover{border-color:rgba(238,185,82,.38);color:var(--text)}.problems-filter--active{border-color:rgba(238,185,82,.64);background:rgba(238,185,82,.13);color:var(--accent-strong)}.problems-filter strong{min-width:22px;min-height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--tint-3);color:var(--text);padding:0 7px;font-size:11px;line-height:1}.problems-list{display:grid;grid-gap:10px;gap:10px}.problem-card{display:grid;grid-gap:9px;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:13px 14px}.problem-card--error{border-color:rgba(218,88,88,.38);background:rgba(218,88,88,.06)}.problem-card--warning{border-color:rgba(205,153,74,.38);background:rgba(205,153,74,.06)}.problem-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.problem-card__head span{min-height:24px;display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px;color:var(--text);padding:0 9px;font-size:12px;font-weight:700;line-height:1}.problem-card--error .problem-card__head span{border-color:var(--danger-text);color:var(--danger-text)}.problem-card--warning .problem-card__head span{border-color:var(--warning-text);color:var(--warning-text)}.problem-card__head strong{color:var(--muted-soft);font-size:11px;font-weight:750;letter-spacing:.08em;line-height:1;text-transform:uppercase}.problem-card__message{color:var(--text);font-size:14px;line-height:1.4;white-space:pre-line}.problem-card__items{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.problem-card__items li{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.4}.problem-card__items strong{color:var(--text);font-weight:650}.problem-card__items span{color:var(--muted)}.problem-card__more{justify-self:start;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;padding:4px 11px;font-size:12px;line-height:1}.problem-card__more:hover{border-color:var(--line-strong);color:var(--text)}.problem-card__meta{display:flex;flex-wrap:wrap;gap:6px}.problem-card__meta span{min-height:24px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);padding:0 9px;font-size:12px;line-height:1}.audit-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.audit-toolbar__search{flex:1 1 320px;min-width:220px}.audit-toolbar__date{flex:0 0 auto;width:168px}.audit-toolbar .users-row__action{min-height:40px}.audit-list{display:grid;grid-gap:8px;gap:8px}.audit-row{min-height:54px;display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:9px 11px}.audit-row__time{color:var(--muted-soft);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.3}.audit-row__body{display:grid;grid-gap:4px;gap:4px;min-width:0}.audit-row__summary{color:var(--text);font-size:14px;line-height:1.4;overflow-wrap:anywhere}.audit-row__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px;line-height:1.3}.audit-row__meta span+span:before{content:"·";margin-right:8px}.audit-row__entity{min-height:24px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted);padding:0 9px;font-size:12px;line-height:1;white-space:nowrap}.audit-more{justify-self:start}.curriculum-tree{display:grid;grid-gap:6px;gap:6px}.curriculum-tree__course,.curriculum-tree__node{display:grid;grid-gap:4px;gap:4px}.curriculum-tree__course{margin-left:18px}.curriculum-tree__row{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:0 11px;font:inherit;text-align:left;cursor:pointer}.curriculum-tree__row:hover{border-color:var(--line-hover)}.curriculum-tree__row--child{font-size:13px}.curriculum-tree__meta{color:var(--muted);font-size:12px;margin-left:auto;white-space:nowrap}.load-page{display:grid;grid-gap:14px;gap:14px}.load-info{color:var(--muted);font-size:13px}.load-report{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:10px 12px;font-size:13px;line-height:1.4}.load-unmatched,.load-unmatched__group{display:grid;grid-gap:8px;gap:8px}.load-unmatched__head{display:flex;align-items:center;gap:10px}.load-unmatched__toggle{display:flex;align-items:center;flex:1 1 auto;gap:8px;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:0 11px;font:inherit;font-size:13px;text-align:left;cursor:pointer}.load-unmatched__toggle:hover{border-color:var(--line-hover)}.load-unmatched__item{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;border:1px solid var(--line);border-radius:8px;padding:6px 10px}.load-unmatched__text{flex:1 1 260px;min-width:min(260px,100%);color:var(--text);font-size:13px;overflow-wrap:anywhere}.load-unmatched__item .combobox{flex:1 1 240px;min-width:min(200px,100%);max-width:320px}.load-unmatched__item .combobox>span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;padding:0;white-space:nowrap}.load-unmatched__item .field input,.load-unmatched__item .load-action{min-height:34px}.load-unmatched__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}.load-action{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}@media (max-width:1024px){.load-unmatched__text{flex-basis:100%}}@media (max-width:767px){.load-unmatched__head{flex-wrap:wrap}.load-unmatched__item .combobox{flex-basis:100%;max-width:none}.load-unmatched__actions{flex-basis:100%}}.group-hours__toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:14px}.group-hours__notice{margin-bottom:10px;color:var(--muted);font-size:13px;line-height:1.4}.group-hours__scroll{max-width:100%;overflow-x:auto}.group-hours{width:100%;border:1px solid var(--line-strong);border-radius:8px;border-collapse:separate;border-spacing:0;background:var(--panel);color:var(--text);font-size:13px}.group-hours td,.group-hours th{border-bottom:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:middle}.group-hours thead th{color:var(--muted);background:var(--panel-strong);font-weight:700}.group-hours tbody tr:last-child td{border-bottom:0}.group-hours__label{width:1%;white-space:nowrap}.group-hours tfoot td,.group-hours tfoot th{border-top:1px solid var(--line-strong);border-bottom:0;background:var(--panel-strong);font-weight:700}.group-hours__value{width:96px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.group-hours__row--unscheduled td{color:var(--muted)}.group-hours__toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:inherit;padding:0;font:inherit;text-align:left;cursor:pointer}.group-hours__toggle:hover{color:var(--accent)}.group-hours__subject{padding-left:21px}.group-hours__details td{background:var(--panel-strong)}.group-hours__days,.group-hours__months{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.group-hours__months{padding-left:21px}.group-hours__days{margin-top:6px;padding-left:20px}.group-hours__days,.group-hours__month-total{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.group-hours__badge{margin-left:8px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted);font-size:11px;white-space:nowrap}@media (min-width:2400px){:root{--sidebar-width:320px}.sidebar{padding:24px 18px}.nav-item{min-height:44px}.workspace>*{width:min(1360px,100%)}.import-dropzone{min-height:220px}}@media (max-width:1366px){:root{--sidebar-width:252px}.workspace>*{width:min(980px,100%)}.users-grid{grid-template-columns:320px minmax(0,1fr)}.users-panel--credentials{grid-column:1/-1}}@media (max-width:1200px){:root{--sidebar-width:236px}.schedule-sheet-layout{grid-template-columns:minmax(0,1fr)}.schedule-clipboard{position:static;max-height:none}.schedule-sheet-wrap{max-height:calc(100vh - 280px)}.sidebar{padding:16px 12px}.nav-row .nav-item{gap:8px;padding-right:26px}.nav-help{right:3px;width:22px;height:22px}.import-meta{grid-template-columns:1fr 1fr}.schedule-toolbar{grid-template-columns:1fr}.users-grid{grid-template-columns:300px minmax(0,1fr)}}@media (max-width:1024px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:14px 10px;align-items:center}.sidebar__brand{width:100%;justify-content:center;padding:0 0 14px}.nav-group__title,.nav-item span,.role-switch,.sidebar__account-text,.sidebar__title{display:none}.nav-group__subitems{margin:2px 0 0;padding-left:0;border-left:0}.nav-item--child .nav-item__icon{display:block}.nav-help{display:none}.nav-row .nav-item{padding-right:0}.sidebar__help{display:inline-flex}.sidebar__account{width:100%;grid-template-columns:minmax(0,1fr);justify-items:center;padding:8px 0}.sidebar__account-actions{flex-direction:column}.nav-group,.nav-group__items,.sidebar__nav{width:100%}.nav-item{min-height:42px;grid-template-columns:1fr;justify-items:center;padding:0}.nav-item--child:has(.presence-dots),.nav-item:has(.presence-dots){position:relative;grid-template-columns:1fr}.nav-item .presence-dots{position:absolute;top:3px;right:3px}.nav-item .presence-dot{width:8px;height:8px;font-size:0}.nav-item .presence-dot--more{display:none}.import-head{display:grid}.schedule-toolbar,.users-grid{grid-template-columns:1fr}.users-panel--credentials{grid-column:auto}}@media (max-width:880px){.app-shell{grid-template-columns:68px minmax(0,1fr)}.import-meta{grid-template-columns:1fr}.schedule-edit__snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-edit__fields{grid-template-columns:1fr}.audit-row{grid-template-columns:118px minmax(0,1fr)}.audit-row__entity{grid-column:2}}@media (max-width:767px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.audit-toolbar__date{flex:1 1 140px;width:auto}.audit-row{grid-template-columns:minmax(0,1fr);align-items:start}.audit-row__entity{grid-column:1;justify-self:start}.sidebar{position:static;height:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto;padding:10px}.sidebar__account{width:auto;margin:0 0 0 auto;grid-template-columns:32px auto;padding:4px 6px}.sidebar__account-actions{flex-direction:row}.sidebar__brand{width:auto;min-width:48px;border-bottom:0;padding:0}.sidebar__nav{width:auto;flex:none;overflow:visible;display:flex;gap:8px}.nav-group{display:contents}.nav-group__items{display:flex;gap:8px}.nav-group__items>div,.nav-group__subitems{display:contents}.nav-item{width:42px;min-width:42px}.workspace{min-height:calc(100vh - 54px);padding:16px}.workspace>*{gap:14px}.import-head h1{font-size:22px}.import-panel{padding:12px}.import-dropzone{min-height:150px;padding:18px}.import-actions{display:grid;grid-template-columns:1fr}.import-button{width:100%}.import-plan__outside-list{gap:8px}.import-plan__outside-list li{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 12px}.import-plan__outside-list .import-plan__outside-subject{grid-column:1/-1;grid-row:2;overflow:visible;white-space:normal;overflow-wrap:anywhere}.schedule-edit__actions--force .schedule-edit__force-field{flex-basis:100%}.schedule-edit__actions--force .users-row__action{min-height:40px;padding:0 14px}.schedule-edit__actions--force .import-button{width:auto;flex:1 1}.users-panel{padding:12px}.rooms-row{grid-template-columns:1fr}.rooms-row__delete{justify-self:start}.rooms-row-actions,.teachers-row-actions{justify-content:flex-start;flex-wrap:wrap}.problem-card__head,.problems-toolbar{align-items:flex-start;flex-direction:column}.schedule-edit__snapshot{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.viewer-shell *,.viewer-shell :after,.viewer-shell :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.viewer-lesson:hover{transform:none}}.workspace>*{animation:admin-fade-in .2s ease backwards}.audit-row,.problem-card,.rooms-row{animation:admin-row-in .22s cubic-bezier(.22,.61,.36,1) both}.schedule-edit,.teachers-absence-dialog{animation:admin-dialog-in .18s cubic-bezier(.22,.61,.36,1) both}.schedule-modal__backdrop,.teachers-modal__backdrop{animation:admin-fade-in .16s ease both}.nav-item{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.rooms-row{transition:border-color .16s ease,background-color .16s ease}@keyframes admin-fade-in{0%{opacity:0}to{opacity:1}}@keyframes admin-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes admin-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :after,.app-shell :before,.assistant-panel,.assistant-panel *,.auth-shell *,.hint-popover,.schedule-modal,.schedule-modal *,.section-help{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.xl-grid tbody .xl-grid__row--presence:not(.xl-grid__row--selected):not(.xl-grid__row--drop)>td,.xl-grid tbody .xl-grid__row--presence:not(.xl-grid__row--selected):not(.xl-grid__row--drop)>th{box-shadow:inset 0 2px 0 var(--row-presence),inset 0 -2px 0 var(--row-presence)}.xl-grid tbody .xl-grid__row--presence:not(.xl-grid__row--selected):not(.xl-grid__row--drop)>th{box-shadow:inset 0 2px 0 var(--row-presence),inset 0 -2px 0 var(--row-presence),inset 2px 0 0 var(--row-presence)}.xl-grid tbody .xl-grid__row--presence:not(.xl-grid__row--selected):not(.xl-grid__row--drop)>td:last-child{box-shadow:inset 0 2px 0 var(--row-presence),inset 0 -2px 0 var(--row-presence),inset -2px 0 0 var(--row-presence)}.presence-chips{display:inline-flex;align-items:center;vertical-align:middle}.presence-chip{width:18px;height:18px;display:inline-grid;place-items:center;border:1px solid var(--panel);border-radius:50%;color:var(--presence-text);font-size:9px;font-weight:700;letter-spacing:-.03em;line-height:1;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.presence-chip+.presence-chip{margin-left:-4px}.presence-chip--more{width:auto;min-width:18px;padding:0 3px;border-radius:9px;background:var(--tint-3);color:var(--text)}.presence-chips--row{margin-right:6px}.day-switch__button{position:relative}.presence-chips--day{position:absolute;top:-12px;right:2px;pointer-events:none}.field .day-switch .presence-chip{width:16px;height:16px;color:var(--presence-text);font-size:8px;line-height:1}.field .day-switch .presence-chip--more{width:auto;color:var(--text)}.schedule-edit__notice{border:1px solid var(--line);border-radius:8px;background:var(--accent-soft);color:var(--text);padding:8px 12px;font-size:13px;font-weight:600;line-height:1.35}@media (max-width:767px){.presence-chips--day{top:-10px;right:0}.field .day-switch .presence-chip{width:14px;height:14px;font-size:7px}}.push-page{display:grid;grid-gap:16px;gap:16px}.push-dialog__text,.push-form__recipients,.push-summary{margin:0;color:var(--muted);font-size:13px}.push-form{display:grid;grid-gap:14px;gap:14px;max-width:720px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.push-form__counter{justify-self:end;margin-top:-8px;color:var(--muted-soft);font-size:11px}.push-form__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.push-chip{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--tint-1);color:var(--text);font:inherit;font-size:12px;cursor:pointer}.push-chip--on{border-color:var(--accent);background:var(--accent-soft)}.push-chip button{display:inline-flex;padding:2px;border:0;background:transparent;color:var(--muted);cursor:pointer}.push-form__footer,.push-history__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.push-history{display:grid;grid-gap:10px;gap:10px}.push-history__toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.push-history__wrap{overflow-x:auto}.push-history__table{width:100%;border-collapse:collapse;font-size:13px}.push-history__table td,.push-history__table th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.push-history__table th{color:var(--muted-soft);font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}