:root{--pub-bg:#f4f6f8;--pub-surface:#fff;--pub-surface-2:#f7f9fb;--pub-line:#e6eaf0;--pub-line-2:#d7dde6;--pub-text:#17212f;--pub-muted:#56606f;--pub-faint:#7b8594;--pub-teal:#12a2b4;--pub-teal-ink:#0b7285;--pub-teal-soft:#e8f6f8;--pub-teal-soft-2:#f3fbfc;--pub-warn:#b5691a;--pub-warn-soft:#fdf3e7;--pub-radius:18px;--pub-radius-sm:14px;--pub-radius-xs:10px;--pub-shadow:0 1px 2px #1018280d, 0 10px 28px #1018280f;--pub-shadow-sm:0 1px 2px #1018280f}html:root{background-color:var(--pub-bg)}body.publicBody ::selection{background:#12a2b433}body.publicBody{background:var(--pub-bg);min-width:0;min-height:100vh;color:var(--pub-text);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,Roboto,Arial,sans-serif;font-size:16.5px;line-height:1.45}body.publicBody h1,body.publicBody h2,body.publicBody h3,body.publicBody h4{color:var(--pub-text);letter-spacing:-.015em;margin:0}body.publicBody button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;min-height:0;padding:0}body.publicBody .publicApp{width:100%;max-width:1500px;margin:0 auto;padding:36px 36px 96px}body.publicBody .publicHeader{border-bottom:1px solid var(--pub-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;padding-bottom:22px;display:flex}body.publicBody .publicBrand{align-items:center;gap:16px;min-width:0;display:flex}body.publicBody .publicLogo{border:1px solid var(--pub-line);width:68px;height:68px;box-shadow:var(--pub-shadow-sm);object-fit:contain;background:#fff;border-radius:18px;flex-shrink:0;padding:6px}body.publicBody .publicBrand h1{letter-spacing:-.025em;font-size:34px;font-weight:800;line-height:1.08}body.publicBody .publicBrand p{color:var(--pub-muted);margin:5px 0 0;font-size:16.5px}body.publicBody .contextCard{background:var(--pub-surface);border:1px solid var(--pub-line);border-radius:var(--pub-radius-sm);min-width:0;box-shadow:var(--pub-shadow-sm);align-items:stretch;gap:22px;padding:13px 13px 13px 24px;display:flex}body.publicBody .contextItem{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}body.publicBody .contextLabel{text-transform:uppercase;letter-spacing:.05em;color:var(--pub-faint);font-size:12.5px;font-weight:700}body.publicBody .contextValue{color:var(--pub-text);white-space:nowrap;font-size:19px;font-weight:700}body.publicBody .contextDivider{background:var(--pub-line);width:1px}body.publicBody .ghostBtn{border-radius:var(--pub-radius-xs);border:1px solid var(--pub-line-2);background:var(--pub-surface);color:var(--pub-teal-ink);white-space:nowrap;align-self:center;padding:12px 20px;font-size:16px;font-weight:700;transition:background .15s,border-color .15s,color .15s}body.publicBody .ghostBtn:hover{background:var(--pub-teal-soft);border-color:var(--pub-teal)}body.publicBody .publicHero{background:var(--pub-surface);border:1px solid var(--pub-line);border-radius:var(--pub-radius);box-shadow:var(--pub-shadow);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:26px;padding:36px 38px;display:flex}body.publicBody .heroText h2{margin-bottom:8px;font-size:30px;font-weight:800}body.publicBody .heroText p{color:var(--pub-muted);margin:0;font-size:17px}body.publicBody .selectors{flex-direction:column;flex:340px;gap:16px;width:460px;max-width:100%;display:flex}body.publicBody .selectField{flex-direction:column;gap:7px;display:flex}body.publicBody .selectField>span{text-transform:uppercase;letter-spacing:.04em;color:var(--pub-muted);font-size:13.5px;font-weight:700}body.publicBody .publicSelect{border:1px solid var(--pub-line-2);border-radius:var(--pub-radius-xs);width:100%;min-height:56px;color:var(--pub-text);font:inherit;appearance:none;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230b7285' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 16px center;background-repeat:no-repeat;padding:0 46px 0 16px;font-size:17.5px;transition:border-color .15s,box-shadow .15s}body.publicBody .publicSelect:focus{border-color:var(--pub-teal);outline:none;box-shadow:0 0 0 4px #12a2b429}body.publicBody .publicSelect:disabled{color:var(--pub-faint);cursor:not-allowed;background-color:#f2f4f7}body.publicBody .publicError{border-radius:var(--pub-radius-xs);color:#a1281f;background:#fdecec;border:1px solid #f6d5d5;margin:0 0 18px;padding:14px 18px;font-size:16px}body.publicBody .publicGrid{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px;margin-bottom:24px;display:grid}body.publicBody .panel{background:var(--pub-surface);border:1px solid var(--pub-line);border-radius:var(--pub-radius);box-shadow:var(--pub-shadow)}body.publicBody .weekPanel{background:var(--pub-surface);border:1px solid var(--pub-line);border-radius:var(--pub-radius);min-width:0;box-shadow:var(--pub-shadow);padding:22px 18px 18px;position:sticky;top:24px}body.publicBody .weekHead{justify-content:space-between;align-items:center;gap:12px;padding:0 4px;display:flex}body.publicBody .weekTitle{font-size:18px;font-weight:800}body.publicBody .weekNav{gap:8px;display:flex}body.publicBody .iconBtn{border-radius:var(--pub-radius-xs);width:42px;height:42px;color:var(--pub-teal-ink);background:var(--pub-teal-soft);border:1px solid #cfeef2;place-items:center;transition:background .15s,border-color .15s,color .15s;display:grid}body.publicBody .iconBtn:hover:not(:disabled){background:var(--pub-teal);border-color:var(--pub-teal);color:#fff}body.publicBody .iconBtn:disabled{color:var(--pub-faint);border-color:var(--pub-line);background:var(--pub-surface);opacity:.6;cursor:default}body.publicBody .weekRange{color:var(--pub-muted);text-transform:capitalize;margin:13px 4px 15px;font-size:15px;font-weight:600}body.publicBody .dayList{flex-direction:column;gap:6px;display:flex}body.publicBody .day{border-radius:var(--pub-radius-xs);text-align:left;border-left:4px solid #0000;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:0;padding:15px;transition:background .12s,border-color .12s;display:flex}body.publicBody .day:hover{background:var(--pub-surface-2)}body.publicBody .day.active{background:var(--pub-teal-soft);border-left-color:var(--pub-teal)}body.publicBody .dayLabel{align-items:baseline;gap:9px;min-width:0;display:flex}body.publicBody .dayWeek{text-transform:capitalize;font-size:18px;font-weight:650}body.publicBody .dayWeekShort{display:none}body.publicBody .day.active .dayWeek{color:var(--pub-teal-ink);font-weight:750}body.publicBody .dayDate{color:var(--pub-muted);font-size:15px}body.publicBody .day.today .dayWeek{color:var(--pub-teal-ink)}body.publicBody .day.today .dayWeek:after{content:"";background:var(--pub-teal);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}body.publicBody .dayCount{text-align:center;background:var(--pub-surface-2);min-width:34px;color:var(--pub-muted);font-variant-numeric:tabular-nums;border-radius:9px;flex-shrink:0;padding:4px 10px;font-size:15px;font-weight:750}body.publicBody .day.active .dayCount{background:var(--pub-teal);color:#fff}body.publicBody .dayCount.warn{background:var(--pub-warn-soft);color:var(--pub-warn)}body.publicBody .dayCount.empty{color:var(--pub-faint);background:0 0;font-weight:600}body.publicBody .schedulePanel{background:var(--pub-surface);border:1px solid var(--pub-line);border-radius:var(--pub-radius);min-width:0;box-shadow:var(--pub-shadow);padding:32px 36px}body.publicBody .scheduleHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}body.publicBody .scheduleDate{font-size:32px;font-weight:800;line-height:1.1}body.publicBody .scheduleMeta{color:var(--pub-muted);flex-wrap:wrap;gap:4px 10px;margin-top:8px;font-size:17px;display:flex}body.publicBody .scheduleMeta .sep{color:var(--pub-faint)}body.publicBody .scheduleCount{color:var(--pub-teal-ink);background:var(--pub-teal-soft);white-space:nowrap;border:1px solid #cfeef2;border-radius:999px;flex-shrink:0;padding:9px 18px;font-size:16px;font-weight:750}body.publicBody .nextLesson{border-radius:var(--pub-radius-xs);background:var(--pub-teal-soft-2);color:var(--pub-teal-ink);border:1px solid #d5eef1;align-items:center;gap:10px;margin-bottom:20px;padding:15px 20px;font-size:16px;display:flex}body.publicBody .nextLesson svg{flex-shrink:0}body.publicBody .nextLesson b{font-weight:800}body.publicBody .skeletons{flex-direction:column;gap:14px;display:flex}body.publicBody .skeleton{border-radius:var(--pub-radius-sm);background:linear-gradient(90deg,#eef1f5 25%,#f6f8fa 50%,#eef1f5 75%) 0 0/200% 100%;height:120px;animation:1.3s ease-in-out infinite pubskeleton}@keyframes pubskeleton{0%{background-position:200% 0}to{background-position:-200% 0}}body.publicBody .panelEmpty{text-align:center;color:var(--pub-faint);padding:24px 16px;font-size:16.5px}body.publicBody .lesson{border:1px solid var(--pub-line-2);border-radius:var(--pub-radius-sm);background:var(--pub-surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;transition:border-color .14s,box-shadow .14s;display:grid;overflow:hidden}body.publicBody .lesson+.lesson{margin-top:14px}body.publicBody .lesson:hover{box-shadow:var(--pub-shadow-sm);border-color:#c3ccd8}body.publicBody .lesson.current{border-color:var(--pub-teal);box-shadow:inset 5px 0 0 0 var(--pub-teal), 0 6px 18px #12a2b426}body.publicBody .lessonTime{background:var(--pub-surface-2);border-right:1px solid var(--pub-line);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:124px;padding:20px 16px;display:flex}body.publicBody .lesson.current .lessonTime{background:var(--pub-teal-soft);border-right-color:#cfeef2}body.publicBody .lessonNum{letter-spacing:.02em;text-transform:uppercase;color:var(--pub-teal-ink);white-space:nowrap;font-size:13px;font-weight:750}body.publicBody .tStart{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;font-size:24px;font-weight:800}body.publicBody .tEnd{color:var(--pub-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px}body.publicBody .lessonBody{flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:22px 24px;display:flex}body.publicBody .nowTag{letter-spacing:.04em;text-transform:uppercase;color:var(--pub-teal-ink);background:var(--pub-teal-soft);border-radius:7px;align-self:flex-start;margin-bottom:3px;padding:3px 8px;font-size:11.5px;font-weight:800}body.publicBody .lessonSubject{font-size:21px;font-weight:700;line-height:1.3}body.publicBody .lessonTeacher{color:var(--pub-muted);font-size:17px}body.publicBody .lessonRoom{border-radius:var(--pub-radius-xs);border:1px solid var(--pub-line);background:var(--pub-surface-2);flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:1px;min-width:98px;margin:14px 18px 14px 8px;padding:13px 22px;display:flex}body.publicBody .lessonRoomValue{font-variant-numeric:tabular-nums;text-align:center;overflow-wrap:anywhere;font-size:22px;font-weight:800;line-height:1.2}body.publicBody .lessonRoomLabel{letter-spacing:.06em;text-transform:uppercase;color:var(--pub-muted);font-size:13px;font-weight:700}body.publicBody .replacementsBlock{border-radius:var(--pub-radius-xs);background:var(--pub-warn-soft);border:1px solid #f0e2cd;margin-top:18px;padding:16px 18px}body.publicBody .replacementsBlock h4{color:var(--pub-warn);margin-bottom:9px;font-size:16px;font-weight:800}body.publicBody .replacementItem{color:#7a4a00;font-size:16px}body.publicBody .replacementItem+.replacementItem{margin-top:6px}body.publicBody .publicBottom{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}body.publicBody .news,body.publicBody .event{min-width:0;padding:26px 28px}body.publicBody .news .panelEmpty,body.publicBody .event .panelEmpty{padding:10px 0 4px}body.publicBody .panelTitle{align-items:center;gap:10px;margin-bottom:15px;display:flex}body.publicBody .panelTitle svg{color:var(--pub-teal-ink);flex-shrink:0}body.publicBody .panelTitle h3{font-size:20px;font-weight:800}body.publicBody .newsitem{border-top:1px solid var(--pub-line);gap:12px;padding:15px 0;display:flex}body.publicBody .newsitem:first-of-type{border-top:0;padding-top:0}body.publicBody .ndot{background:var(--pub-teal);border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:8px}body.publicBody .ndot.b{background:#7c5cff}body.publicBody .ndot.o{background:#e09b3a}body.publicBody .newsitem h4{margin-bottom:4px;font-size:17.5px;font-weight:700}body.publicBody .newsitem p{color:var(--pub-muted);margin:0;font-size:16px;line-height:1.5}body.publicBody .eventCard{background:var(--pub-teal-soft-2);border-radius:var(--pub-radius-sm);border:1px solid #d5eef1;flex-direction:column;padding:20px;display:flex}body.publicBody .eventDate{color:var(--pub-teal-ink);background:#fff;border:1px solid #d5eef1;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin-bottom:12px;padding:5px 14px;font-size:14.5px;font-weight:700;display:inline-flex}body.publicBody .eventCard h3{margin-bottom:8px;font-size:20px;font-weight:800}body.publicBody .eventMeta{color:var(--pub-muted);flex-wrap:wrap;gap:14px;font-size:15.5px;display:flex}body.publicBody .eventMeta span{align-items:center;gap:6px;display:inline-flex}body.publicBody .eventDescription{color:var(--pub-muted);margin:12px 0 0;font-size:16px;line-height:1.55}@media (width<=1024px){body.publicBody .publicApp{padding:28px 24px 84px}body.publicBody .publicGrid{grid-template-columns:292px minmax(0,1fr);gap:20px}}@media (width<=860px){body.publicBody .publicGrid{grid-template-columns:minmax(0,1fr);gap:16px}body.publicBody .weekPanel{padding:18px 16px 16px;position:static}body.publicBody .weekRange{margin-bottom:12px}body.publicBody .dayList{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}body.publicBody .day{border-left:0;border:1px solid var(--pub-line);border-bottom:3px solid #0000;flex-direction:column;align-items:stretch;gap:6px;min-height:82px;padding:13px 14px}body.publicBody .day.active{border-color:#cfeef2;border-bottom-color:var(--pub-teal)}body.publicBody .dayLabel{flex-direction:column;align-items:flex-start;gap:3px}body.publicBody .dayCount{align-self:flex-start}}@media (width<=600px){body.publicBody .publicApp{padding:20px 14px 76px}body.publicBody .publicHeader{gap:16px;margin-bottom:20px;padding-bottom:18px}body.publicBody .publicLogo{border-radius:15px;width:56px;height:56px;padding:5px}body.publicBody .publicBrand h1{font-size:27px}body.publicBody .publicBrand p{font-size:15.5px}body.publicBody .contextCard{flex-wrap:wrap;gap:12px;width:100%;padding:14px 16px}body.publicBody .contextDivider{display:none}body.publicBody .contextItem{flex:40%}body.publicBody .contextValue{white-space:normal;font-size:17px}body.publicBody .ghostBtn{width:100%;min-height:48px;margin-left:0;padding:12px 18px}body.publicBody .publicHero{padding:22px 20px}body.publicBody .heroText h2{font-size:24px}body.publicBody .selectors{flex:auto;width:100%}body.publicBody .publicBottom{grid-template-columns:minmax(0,1fr);gap:16px}body.publicBody .news,body.publicBody .event{padding:18px 16px}body.publicBody .dayWeekLong{display:none}body.publicBody .dayWeekShort{display:inline}body.publicBody .dayList{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}body.publicBody .day{min-height:76px;padding:10px 9px}body.publicBody .dayWeek{font-size:15.5px}body.publicBody .dayDate{font-size:13px}body.publicBody .dayCount{min-width:26px;padding:3px 7px;font-size:13.5px}body.publicBody .schedulePanel{padding:20px 16px}body.publicBody .scheduleDate{font-size:25px}body.publicBody .scheduleMeta{font-size:15.5px}body.publicBody .scheduleCount{padding:7px 16px;font-size:15px}body.publicBody .lesson{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time room""body body"}body.publicBody .lessonTime{text-align:left;background:0 0;border-right:0;flex-flow:wrap;grid-area:time;justify-content:flex-start;align-items:baseline;gap:4px 8px;width:auto;padding:14px 14px 8px}body.publicBody .lesson.current .lessonTime{background:0 0;border-right:0}body.publicBody .lessonNum{font-size:12.5px}body.publicBody .tStart{font-size:21px}body.publicBody .tEnd{font-size:15.5px}body.publicBody .tEnd:before{content:"– "}body.publicBody .lessonBody{grid-area:body;padding:0 14px 16px}body.publicBody .lessonSubject{font-size:19px}body.publicBody .lessonTeacher{font-size:16px}body.publicBody .lessonRoom{grid-area:room;align-self:start;min-width:0;margin:12px 12px 0 6px;padding:10px 14px}body.publicBody .lessonRoomValue{font-size:20px}body.publicBody .nextLesson{padding:13px 14px;font-size:15.5px}body.publicBody .panelEmpty{padding:20px 10px;font-size:16px}}@media (width<=380px){body.publicBody .publicApp{padding:18px 12px 72px}body.publicBody .dayList{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}body.publicBody .day{padding:9px 7px}body.publicBody .schedulePanel{padding:17px 13px}body.publicBody .lessonTime{padding:12px 12px 6px}body.publicBody .lessonBody{padding:0 12px 14px}}:root{color:#e8f0f2;--bg:#0b1218;--panel:#122026eb;--panel-strong:#182c34f5;--glass:#ffffff0f;--line:#c8e6ee24;--line-strong:#c8e6ee40;--text:#eaf4f7;--text-2:#c5d8dd;--muted:#8aa2ab;--faint:#5e777f;--accent:#36d9c6;--accent-2:#5ca7ff;--accent-3:#a973ff;--danger:#ff6b6b;--danger-dark:#a33030;--warning:#ffc857;--ok:#57e389;--radius-sm:12px;--radius:18px;--radius-lg:28px;--shadow:0 24px 70px #0006;--shadow-soft:0 16px 44px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b1218;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 15% -5%, #36d9c626, transparent 40%), radial-gradient(ellipse at 85% 5%, #5ca7ff1f, transparent 35%), radial-gradient(ellipse at 50% 95%, #a973ff14, transparent 35%), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit;color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:#fff;letter-spacing:-.03em}h2{margin:0 0 4px;font-size:20px;font-weight:750}h3{margin:0;font-size:16px;font-weight:700}button{color:#061a17;background:linear-gradient(135deg, var(--accent), #6ef0df);cursor:pointer;letter-spacing:-.01em;border:1px solid #36d9c64d;border-radius:14px;min-width:0;min-height:44px;padding:0 18px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;box-shadow:0 8px 24px #36d9c626}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px #36d9c638}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed}button.danger{color:#fff;background:linear-gradient(135deg, var(--danger-dark), #ff6b6b);border-color:#ff6b6b59;box-shadow:0 8px 24px #ff6b6b1f}button.danger:hover:not(:disabled){box-shadow:0 14px 32px #ff6b6b33}button.ghostButton{color:var(--text-2);border:1px solid var(--line);box-shadow:none;background:#ffffff0d}button.ghostButton:hover:not(:disabled){color:#fff;border-color:var(--line-strong);background:#ffffff1a;box-shadow:0 8px 20px #0003}button.activeSoft{color:#041a18;background:linear-gradient(135deg, #b8fff8, var(--accent));border-color:#b8fff899;box-shadow:0 12px 28px #36d9c640}button.iconButton{justify-content:center;align-items:center;gap:8px;display:inline-flex}button.smallIconButton{border-radius:12px;justify-content:center;align-items:center;width:40px;min-height:40px;padding:0;display:inline-flex}input,select,textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:48px;color:var(--text);background:#041218a6;border-radius:14px;outline:none;padding:0 16px;font-size:15px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{background:#061820d9;border-color:#36d9c699;box-shadow:0 0 0 3px #36d9c61f}input::placeholder,textarea::placeholder{color:var(--muted)}option{color:var(--text);background:#0d1a20}textarea{resize:vertical;min-height:120px;padding:14px 16px}input[type=file]{cursor:pointer;padding:10px 14px}input[type=file]::file-selector-button{color:#061a17;background:var(--accent);cursor:pointer;border:0;border-radius:10px;margin-right:12px;padding:8px 14px;font-weight:700}input[type=checkbox]{width:20px;height:20px;min-height:auto;accent-color:var(--accent)}.appMark{object-fit:contain;filter:drop-shadow(0 8px 18px #36d9c61f);flex:none;display:block}.error{color:#ffb0b0;border-radius:12px;margin:0;padding:12px 16px;font-size:14px;background:#8c1e1e40!important;border:1px solid #ff6b6b40!important}.mutedText{color:var(--muted);font-size:14px}.loginShell{min-height:100vh;color:var(--text);background:radial-gradient(circle at 18% 18%, #36d9c62e, transparent 32%), radial-gradient(circle at 88% 10%, #5ca7ff1f, transparent 30%), var(--bg);place-items:center;padding:24px;display:grid}.loginPanel{border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(440px,100vw - 32px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#14262cf2,#0c181ce6);gap:18px;padding:32px;display:grid}.loginBrand{align-items:center;gap:16px;margin-bottom:6px;display:flex}.loginBrand h1{letter-spacing:-.04em;color:#fff;margin:0;font-size:28px;line-height:1.1}.loginBrand span{color:var(--muted);margin-top:6px;font-size:14px;display:block}.loginPanel label{color:var(--text-2);gap:8px;font-size:14px;font-weight:600;display:grid}.app{background:radial-gradient(ellipse at 15% -5%, #36d9c61f, transparent 35%), radial-gradient(ellipse at 95% 0%, #5ca7ff1a, transparent 35%), var(--bg);min-height:100vh;color:var(--text);grid-template-columns:272px minmax(0,1fr);display:grid}.sidebar{height:100vh;color:var(--text);border-right:1px solid var(--line);background:linear-gradient(#0c181efa,#061014fc);flex-direction:column;gap:4px;padding:20px 14px;display:flex;position:sticky;top:0;overflow:hidden auto;box-shadow:16px 0 50px #0000004d}.sidebar button{width:100%;min-height:44px;color:var(--text-2);box-shadow:none;text-align:left;z-index:1;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:0 14px;font-size:14.5px;transition:all .15s;display:flex;position:relative}.sidebar button:hover:not(:disabled){color:#fff;box-shadow:none;background:#ffffff0f}.sidebar button.active{color:#041a18;background:linear-gradient(135deg, #c4fff9, var(--accent));box-shadow:0 12px 28px #36d9c633}.sidebarUtility{border-top:1px solid var(--line);margin-top:auto;color:var(--muted)!important;padding-top:12px!important}.brand{border-bottom:1px solid var(--line);align-items:center;gap:14px;margin-bottom:10px;padding:4px 4px 20px;display:flex}.brand strong{color:#fff;letter-spacing:-.03em;font-size:19px;line-height:1.1;display:block}.brand span{color:var(--muted);margin-top:4px;font-size:12.5px;display:block}.workspace{align-content:start;gap:24px;min-width:0;max-width:100%;padding:28px 32px;display:grid}.workspaceInner{align-content:start;gap:24px;width:100%;max-width:1500px;margin:0 auto;display:grid}.topbar{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#162a30d9,#0c1c22cc);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.topbar h1{color:#fff;letter-spacing:-.04em;margin:0;font-size:clamp(24px,3vw,34px)}.pageTitle{align-items:center;gap:14px;min-width:0;display:flex}.topbarActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.campusPicker{border:1px solid var(--line);min-height:40px;color:var(--muted);background:#ffffff0f;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.campusPicker select{color:#fff;cursor:pointer;background:0 0;border:none;padding:10px 0;font-size:14px;font-weight:600}.campusPicker select option{color:#10181c}.sidebarProfile{border-top:1px solid var(--line);gap:2px;margin-top:auto;padding:12px 4px 4px;font-size:13px;display:grid}.sidebarProfile strong{color:#fff;font-size:14px}.sidebarProfile span{color:var(--muted)}.chipRow{flex-wrap:wrap;gap:8px;display:flex}.chipRow button{min-height:36px;padding:0 14px;font-size:13px}.permPicker{border:1px solid var(--line);background:#ffffff08;border-radius:16px;gap:12px;padding:14px;display:grid}.permToolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.permGroup{gap:8px;display:grid}.permGroupHead{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding-bottom:6px;font-size:13px;display:flex}.permGroupActions{gap:6px;display:flex}.permList{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px;display:grid}.permList .checkLine{color:var(--text,#e7eef1);font-size:13px}.adminCardHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.adminCardHead div{gap:2px;display:grid}.adminCardHead strong{color:#fff;font-size:16px}.adminCardHead span{color:var(--muted);font-size:13px}.statsGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.statCard{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#162a30cc,#0a181cbf);gap:8px;padding:22px;display:grid;position:relative;overflow:hidden}.statCard:after{content:"";background:#36d9c614;border-radius:999px;width:120px;height:120px;position:absolute;top:-40px;right:-30px}.statCard svg{color:var(--accent)}.statCard span{color:var(--muted);font-size:14px}.statCard strong{color:#fff;letter-spacing:-.05em;font-size:36px}.meterRow{grid-template-columns:180px 1fr 70px auto;align-items:center;gap:12px;padding:10px 0;display:grid}.meterTrack{background:#ffffff14;border-radius:999px;height:12px;overflow:hidden}.meterFill{background:linear-gradient(90deg, var(--accent), #7ff0df);border-radius:999px;height:100%;transition:width .4s}.meterRow>strong{color:#fff;text-align:right;min-width:48px;font-size:16px}.meterRow>span{color:var(--muted);font-size:14px}.meterRow .mutedText{font-size:13px}.panel{border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#162a30cc,#0a181cbf);padding:22px}.panel h2{color:#fff}.stack{gap:14px;display:grid}.split{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));align-items:start;gap:20px;display:grid}.flow{gap:20px;display:grid}.toolbar,.panelHeader,.rowActions,.listLine{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.panelHeader{justify-content:space-between;margin-bottom:14px}.panelHeader h2{margin:0}.rowActions{gap:8px}.listLine{justify-content:space-between}.search{border:1px solid var(--line);background:#0412188c;border-radius:999px;align-items:center;gap:10px;width:min(420px,100%);min-height:48px;padding:0 14px;display:flex}.search input{box-shadow:none;background:0 0;border:0;min-height:44px;padding:0}.liveLesson{flex-direction:column;gap:2px;padding:4px 0;display:flex}.liveLesson strong{color:var(--accent,#4dd0e1)}.liveLesson .mutedText{display:block}.tableWrap{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#08141abf;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 18px}th{color:#b0ccd2;text-transform:uppercase;letter-spacing:.08em;background:#00000026;font-size:12px;font-weight:700}td{color:var(--text);font-size:14px}tr:hover td{background:#ffffff05}.list{gap:12px;display:grid}.list article{border-bottom:1px solid var(--line);align-items:start;gap:8px;padding:14px 0;display:flex}.list article:last-child{border-bottom:none}.list article strong{color:#fff;letter-spacing:-.01em;font-size:15px}.list article span{color:var(--muted);flex:1;min-width:0;font-size:14px}.list article>.smallIconButton{flex-shrink:0;margin-left:auto}.profileLink{color:var(--accent);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.profileLink:hover{text-decoration:underline}.settingsLayout{grid-template-columns:1fr}@media (width>=700px){.settingsLayout{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr))}}.settingsGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:14px;display:grid}.settingsRow,.adminRow{border-bottom:1px solid var(--line);align-items:end;gap:12px;padding:14px 0;display:grid}.settingsRow:last-child,.adminRow:last-child{border-bottom:none}.settingsRow{grid-template-columns:repeat(2,minmax(0,1fr)) auto auto auto}.adminRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto auto}.adminRow>.adminRowActions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.settingsRow>button{width:100%}.settingsRow label,.adminRow label{color:var(--muted);gap:6px;font-size:13px;display:grid}.lessonForm label,.fileField{color:var(--muted);gap:8px;font-size:13px;font-weight:600;display:grid}.formRow{grid-template-columns:auto minmax(160px,240px) minmax(180px,1fr) auto;align-items:center;gap:12px;display:grid}.lessonForm{grid-template-columns:repeat(3,minmax(120px,1fr)) minmax(200px,2fr) repeat(2,minmax(150px,1fr)) auto;align-items:end;gap:14px;display:grid}.wideField{min-width:200px}.weekStrip{grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;display:grid}.weekStrip button{border-radius:16px;align-content:center;gap:4px;min-height:68px;padding:10px;display:grid}.weekStrip span{opacity:.85;font-size:12.5px}.groupSwitch{gap:8px;padding:4px 0 8px;display:flex;overflow-x:auto}.groupSwitch button{min-width:max-content;min-height:42px;padding:0 16px;font-size:14px}.scheduleGroupList,.scheduleGroup,.scheduleDay{gap:14px;display:grid}.scheduleGroup h2,.scheduleDay h3{margin:0}.scheduleGroupHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.scheduleDay{border-top:1px solid var(--line);padding-top:14px}.scheduleDay h3{color:#c5dde2;font-size:15px}.adminCards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.adminCard{border:1px solid var(--line);background:#ffffff0a;border-radius:18px;gap:6px;padding:16px;display:grid}.adminCard span,.adminCard em{color:var(--muted);font-size:14px;font-style:normal}.adminCard b{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.settingsColumns{grid-template-columns:1fr 1.6fr;gap:24px;width:100%;max-width:1500px;display:grid}@media (width<=980px){.settingsColumns{grid-template-columns:1fr}}.settingsColumn{align-content:start;gap:20px;display:grid}.campusCard{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#162a30cc,#0a181cbf);gap:0;display:grid;overflow:hidden}.campusCardPhoto{object-fit:cover;border-bottom:1px solid var(--line);background:#0003;width:100%;height:180px}.campusCardBody{gap:14px;padding:20px;display:grid}.campusCardTitle{justify-content:space-between;align-items:start;gap:12px;display:flex}.campusCardTitle h3{margin:0;font-size:17px}.campusCardTitle span{color:var(--muted);font-size:13px}.campusCardActions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.campusCardActions label{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.campusCardActions input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.photoUploadBtn{min-height:36px;color:var(--text-2);border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.photoUploadBtn:hover{color:#fff;border-color:var(--line-strong);background:#ffffff1a}.photoUploadBtn input[type=file]{display:none}.photoPreview{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%;max-height:200px}.photoPlaceholder{border:2px dashed var(--line);width:100%;height:120px;color:var(--muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:13px;transition:all .15s;display:flex}.photoPlaceholder:hover{border-color:var(--accent);color:var(--accent)}.photoPlaceholder input[type=file]{display:none}.campusEditRow{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=640px){.campusEditRow{grid-template-columns:1fr}}.campusEditRow input{min-height:40px;font-size:14px}.groupSection{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#162a30cc,#0a181cbf);overflow:hidden}.groupSectionHeader{border-bottom:1px solid var(--line);background:#0000001a;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.groupSectionHeader h3{margin:0;font-size:16px}.groupSectionHeader span{color:var(--muted);font-size:13px}.groupList{gap:0;display:grid}.groupItem{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 20px;transition:background .1s;display:grid}.groupItem:last-child{border-bottom:none}.groupItem:hover{background:#ffffff05}.groupItemName{align-items:center;gap:10px;min-width:0;display:flex}.groupItemName strong{color:#fff;letter-spacing:-.01em;white-space:nowrap;font-size:15px}.groupItemName span{color:var(--muted);white-space:nowrap;font-size:13px}.groupRoleChips{color:var(--text-2);flex-wrap:wrap;grid-column:1/-1;gap:6px;font-size:12px;display:flex}.groupRoleChips span{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);background:#36d9c612;border-radius:999px;max-width:100%;padding:4px 8px;overflow:hidden}.groupRoleChips .groupRoleSelect{white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;padding:0;font-size:12px;display:inline-flex}.groupRoleSelect select{border:1px solid var(--line);background:var(--bg-2,#36d9c612);max-width:240px;color:var(--text);cursor:pointer;border-radius:8px;padding:4px 8px;font-size:12px}.groupRoleSelect select:disabled{opacity:.6;cursor:not-allowed}.attTab{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:13px}.attTab.active{color:var(--text);border-color:var(--accent);background:#36d9c61f}.attDate{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.attWarn{color:#ffba49;white-space:nowrap;border:1px solid #ffba4980;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;display:inline-block}.roleBadges{flex-wrap:wrap;gap:4px;display:inline-flex}.roleBadge{border:1px solid var(--line);white-space:nowrap;cursor:default;border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.5;display:inline-block}.roleBadge.starosta{color:#36d9c6;background:#36d9c624;border-color:#36d9c68c}.roleBadge.curator{color:#8fb0ff;background:#78a0ff24;border-color:#78a0ff8c}.roleBadge.noAccount{color:#ffba49;background:#ffba491a;border-color:#ffba4980}.iconButton.roleActive{color:#36d9c6;background:#36d9c624;border-color:#36d9c68c}.modalBackdrop{z-index:60;background:#060c14b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modalCard{border:1px solid var(--line);background:var(--bg-1,#101820);border-radius:16px;flex-direction:column;gap:12px;width:min(560px,100%);max-height:80vh;padding:20px;display:flex;overflow:auto}.modalHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.roleGroupList{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow:auto}.roleGroupRow{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.roleGroupRow:hover{border-color:var(--line);background:#36d9c60f}.roleGroupName{flex-direction:column;min-width:130px;font-size:13px;display:flex}.modalActions{flex-wrap:wrap;gap:8px;display:flex}.attGroup{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.attGroupHead{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#0000001f;border:none;align-items:center;gap:14px;padding:12px 16px;font-size:14px;display:flex}.attGroupHead:hover{background:#36d9c614}.attGroupName{min-width:120px;font-weight:600}.attCounts{color:var(--text-2);white-space:nowrap;margin-left:auto;font-size:13px}.attGroupBody{flex-direction:column;gap:6px;padding:8px 16px 16px;display:flex}.attRow{border-bottom:1px solid #ffffff0d;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.okBanner{border-radius:var(--radius);color:var(--text);cursor:pointer;background:#36d9c61a;border:1px solid #36d9c680;padding:10px 14px;font-size:13px}.groupItemActions{flex-shrink:0;gap:6px;display:flex}.groupEditInline{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,1fr) 88px minmax(150px,1fr) minmax(150px,1fr) auto auto;align-items:center;gap:8px;padding:14px 20px;display:grid}.groupEditInline label{min-width:0;color:var(--muted);gap:4px;font-size:12px;display:grid}@media (width>=641px) and (width<=980px){.groupEditInline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.groupEditInline{grid-template-columns:1fr}}.groupEditInline input,.groupEditInline select{min-height:38px;font-size:14px}.emptyState{color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:40px 20px;font-size:14px;display:flex}.addGroupBar{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;display:flex}.addGroupBar input,.addGroupBar select{flex:1;min-width:100px;min-height:38px;font-size:14px}@media (width<=640px){.addGroupBar{flex-direction:column;align-items:stretch}.addGroupBar input,.addGroupBar select{min-width:auto}}.btnSmall{border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:13px;display:inline-flex}.btnDanger{color:#fff;background:linear-gradient(135deg, var(--danger-dark), #ff6b6b);box-shadow:none;border-color:#ff6b6b59}.btnDanger:hover:not(:disabled){box-shadow:0 8px 20px #ff6b6b26}.checkLine{align-items:center;min-height:44px;gap:10px!important;display:flex!important}.workdayGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.backupForm{gap:12px;display:grid}.hamburger{border:1px solid var(--line);background:0 0;border-radius:10px;flex-direction:column;justify-content:center;gap:4px;width:40px;min-height:40px;padding:0;display:none}.hamburger span{background:var(--text);border-radius:2px;width:18px;height:2px;margin:0 auto;display:block}.sidebarOverlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}.questDetails{border:1px solid var(--line);background:#ffffff05;border-radius:16px;overflow:hidden}.questDetails>summary{cursor:pointer;min-height:48px;color:var(--text);-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;font-size:14px;list-style:none;display:flex}.questDetails>summary::-webkit-details-marker{display:none}.questDetails>summary:before{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.questDetails[open]>summary:before{transform:rotate(45deg)}.questDetails>summary:hover{background:#ffffff0a}.questDetails>summary:active{background:#ffffff12}.questDetails>summary strong{color:#fff}.questDetails>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.questEntityForm{border-top:1px solid var(--line);background:#00000029;padding:16px}.questEntityForm .toolbar>button{flex:none}.growField{flex:240px;min-width:0}.growField>input,.growField>textarea{width:100%}button.primary{color:#05210f;background:linear-gradient(135deg, var(--ok), #8bf0b0);border-color:#57e38973;box-shadow:0 8px 24px #57e3892e}button.primary:hover:not(:disabled){box-shadow:0 14px 32px #57e38947}.app.dark,.loginShell.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=1240px){.formRow{grid-template-columns:1fr}.lessonForm{grid-template-columns:repeat(2,minmax(0,1fr))}.lessonForm .wideField{grid-column:1/-1}.adminRow,.settingsRow{grid-template-columns:repeat(2,minmax(0,1fr))}.weekStrip{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}@media (width<=980px){.app{grid-template-columns:1fr}.hamburger{display:flex}.sidebarOverlay{display:block}.sidebar{z-index:100;width:min(300px,100vw - 24px);height:100vh;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.sidebarOpen{transform:translate(0)}.brand{border-bottom:1px solid var(--line)}.workspace{padding:20px}.topbar{flex-direction:column;align-items:stretch}.formRow,.lessonForm,.settingsRow,.adminRow{grid-template-columns:1fr}.weekStrip{grid-template-columns:repeat(2,minmax(0,1fr))}.settingsRow{grid-template-columns:1fr;gap:10px}.settingsRow input,.settingsRow select{min-height:42px;font-size:14px}}@media (width<=640px){.workspace{padding:14px}.statsGrid{grid-template-columns:repeat(2,1fr)}.statCard strong{font-size:28px}.split,.sidebar{grid-template-columns:1fr}table{min-width:780px}.topbar h1{font-size:22px}.questDetails>summary{min-height:56px;padding:14px;font-size:15px}.questEntityForm{padding:14px}.growField,.questEntityForm .toolbar>button{flex:100%}}
