.connectivity.svelte-101jw49{position:relative;display:inline-flex;z-index:25}.connectivity-button.svelte-101jw49{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid transparent;border-radius:999px;cursor:pointer;font:inherit;font-size:12px;font-weight:700;white-space:nowrap}.connectivity-button.svelte-101jw49:focus-visible{outline:3px solid #497bd6;outline-offset:2px}.connectivity-button.online.svelte-101jw49{background:#e6f7ec;color:#126637;border-color:#b5e3c5}.connectivity-button.offline.svelte-101jw49{background:#fdeaea;color:#a92323;border-color:#f3c1c1}.connectivity-button.update.svelte-101jw49{background:#fff5d9;color:#80570c;border-color:#f2dcaa}.connectivity-button.checking.svelte-101jw49{background:#edf1f5;color:#42536a;border-color:#ced8e3}.connectivity-dot.svelte-101jw49{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:#8492a3}.online.svelte-101jw49 .connectivity-dot:where(.svelte-101jw49){background:#24a653}.offline.svelte-101jw49 .connectivity-dot:where(.svelte-101jw49){background:#dc3535}.update.svelte-101jw49 .connectivity-dot:where(.svelte-101jw49){background:#e3a315;animation:svelte-101jw49-syncing 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.update.svelte-101jw49 .connectivity-dot:where(.svelte-101jw49){animation:none}}@keyframes svelte-101jw49-syncing{50%{opacity:.35;transform:scale(.8)}}.connectivity-tooltip.svelte-101jw49{display:none;position:absolute;top:calc(100% + 12px);right:0;width:min(360px,calc(100vw - 30px));box-sizing:border-box;padding:16px 18px;border-radius:12px;background:#fff;border:1px solid #d9e1eb;box-shadow:0 12px 35px #0003;color:#203048;z-index:200;white-space:normal;text-align:left;line-height:1.45;font-size:13px;font-weight:400}.connectivity.svelte-101jw49:hover .connectivity-tooltip:where(.svelte-101jw49),.connectivity.svelte-101jw49:focus-within .connectivity-tooltip:where(.svelte-101jw49),.connectivity.expanded.svelte-101jw49 .connectivity-tooltip:where(.svelte-101jw49){display:block}.connectivity-tooltip.svelte-101jw49:before{content:"";position:absolute;bottom:100%;right:20px;border:8px solid transparent;border-bottom-color:#fff}.connectivity-tooltip.svelte-101jw49 strong:where(.svelte-101jw49){display:block;font-size:14px;margin-bottom:8px}.connectivity-tooltip.svelte-101jw49 p:where(.svelte-101jw49){margin:0 0 12px}.connectivity-tooltip.svelte-101jw49 dl:where(.svelte-101jw49){margin:0;padding-top:8px;border-top:1px solid #dfe5ed}.connectivity-tooltip.svelte-101jw49 dl:where(.svelte-101jw49) div:where(.svelte-101jw49){display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin-top:6px}.connectivity-tooltip.svelte-101jw49 dt:where(.svelte-101jw49){color:#566879}.connectivity-tooltip.svelte-101jw49 dd:where(.svelte-101jw49){margin:0;font-weight:600}.journal-preview-card.svelte-f9poy0{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;width:100%;min-width:0;min-height:132px;padding:19px;gap:14px;text-align:left;background:linear-gradient(155deg,#fff 35%,#f5faf6);border:1px solid #d7e6dc;border-radius:15px;box-shadow:0 2px 7px #244e3c09;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.journal-preview-card.svelte-f9poy0:hover{transform:translateY(-2px);border-color:#8bbda0;box-shadow:0 9px 23px #244e3c16;background:linear-gradient(155deg,#fff 30%,#eef8f1)}.journal-preview-card.svelte-f9poy0:focus-visible{outline:3px solid #287c62;outline-offset:3px}.journal-preview-main.svelte-f9poy0{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.journal-preview-title.svelte-f9poy0{display:block;min-width:0;flex:1;font-size:16px;line-height:1.4;font-weight:720;color:#203e33;overflow-wrap:anywhere;letter-spacing:-.015em}.journal-preview-arrow.svelte-f9poy0{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:10px;background:#edf6ef;color:#276d51;font-size:18px;line-height:1;transition:transform .16s ease,background .16s ease}.journal-preview-card.svelte-f9poy0:hover .journal-preview-arrow:where(.svelte-f9poy0){transform:translate(2px,-2px);background:#d9eedf}.journal-preview-period.svelte-f9poy0{display:block;font-size:11px;line-height:1.5;color:#71857a}@media(max-width:550px){.journal-preview-card.svelte-f9poy0{min-height:114px;padding:16px}.journal-preview-title.svelte-f9poy0{font-size:15px}}@media(prefers-reduced-motion:reduce){.journal-preview-card.svelte-f9poy0,.journal-preview-arrow.svelte-f9poy0{transition:none}.journal-preview-card.svelte-f9poy0:hover{transform:none}}.data-updated-footer.svelte-jdicmm{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;margin:18px 0 0;padding-top:12px;border-top:1px solid #e1e8e3;font-size:12px;line-height:1.5;color:#6c7d75}.data-updated-footer.svelte-jdicmm strong:where(.svelte-jdicmm){font-weight:600}.data-updated-footer.svelte-jdicmm time:where(.svelte-jdicmm){font-variant-numeric:tabular-nums;color:#405c50}.individual-modal.svelte-1e3cy4r::backdrop{background:#183c3266}.individual-modal.svelte-1e3cy4r{width:min(calc(100% - 40px),560px);max-height:90vh;border:0;overflow:auto;border-radius:16px;background:#fff;padding:20px}.individual-modal.svelte-1e3cy4r dl:where(.svelte-1e3cy4r){display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:0}.individual-modal.svelte-1e3cy4r dd:where(.svelte-1e3cy4r){margin:0;font-weight:600}.sheet-catalog.svelte-x02lfa{width:100%;min-width:0;padding-bottom:38px}.sheet-catalog-sections.svelte-x02lfa{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px;padding:5px;border-radius:13px;background:#f0f5f1;width:fit-content;max-width:100%}.sheet-catalog-sections.svelte-x02lfa button:where(.svelte-x02lfa){border:1px solid transparent;border-radius:9px;background:transparent;color:#4d695b;cursor:pointer;padding:10px 18px;min-height:42px;font:inherit;font-size:13px;font-weight:700;transition:background .15s ease,color .15s ease}.sheet-catalog-sections.svelte-x02lfa button.active:where(.svelte-x02lfa){background:#fff;border-color:#d9e7de;color:#1c6c47;box-shadow:0 2px 6px #244e3c10}.sheet-catalog-sections.svelte-x02lfa button:where(.svelte-x02lfa):focus-visible{outline:2px solid #24815a;outline-offset:2px}.sheet-catalog-search.svelte-x02lfa{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) auto;align-items:end;gap:15px;padding:17px 19px;border:1px solid #e0eae3;border-radius:16px;background:#fff}.sheet-catalog-search.svelte-x02lfa label:where(.svelte-x02lfa){display:grid;gap:7px;min-width:0}.sheet-catalog-search.svelte-x02lfa label:where(.svelte-x02lfa) span:where(.svelte-x02lfa){font-size:12px;font-weight:700;color:#3b5a4b}.sheet-catalog-search.svelte-x02lfa input:where(.svelte-x02lfa){width:100%;min-width:0;height:44px;padding:10px 13px;margin:0;border:1px solid #d3e1d8;border-radius:10px;background:#fbfdfb;color:#29443a;font:inherit;font-size:13px}.sheet-catalog-search.svelte-x02lfa input:where(.svelte-x02lfa):focus-visible,.sheet-type-link.svelte-x02lfa:focus-visible,.sheet-catalog-pagination.svelte-x02lfa button:where(.svelte-x02lfa):focus-visible{outline:2px solid #24815a;outline-offset:3px}.sheet-catalog-count.svelte-x02lfa{min-height:44px;display:flex;align-items:center;color:#64796d;font-size:12px;white-space:nowrap}.sheet-catalog-legend.svelte-x02lfa{display:flex;flex-wrap:wrap;gap:11px 19px;margin:16px 2px 20px;color:#688174;font-size:12px}.sheet-catalog-legend.svelte-x02lfa>span:where(.svelte-x02lfa){display:inline-flex;align-items:center;gap:7px}.sheet-status-sample.svelte-x02lfa{display:inline-block;width:14px;height:14px;border:1px solid #c0d5c7;border-radius:5px}.sheet-status-sample.preliminary.svelte-x02lfa{background:#f0f5f0;opacity:.55}.sheet-status-sample.open.svelte-x02lfa{background:transparent;border-color:#32845a}.sheet-status-sample.closed.svelte-x02lfa{background:#278856;border-color:#278856}.sheet-status-sample.unknown.svelte-x02lfa{background:#fafafa;border-style:dashed;border-color:#c9d2cc}.sheet-catalog-grid.svelte-x02lfa{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:stretch;gap:15px}.sheet-catalog-card.svelte-x02lfa{min-width:0;display:flex;flex-direction:column;gap:16px;padding:20px;background:#fff;border:1px solid #dce9df;border-radius:16px;box-shadow:0 4px 13px #244e3c0a}.sheet-catalog-card.svelte-x02lfa h2:where(.svelte-x02lfa){margin:0;color:#234236;font-size:16px;font-weight:740;letter-spacing:-.025em;line-height:1.4;overflow-wrap:anywhere}.sheet-catalog-types.svelte-x02lfa{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sheet-type-link.svelte-x02lfa{display:flex;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:41px;padding:7px 4px;border:1px solid #d6e1da;border-radius:9px;font-size:12px;font-weight:750;text-decoration:none;color:#4e665b;background:#fafcfa;transition:transform .14s ease,box-shadow .14s ease}.sheet-type-link.svelte-x02lfa:hover{transform:translateY(-2px);box-shadow:0 3px 9px #244e3c18}.sheet-type-symbol.svelte-x02lfa{font-size:13px;line-height:1}.sheet-type-link.preliminary.svelte-x02lfa{background:#f5f8f5;border-color:#e7eee8;color:#728578}.sheet-type-link.open.svelte-x02lfa{background:transparent;border-color:#2f8459;color:#246f4c}.sheet-type-link.closed.svelte-x02lfa{background:#268759;border-color:#268759;color:#fff}.sheet-type-link.unknown.svelte-x02lfa{background:transparent;border-style:dashed;color:#697e71}.sheet-catalog-period.svelte-x02lfa{margin-top:auto;color:#889b90;font-size:11px}.sheet-catalog-error.svelte-x02lfa{color:#ac3430;padding:10px 3px}.sheet-catalog-empty.svelte-x02lfa{padding:35px 20px;text-align:center;background:#fff;border:1px dashed #cbdacf;border-radius:15px;color:#6d8476}.sheet-catalog-pagination.svelte-x02lfa{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;margin-top:25px;font-size:12px;color:#587366}.sheet-catalog-pagination.svelte-x02lfa button:where(.svelte-x02lfa){min-height:40px;padding:8px 14px;background:#f0f7f2;border:1px solid #d2e4d8;border-radius:9px;color:#27593f;cursor:pointer}.sheet-catalog-pagination.svelte-x02lfa button:where(.svelte-x02lfa):disabled{opacity:.45;cursor:default}@media(max-width:780px){.sheet-catalog-search.svelte-x02lfa{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sheet-catalog-count.svelte-x02lfa{grid-column:1/-1;min-height:18px}}@media(max-width:540px){.sheet-catalog-search.svelte-x02lfa{grid-template-columns:1fr;padding:14px}.sheet-catalog-count.svelte-x02lfa{grid-column:auto}.sheet-catalog-grid.svelte-x02lfa{grid-template-columns:1fr;gap:10px}.sheet-catalog-sections.svelte-x02lfa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.sheet-catalog-sections.svelte-x02lfa button:where(.svelte-x02lfa){padding:9px 6px;font-size:12px}.sheet-catalog-card.svelte-x02lfa{padding:17px;gap:13px}}@media(prefers-reduced-motion:reduce){.sheet-type-link.svelte-x02lfa,.sheet-catalog-sections.svelte-x02lfa button:where(.svelte-x02lfa){transition:none}.sheet-type-link.svelte-x02lfa:hover{transform:none}}.about-project.svelte-xogfql{display:grid;gap:18px;max-width:960px}.about-project-card.svelte-xogfql{padding:24px 28px;background:#fff;border:1px solid #dfe8e0;border-radius:17px}.about-project-card.svelte-xogfql h2:where(.svelte-xogfql){margin:0 0 14px;font-size:20px;font-weight:650;letter-spacing:-.02em;color:#1f3438}.about-project-card.svelte-xogfql p:where(.svelte-xogfql),.about-project-card.svelte-xogfql li:where(.svelte-xogfql){margin:0;font-size:14px;line-height:1.7;color:#49605a}.about-project-card.svelte-xogfql ul:where(.svelte-xogfql){display:grid;gap:12px;margin:0;padding-left:20px}.about-project-card.svelte-xogfql strong:where(.svelte-xogfql){color:#1b3c37}.about-project-note.svelte-xogfql{background:#f6faf7}.about-project.svelte-xogfql a:where(.svelte-xogfql){color:#17634f;text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.about-project-card.svelte-xogfql{padding:20px}.about-project-card.svelte-xogfql h2:where(.svelte-xogfql){font-size:18px}}.security.svelte-1ainy8g{padding:1.25rem;margin-top:1rem;background:var(--card, #fff);border:1px solid #d7dde7;border-radius:14px}.security.svelte-1ainy8g h2:where(.svelte-1ainy8g){margin-top:0}.session-list.svelte-1ainy8g{display:grid;gap:.75rem}.session.svelte-1ainy8g{padding:.8rem;border:1px solid #d7dde7;border-radius:8px}.session.svelte-1ainy8g div:where(.svelte-1ainy8g){overflow-wrap:anywhere;font-size:.9rem}.session.svelte-1ainy8g small:where(.svelte-1ainy8g){display:block;margin-top:.5rem}.current.svelte-1ainy8g{background:#dcfce7;padding:.15rem .4rem;margin-left:.5rem;border-radius:6px;font-size:.8rem}.session-actions.svelte-1ainy8g{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}button.svelte-1ainy8g{cursor:pointer;padding:.5rem .8rem}button.svelte-1ainy8g:disabled{cursor:progress}.confirm-box.svelte-1ainy8g{margin-top:1rem;padding:1rem;border:2px solid #b91c1c;border-radius:8px;background:#fff;color:#111}.confirm-box.svelte-1ainy8g button:where(.svelte-1ainy8g){margin-right:.6rem}.toast-viewport{position:fixed;right:22px;bottom:22px;z-index:6000;width:min(380px,calc(100vw - 44px));display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-card{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 12px 14px 14px;border:1px solid #d5e4dc;border-left:4px solid #3c8065;border-radius:14px;background:#fff;color:#233b33;box-shadow:0 10px 32px #132c232b}.toast-icon{flex:0 0 27px;display:inline-grid;place-items:center;height:27px;border-radius:50%;background:#e0f4e9;color:#23684a;font-size:18px;font-weight:800}.toast-copy{min-width:0;flex:1}.toast-copy strong{display:block;font-size:14px;line-height:1.35;font-weight:750}.toast-copy p{margin:4px 0 0;font-size:12px;line-height:1.5;color:#53685e;overflow-wrap:anywhere}.toast-close{flex:0 0 28px;height:28px;border:0;border-radius:7px;background:transparent;color:#68796f;font-size:22px;line-height:1;cursor:pointer}.toast-close:hover{background:#f0f4f1;color:#263e33}.toast-close:focus-visible{outline:2px solid #23684a;outline-offset:2px}.toast-process{border-left-color:#3675a9}.toast-process .toast-icon{background:#e9f3fc;color:#2674ae;animation:toast-spin 1.2s linear infinite}.toast-warning{border-left-color:#c78521}.toast-warning .toast-icon{background:#fff3db;color:#996111}.toast-error{border-left-color:#cb4d4d}.toast-error .toast-icon{background:#fce8e7;color:#b33e3e}@keyframes toast-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.toast-viewport{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:auto;gap:8px}.toast-card{padding:12px 10px 12px 12px}}@media(prefers-reduced-motion:reduce){.toast-process .toast-icon{animation:none}}.teacher-workspace{--teacher-ink:#1c3036;--teacher-muted:#6b7f80;--teacher-brand:#176b5b;--teacher-line:#e3eae8;--teacher-bg:#f5f7f8;--teacher-card:#fff;width:100%;min-width:0;height:100vh;height:100dvh;min-height:0;display:grid;grid-template-columns:252px minmax(0,1fr);grid-template-rows:74px minmax(0,1fr);overflow:hidden;color:var(--teacher-ink);background:var(--teacher-bg)}.teacher-workspace.compact{grid-template-columns:76px minmax(0,1fr)}.teacher-sidebar{grid-column:1;grid-row:1 / 3;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--teacher-line);background:#fff;overflow-y:auto;overflow-x:hidden;padding:22px 15px 16px}.teacher-sidebar-brand{display:flex;align-items:center;flex-shrink:0;gap:12px;min-height:42px;padding:0 9px;margin-bottom:45px;color:#173a35;text-decoration:none}.teacher-sidebar-brand-mark{display:grid;flex-shrink:0;place-items:center;width:39px;height:39px;border-radius:12px;background:#173b3c;color:#fff;font-weight:700;font-size:23px;box-shadow:0 4px 10px #173b3c20}.teacher-sidebar-brand-name{white-space:nowrap;font-size:15px;font-weight:780;letter-spacing:.12em}.teacher-sidebar-heading{padding:0 18px;margin-bottom:13px;font-size:10px;font-weight:700;letter-spacing:.14em;color:#94a6a7}.teacher-sidebar-links{display:flex;flex-direction:column;gap:4px}.teacher-sidebar-links button{position:relative;border:1px solid transparent;display:flex;align-items:center;width:100%;gap:13px;min-height:46px;padding:10px 15px;color:#52686a;text-align:left;background:transparent;font-size:13px;font-weight:550;border-radius:11px;transition:background .15s ease,color .15s ease,border-color .15s ease}.teacher-sidebar-links button:hover{background:#f2f7f4;color:#1b594b}.teacher-sidebar-links button.active{color:var(--teacher-brand);background:#e9f4ef;border-color:#e3eee8;font-weight:700}.teacher-nav-icon{display:grid;flex:0 0 22px;place-items:center;width:22px;font-size:20px;font-weight:500;line-height:1}.teacher-nav-label{white-space:nowrap}.teacher-nav-active-mark{position:absolute;right:8px;border-radius:8px;height:18px;width:3px;background:var(--teacher-brand)}.teacher-sidebar-spacer{flex:1;min-height:30px}.teacher-sidebar-bottom{border-top:1px solid var(--teacher-line);padding-top:16px}.teacher-sidebar-links .teacher-sidebar-logout{color:#8b4440;margin-top:8px;border-top:1px solid #f1e5e1;border-radius:0 0 11px 11px}.teacher-sidebar-links .teacher-sidebar-logout:hover:not(:disabled){background:#fff1ef;color:#9a332f}.teacher-sidebar-logout-error{color:#982c26;font-size:12px;line-height:1.4;margin:7px 8px;overflow-wrap:anywhere}.teacher-sidebar-collapse{display:flex;align-items:center;gap:12px;margin-top:10px;padding:8px 15px;min-height:39px;width:100%;text-align:left;color:#6f8485;background:transparent;border:0;font-size:12px}.teacher-sidebar-collapse span:first-child{display:grid;place-items:center;width:22px;flex:0 0 22px;font-size:20px}.teacher-workspace.compact .teacher-sidebar{padding-left:9px;padding-right:9px}.teacher-workspace.compact .teacher-sidebar-brand{padding:0 7px}.teacher-workspace.compact .teacher-sidebar-brand-name,.teacher-workspace.compact .teacher-sidebar-heading,.teacher-workspace.compact .teacher-nav-label,.teacher-workspace.compact .teacher-nav-active-mark{display:none}.teacher-workspace.compact .teacher-sidebar-links button{justify-content:center;padding-left:0;padding-right:0}.teacher-workspace.compact .teacher-sidebar-collapse{justify-content:center;padding-left:0}.teacher-topbar{grid-column:2;grid-row:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(24px,2.6vw,48px);background:#fff;border-bottom:1px solid var(--teacher-line)}.teacher-breadcrumb{display:flex;align-items:center;gap:11px;min-width:0;color:#96a5a2;white-space:nowrap;font-size:13px}.teacher-breadcrumb strong{color:#273f40;font-weight:700;overflow:hidden;text-overflow:ellipsis}.teacher-topbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:0}.teacher-search-shortcut{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:38px;padding:6px 15px;min-width:190px;border:1px solid #e5ece9;background:#f8faf9;color:#839493;font-size:12px}.teacher-search-shortcut span:first-child{font-size:21px;line-height:1;color:#687f7d}.teacher-connection-status{display:flex;align-items:center;gap:8px;min-height:36px;padding:7px 11px;border-radius:20px;background:#edf8f0;border:1px solid #d9eddf;color:#286949;font-size:11px;font-weight:650;white-space:nowrap}.teacher-connection-status.warning{color:#9c5c19;background:#fff7e9;border-color:#f1dfbc}.teacher-connection-dot{flex:0 0 7px;height:7px;width:7px;background:#379861;border-radius:50%}.teacher-connection-status.warning .teacher-connection-dot{background:#c18a32}.teacher-topbar-account{min-width:0;display:flex;align-items:center;gap:9px;border:0;border-left:1px solid var(--teacher-line);padding:0 0 0 16px;background:transparent;text-align:left;color:#334c4c;font-size:12px;font-weight:600}.teacher-topbar-avatar{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:12px;background:#dcebe3;color:#1d624d;font-size:14px;font-weight:750}.teacher-account-label{max-width:195px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-content{grid-column:2;grid-row:2;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding:31px clamp(24px,2.6vw,48px) 70px;background:var(--teacher-bg)}.teacher-content>*{width:100%;max-width:none}.teacher-page-heading{margin:0 0 26px}.teacher-kicker{display:block;color:#879895;font-size:10px;font-weight:750;letter-spacing:.14em;line-height:1.5}.teacher-page-heading h1,.teacher-overview-intro h1{font-size:clamp(26px,2.1vw,34px);font-weight:690;letter-spacing:-.045em;line-height:1.2;margin:7px 0 8px;color:#1f3438}.teacher-page-heading p:not(.teacher-kicker),.teacher-overview-intro p{margin:0;color:var(--teacher-muted);font-size:13px;line-height:1.55}.teacher-overview{display:flex;flex-direction:column;gap:22px}.teacher-overview-intro{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:3px}.teacher-action{display:inline-flex;align-items:center;gap:10px;min-height:42px;border:1px solid #d5e3dc;background:#fff;color:#215f50;padding:10px 16px;border-radius:10px;font-size:12px;font-weight:650}.teacher-action-primary{background:var(--teacher-brand);color:#fff;border-color:var(--teacher-brand)}.teacher-action-primary:hover{background:#115648}.teacher-action span{margin-left:10px;font-size:15px}.teacher-notice{padding:12px 16px;background:#fff8e6;color:#88591c;border:1px solid #efdcad;border-radius:11px;font-size:12px}.teacher-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.teacher-kpi{min-width:0;min-height:165px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:21px 22px 17px;background:var(--teacher-card);border:1px solid var(--teacher-line);border-radius:15px;box-shadow:0 2px 4px #193b3c05;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.teacher-kpi:hover,.teacher-quick-journal:hover{transform:translateY(-2px);border-color:#cbded4;box-shadow:0 12px 25px #193b3c0e}.teacher-kpi-icon{display:grid;place-items:center;border-radius:10px;height:34px;width:34px;font-size:19px;margin-bottom:1px}.teacher-kpi-icon-green{background:#e6f5ec;color:#207757}.teacher-kpi-icon-blue{background:#eaf3fa;color:#376e9a}.teacher-kpi-icon-violet{background:#f0edfc;color:#725aad}.teacher-kpi-icon-amber{background:#fff2e3;color:#a97529}.teacher-kpi-label{color:#758788;font-size:12px;font-weight:550;line-height:1.3}.teacher-kpi strong{font-size:31px;line-height:1.05;font-weight:740;letter-spacing:-.04em;color:#1d3336}.teacher-kpi strong.teacher-kpi-status{font-size:18px;line-height:1.65}.teacher-kpi-foot{margin-top:auto;color:#356e5b;font-size:11px;font-weight:600}.teacher-kpi-foot span{margin-left:5px}.teacher-overview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.9fr);align-items:stretch;gap:20px}.teacher-overview-grid.month-hidden{grid-template-columns:minmax(0,1fr)}.teacher-overview-card{min-width:0;padding:25px 28px;border-radius:17px;background:#fff;border:1px solid var(--teacher-line);box-shadow:0 2px 4px #193b3c04}.teacher-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.teacher-card-header h2{margin:7px 0 0;font-size:19px;font-weight:690;letter-spacing:-.035em;text-transform:none;color:#1d3237}.teacher-text-button{background:transparent;border:0;min-height:28px;padding:4px 0;color:#21745e;white-space:nowrap;font-size:12px;font-weight:650}.teacher-text-button span{margin-left:6px}.teacher-empty{padding:35px 12px;text-align:center;color:#738784;font-size:13px;line-height:1.7}.teacher-empty strong{display:block;color:#314b4b;font-size:14px;margin-bottom:7px}.teacher-empty p{margin:0 0 14px}.teacher-timeline{display:flex;flex-direction:column;gap:0;padding:1px 0 4px}.teacher-timeline-row{display:grid;grid-template-columns:94px 20px minmax(0,1fr);align-items:stretch;gap:13px;min-height:78px}.teacher-time{padding:18px 0 0;color:#516a67;font-size:11px;font-weight:700;white-space:nowrap}.teacher-timeline-mark{position:relative;display:block;border-left:2px solid #dceae3;margin-left:8px}.teacher-timeline-mark:before{content:"";position:absolute;height:10px;width:10px;left:-6px;top:21px;border-radius:50%;background:#2b8c6e;border:2px solid #e2f4e8}.teacher-timeline-row:last-child .teacher-timeline-mark{border-left-color:transparent}.teacher-lesson{min-width:0;margin-bottom:12px;border:1px solid #e8edea;border-radius:11px;background:#fbfdfc;padding:16px 17px}.teacher-lesson strong{display:block;color:#263e3c;font-size:13px;line-height:1.4;margin-bottom:10px}.teacher-lesson div{display:flex;flex-wrap:wrap;gap:8px 14px;color:#7a8f8b;font-size:11px}.teacher-snapshot-age{border-top:1px solid #eef2f0;margin:10px 0 0;padding-top:14px;color:#8fa09e;font-size:11px}.teacher-quick-journals .teacher-card-header{margin-bottom:18px}.teacher-quick-journal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.teacher-quick-journal{display:flex;align-items:flex-start;flex-direction:column;gap:8px;min-width:0;min-height:145px;padding:16px 18px;text-align:left;background:#f9fbfa;border:1px solid #e5ece9;border-radius:13px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.teacher-journal-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#e9f4ee;color:#337c5f;font-size:18px}.teacher-quick-journal strong{color:#2a4140;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.teacher-quick-journal small{color:#849692;font-size:10px;line-height:1.5}.teacher-journal-link{color:#29745c;margin-top:auto;font-size:11px;font-weight:660}.teacher-workspace .profile-details,.teacher-workspace .sync-panel,.teacher-workspace .timetable,.teacher-workspace .exams-calendar,.teacher-workspace .academics,.teacher-workspace .directory{width:100%;max-width:none;min-width:0;margin:0 0 22px}.teacher-workspace .directory-tabs{gap:9px}.teacher-workspace .directory-tabs button{font-size:13px}.teacher-workspace .academic-table-wrap{max-width:100%}.teacher-workspace .connection{background:#fff;border:1px solid var(--teacher-line);border-radius:15px;padding:25px;margin-bottom:22px}.teacher-workspace .connection summary{font-weight:650}@media(min-width:1900px){.teacher-workspace{grid-template-columns:278px minmax(0,1fr)}.teacher-workspace.compact{grid-template-columns:82px minmax(0,1fr)}.teacher-content{padding:40px 55px 80px}.teacher-overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(400px,.8fr)}.teacher-overview-card{padding:32px}.teacher-kpi{min-height:185px}}@media(max-width:1320px){.teacher-workspace{grid-template-columns:220px minmax(0,1fr)}.teacher-topbar,.teacher-topbar-tools{gap:10px}.teacher-search-shortcut{min-width:0}.teacher-search-shortcut span:last-child{display:none}.teacher-overview-grid{grid-template-columns:minmax(0,1.3fr) minmax(310px,.9fr)}.teacher-kpis{gap:12px}.teacher-kpi{padding:18px}.teacher-quick-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1060px){.teacher-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-overview-grid{grid-template-columns:minmax(0,1fr)}.teacher-topbar-account .teacher-account-label{display:none}}@media(max-width:800px){.teacher-workspace,.teacher-workspace.compact{min-height:100dvh;height:auto;overflow:visible;grid-template-columns:minmax(0,1fr);grid-template-rows:66px auto minmax(0,1fr)}.teacher-sidebar{grid-column:1;grid-row:2;width:100%;min-height:0;height:auto;flex-direction:row;align-items:center;padding:7px 12px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--teacher-line)}.teacher-sidebar-brand,.teacher-sidebar-heading,.teacher-sidebar-spacer,.teacher-sidebar-bottom,.teacher-sidebar-collapse{display:none!important}.teacher-sidebar-links{flex-direction:row;gap:5px;width:max-content}.teacher-sidebar-links button{width:auto;min-height:40px;padding:8px 12px;gap:8px;flex-shrink:0}.teacher-workspace.compact .teacher-nav-label{display:inline}.teacher-nav-active-mark{display:none}.teacher-topbar{grid-column:1;grid-row:1;padding:0 18px}.teacher-topbar:before{content:"Б";display:grid;flex-shrink:0;place-items:center;width:32px;height:32px;border-radius:10px;background:#173b3c;color:#fff;font-weight:700}.teacher-breadcrumb{font-size:12px;margin-right:auto}.teacher-content{grid-column:1;grid-row:3;padding:24px 18px 45px;min-height:0;overflow:visible}.teacher-overview-intro{align-items:flex-start}}@media(max-width:600px){.teacher-topbar-tools{gap:8px}.teacher-search-shortcut,.teacher-connection-status span:last-child,.teacher-breadcrumb span:first-child,.teacher-breadcrumb span:nth-child(2){display:none}.teacher-connection-status{padding:7px;min-height:30px}.teacher-topbar-account{padding-left:8px}.teacher-workspace .teacher-sidebar-links button{font-size:12px}.teacher-overview-intro h1,.teacher-page-heading h1{font-size:26px}.teacher-kpis{gap:10px}.teacher-kpi{min-height:144px;padding:15px}.teacher-kpi strong{font-size:25px}.teacher-kpi strong.teacher-kpi-status{font-size:16px}.teacher-kpi-foot{font-size:10px}.teacher-overview-card{padding:20px}.teacher-card-header h2{font-size:17px}.teacher-overview-intro .teacher-action-primary{width:100%;justify-content:center}.teacher-quick-journal-grid{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.teacher-kpi,.teacher-quick-journal,.teacher-sidebar-links button{transition:none}}.auto-sync-hint{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#6b8782;line-height:1.55}.auto-sync-hint:before{content:"";width:7px;height:7px;display:inline-block;border-radius:50%;flex-shrink:0;background:#61a384}.month-overview{--teacher-line:#e3eae8;--teacher-brand:#176b5b;width:100%;min-width:0;color:#1c3036}.dashboard .month-overview{margin:0 0 22px}.month-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:17px}.month-heading h2{font-size:18px;margin:7px 0 0;line-height:1.25;color:#1d3237}.month-switch{display:flex;align-items:center;gap:4px}.month-switch button{padding:0;width:31px;height:31px;min-height:31px;border:1px solid #e3eae8;border-radius:9px;font-size:22px;line-height:1;background:#f8faf9}.month-switch strong{font-size:12px;font-weight:700;min-width:110px;text-align:center;text-transform:capitalize;white-space:nowrap}.month-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 0 15px}.month-stats>div{min-width:0;text-align:center;padding:10px 3px 8px;border:1px solid #e7eeeb;border-radius:9px;background:#f9fbfa}.month-stats strong{display:block;font-size:22px;font-weight:750;line-height:1.1;margin-bottom:6px;color:#1c5548}.month-stats span{display:block;font-size:10px;line-height:1.3;color:#657f77;overflow-wrap:anywhere}.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;align-items:stretch}.month-weekday{text-align:center;padding:4px 0 9px;color:#879c96;font-size:11px;font-weight:700}.month-day{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:52px;width:100%;padding:7px 2px 5px;border:1px solid transparent;border-radius:9px;background:#f9fbfa;color:#375c52}.month-day:not(:disabled):hover,.month-day:not(:disabled):focus-visible{border-color:#99cbb4;background:#f0f9f3}.month-day:disabled{opacity:1;cursor:default}.month-day.month-today{outline:1px solid #176b5b;outline-offset:-1px}.month-day.month-chosen{background:#e1f0e8;border-color:#176b5b}.month-day.month-unknown{background:repeating-linear-gradient(135deg,#f9faf9,#f9faf9 6px,#f1f3f2 6px 12px);color:#8b9894}.month-number{font-size:12px;font-weight:700;line-height:1.2}.month-markers{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:3px;min-height:12px;max-width:100%;pointer-events:none}.month-marker{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#34966c}.month-marker.month-session{background:#e6973f}.month-legend{display:flex;justify-content:flex-start;gap:16px;align-items:center;border-top:1px solid #edf1ef;padding-top:12px;margin-top:14px;color:#6a8279;font-size:11px}.month-legend span{display:inline-flex;gap:6px;align-items:center}.month-note{color:#70847d;font-size:11px;line-height:1.55;margin:11px 0 0}.month-popover{position:fixed;z-index:1000;width:min(362px,calc(100vw - 24px));max-height:min(460px,calc(100dvh - 24px));overflow:auto;padding:16px 18px;background:#fff;box-shadow:0 15px 50px #112f3438;border:1px solid #cbdcd5;border-radius:14px;text-align:left}.month-popover-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e7eeeb;padding-bottom:9px}.month-popover-header>strong{font-size:14px;text-transform:capitalize;color:#254d43}.month-popover-header>button{min-height:28px;width:28px;padding:0;border:0;background:#f1f5f2;font-size:18px}.month-popover h3{font-size:12px;color:#2c8062;margin:15px 0 8px}.month-popover p{font-size:12px;line-height:1.5;color:#637f75}.month-event{padding:9px 0;border-bottom:1px solid #f0f2f0;display:flex;flex-direction:column;gap:4px}.month-event time{color:#278364;font-size:11px;font-weight:700}.month-event strong{color:#294942;font-size:12px;line-height:1.45}.journal-period-picker{display:inline-flex;flex-direction:column;align-items:flex-start;gap:7px;vertical-align:middle;max-width:100%}.journal-period-picker>button{appearance:none;border:0;background:transparent;padding:0;min-height:24px;text-align:left;font:inherit;line-height:inherit;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.journal-period-picker>button:hover{text-decoration-color:currentColor}.journal-period-picker>button:focus-visible{outline:2px solid #176b5a;outline-offset:3px;border-radius:3px}.journal-period-options{display:flex;flex-direction:column;gap:4px;background:#f6faf7;border:1px solid #cbded1;border-radius:10px;padding:9px;min-width:180px;max-width:min(300px,80vw);max-height:215px;overflow:auto;box-shadow:0 5px 14px #12362914;white-space:normal}.journal-period-hint{color:#627c6f;font-size:10px;font-weight:600;line-height:1.4}.journal-period-options>a{display:block;border-radius:6px;padding:7px 9px;font-size:12px;line-height:1.45;font-weight:650;color:#14634b;background:#fff;border:1px solid #e0eee6;text-decoration:none}.journal-period-options>a:hover{background:#e9f5ed;border-color:#9acbb4}.journal-period-options>a:focus-visible{outline:2px solid #176b5a;outline-offset:2px}.month-event small{color:#6b827c;font-size:11px;line-height:1.4}.month-preferences{padding:21px 24px;margin:0 0 22px;background:#fff;border:1px solid #e3eae8;border-radius:13px}.month-preferences h2{font-size:17px;margin:0 0 17px}.month-toggle{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.5;cursor:pointer}.month-toggle input{width:18px;height:18px;accent-color:#176b5b;flex:0 0 18px}@media(max-width:600px){.month-heading{align-items:center}.month-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.month-stats strong{font-size:17px}.month-stats span{font-size:9px}.month-day{padding:6px 1px;min-height:47px}.month-marker{width:5px;height:5px}.month-markers{gap:2px}}:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#173538;background:#f4f6f3;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}.login-layout{min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:42px 24px 24px;background:radial-gradient(ellipse at 15% 0%,#dce9e2,transparent 55%),#f4f6f3}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.13em;font-size:13px;font-weight:750}.brand-mark{display:grid;place-items:center;background:#173b3c;color:#fff;width:36px;height:36px;border-radius:11px;font-size:23px;letter-spacing:0}.login-card{margin:auto 0;width:min(100%,420px);padding:48px 0}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;color:#677d77;margin:0 0 14px}h1{font-size:42px;font-weight:550;letter-spacing:-.045em;margin:0 0 36px}form{display:grid;gap:10px}label{font-size:13px;font-weight:550}input:not([type=checkbox]){border:1px solid #bdcbc4;background:#fff;border-radius:10px;min-height:52px;width:100%;padding:12px 14px;margin-bottom:14px;color:#163538}input:focus-visible,button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #4b8d83;outline-offset:3px}.consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;line-height:1.55;color:#60716c;margin:6px 0 20px}.consent input{accent-color:#184944;min-width:18px;height:18px;margin:1px 0 0}button{cursor:pointer;border:1px solid #b9cbc2;background:#fff;border-radius:9px;padding:13px 18px;min-height:46px;color:#173538}.primary{background:#173b3c;color:#fff;display:flex;justify-content:space-between;align-items:center;min-height:54px;border:0;font-weight:550}.primary span{font-size:24px}button:disabled{opacity:.55;cursor:wait}.error{color:#982c26;font-size:13px;line-height:1.5;margin:0 0 12px}footer{font-size:11px;color:#7b8781}.loading{min-height:100svh;display:grid;place-items:center}.dashboard{max-width:1000px;margin:auto;padding:28px 22px}.dashboard header{border-bottom:1px solid #d7e0d9;padding-bottom:24px}.profile{display:flex;align-items:center;gap:18px;padding:40px 0}.avatar{display:grid;place-items:center;width:58px;height:58px;flex-shrink:0;background:#deebe4;border-radius:18px;font-size:25px}.profile h1{font-size:26px;margin:0;letter-spacing:-.03em}.profile .eyebrow{margin-bottom:8px}.updated{font-size:12px;color:#6c7d75;margin:10px 0 0}.connection{border-top:1px solid #d7e0d9;padding-top:20px;font-size:13px}.connection summary{cursor:pointer;margin-bottom:20px}.connection p{line-height:1.6}.actions{display:flex;gap:10px}@media(min-width:700px){.login-card{padding:44px;background:#fff;border:1px solid #e1e7e1;border-radius:20px;box-shadow:0 15px 50px #14332908}.login-layout{padding-top:40px}.profile h1{font-size:34px}}.sync-panel,.profile-details{background:#fff;border:1px solid #dfe8e0;border-radius:18px;padding:24px;margin:0 0 20px}.sync-panel{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:18px}.sync-panel h2,.profile-details h2{font-size:21px;font-weight:600;letter-spacing:-.03em;margin:0 0 10px}.sync-panel .eyebrow,.profile-details .eyebrow{margin-bottom:8px}.sync-status{font-size:13px;font-weight:600;color:#295f53;margin:0}.sync-message{width:100%;font-size:13px;color:#295f53;margin:0}.profile-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:0 24px;margin:14px 0 0}.profile-facts>div{padding:14px 0;border-bottom:1px solid #eef2ed;min-width:0}.profile-facts dt{font-size:12px;color:#70817a;margin-bottom:5px}.profile-facts dd{font-size:14px;font-weight:550;line-height:1.45;margin:0;overflow-wrap:anywhere}.raw-profile{font-size:13px;margin-top:22px}.raw-profile summary{cursor:pointer;font-weight:550}.raw-profile pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:480px;overflow-y:auto;background:#f5f7f5;border-radius:10px;padding:16px;font-size:12px;line-height:1.6}@media(max-width:560px){.sync-panel,.profile-details{padding:19px}.sync-panel button{width:100%}}.directory{border:1px solid #dfe8e0;border-radius:18px;padding:24px;margin:0 0 20px;background:#fff}.directory h2{font-size:21px;font-weight:600;letter-spacing:-.03em;margin:0 0 17px}.directory-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.directory-tabs button{min-height:38px;padding:8px 14px;font-size:13px}.directory-tabs button.current{background:#173b3c;border-color:#173b3c;color:#fff}.directory-search{display:block}.directory-search label{display:block;margin-bottom:8px}.directory-search>div{display:flex;gap:10px}.directory-search input:not([type=checkbox]){margin:0;min-height:44px}.directory-search button{min-height:44px}.directory-results{list-style:none;padding:0;margin:12px 0}.directory-results li{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px;padding:14px 0;border-top:1px solid #eef2ed}.directory-name{font-size:14px;font-weight:600;flex-basis:100%}.directory-detail{font-size:12px;color:#617770}.directory-id{font-size:11px;color:#799087;margin-left:auto}.directory-empty{color:#70817a;font-size:13px}.directory-pagination{display:flex;gap:15px;align-items:center;justify-content:flex-end;font-size:12px;margin-top:18px}@media(max-width:560px){.directory{padding:19px}.directory-search>div{flex-direction:column}.directory-search button{width:100%}.directory-id{margin-left:0}}.timetable{border:1px solid #dfe8e0;background:#fff;border-radius:18px;padding:24px;margin:0 0 20px}.timetable h2{font-size:21px;font-weight:600;letter-spacing:-.03em;margin:0 0 16px}.schedule-matches{display:flex;gap:8px;flex-direction:column;max-height:220px;overflow-y:auto;margin:8px 0}.schedule-matches button{display:flex;justify-content:space-between;gap:15px;align-items:center;text-align:left;background:#f6f8f6}.schedule-matches small{color:#7b9088}.schedule-autocomplete{position:relative;max-width:560px;margin:0 0 20px}.schedule-autocomplete label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.schedule-autocomplete-input{position:relative}.schedule-autocomplete-input input[type=search]{width:100%;min-height:44px;margin:0;padding:10px 45px 10px 13px;background:#fff;border:1px solid #ccdbd2;border-radius:10px}.schedule-autocomplete-input input[type=search]:focus-visible{outline:2px solid #25755e;outline-offset:2px}.schedule-autocomplete-clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-height:34px;min-width:34px;padding:0;border:0;background:transparent;color:#516c60}.schedule-autocomplete-results{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:320px;overflow-y:auto;margin-top:4px;padding:5px;border:1px solid #d8e5dc;background:#fff;border-radius:11px;box-shadow:0 12px 30px #173b3c24}.schedule-autocomplete-results button{display:block;width:100%;border:0;border-radius:7px;background:#fff;min-height:42px;padding:10px 12px;text-align:left;color:#203c31;overflow-wrap:anywhere}.schedule-autocomplete-results button:hover,.schedule-autocomplete-results button.active{background:#e9f5ee;color:#114a38}.schedule-autocomplete-results p{margin:6px;padding:9px 8px;font-size:13px;color:#667e73}.schedule-week+.schedule-week{margin-top:27px;padding-top:23px;border-top:1px solid #e2eae5}.timetable .schedule-week-heading{font-size:19px;line-height:1.3;margin:0 0 14px;color:#173b3c}.schedule-days-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.schedule-days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 8px}@media(min-width:801px)and (max-width:1299px){.schedule-days{min-width:1050px}}@media(max-width:800px){.schedule-days{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.schedule-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.schedule-days{grid-template-columns:minmax(0,1fr)}}.schedule-day{border:1px solid #e8eeea;border-radius:12px;padding:14px;background:#fafcfa;min-width:0}.schedule-day h3{font-size:13px;font-weight:650;margin:0 0 12px}.schedule-loading-status{display:flex;align-items:center;gap:10px;min-height:35px;margin:0 0 10px;color:#46695d;font-size:13px;font-weight:550}.schedule-day-placeholder{-webkit-user-select:none;user-select:none}.schedule-placeholder-lesson{min-height:104px;justify-content:flex-start;gap:12px}.schedule-placeholder-line{display:block;height:11px;border-radius:5px;background:linear-gradient(100deg,#edf3ef 8%,#dbeae1 45%,#edf3ef 80%);background-size:200% 100%;animation:schedule-shimmer 1.5s ease-in-out infinite}.schedule-placeholder-time{width:48%;height:10px}.schedule-placeholder-title{width:94%;height:14px}.schedule-placeholder-detail{width:72%;height:10px}@keyframes schedule-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.schedule-placeholder-line{animation:none;background:#e4ede6}}.schedule-lesson{display:flex;flex-direction:column;gap:5px;background:#fff;padding:12px;border:1px solid #e4ebe6;border-radius:9px;margin-bottom:9px;font-size:12px;line-height:1.35}.schedule-lesson strong{font-size:13px;font-weight:650;overflow-wrap:anywhere}.schedule-lesson span{color:#5f746e;overflow-wrap:anywhere}.schedule-lesson .schedule-time{color:#295f53;font-weight:650}.journal-group-line .journal-group-link,.schedule-lesson .journal-group-link,.teacher-lesson .journal-group-link,.month-event .journal-group-link{color:#176b5a;text-decoration:underline;text-underline-offset:3px;font-weight:650;cursor:pointer}.journal-group-link:hover{color:#0d4a3d}.journal-group-link:focus-visible{outline:2px solid #176b5a;outline-offset:3px;border-radius:2px}.schedule-changes{font-size:12px;color:#85631a;padding:9px 12px;background:#fff7e5;border-radius:9px}@media(max-width:560px){.timetable{padding:15px}}.exams-calendar{background:#fff;border:1px solid #dfe8e0;border-radius:18px;padding:24px;margin:0 0 20px}.exams-calendar h2{font-size:21px;font-weight:600;letter-spacing:-.03em;margin:0 0 16px}.month-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin:20px 0 8px}.month-nav strong{text-transform:capitalize;font-size:16px;min-width:170px;text-align:center}.month-nav button{min-width:42px;min-height:42px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0}.calendar-weekday{text-align:center;color:#617770;padding:8px 0;font-size:12px;font-weight:600}.calendar-date{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;min-height:67px;padding:7px;background:#f5f8f5;border:1px solid #e4ebe6;border-radius:9px;text-align:left;color:#213b33}.calendar-date.unknown{background:#fff;color:#81938c;border-style:dashed}.calendar-date.chosen{border-color:#225e50;background:#e8f5ec;box-shadow:0 0 0 1px #225e50}.calendar-date strong{font-size:13px}.calendar-badges{display:flex;flex-wrap:wrap;gap:2px 4px;font-size:10px}.calendar-badges span{white-space:nowrap}.calendar-help{color:#70817a;font-size:12px}.calendar-details{margin-top:20px;padding-top:18px;border-top:1px solid #e5ece6}.calendar-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;justify-content:space-between}.calendar-heading h3{font-size:17px;font-weight:650;margin:0}.calendar-heading button{font-size:12px}.calendar-details h4{font-size:14px;margin:18px 0 8px}.calendar-events{list-style:none;padding:0;margin:10px 0}.calendar-events li{display:flex;flex-direction:column;gap:5px;padding:12px;margin:8px 0;border:1px solid #e4ebe6;border-radius:10px;background:#fafcfb}.calendar-events strong{font-size:13px;overflow-wrap:anywhere}.calendar-events span{font-size:12px;color:#617770}@media(max-width:560px){.exams-calendar{padding:19px}.calendar-grid{gap:2px}.calendar-date{min-height:58px;padding:4px}.calendar-date strong{font-size:12px}.calendar-badges{font-size:9px}.calendar-heading button{width:100%}}.calendar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calendar-actions button{font-size:12px}@media(max-width:560px){.calendar-actions{width:100%}.calendar-actions button{flex:1 1 145px}}.academics{background:#fff;border:1px solid #dfe8e0;border-radius:18px;padding:24px;margin:0 0 20px}.academics h2{font-size:21px;font-weight:600;letter-spacing:-.03em;margin:0 0 16px}.academic-actions{display:flex;justify-content:flex-end;margin:12px 0}.academic-actions button{font-size:13px}.academic-journals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px;margin:16px 0}.academic-journals button{display:flex;flex-direction:column;gap:6px;padding:14px;min-height:74px;text-align:left;border:1px solid #e1e9e2;background:#f6f9f7}.academic-journals button.chosen{border-color:#255d53;background:#edf6ef}.academic-journals strong{font-size:13px;line-height:1.4}.academic-journals span{font-size:11px;color:#64786f}.academic-journal-data{border-top:1px solid #e1e8e3;padding-top:14px;margin-top:18px}.academic-journal-data h3{font-size:17px;font-weight:600;margin:5px 0 12px}.academics.journal-open .academic-journal-data{border-top:0;padding-top:0;margin-top:0}.academic-back-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;margin:0 0 19px;border:1px solid #cbdcd2;border-radius:10px;background:#f4f8f5;color:#285a47;font-size:13px;font-weight:650}.academic-back-button:hover{background:#e9f5ed;border-color:#91b8a2}.academic-back-button:focus-visible{outline:2px solid #287c62;outline-offset:2px}.academic-journal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 19px}.academic-journal-actions .academic-back-button{margin:0;cursor:pointer}.academic-journal-actions .academic-back-button:disabled{opacity:.65;cursor:wait}.academics.journal-open .academic-journal-title{margin:0 0 19px;color:#203b33;font-size:clamp(20px,1.7vw,25px);font-weight:750;letter-spacing:-.035em;line-height:1.25;overflow-wrap:anywhere;min-width:0}.academic-journal-tags{display:flex;flex-wrap:wrap;gap:8px;margin:-7px 0 19px}.academic-journal-tag{display:inline-flex;align-items:center;padding:5px 9px;background:#f3f6f7;border:1px solid #dce6e8;border-radius:7px;color:#52656b;font-size:11px;font-weight:600;line-height:1.3}@media(max-width:650px){.academics.journal-open .academic-journal-title{font-size:21px}}.academic-table-wrap{overflow-x:auto;max-width:100%;margin:15px 0;border:1px solid #e1e8e3;border-radius:12px}.academic-table{width:100%;border-collapse:collapse;font-size:12px;min-width:480px}.academic-table th,.academic-table td{text-align:left;padding:11px 12px;border-bottom:1px solid #edf1ed;vertical-align:top;white-space:nowrap}.academic-table tbody th{font-weight:600}.academic-table thead th{background:#f3f7f4;font-size:11px;color:#4c635b}.academic-table tbody tr:last-child th,.academic-table tbody tr:last-child td{border-bottom:0}@media(max-width:560px){.academics{padding:19px}.academic-actions button{width:100%}}.academic-period-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0;padding:14px;background:#f4f8f5;border-radius:12px}.academic-period-controls label{font-size:13px;font-weight:600;color:#3d584d}.academic-period-controls select{min-height:40px;padding:8px 12px;border-radius:9px;border:1px solid #c9d9cd;background:#fff;max-width:100%;flex:1 1 215px}.academic-period-controls button{font-size:12px;min-height:40px}.academic-overview-button{margin:8px 0 13px;font-size:12px}.academic-points-details{margin:14px 0;color:#334a40}.academic-points-details summary{cursor:pointer;font-weight:600;font-size:13px}.academic-sheet-status-confirm{display:grid;gap:10px;margin:14px 0;padding:18px 20px;border:1px solid #cbdcd2;border-radius:12px;background:#f4f8f5}.academic-sheet-status-confirm strong{font-size:15px;color:#173b3c}.academic-sheet-status-confirm label{font-size:13px}.academic-sheet-status-confirm input[type=date]{max-width:240px;min-height:42px;margin:0;padding:9px 12px}.academic-sheet-status-confirm p{margin:0;color:#5e716a;font-size:13px;line-height:1.5}.academic-sheet-status-actions{display:flex;flex-wrap:wrap;gap:8px}.academic-sheet-status-actions button:first-child{border-color:#173b3c;background:#173b3c;color:#fff}.academic-sheet-delete-button{border-color:#c35e5e!important;color:#9a2626!important;background:#fff4f4!important}.academic-sheet-delete-button:hover:not(:disabled){background:#ffe6e6!important}.academic-sheet-status-confirm input[type=text]{max-width:240px;min-height:42px;margin:0;padding:9px 12px}.academic-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:20px 0 12px}.academic-search{display:flex;flex:1 1 260px;flex-direction:column;gap:7px;max-width:520px}.academic-search span{font-size:12px;font-weight:650;color:#3d584d}.academic-search input{width:100%;min-height:44px;padding:10px 14px;border:1px solid #cbdcd2;border-radius:11px;background:#fff;color:#203f37;font:inherit;font-size:13px}.academic-search input:focus-visible{outline:2px solid #287c62;outline-offset:2px}.academic-count{padding:9px 13px;border-radius:20px;background:#edf6f0;color:#366b57;font-size:12px;font-weight:650}.academic-journals{grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:12px}.academic-journals button{position:relative;border-radius:12px;background:#fbfdfb;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.academic-journals button:hover{border-color:#93b9a6;background:#f2f8f3}.academic-journals button:focus-visible{outline:2px solid #287c62;outline-offset:2px}.academic-journals button.chosen{border-color:#277b5b;background:#e9f5ed;box-shadow:inset 3px 0 #277b5b}.academic-table-wrap{overflow:auto;max-height:min(70vh,720px)}.academic-table thead th{position:sticky;top:0;z-index:2}.academic-table thead th:first-child{left:0;z-index:3}.academic-table tbody th{position:sticky;left:0;z-index:1;background:#fff}.academic-table tbody tr:hover td{background:#f7fbf8}.academic-table tbody tr:hover th{background:#f4faf6}@media(max-width:560px){.academic-toolbar{align-items:stretch;gap:9px}.academic-search{flex-basis:100%;max-width:none}.academic-count{align-self:flex-start}}.academic-loading-indicator{display:flex;align-items:center;min-height:30px;margin:10px 0;color:#46695d}.academic-placeholder-grid{margin:10px 0 16px}.academic-placeholder-card{display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:74px;padding:14px;border:1px solid #e1e9e2;border-radius:12px;background:#fbfdfb}.academic-placeholder-line{display:block;height:11px;border-radius:5px;background:linear-gradient(100deg,#edf3ef 8%,#dbeae1 45%,#edf3ef 80%);background-size:200% 100%;animation:schedule-shimmer 1.5s ease-in-out infinite}.academic-placeholder-title{width:83%;height:13px}.academic-placeholder-meta{width:42%;height:10px}.academic-placeholder-table{overflow:hidden;margin:14px 0;border:1px solid #e1e8e3;border-radius:12px}.academic-placeholder-row{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));align-items:center;gap:28px;min-height:45px;padding:11px 12px;border-bottom:1px solid #edf1ed}.academic-placeholder-row:first-child{background:#f3f7f4}.academic-placeholder-row:last-child{border-bottom:none}.academic-placeholder-name{width:75%}.academic-placeholder-score{width:65%}@media(prefers-reduced-motion:reduce){.academic-placeholder-line{animation:none;background:#e4ede6}}@media(prefers-reduced-motion:reduce){.academic-journals button{transition:none}}@media(max-width:560px){.academic-period-controls select,.academic-period-controls button{width:100%;flex-basis:100%}}.student-about{display:none}@media(min-width:801px){.dashboard[data-mobile-section=about] .student-overview,.dashboard[data-mobile-section=about] .student-schedule,.dashboard[data-mobile-section=about] .student-journals,.dashboard[data-mobile-section=about] .student-directories,.dashboard[data-mobile-section=about] .student-profile{display:none}.dashboard[data-mobile-section=about] .student-about{display:block}}@media(min-width:801px){.dashboard[data-mobile-section=schedule] .student-overview,.dashboard[data-mobile-section=schedule] .student-journals,.dashboard[data-mobile-section=schedule] .student-directories,.dashboard[data-mobile-section=schedule] .student-profile{display:none}}.mobile-bottom-nav,.mobile-more,.mobile-nav-outside{display:none}@media(max-width:800px){.teacher-workspace .teacher-sidebar{display:none}.mobile-bottom-nav{position:fixed;z-index:110;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px max(6px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dce8e0;box-shadow:0 -7px 22px #173b3c12;min-height:64px}.mobile-bottom-nav button{border:0;background:transparent;min-width:0;min-height:49px;padding:4px 1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px;color:#687e76}.mobile-bottom-nav button span{font-size:22px;line-height:1}.mobile-bottom-nav button small{font-size:10px;font-weight:650}.mobile-bottom-nav button.active{color:#16634e;background:#e9f5ee}.mobile-bottom-nav button:disabled{opacity:.35;cursor:not-allowed}.mobile-more{position:fixed;z-index:112;display:flex;flex-direction:column;left:12px;right:12px;bottom:calc(73px + env(safe-area-inset-bottom));padding:13px;border:1px solid #d7e6dd;background:#fff;border-radius:17px;box-shadow:0 15px 45px #1b3b3b3b;max-width:460px;margin:auto}.mobile-more-head{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px}.mobile-more-head button{min-height:36px;padding:6px 12px}.mobile-more>button{border:0;border-top:1px solid #edf1ef;text-align:left;border-radius:0;min-height:47px;background:transparent}.mobile-more>button.mobile-more-logout{display:flex;align-items:center;gap:10px;color:#943c35;font-weight:650;border-top:1px solid #efdbd9}.mobile-more>button.mobile-more-logout:hover:not(:disabled){background:#fff3f1}.mobile-more-logout-error{color:#982c26;font-size:12px;margin:6px 9px;line-height:1.4;overflow-wrap:anywhere}.mobile-nav-outside{display:block;position:fixed;z-index:111;inset:0;border:0;background:transparent}.teacher-workspace .teacher-content,.dashboard{padding-bottom:calc(105px + env(safe-area-inset-bottom))}.dashboard[data-mobile-section] .student-overview,.dashboard[data-mobile-section] .student-schedule,.dashboard[data-mobile-section] .student-journals,.dashboard[data-mobile-section] .student-directories,.dashboard[data-mobile-section] .student-profile,.dashboard[data-mobile-section] .student-about{display:none}.dashboard[data-mobile-section=overview] .student-overview,.dashboard[data-mobile-section=schedule] .student-schedule,.dashboard[data-mobile-section=journals] .student-journals,.dashboard[data-mobile-section=directories] .student-directories,.dashboard[data-mobile-section=settings] .student-profile,.dashboard[data-mobile-section=profile] .student-overview,.dashboard[data-mobile-section=about] .student-about{display:block}}.delayed-loading{display:flex;align-items:center;gap:10px;min-height:44px;color:#4c7166;font-size:13px;padding:12px 0}.delayed-spinner{height:19px;width:19px;flex:0 0 19px;border:2px solid #d4e9db;border-top-color:#1f745d;border-radius:50%;animation:load-turn .85s linear infinite}@keyframes load-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.delayed-spinner{animation:none;border-color:#358b6b}}.offline-warning{position:relative;z-index:10;padding:.8rem 1rem;background:#991b1b;color:#fff;font-weight:600;text-align:center}.cookie-notice{position:fixed;z-index:1100;right:1rem;bottom:1rem;left:1rem;max-width:54rem;margin-inline:auto;padding:1rem 1.3rem;background:#fff;color:#182334;border:1px solid #b4c0d0;border-radius:12px;box-shadow:0 4px 24px #0003;display:flex;align-items:center;gap:1rem}.cookie-notice p{margin:0;flex:1}.cookie-notice button{min-width:6rem;padding:.65rem;cursor:pointer}@media(max-width:620px){.cookie-notice{flex-direction:column;align-items:stretch}}.student-logout-action{display:inline-flex;align-items:center;gap:11px;border:1px solid #e9cecb;border-radius:10px;background:#fff8f7;color:#943c35;font-weight:650;margin:0 0 14px}.student-logout-action:hover:not(:disabled){background:#fff0ee}.academics.journal-open .academic-table-wrap{max-height:none}.performance-scroll{max-height:none;overflow-x:auto;overscroll-behavior-x:contain}.performance-grid{min-width:max-content;border-collapse:separate;border-spacing:0}.performance-grid th,.performance-grid td{padding:0;border-right:1px solid #e4eae5}.performance-grid .performance-name{min-width:220px;max-width:290px;padding:10px 13px;position:sticky;left:0;z-index:3;background:#fff}.performance-grid thead .performance-name{z-index:6;background:#f3f7f4}.performance-grid thead th{padding:10px 6px;text-align:center;min-width:60px}.performance-grid .performance-summary{padding:10px 12px;text-align:center;min-width:85px;background:#f8fbf9}.performance-grid thead .performance-summary{background:#e9f2ec}.performance-grid thead .performance-practice{background:#dce8e1}.performance-grid tbody .performance-practice{background:#e9f0eb}.performance-grid tbody tr:hover .performance-practice{background:#dfeae3}.performance-grid .performance-type{display:block;font-size:10px;color:#486f59;white-space:nowrap}.performance-grid .performance-absent .performance-cell{color:#95624e}.performance-cell{display:block;border:0;border-radius:0;width:100%;min-height:42px;padding:8px 11px;background:transparent;color:#24493d;font-weight:650;cursor:pointer;text-align:center}.performance-cell:hover,.performance-cell:focus-visible{background:#cfe7d8;outline:2px solid #428e73;outline-offset:-2px}.attendance-overlay{position:fixed;inset:0;z-index:3500;background:#10231c99;display:grid;place-items:center;padding:12px}.attendance-dialog{width:min(510px,100%);max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:18px;background:#fff;box-shadow:0 24px 80px #001b1733;padding:22px;color:#203e36}.attendance-dialog header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e1e9e3;margin-bottom:15px;padding-bottom:10px}.attendance-dialog header h3{margin:0;font-size:20px}.attendance-close{border:0;background:#edf4ef;border-radius:10px;width:34px;height:34px;font-size:21px;cursor:pointer}.attendance-details{display:grid;grid-template-columns:minmax(115px,35%) 1fr;gap:12px 15px;font-size:14px;line-height:1.5}.attendance-details dt{color:#64796d}.attendance-details dd{margin:0;overflow-wrap:anywhere}.attendance-details dd strong{font-weight:650}.attendance-details input{max-width:180px;width:100%;border:1px solid #b7d0bf;border-radius:9px;padding:9px 12px;font-size:16px}.attendance-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.attendance-action{background:#eaf3ec;color:#244d39;border:1px solid #c6dcca;border-radius:10px;padding:10px 13px;font-weight:650;cursor:pointer}.attendance-action:hover:not(:disabled){background:#d7e9db}.attendance-action:disabled{opacity:.55;cursor:not-allowed}.attendance-primary{background:#24674e;color:#fff;border-color:#24674e}.attendance-primary:hover:not(:disabled){background:#1c503d}.attendance-danger{background:#fff0ed;color:#a34a34;border-color:#eac4bd}.attendance-note{background:#fff9e8;padding:10px 12px;border-radius:9px;color:#80682d;font-size:13px;line-height:1.5}.attendance-success{color:#26724d;font-size:13px;font-weight:650}.attendance-history-list{list-style:none;padding:0;max-height:42vh;overflow:auto}.attendance-history-list li{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-bottom:1px solid #e3ece5;font-size:13px}.attendance-history-list time{color:#698074}.attendance-subtitle{font-weight:650}@media(max-width:640px){.performance-grid .performance-name{min-width:160px;max-width:190px;font-size:12px}.performance-grid thead th{min-width:50px}.attendance-dialog{padding:16px}.attendance-details{grid-template-columns:100px 1fr;gap:10px}}.performance-grid thead .performance-practice{background:#e8eee9}.performance-grid tbody .performance-practice{background:#edf2ee}.performance-grid tbody tr:hover .performance-practice{background:#e5ede6}.performance-grid .performance-cell{min-width:60px;padding:8px 10px}.academics .journal-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(165px,205px) max-content;align-items:end;gap:16px;padding:4px 0 2px}.academics .journal-list-search{width:100%;min-width:0;max-width:none}.academics .journal-list-search input{margin:0}.academics .journal-list-sort{display:flex;flex-direction:column;gap:7px;min-width:0}.academics .journal-list-sort span{font-size:12px;font-weight:650;color:#3d584d}.academics .journal-list-sort select{width:100%;min-height:44px;margin:0;padding:10px 35px 10px 13px;background:#fff;border:1px solid #cbdcd2;border-radius:11px;color:#203f37;font:inherit;font-size:13px;cursor:pointer}.academics .journal-list-sort select:focus-visible{outline:2px solid #287c62;outline-offset:2px}.academics .journal-list-count{display:inline-flex;min-height:44px;align-items:center;justify-content:center;margin:0;white-space:nowrap}.academics .academic-journals.journal-preview-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));align-items:stretch;gap:16px;margin:18px 0}@media(max-width:760px){.academics .journal-list-toolbar{grid-template-columns:minmax(0,1fr) minmax(160px,205px);align-items:end}.academics .journal-list-count{grid-column:1 / -1;justify-self:start}}@media(max-width:550px){.academics .journal-list-toolbar{grid-template-columns:minmax(0,1fr)}.academics .journal-list-count{grid-column:1}.academics .academic-journals.journal-preview-grid{grid-template-columns:minmax(0,1fr);gap:11px}}.academics .academic-loading .academic-placeholder-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:16px}.academics .academic-loading .academic-placeholder-grid .academic-placeholder-card{min-height:132px;padding:20px;border-radius:15px}@media(max-width:550px){.academics .academic-loading .academic-placeholder-grid{grid-template-columns:minmax(0,1fr);gap:11px}.academics .academic-loading .academic-placeholder-grid .academic-placeholder-card{min-height:114px}}.academic-journal-hours{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-left:auto;color:#506d61;font-size:13px;white-space:nowrap}.academic-journal-hours strong{color:#244b3c;font-weight:750}.performance-attendance-note{margin:9px 0 0;padding:10px 13px;border:1px solid #dae8dd;border-radius:9px;background:#f3f8f5;color:#385e4d;font-size:12px;line-height:1.5}.academic-journal-actions{display:flex;flex-wrap:wrap;gap:10px;margin:-3px 0 20px}.academic-journal-actions button{min-height:42px;padding:9px 14px;border:1px solid #bdd6c9;border-radius:11px;background:#edf7f1;color:#215b46;font-size:13px;font-weight:650;cursor:pointer;transition:background .15s ease,border-color .15s ease}.academic-journal-actions button:first-child{border-color:#23694f;background:#23694f;color:#fff}.academic-journal-actions button:hover:not(:disabled){background:#dcefe4;border-color:#77b496}.academic-journal-actions button:first-child:hover{background:#174d3b}.academic-journal-actions button:disabled{opacity:.55;cursor:not-allowed}.academic-journal-actions button:focus-visible{outline:2px solid #287c62;outline-offset:2px}.journal-detail-actions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.journal-detail-actions button{flex:0 0 auto;white-space:nowrap}.journal-detail-actions button:first-child{border-color:#bdd6c9;background:#edf7f1;color:#215b46}.journal-detail-actions button:first-child:hover:not(:disabled){background:#dcefe4;border-color:#77b496}.academic-journal-data>.academic-journal-hours{margin:-9px 0 19px}.rating-map-screen{padding:4px 0 24px}.rating-map-intro{border:1px solid #e0e9e3;border-radius:16px;background:#f8fbf8;padding:22px 24px;margin-bottom:20px}.rating-map-intro h2{color:#203b33;font-size:clamp(22px,2.2vw,30px);margin:6px 0 12px}.rating-map-intro h3{font-size:clamp(17px,1.5vw,20px);font-weight:650;margin:0 0 14px;color:#325047}.rating-map-hours{display:flex;flex-wrap:wrap;gap:8px 22px;color:#526e60;font-size:13px}.rating-map-hours strong{color:#234e3d}.rating-map-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:12px 0 22px}.rating-map-summary>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;background:#f3f8f5;border:1px solid #e1ebe5;border-radius:12px;padding:15px 17px;color:#526b61;font-size:13px}.rating-map-summary strong{color:#205940;font-weight:750}.rating-attendance-section .academic-table{min-width:0}.rating-attendance-section .academic-table th:first-child,.rating-attendance-section .academic-table td:first-child{width:auto;text-align:left}.rating-attendance-section .academic-table th:last-child,.rating-attendance-section .academic-table td:last-child{width:115px;text-align:right}.rating-attendance-section .academic-table td:last-child{color:#205940;font-weight:750}.rating-map-section{margin:22px 0 28px}.rating-map-section h3{margin:0 0 5px;color:#274b3b;font-size:17px;font-weight:750}.rating-activity-budget{padding:12px 14px;background:#eef7f1;border:1px solid #bcdcc7;border-radius:10px;color:#2c5640}.rating-activity-budget strong{display:block;margin-top:6px}.rating-activity-no-budget{padding:11px 14px;border:1px solid #f2d9ab;border-radius:10px;background:#fff8eb;color:#81591c}.rating-map-activity-absent{margin:12px 0 4px;padding:12px 15px;border:1px solid #d9e8dd;border-radius:10px;background:#f5f9f6;color:#345b46;font-size:13px;font-weight:650}.rating-map-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rating-map-heading h3{margin:0}.rating-map-plus{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;min-height:32px;padding:0;border:1px solid #86bda3;border-radius:50%;background:#e8f6ee;color:#216143;cursor:pointer}.rating-map-plus svg{display:block;width:18px;height:18px}.rating-map-plus:hover{background:#d3eadb}.rating-point-lms{display:inline-block;margin-left:10px;white-space:nowrap;color:#17674e;text-decoration:underline;text-underline-offset:3px;font-weight:650}.rating-point-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.rating-point-delete{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #ead3d1;border-radius:9px;background:#fff6f4;color:#a73b36;cursor:pointer}.rating-point-delete svg{display:block;width:19px;height:19px}.rating-point-delete:hover{background:#fae6e3}.rating-point-edit{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:7px;border:1px solid #b8d5c6;border-radius:9px;background:#eff8f2;color:#216143;cursor:pointer}.rating-point-edit:hover{background:#dcefe3}.rating-point-edit svg{display:block;width:19px;height:19px;flex:none}.rating-point-edit:focus-visible,.rating-point-delete:focus-visible,.rating-map-plus:focus-visible{outline:2px solid #256c52;outline-offset:2px}.rating-point-overlay{position:fixed;inset:0;z-index:5500;display:grid;place-items:center;padding:16px;background:#142e279c}.rating-point-dialog{background:#fff;color:#253f35;border-radius:16px;width:min(480px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px;box-shadow:0 24px 70px #001b1738}.rating-point-dialog h3{margin:0 0 12px;font-size:18px}.rating-point-dialog p{font-size:13px;line-height:1.55;color:#526c5d}.rating-point-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:20px}.rating-point-dialog-actions button,.rating-point-options button{min-height:38px;border:1px solid #b9d4c4;border-radius:9px;background:#f0f8f3;color:#1f5741;padding:8px 13px;font-weight:650;cursor:pointer}.rating-point-dialog-actions .rating-point-danger{background:#b43a38;color:#fff;border-color:#b43a38}.rating-point-dialog-actions button:disabled,.rating-point-options button:disabled{opacity:.55;cursor:wait}.rating-point-picker{width:min(740px,100%)}.rating-point-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.rating-point-dismiss{border:0;background:transparent;font-size:25px;color:#476759;cursor:pointer}.rating-point-field{display:flex;flex-direction:column;gap:6px;margin:14px 0 10px;font-size:13px;font-weight:650}.rating-point-field input,.rating-point-field select{border:1px solid #b6cfc0;border-radius:9px;min-height:40px;background:#fff;color:#243c33;padding:9px}.rating-point-options{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px}.rating-point-options li{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e0e9e2;border-radius:10px;padding:12px}.rating-point-options li>div{display:flex;flex-direction:column;gap:6px;min-width:0}.rating-point-options small{color:#667d6e;line-height:1.5}.rating-point-options a{font-size:12px;color:#166948}@media(max-width:600px){.rating-point-options li{align-items:stretch;flex-direction:column}}.rating-map-section p{margin:0 0 11px;color:#667c70;font-size:13px}.rating-map-screen .academic-table-wrap{margin-top:11px}.rating-map-screen .academic-table{min-width:480px}.rating-map-screen .academic-table th:nth-child(1),.rating-map-screen .academic-table td:nth-child(1){width:100px}.rating-map-screen .academic-table th:last-child,.rating-map-screen .academic-table td:last-child{width:105px;text-align:right}.rating-map-total{display:flex;justify-content:space-between;gap:20px;background:#225d46;border-radius:14px;color:#fff;padding:19px 22px;font-size:20px}.rating-map-note{color:#6b8075;font-size:12px;line-height:1.6}.rating-map-loading{margin:18px 0 26px;padding:16px 20px 7px;border:1px solid #e0e9e3;border-radius:14px;background:#f8fbf8}.rating-map-loading-label{margin:0;color:#3c6354;font-size:13px;font-weight:650}.rating-map-loading .academic-placeholder-table{background:#fff;margin-top:10px}@media(max-width:720px){.rating-map-loading{padding:13px 12px 4px}}.rating-map-wait{margin:20px 0;padding:20px;border-radius:12px;background:#f3f8f5;color:#59776b}@media(max-width:720px){.academic-journal-hours{margin-left:0;width:100%;font-size:12px}.academic-journal-actions{display:grid;grid-template-columns:minmax(0,1fr)}.journal-detail-actions{overflow:visible}.journal-detail-actions button{white-space:normal}.rating-map-intro{padding:17px 16px}.rating-map-total{font-size:17px;padding:16px}}
