html .portal-page-navigation[data-page-navigation]{display:flex;align-items:center;justify-content:flex-start;gap:6px;box-sizing:border-box;width:100%;margin:0;padding:6px 18px;font-size:12px}html .portal-page-navigation[data-page-navigation].portal-page-navigation--inline{width:auto;margin:0;padding:0;justify-content:flex-start}html .portal-page-navigation[data-page-navigation] a{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:3px 8px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:9px;color:#475569;background:#fff;box-shadow:none;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap;text-decoration:none}html .portal-page-navigation[data-page-navigation] svg{width:15px;height:15px;flex-shrink:0}html .portal-page-navigation[data-page-navigation] a:hover{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}html .portal-page-navigation[data-page-navigation] a:focus-visible{outline:2px solid #0f766e;outline-offset:2px}@media(max-width:640px){html .portal-page-navigation[data-page-navigation]{padding-inline:12px}}@media print{html .portal-page-navigation[data-page-navigation]{display:none}}.ui-row-menu__panel[data-floating-menu-panel]{position:fixed;z-index:90;display:grid;box-sizing:border-box;min-width:0;width:180px;max-width:calc(100vw - 16px);margin:0;overflow-y:auto;overscroll-behavior:contain;border-radius:12px;padding:7px;background:#fff;box-shadow:0 10px 35px #0f172a26}.ui-row-menu__panel[data-floating-menu-panel] .ui-btn{min-height:38px;justify-content:flex-start;border-radius:8px}.admin-account-shell,.admin-topbar__drawer{display:contents}.account-summary{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 6px;margin-top:6px}.account-summary>span{padding:2px 7px;border-radius:8px;background:#ffffff8c;color:inherit;font-size:11px;line-height:1.8}.admin-dropdown__header .account-summary{justify-content:flex-start}@media screen and (max-width:768px){.admin-account-shell{--account-background: linear-gradient(90deg, #ffd0dc, #dfd5ff 25%, #dfd5ff 75%, #d7f5ff);--account-border: #b8a6d5;--account-curve: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 148 42'%3E%3Cpath d='M0 0h148v11.5c-24 0-30 30-74 30S24 11.5 0 11.5Z' fill='%23dfd5ff'/%3E%3Cpath d='M0 11.5c24 0 30 30 74 30s50-30 74-30' fill='none' stroke='%23b8a6d5' stroke-width='1'/%3E%3C/svg%3E");display:block;position:sticky;top:var(--mobile-account-offset, 0px);z-index:45;flex-shrink:0;width:100%;height:calc(55px + max(4px,env(safe-area-inset-top)));margin-bottom:30px}.admin-account-shell[data-account-home="0"]{height:calc(33px + max(4px,env(safe-area-inset-top)))}.portal-app--guardian .admin-account-shell{--account-background: linear-gradient(90deg, #ffe3b5, #c6eee0 25%, #c6eee0 75%, #dcf8ef);--account-border: #95c7b3;--account-curve: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 148 42'%3E%3Cpath d='M0 0h148v11.5c-24 0-30 30-74 30S24 11.5 0 11.5Z' fill='%23c6eee0'/%3E%3Cpath d='M0 11.5c24 0 30 30 74 30s50-30 74-30' fill='none' stroke='%2395c7b3' stroke-width='1'/%3E%3C/svg%3E")}.admin-topbar.admin-topbar--profile{--account-ink: #263b55;position:absolute;top:0;left:0;right:0;z-index:45;flex-shrink:0;min-height:0;padding:max(4px,env(safe-area-inset-top)) 12px 30px;margin-bottom:0;gap:0;border:0;border-bottom:1px solid var(--account-border);border-radius:0 0 24px 24px;background:var(--account-background);box-shadow:0 5px 20px #4a5f9914;color:var(--account-ink);transition:padding-bottom .28s ease}.admin-topbar--profile:after{content:"";position:absolute;bottom:-31px;left:50%;width:148px;height:42px;background:var(--account-curve) center / 100% 100% no-repeat;transform:translate(-50%);filter:drop-shadow(0 5px 5px rgb(74 95 153 / 7%));pointer-events:none}.admin-topbar--profile .admin-topbar__right{position:static;min-height:24px;gap:0}.admin-topbar--profile .admin-topbar__menu-btn{position:absolute;top:max(3px,env(safe-area-inset-top));inset-inline-start:12px;width:34px;height:34px;border:1px solid #dce3f3;background:#ffffffb8;border-radius:12px}.admin-topbar--profile .admin-topbar__mobile-summary{justify-content:center;margin:0}.admin-topbar--profile .admin-topbar__mobile-brand{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;max-width:100%;max-height:24px;overflow:hidden;padding-inline:34px;transition:max-height .28s ease,opacity .2s ease}.admin-topbar--profile .admin-topbar__school-logo{display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:7px;background:#fff;color:#5b6fa0;box-shadow:0 2px 7px #4a5f990f;transition:width .2s ease,height .2s ease,flex-basis .2s ease}.admin-topbar--profile .admin-topbar__school-logo :is(img,svg){display:block;width:100%;height:100%;padding:3px;-o-object-fit:contain;object-fit:contain;border-radius:inherit}.admin-topbar--profile .admin-topbar__mobile-school{min-width:0;max-width:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#40516a;font-size:11px;font-weight:700;line-height:1.8;text-align:center}.admin-topbar--profile[data-mobile-account-home="0"]:not(.admin-topbar--mobile-actions-open){padding-bottom:8px}.admin-topbar--profile[data-mobile-account-home="0"]:not(.admin-topbar--mobile-actions-open) .admin-topbar__mobile-brand{max-height:0;opacity:0;visibility:hidden}.admin-topbar--profile .admin-topbar__mobile-actions-toggle{position:absolute;z-index:2;left:50%;bottom:-23px;transform:translate(-50%);width:54px;height:54px;min-height:54px;padding:2px;border:0;border-radius:50%;background:#fff;box-shadow:0 4px 12px #2f476f29;-webkit-tap-highlight-color:transparent}.admin-topbar--profile .admin-topbar__mobile-actions-toggle:focus-visible{outline:3px solid #7a94d9;outline-offset:4px}.admin-topbar--profile .admin-topbar__profile-photo{display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#d5e8fa,#e2dcf8);color:#465689;font-size:23px;font-weight:800}.admin-topbar--profile .admin-topbar__profile-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.admin-topbar--profile .admin-topbar__account-hint{position:absolute;top:calc(100% + 1px);left:50%;width:22px;height:18px;fill:none;stroke:#6c7fab;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transform:translate(-50%);transition:transform .18s ease;pointer-events:none}.admin-topbar--profile.admin-topbar--mobile-actions-open .admin-topbar__account-hint{transform:translate(-50%) rotate(180deg)}.admin-topbar--profile.admin-topbar--mobile-actions-open .admin-topbar__mobile-brand{max-height:72px;opacity:1;visibility:visible}.admin-topbar--profile.admin-topbar--mobile-actions-open .admin-topbar__school-logo{flex-basis:26px;width:26px;height:26px;border-radius:9px}.admin-topbar--profile.admin-topbar--mobile-actions-open .admin-topbar__mobile-school{font-size:15px;white-space:normal;overflow-wrap:anywhere}.admin-topbar--profile .admin-topbar__drawer{display:grid;grid-template-rows:0fr;flex:0 0 100%;width:100%;min-width:0;visibility:hidden;pointer-events:none;transition:grid-template-rows .28s ease,visibility 0s linear .28s}.admin-topbar--profile.admin-topbar--mobile-actions-open .admin-topbar__drawer{grid-template-rows:1fr;visibility:visible;pointer-events:auto;transition-delay:0s}.admin-topbar--profile .admin-topbar__left{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;min-width:0;border:0;padding:0;overflow:hidden;opacity:0;transform:translateY(-6px);max-height:calc(100vh - 156px - var(--mobile-account-offset, 0px));max-height:calc(100dvh - 156px - var(--mobile-account-offset, 0px));overscroll-behavior:contain;scrollbar-width:thin;transition:opacity .2s ease,transform .28s ease}.admin-topbar--profile.admin-topbar--mobile-actions-open .admin-topbar__left{overflow-y:auto;opacity:1;transform:translateY(0)}.admin-topbar--profile .admin-topbar__mobile-actions-list{width:100%;max-width:460px;margin-inline:auto;padding:6px 2px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;gap:7px}.admin-topbar--profile .admin-topbar__mobile-user{display:block;text-align:center;padding:0 0 5px;border:0;background:transparent}.admin-topbar--profile .admin-topbar__mobile-user strong{color:#263b55;font-size:15px;white-space:normal;overflow-wrap:anywhere}.admin-topbar--profile .admin-topbar__mobile-user small{font-size:11px;color:#63748b}.admin-topbar--profile .admin-topbar__mobile-action{--action-bg: #e8edf8;--action-ink: #405b87;min-height:44px;gap:10px;padding:7px 10px;justify-content:flex-start;border:1px solid rgb(255 255 255 / 80%);border-radius:14px;color:var(--action-ink);background:var(--action-bg);font-size:12px;font-weight:700;transition:filter .15s ease}.admin-topbar--profile .admin-topbar__mobile-action--blue{--action-bg: #e1ebfc;--action-ink: #315580}.admin-topbar--profile .admin-topbar__mobile-action--teal{--action-bg: #dcefe9;--action-ink: #22645b}.admin-topbar--profile .admin-topbar__mobile-action--violet{--action-bg: #eae3f7;--action-ink: #654889}.admin-topbar--profile .admin-topbar__mobile-action--danger{--action-bg: #fbe7e8;--action-ink: #a0394c}.admin-topbar--profile .admin-topbar__mobile-action[hidden]{display:none!important}.admin-topbar--profile .admin-topbar__mobile-action:hover{filter:brightness(.97)}.admin-topbar--profile .admin-topbar__mobile-action:focus-visible{outline:2px solid var(--action-ink);outline-offset:-2px}.admin-topbar--profile .admin-topbar__mobile-action>strong{margin-inline-start:auto;padding:1px 7px;border-radius:20px;background:#fff;font-size:11px}.admin-topbar--profile .admin-topbar__action-icon{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;padding:4px;border-radius:9px;background:#ffffff80;color:inherit;box-shadow:none}.admin-topbar--profile .admin-topbar__action-icon svg{width:20px;height:20px}.admin-topbar--profile .admin-global-search__panel{top:70px;max-height:calc(100svh - 100px)}html .admin-layout:has(.admin-topbar--profile) .bale-conversation-page{height:calc(100dvh - var(--mobile-account-clearance, 112px) - 24px);max-height:calc(100dvh - var(--mobile-account-clearance, 112px) - 24px);min-height:180px}html:has(.admin-topbar--profile){scroll-padding-top:calc(var(--mobile-account-clearance, 112px) + 8px)}}@media(prefers-reduced-motion:reduce){.admin-topbar.admin-topbar--profile,.admin-topbar--profile .admin-topbar__drawer,.admin-topbar--profile .admin-topbar__left,.admin-topbar--profile .admin-topbar__mobile-brand,.admin-topbar--profile .admin-topbar__school-logo,.admin-topbar--profile .admin-topbar__account-hint,.admin-topbar--profile .admin-topbar__mobile-action{transition:none}}.portal-app .app-dashboard__hero:not(:has(.app-dashboard__avatar)) h1{max-width:100%}html :is(.admin-topbar__profile-photo,.admin-user-menu__avatar,.chat-account-avatar,.chat-sender-avatar,.chat-member-row__avatar),html :is(.bale-avatar,.bale-peer-avatar):has(>img[data-chat-avatar]),html img:is(.profile-avatar-img,.ui-profile-avatar-preview,[data-chat-avatar],[src*="/profile/avatar/"],[src*="/profile-avatars/"],[src*="/images/avatars/"]){background:#fff!important}.mobile-onboarding__guide-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:12px}.mobile-onboarding__guide-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.mobile-onboarding__guide[hidden]{display:none!important}.account-logout-dialog{width:min(350px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #fff;border-radius:26px;background:#fff;color:#293747;box-shadow:0 24px 80px #1e293b38;overflow:auto}.account-logout-dialog:not([open]){display:none}.account-logout-dialog::backdrop{background:#1e293b66;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.account-logout-dialog__body{padding:26px 22px 22px;text-align:center;background:radial-gradient(ellipse at 50% 0,#fff1eb,transparent 68%)}.account-logout-dialog__icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:21px;background:#ffe4dc;color:#c66550;box-shadow:0 5px 16px #e8b7a522}.account-logout-dialog__icon svg{width:28px;height:28px}.account-logout-dialog h2{margin:0 0 24px;font-size:17px;font-weight:800;line-height:1.8}.account-logout-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-logout-dialog__actions button{min-height:46px;padding:9px;border:1px solid #e2e8f0;border-radius:14px;background:#f3f6fa;color:#526174;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.account-logout-dialog__actions [data-account-logout-confirm]{border-color:#d97863;background:#dc8069;color:#fff}.account-logout-dialog__actions button:hover{filter:brightness(.96)}.account-logout-dialog__actions button:focus-visible{outline:3px solid #91b7d8;outline-offset:2px}.account-logout-dialog[open]{animation:account-logout-in .18s ease-out}@keyframes account-logout-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.account-logout-dialog[open]{animation:none}}.dashboard-menu{margin:0 0 24px;padding:18px;border:1px solid #dce6f6;border-radius:20px;background:linear-gradient(135deg,#f5f8ff,#f9f6ff 55%,#f1faf8)}.dashboard-menu__search{display:flex;align-items:center;gap:10px;max-width:430px;margin:12px 0 18px;padding:8px 14px;border:1px solid #d9e1ee;border-radius:14px;background:#fff;color:#64748b}.dashboard-menu__search input{width:100%;min-width:0;border:0;outline-offset:4px;background:transparent;font:inherit}.dashboard-menu__section+.dashboard-menu__section{margin-top:18px}.dashboard-menu__section h2,.dashboard-menu__section h3{margin:0 0 10px;color:#334155;font-size:14px;font-weight:800}.dashboard-menu>.featured-notices,.dashboard-menu>.newspaper{margin:18px 0}.dashboard-menu__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px}.dashboard-menu__link{--tile-bg: #eaf0ff;--tile-edge: #cbdafa;--tile-ink: #284d99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:92px;padding:11px 7px;border:1px solid var(--tile-edge);border-radius:16px;background:var(--tile-bg);box-shadow:0 4px 12px #1e293b0a;color:#1e293b;text-align:center;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.dashboard-menu__link:nth-child(4n+2){--tile-bg: #e2f7ef;--tile-edge: #b4e5cf;--tile-ink: #12664c}.dashboard-menu__link:nth-child(4n+3){--tile-bg: #fff1d9;--tile-edge: #f7dba7;--tile-ink: #85510d}.dashboard-menu__link:nth-child(4n){--tile-bg: #fbe7f2;--tile-edge: #f1c5db;--tile-ink: #88325f}.dashboard-menu__link:hover,.dashboard-menu__link:focus-visible{transform:translateY(-2px);box-shadow:0 8px 18px #1e293b1c}.dashboard-menu__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ffffffb8;color:var(--tile-ink);font-size:20px}.dashboard-menu__label{max-width:100%;font-size:13px;font-weight:750;line-height:1.55;overflow-wrap:anywhere}.dashboard-menu__empty{margin:14px 0 0;color:#64748b}[data-dashboard-menu-quick][hidden],[data-dashboard-menu-section][hidden],[data-dashboard-menu-link][hidden],[data-dashboard-menu-empty][hidden]{display:none!important}@media(max-width:600px){.dashboard-menu{margin-bottom:18px;padding:13px;border-radius:17px}.dashboard-menu__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dashboard-menu__link{min-height:86px;padding:8px 5px}.dashboard-menu__label{font-size:11px}}@media(max-width:360px){.dashboard-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.notification-mobile-hint{margin:4px 0 16px;padding:12px 14px;border:1px solid #d6e6f3;border-radius:12px;background:#f1f8ff;color:#21445e;font-size:13px;line-height:1.9}.notification-mobile-hint p{margin:0}.notification-mobile-hint__counts{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:5px}[data-notification-count][data-over-limit=true]{color:#b42318;font-weight:800}@media(max-width:768px)and (any-pointer:coarse){body[data-mobile-zoom=login],body[data-mobile-zoom=login] *{touch-action:manipulation}}.mobile-pull-refresh{display:none}@media(max-width:768px)and (any-pointer:coarse){html[data-mobile-pull-refresh],html[data-mobile-pull-refresh] body{overscroll-behavior-y:none}html[data-mobile-pull-refresh] .mobile-pull-refresh{position:fixed;z-index:100;top:calc(max(8px,env(safe-area-inset-top)) + var(--mobile-account-offset, 0px));left:50%;display:flex;align-items:center;justify-content:center;gap:8px;width:-moz-max-content;width:max-content;max-width:calc(100vw - 32px);min-height:40px;padding:8px 15px;border:1px solid #cbdedb;border-radius:999px;background:#fffffff5;color:#176c66;box-shadow:0 5px 24px #193e3826;font-size:12px;font-weight:700;line-height:1.7;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-12px);transition:opacity .18s ease,transform .22s ease,visibility 0s linear .22s}html[data-mobile-pull-refresh] .mobile-pull-refresh:not([data-phase=idle]){opacity:1;visibility:visible;transform:translate(-50%,var(--pull-offset, 24px));transition-delay:0s}html[data-mobile-pull-refresh] .mobile-pull-refresh:is([data-phase=pull],[data-phase=ready]){transition:opacity .12s ease}.mobile-pull-refresh__icon{flex:0 0 21px;width:21px;height:21px;transform:rotate(var(--pull-turn, 0deg))}html[data-mobile-pull-refresh] .mobile-pull-refresh[data-phase=ready]{background:#e3f8f0;border-color:#86cdb6}html[data-mobile-pull-refresh] .mobile-pull-refresh[data-phase=offline]{color:#8f531d;border-color:#ebcca5}.mobile-pull-refresh[data-phase=loading] .mobile-pull-refresh__icon{animation:mobile-refresh-spin .8s linear infinite}@keyframes mobile-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}@media(prefers-reduced-motion:reduce){html[data-mobile-pull-refresh] .mobile-pull-refresh{transition:none!important}.mobile-pull-refresh[data-phase=loading] .mobile-pull-refresh__icon{animation:none}}[data-learning-voice]{border:1px solid #99f6e4;border-radius:12px;background:#f0fdfa}[data-learning-voice] audio{display:block;width:100%;max-width:100%;margin-top:12px}[data-learning-voice] [hidden]{display:none!important}[data-voice-record][aria-pressed=true]{color:#b91c1c;border-color:#fca5a5;background:#fff1f2}[data-answer-status]:not(:empty){padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1e40af;font-weight:700}.learning-audio-message{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:min(100%,390px);margin-top:10px;padding:8px;border:1px solid #b4e6db;border-radius:18px 18px 5px;background:#d4f8f1}.learning-audio-message__icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;color:#0f766e;background:#b4eee0}.learning-audio-message__icon svg{width:21px;height:21px}.learning-audio-message audio{display:block;width:100%;min-width:0;height:42px}.learning-file-copy{flex:1;min-width:0;overflow-wrap:anywhere}.learning-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.learning-answer-heading{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.learning-answer-heading .portal-section-title{margin:0}.learning-answer-notice{padding:12px 14px;border-radius:12px;color:#475569;background:#f1f5f9}@media(max-width:480px){.learning-file-row .learning-file-copy{flex-basis:100%}.learning-audio-message__icon{display:none}}.ui-upload-progress{width:100%;margin-block:12px}.ui-upload-progress[hidden]{display:none}.ui-upload-progress progress{display:block;width:100%;height:10px;border:0;border-radius:999px;overflow:hidden;accent-color:#2563eb}.ui-upload-progress progress::-webkit-progress-bar{background:#e2e8f0;border-radius:999px}.ui-upload-progress progress::-webkit-progress-value{background:#2563eb;border-radius:999px}.ui-upload-progress progress::-moz-progress-bar{background:#2563eb;border-radius:999px}.ui-upload-progress p{margin:8px 0 0;font-size:14px;line-height:1.8;color:#334155;overflow-wrap:anywhere}.ui-upload-progress[data-upload-error] p{color:#b91c1c}[data-upload-submit][data-upload-cancel]{background:#fff1f2!important;color:#be123c!important;border:1px solid #fda4af!important}.student-exam__status{position:sticky;top:calc(var(--mobile-account-offset, 0px) + 12px);z-index:5;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:12px 16px;border:1px solid #c4b5fd;border-radius:16px;background:#f5f3ff;color:#4c1d95;font-size:13px}.student-exam__status [data-exam-clock]{font-weight:800;font-variant-numeric:tabular-nums}.student-exam__status [data-error=true]{color:#b91c1c}.student-exam__question-head{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:13px}.student-exam__question-head strong{color:#4338ca}.student-exam__options{display:grid;gap:10px;margin:0;padding:0;border:0;min-width:0}.student-exam__options legend{margin-bottom:10px}.student-exam__option{display:flex;align-items:start;gap:12px;padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;cursor:pointer}.student-exam__option:has(input:checked){border-color:#a78bfa;background:#ede9fe}.student-exam__option input{margin-top:6px;accent-color:#7c3aed;flex-shrink:0}.student-exam__option>span{min-width:0}.student-exam__image{display:block;max-width:100%;max-height:420px;-o-object-fit:contain;object-fit:contain;border-radius:12px;margin-block:8px}.student-exam-photo{display:grid;gap:10px;padding:14px;border:1px dashed #c4b5fd;border-radius:14px;background:#faf8ff}.student-exam-photo [hidden]{display:none!important}.student-exam-photo [data-photo-note]{font-size:12px}.student-exam-photo .student-exam__image{max-height:240px}.exam-focus-page{margin:0;background:#f1f5fb;color:#17243b}.exam-focus-main{max-width:850px;margin-inline:auto;padding:0 14px calc(28px + env(safe-area-inset-bottom))}.exam-focus-page [hidden],.student-exam [hidden]{display:none!important}.exam-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 4px 12px;background:#f1f5fbf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #d7e0ee}.exam-toolbar time{font-size:clamp(22px,5vw,30px);font-weight:800;font-variant-numeric:tabular-nums;color:#3730a3}.exam-back,.exam-help{padding:8px 10px;border:1px solid #d7e0ee;background:#fff;color:#334155;border-radius:12px;text-decoration:none;font:inherit;font-size:12px;cursor:pointer}.exam-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-block:10px}.exam-controls [data-exam-status]{font-size:12px;color:#52716b}.exam-controls [data-error=true]{color:#b91c1c;font-weight:700}.exam-view-toggle{display:flex;width:100%;padding:5px;gap:6px;border:1px solid #c7d2fe;border-radius:16px;background:#e8edff}.exam-view-toggle button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid transparent;border-radius:12px;padding:9px 12px;font:inherit;font-size:14px;font-weight:700;color:#4338ca;background:transparent;cursor:pointer}.exam-view-toggle button span{font-size:22px;line-height:1}.exam-view-toggle [aria-pressed=true]{background:#4f46e5;color:#fff;box-shadow:0 3px 8px #4338ca30}.exam-view-toggle button:focus-visible,.exam-question-info summary:focus-visible{outline:3px solid #818cf8;outline-offset:3px}.student-exam__question{--question-accent: #6366f1;border:1px solid #dce2ef!important;border-inline-start:5px solid var(--question-accent)!important;border-radius:20px!important;background:#fff!important;padding:18px!important;scroll-margin-top:100px;box-shadow:0 4px 18px #27396406}.student-exam__question:nth-of-type(3n+2){--question-accent: #0d9488}.student-exam__question:nth-of-type(3n+3){--question-accent: #d97706}.student-exam__question{overflow:visible}.student-exam__question>.ui-card-body{padding:0}.student-exam__question-head{flex-wrap:wrap;align-items:center;padding-bottom:10px;border-bottom:1px solid #edf0f6}.student-exam__question-head strong{color:var(--question-accent)}.exam-question-number,.exam-question-meta{display:flex;align-items:center;gap:9px}.exam-required-dot{display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#dc2626;box-shadow:0 0 0 3px #fee2e2}.exam-question-info{position:relative}.exam-question-info summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cbd5e1;border-radius:50%;background:#f8fafc;color:#475569;font:700 18px Georgia,serif;cursor:pointer;list-style:none}.exam-question-info summary::-webkit-details-marker{display:none}.exam-question-info[open] summary{background:#e0e7ff;border-color:#a5b4fc;color:#3730a3}.exam-question-info__content{position:absolute;z-index:10;inset-inline-end:0;top:calc(100% + 8px);width:min(240px,65vw);display:grid;gap:6px;padding:12px;border:1px solid #c7d2fe;border-radius:12px;background:#fff;color:#334155;box-shadow:0 8px 24px #1e293b20;line-height:1.8}.student-exam__question[data-missing=true]{border-color:#fca5a5!important;box-shadow:0 0 0 2px #fee2e2}.student-exam-photo{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border-radius:12px;border:1px dashed #d7deea;background:#fafbfe}.student-exam-photo__label{font-size:12px;color:#64748b}.student-exam-photo [data-photo-link]{flex-basis:100%}.student-exam-photo .student-exam__image{max-height:180px}.student-exam-photo [data-photo-note]{font-size:11px}.exam-question-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.exam-question-nav span{font-size:13px}.exam-paper-photos{border:1px solid #c5dcdb;border-radius:16px;padding:14px;background:#effaf7}.exam-paper-photos summary{cursor:pointer;color:#0f766e;font-weight:700}.exam-paper-hint{display:block;margin-block:8px 0;font-size:12px;font-weight:400;color:#365e58;line-height:1.9}.exam-paper-grid{display:grid;gap:10px;margin-block:12px}.exam-submit-actions{justify-content:flex-end;padding-block:12px}.exam-help-dialog{width:min(380px,calc(100% - 40px));padding:24px;border:0;border-radius:22px;color:#24334c;box-shadow:0 24px 70px #0f172a40}.exam-help-dialog::backdrop{background:#0f172a66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.exam-help-dialog h2{font-size:20px;margin-bottom:16px}.exam-help-dialog p{line-height:1.9;margin-bottom:10px;font-size:14px}.exam-validation-dialog{text-align:center}.exam-validation-dialog .ui-btn{width:100%;margin-top:12px}.exam-validation-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:16px;background:#fee2e2;color:#b91c1c;font-size:28px;font-weight:800}.exam-review-card{padding:18px!important;margin-block:12px;border:1px solid #dbe4f1!important;border-radius:18px!important}.exam-review-question{background:#eef2ff;border-radius:14px;padding:14px;line-height:1.9}.exam-review-answer{background:#f0fdfa;border-radius:14px;padding:14px;line-height:1.9}.exam-review-question small,.exam-review-answer small{display:block;font-size:11px;color:#64748b;margin-bottom:8px}.exam-review-marks{padding-top:12px}.exam-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.55fr);gap:20px}.exam-review-guide{padding:10px;color:#475569;font-size:13px}.exam-review-guide summary{cursor:pointer}.exam-review-save{position:fixed;inset-inline-end:18px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;padding:8px;border-radius:16px;background:#fff;box-shadow:0 6px 26px #0f172a30}.exam-review-card:last-child{margin-bottom:90px}.exam-review-group{margin-block:12px;padding:14px;border:1px solid #d4deed;background:#fff;border-radius:16px}.exam-review-group>summary{cursor:pointer;font-weight:700;color:#3730a3;padding:6px}.exam-review-group>summary a{color:inherit;text-decoration:none}@media(max-width:600px){.exam-review-grid{grid-template-columns:1fr}.student-exam__question{padding:14px!important}.exam-review-save{inset-inline-end:12px}}@media(prefers-reduced-motion:reduce){.student-exam{scroll-behavior:auto}}.exam-submit-actions [data-exam-save-status]{color:#047857;font-size:13px;font-weight:700}.exam-submit-actions [data-exam-save-status][data-error=true]{color:#b91c1c}.exam-earned-score{color:#047857;font-weight:700}.exam-answer-review .student-exam__option{cursor:default}.exam-answer-review input:disabled{opacity:1}.exam-own-rank{display:grid;gap:5px;padding:12px;margin-top:12px;border:1px solid #c7d2fe;border-radius:12px;background:#eef2ff;color:#3730a3}.exam-own-rank small{color:#475569}.exam-grading-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-block:1rem}.exam-grading-step{padding:1rem;border:1px solid #bfdbfe;border-radius:1rem;background:#eff6ff;display:flex;flex-direction:column;gap:.65rem}.exam-grading-step:nth-child(2){background:#fffbeb;border-color:#fde68a}.exam-grading-step:nth-child(3){background:#ecfdf5;border-color:#a7f3d0}.exam-grading-step p{margin:0;font-size:.85rem;line-height:1.8}.exam-grading-step form{margin-top:auto}.exam-paper-state{padding:.8rem 1rem;border-radius:.8rem;background:#f1f5f9;margin-block:.75rem}.exam-paper-state details{margin-top:.5rem;font-size:.85rem}.student-exam__option.exam-correct-option,.exam-model-answer{background:#ecfdf5;border:1px solid #6ee7b7;border-radius:.75rem;padding:.75rem}.exam-correct-label{display:block;color:#065f46;font-size:.85rem;margin-bottom:.4rem}@media(max-width:700px){.exam-grading-steps{grid-template-columns:1fr}.exam-grading-step{padding:.8rem}}.grade-report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem;align-items:end}.grade-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:.85rem}.grade-result-card{display:flex;flex-direction:column;gap:.6rem;min-width:0;padding:1rem;border:1px solid #dbeafe;border-radius:1rem;background:linear-gradient(145deg,#f8fafc,#eff6ff);overflow-wrap:anywhere}.grade-result-card__heading,.grade-result-card__mark{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.grade-result-card__mark{color:#065f46;padding-block:.4rem}.grade-result-card__mark>span{padding:.25rem .6rem;border-radius:.65rem;background:#d1fae5;font-weight:700}.grade-report-day{margin-block:1.25rem}.grade-report-day>h3{margin-bottom:.7rem;color:#334155}.grade-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:.75rem;margin-top:.85rem}.grade-type-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid #cbd5e1;border-radius:1rem;color:#334155;background:#f8fafc;overflow-wrap:anywhere}.grade-type-card strong{font-size:1.2rem;color:#0f766e}.grade-type-card small{font-size:.8rem}.grade-type-card.is-selected{border:2px solid #0f766e;background:#f0fdfa}.grade-type-card:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}.grade-report-selection,.grade-report-day__heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem}.grade-report-day__heading{padding:.75rem 1rem;border-inline-start:4px solid #0f766e;border-radius:.65rem;background:#ecfdf5;margin-bottom:1rem}.grade-report-day__heading h3{font-weight:700;color:#065f46}.grade-report-exam{margin-block:1rem 1.5rem}.grade-report-exam h4{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:.7rem;font-weight:700}.grade-report-exam h4 small{color:#64748b;font-weight:400}.grade-leaders-panel>summary{cursor:pointer;padding:1rem;font-weight:700}.exam-subject-breakdown{margin-top:1rem}.exam-subject-breakdown>summary{cursor:pointer;padding-block:.6rem;font-weight:700}@media(max-width:540px){.grade-result-grid,.grade-report-filters{grid-template-columns:minmax(0,1fr)}.grade-result-card{padding:.85rem}}.grade-report-tabs{display:flex;gap:.35rem;padding:.35rem;border:1px solid #e2e8f0;border-radius:.9rem;background:#f1f5f9}.grade-report-tabs a{flex:1;text-align:center;padding:.75rem .6rem;min-height:44px;border-radius:.65rem;font-weight:700;color:#475569}.grade-report-tabs a.is-selected{background:#fff;color:#0f766e;box-shadow:0 2px 5px #0f172a12}.grade-report-tabs a:focus-visible{outline:3px solid #0f766e}.grade-extra-filters>summary,.grade-counts-panel>summary,.grade-average-help>summary{padding-block:.8rem;cursor:pointer;font-weight:600}.grade-counts-panel>summary{padding-inline:1rem}.grade-counts-panel .grade-type-card{padding:.65rem;gap:.2rem;border-radius:.65rem}.grade-counts-panel .grade-type-card strong{font-size:1rem}.grade-report-day>summary,.grade-report-exam>summary{cursor:pointer;min-height:44px}.grade-report-exam>summary{display:flex;flex-direction:column;gap:.25rem;padding:.65rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.grade-report-exam>summary small{font-size:.82rem;color:#64748b}.grade-report-exam .grade-result-grid{margin-top:.65rem}.grade-average-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.grade-average-picker{display:flex;align-items:end;flex-wrap:wrap;gap:.7rem;padding:.8rem;background:#f8fafc;border-radius:.8rem}.grade-average-picker .ui-form-group{flex:1 1 240px;margin:0}.grade-average-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-block:1.2rem .7rem}.grade-average-heading h2{font-weight:700}.grade-average-heading>span{font-size:.85rem;color:#64748b}.grade-average-list{display:grid;gap:.6rem}.grade-average-row{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #e2e8f0;border-radius:.85rem;background:#fff}.grade-average-row>div{display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow-wrap:anywhere}.grade-average-row small{font-size:.8rem;color:#64748b}.grade-average-rank{text-align:center;padding:.4rem;border-radius:.6rem;background:#ccfbf1;color:#115e59;font-size:.85rem;font-weight:700}.grade-average-mark{text-align:end;color:#0f766e}.grade-average-mark strong{font-size:1.1rem}.grade-average-mark span{font-size:.85rem}.grade-average-help{margin-top:1rem;color:#475569;line-height:1.9}.grade-average-help p{margin-block:.6rem}@media(max-width:540px){.grade-report-tabs a{font-size:.8rem;padding-inline:.25rem}.grade-average-actions>*{flex:1 1 100%}.grade-average-picker{flex-direction:column;align-items:stretch}.grade-average-picker .ui-form-group{flex-basis:auto}.grade-average-row{grid-template-columns:58px minmax(0,1fr);gap:.5rem}.grade-average-mark{grid-column:2;flex-direction:row!important;justify-content:space-between}}.schedule-swap-fields,.schedule-swap-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}.schedule-swap-classes{margin-top:1rem}.schedule-swap-classes>label{display:flex;align-items:center;gap:.75rem;min-height:48px;padding:.85rem 1rem;border:1px solid #cbd5e1;border-radius:.85rem;background:#f8fafc;cursor:pointer;overflow-wrap:anywhere}.schedule-swap-classes>label:has(input:checked){border-color:#0f766e;background:#f0fdfa}.schedule-swap-classes>label:focus-within{outline:3px solid #38bdf8;outline-offset:2px}.schedule-swap-classes input{flex-shrink:0;width:1.15rem;height:1.15rem;accent-color:#0f766e}.schedule-swap-lesson{display:flex;flex-direction:column;gap:.45rem;padding-block:.8rem;overflow-wrap:anywhere}.schedule-swap-lesson+.schedule-swap-lesson{border-top:1px solid #e2e8f0}.schedule-swap-lesson p{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.65rem}.schedule-swap-lesson p strong{color:#047857}@media(max-width:540px){.schedule-swap-fields,.schedule-swap-classes{grid-template-columns:minmax(0,1fr)}}.schedule-board__toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:.8rem}.schedule-board__toolbar .ui-form-group{flex:1 1 190px;margin:0}.schedule-board__class{scroll-margin-top:5rem}.schedule-board__class h2{margin:0;font-size:1.05rem}.schedule-board__reason{margin:.65rem 0 0;color:#991b1b;font-size:.9rem;line-height:1.8}.schedule-board__issues{border:1px solid #fca5a5;border-radius:.9rem;padding:1rem;color:#991b1b;background:#fef2f2;line-height:1.9}.schedule-board__issues[hidden]{display:none}.schedule-board__issues ul{margin-block:.5rem 0;padding-inline-start:1.4rem}.schedule-board__notice--error{background:#fff7ed;color:#9a3412;border-color:#fdba74}.schedule-board__scroll{overscroll-behavior-x:contain}.schedule-board .ui-timetable{table-layout:fixed;min-width:750px}.schedule-board .ui-timetable th,.schedule-board .ui-timetable td{min-width:150px;width:150px}.schedule-board .ui-timetable th:first-child{width:86px;min-width:86px;position:sticky;inset-inline-start:0;z-index:1;background:#f1f5f9}.schedule-board__cell{vertical-align:top;transition:background .12s}.schedule-board__cell:focus-visible{outline:3px solid #0f766e;outline-offset:-3px}.schedule-board .schedule-board__cell--over{background:#ccfbf1!important;box-shadow:inset 0 0 0 3px #0f766e}.schedule-board .ui-timetable__empty{color:#64748b!important;font-size:.8rem!important}.schedule-board__lesson{display:flex;flex-direction:column;gap:.3rem;background:#fff;border:1px solid #e2e8f0;border-radius:.7rem;padding:.65rem;margin-bottom:.5rem;overflow-wrap:anywhere;text-align:start}.schedule-board__lesson--changed{border-color:#14b8a6;background:#f0fdfa}.schedule-board__lesson--conflict{border-color:#ef4444;background:#fff1f2}.schedule-board__lesson--selected{outline:3px solid #0f766e;outline-offset:1px}.schedule-board__handle{min-height:44px;width:100%;border-radius:.5rem;background:#f1f5f9;border:1px solid #cbd5e1;color:#334155;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:inherit}.schedule-board__handle:active{cursor:grabbing}.schedule-board__handle:focus-visible{outline:3px solid #0f766e;outline-offset:2px}.schedule-board__ghost{position:fixed;z-index:9999;pointer-events:none;display:flex;flex-direction:column;gap:.3rem;padding:.7rem;max-width:170px;border:2px solid #0f766e;border-radius:.7rem;background:#fff;box-shadow:0 12px 30px #0f172a33;opacity:.95}.schedule-board__ghost button{display:none}.schedule-board__footer{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem;border-top:1px solid #cbd5e1;background:#fff;box-shadow:0 -5px 20px #0f172a0d;padding-bottom:max(.8rem,env(safe-area-inset-bottom))}.schedule-board__footer .ui-form-actions{margin:0;display:flex;gap:.5rem;flex-wrap:wrap}.schedule-board--saving .schedule-board__cell{cursor:progress}@media(max-width:540px){.schedule-board__toolbar{align-items:stretch}.schedule-board__toolbar>*{flex-basis:100%}.schedule-board__footer .ui-form-actions{width:100%}.schedule-board__footer button{flex:1 1 auto;font-size:.82rem;padding-inline:.65rem}.schedule-board__footer [data-schedule-commit]{flex-basis:100%}}
