:root{--primary:#c026d3;--primary-strong:#9810a8;--primary-dark:#701a75;--primary-soft:#fdf4ff;--ink:#18181b;--muted:#71717a;--subtle:#a1a1aa;--line:#e9e7eb;--surface:#f8f8fa;--white:#fff;--success:#15803d}*{box-sizing:border-box}html{background:var(--surface)}body{color:var(--ink);background:var(--surface);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.brandMark{color:#0000;background:url(/logo.png) center / cover no-repeat, linear-gradient(135deg, #df62e8, var(--primary-strong));border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:0;font-weight:900;display:grid;box-shadow:0 7px 20px #c026d338}.brandCopy{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.brandCopy strong{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:15px;line-height:1.22;display:-webkit-box;overflow:hidden}.brandCopy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.overline{color:var(--primary-strong);letter-spacing:.14em;font-size:10px;font-weight:800}.loginPage{background:#fff;grid-template-columns:minmax(400px,.92fr) minmax(500px,1.08fr);min-height:100dvh;display:grid}.loginBrand{color:#fff;background:linear-gradient(145deg,#5b185c 0%,#94119e 52%,#c026d3 100%);flex-direction:column;justify-content:space-between;padding:52px clamp(40px,6vw,86px);display:flex;position:relative;overflow:hidden}.loginBrand:after{content:"";border:1px solid #ffffff2b;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-230px;right:-240px;box-shadow:0 0 0 65px #ffffff09,0 0 0 130px #ffffff06}.loginBrandTop{z-index:1;align-items:center;gap:13px;display:flex}.loginBrand .brandMark{box-shadow:none;background:url(/logo-mark.png) 50%/66% no-repeat,#fff}.loginBrand .brandCopy span{color:#f0c8f2}.loginStatement{z-index:1;max-width:540px;position:relative}.loginStatement .overline{color:#f2b9f5}.loginStatement h1{letter-spacing:-.055em;max-width:520px;margin:14px 0 20px;font-size:clamp(42px,5vw,70px);line-height:.99}.loginStatement>p{color:#f5e9f6;max-width:490px;font-size:17px;line-height:1.65}.loginTrust{color:#f8eff8;background:#ffffff14;border:1px solid #ffffff2e;border-radius:13px;align-items:center;gap:11px;margin-top:32px;padding:15px 17px;font-size:12px;display:flex}.loginBrand>small{z-index:1;color:#eacdea;position:relative}.loginFormSide{background:#fff;place-items:center;padding:50px;display:grid}.loginCard{width:min(100%,430px)}.mobileBrand{display:none}.loginCard h2{letter-spacing:-.035em;margin:9px 0 8px;font-size:32px}.loginCard>p{color:var(--muted);margin:0 0 34px;line-height:1.55}.loginCard label{margin:0 0 8px;font-size:12px;font-weight:700;display:block}.labelRow{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.labelRow label{margin:0}.labelRow a{color:var(--primary-strong);font-size:11px;font-weight:700}.inputWrap{height:50px;color:var(--subtle);border:1px solid #dedbe0;border-radius:12px;align-items:center;gap:11px;padding:0 15px;transition:border-color .2s,box-shadow .2s;display:flex}.inputWrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #fae8ff}.inputWrap input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.inputWrap input::placeholder{color:#b2afb4}.passwordReveal{color:var(--subtle);background:0 0;border:0;place-items:center;padding:2px;display:grid}.passwordReveal:hover{color:var(--muted)}.liveDataState{width:100%;min-height:100dvh;color:var(--ink);text-align:center;background:#fffafd;place-content:center;justify-items:center;gap:10px;padding:32px;display:grid}.liveDataState>*{width:min(100%,460px);max-width:100%}.liveDataState .brandMark{background:url(/logo-mark.png) 50%/64% no-repeat,linear-gradient(145deg,#fff,#f7e7fb);border:1px solid #c445d52e;border-radius:14px;flex-basis:46px;width:46px;height:46px;box-shadow:0 8px 22px #7b25891a}.liveDataState h1{margin:4px 0 0;font-size:24px}.liveDataState p{color:var(--muted);overflow-wrap:anywhere;margin:0 0 10px;line-height:1.55}.liveDataState.error{background:#fff7f7}.realLoginForm{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:24px}.realLoginForm h2{letter-spacing:-.03em;margin:9px 0 8px;font-size:26px}.realLoginForm>p{color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.5}.realLoginForm label{margin-top:14px}.realLoginForm label:first-of-type{margin-top:0}.realLoginForm .rememberLogin{cursor:pointer;align-items:center;gap:9px;margin:14px 0 0;display:flex}.rememberLogin input{width:16px;height:16px;accent-color:var(--primary);margin:0}.rememberLogin span{flex-direction:column;gap:2px;display:flex}.rememberLogin strong{font-size:11px}.rememberLogin small{color:var(--muted);font-size:9px;font-weight:500}.realLoginForm .primaryButton{justify-content:center;width:100%;margin-top:18px}.realOnlyLoginCard .realLoginForm{border-bottom:0;margin:0;padding:0}.realLoginError{color:#a12525;background:#fdf3f3;border:1px solid #f3c2c2;border-radius:9px;margin:14px 0 0;padding:10px 12px;font-size:12px;font-weight:700}.credentialCopyToast{z-index:100;color:#166534;background:#f0fdf4;border:1px solid #a7e7bd;border-radius:11px;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:800;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #16653429}.actionToast{z-index:300;color:#166534;background:#f0fdf4;border:1px solid #a7e7bd;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:min(390px,100vw - 28px);padding:13px 14px;font-size:11px;font-weight:800;animation:.22s ease-out actionToastIn;display:grid;position:fixed;top:22px;right:22px;box-shadow:0 16px 45px #1665342e}.actionToast.error{color:#991b1b;background:#fff1f2;border-color:#fecaca;box-shadow:0 16px 45px #991b1b29}.actionToast.info{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.actionToast button{color:inherit;background:0 0;border:0;place-items:center;padding:2px;display:grid}@keyframes actionToastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.actionToast{width:auto;top:12px;left:14px;right:14px}}.loginButton{color:#fff;background:var(--primary-strong);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:51px;margin-top:25px;font-weight:800;display:flex;box-shadow:0 10px 24px #9810a82e}.loginButton:hover{background:var(--primary-dark)}.loginHelp{text-align:center;font-size:11px;margin:18px 0 0!important}.demoLoginSide{align-items:start;padding-block:28px;overflow-y:auto}.demoLoginCard{width:min(100%,560px)}.demoLoginCard>p{margin-bottom:18px}.demoProfileList{flex-direction:column;gap:10px;display:flex}.demoInstitutionProfiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.demoProfileButton{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#fff;border-radius:12px;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:11px;display:grid}.demoProfileButton:hover{background:#fffaff;border-color:#dca5e1;box-shadow:0 7px 18px #9810a814}.demoProfileAvatar{width:38px;height:38px;color:var(--primary-dark);background:var(--primary-soft);border-radius:11px;place-items:center;font-size:9px;font-weight:900;display:grid}.demoProfileButton.founder .demoProfileAvatar,.demoProfileButton.superadmin .demoProfileAvatar{color:#fff;background:var(--primary-strong)}.demoProfileButton.campus .demoProfileAvatar{color:#1d4ed8;background:#dbeafe}.demoProfileButton.teacher .demoProfileAvatar{color:#7c2d12;background:#ffedd5}.demoProfileButton.parent .demoProfileAvatar{color:#166534;background:#dcfce7}.demoProfileCopy{flex-direction:column;gap:2px;min-width:0;display:flex}.demoProfileCopy strong{font-size:10px}.demoProfileCopy b{color:var(--primary-strong);font-size:7px}.demoProfileCopy small{color:var(--muted);font-size:7px;line-height:1.35;overflow:hidden}.manualDemoLogin{border:1px solid var(--line);border-radius:11px;margin-top:13px;padding:11px}.manualDemoLogin summary{color:var(--primary-dark);cursor:pointer;font-size:9px;font-weight:800}.manualDemoLogin>div{padding-top:13px}.manualDemoLogin .inputWrap{height:42px}.manualDemoLogin .labelRow{margin-top:12px}.portalShell{grid-template-columns:250px minmax(0,1fr);min-height:100dvh;display:grid}.portalSidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100dvh;padding:25px 17px 20px;display:flex;position:sticky;top:0;overflow:hidden}.sidebarBrand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:0 8px 25px;display:flex}.brandMark.customLogo{border:1px solid var(--line);box-shadow:none;background:#fff}.brandMark.customLogo img{object-fit:contain;padding:3px}.brandMark img,.avatar img,.studentProfileAvatar img,.staffAvatar img,.studentGoalProfilePhoto img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.portalNav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e5d7e6 transparent;flex-direction:column;flex:1;gap:4px;min-height:0;padding-top:22px;padding-right:2px;display:flex;overflow-y:auto}.navGroupLabel{color:var(--subtle);letter-spacing:.14em;padding:0 12px 8px;font-size:9px;font-weight:800}.navGroupLabel.secondary{padding-top:22px}.navItem{color:#5f5a62;border-radius:10px;align-items:center;gap:12px;height:43px;padding:0 12px;font-size:13px;font-weight:600;transition:color .15s,background .15s;display:flex}.navItem:hover{color:var(--primary-dark);background:#fdf7fd}.navItem.active{color:var(--primary-dark);background:var(--primary-soft);font-weight:800}.navItem.active:after{content:"";background:var(--primary);border-radius:3px;width:3px;height:20px;margin-left:auto}.sidebarFooter{border-top:1px solid var(--line);background:#fff;flex:none;padding:15px 5px 0}.securityNote{color:var(--success);background:#fafafa;border-radius:11px;align-items:center;gap:9px;padding:11px;display:flex}.programFormSuccess{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:8px;margin:0 0 16px;padding:12px 14px;font-size:12px;font-weight:800;display:flex}.securityNote div{flex-direction:column;gap:2px;display:flex}.securityNote strong{color:#3f3f46;font-size:10px}.securityNote span{color:var(--muted);font-size:9px}.logoutLink{color:#6b666d;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;margin-top:9px;padding:10px 12px;font-size:12px;display:flex}.portalMain{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:24px;height:70px;padding:0 clamp(20px,3vw,42px);display:flex;position:sticky;top:0}.globalSearch{width:min(420px,46%);color:var(--subtle);align-items:center;gap:10px;display:flex}.globalSearch input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.globalSearch{position:relative}.globalSearchPanel{z-index:46;border:1px solid var(--line);background:#fff;border-radius:14px;max-height:60vh;padding:8px;position:absolute;top:calc(100% + 12px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 50px #28142829}.globalSearchGroup{color:var(--muted);letter-spacing:.12em;padding:8px 9px 4px;font-size:7px;font-weight:800;display:block}.globalSearchHit{width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:8px 9px;display:flex}.globalSearchHit.active{color:var(--primary-dark);background:#fff5ff}.globalSearchHit>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.globalSearchHit strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.globalSearchHit small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:7px;overflow:hidden}.globalSearchEmpty{color:var(--muted);margin:0;padding:14px 9px;font-size:9px}.topbarActions{align-items:center;gap:18px;display:flex}.iconButton,.mobileMenu{border:1px solid var(--line);color:#5f5a62;background:#fff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid;position:relative}.iconButton i{background:var(--primary);border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:8px}.notificationCount{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:7px;font-weight:900;line-height:1;display:grid;position:absolute;top:-6px;right:-5px}.iconButton.hasUnread>svg{transform-origin:50% 0;animation:1.15s ease-in-out infinite notificationBellShake}@keyframes notificationBellShake{0%,50%,to{transform:rotate(0)}10%,30%{transform:rotate(13deg)}20%,40%{transform:rotate(-13deg)}}.mobileMenu{display:none}.currentUser{align-items:center;gap:10px;display:flex}.studentAccountWrap{position:relative}.studentAccountWrap>.currentUser{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:3px 4px}.studentAccountWrap>.currentUser:hover,.studentAccountWrap>.currentUser[aria-expanded=true]{background:#faf5fa}.studentAccountWrap>.currentUser>svg{transition:transform .18s}.studentAccountWrap>.currentUser>svg.rotated{transform:rotate(180deg)}.studentAccountMenu{z-index:45;border:1px solid var(--line);background:#fff;border-radius:14px;width:245px;padding:8px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 18px 50px #28142829}.studentAccountMenu:before{content:"";border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff;width:9px;height:9px;position:absolute;top:-6px;right:18px;transform:rotate(45deg)}.studentAccountMenu>div{border-bottom:1px solid var(--line);align-items:center;gap:9px;margin-bottom:6px;padding:8px;display:flex}.studentAccountMenu .avatar.small{border-radius:9px;flex:0 0 32px;width:32px;height:32px;font-size:9px}.studentAccountMenu p{flex-direction:column;gap:2px;min-width:0;margin:0;display:flex}.studentAccountMenu p strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.studentAccountMenu p small{color:var(--muted);font-size:7px}.studentAccountMenu>a,.studentAccountMenu>button{color:var(--ink);font:inherit;border-radius:9px;align-items:center;gap:9px;padding:9px;text-decoration:none;display:flex}.studentAccountMenu>a:hover{color:var(--primary-dark);background:#fff5ff}.studentAccountMenu>a>span,.studentAccountMenu>button>span{flex-direction:column;gap:2px;display:flex}.studentAccountMenu>a strong{font-size:8px}.studentAccountMenu>a small{color:var(--muted);font-size:7px}.studentAccountMenu>a.logout,.studentAccountMenu>button.logout{border:0;border-top:1px solid var(--line);color:#b91c1c;text-align:left;cursor:pointer;background:#fff;border-radius:0 0 9px 9px;width:100%;margin-top:4px}.currentUser>div:nth-child(2){flex-direction:column;gap:2px;display:flex}.currentUser strong{font-size:11px}.currentUser span{color:var(--muted);font-size:9px}.avatar{background:var(--primary-soft);width:37px;height:37px;color:var(--primary-dark);border-radius:12px;place-items:center;font-size:11px;font-weight:800;display:grid}.pageContainer{padding:36px clamp(22px,4vw,58px) 70px}.pageHeader{justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px;display:flex}.pageHeader h1{letter-spacing:-.045em;margin:4px 0 6px;font-size:clamp(27px,3vw,38px)}.pageHeader p{color:var(--muted);margin:0;font-size:13px}.eyebrow{letter-spacing:.12em;font-weight:800;color:var(--primary-strong)!important;font-size:10px!important}.primaryButton,.secondaryButton{white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:12px;font-weight:800;display:inline-flex}.primaryButton{color:#fff;background:var(--primary-strong);border:0;box-shadow:0 7px 18px #9810a824}.secondaryButton{border:1px solid var(--line);color:#4c484e;background:#fff}.motivation{background:linear-gradient(105deg,#fff 30%,#fdf6fd);border:1px solid #f1d6f1;border-radius:15px;align-items:center;gap:18px;margin-bottom:18px;padding:19px 22px;display:flex}.quoteIcon{color:var(--primary);font-family:Georgia,serif;font-size:42px;line-height:1}.motivation div:nth-child(2){flex:1}.motivation span,.panelTitle span{color:var(--primary-strong);letter-spacing:.13em;font-size:9px;font-weight:800}.motivation p{margin:4px 0 0;font-family:Georgia,serif;font-size:17px}.motivation button{color:var(--primary-dark);background:0 0;border:0;font-size:11px;font-weight:700}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px;display:grid}.metricCard,.panel,.tablePanel,.staffCard,.settingsPanel,.weekGrid{border:1px solid var(--line);background:#fff;border-radius:15px;box-shadow:0 7px 24px #1e0f1e09}.metricCard{flex-direction:column;padding:18px;display:flex;position:relative}.metricIcon{border-radius:10px;place-items:center;width:31px;height:31px;display:grid;position:absolute;top:16px;right:16px}.metricIcon.purple{color:#a21caf;background:#fae8ff}.metricIcon.green{color:#15803d;background:#dcfce7}.metricIcon.blue{color:#1d4ed8;background:#dbeafe}.metricIcon.amber{color:#b45309;background:#fef3c7}.metricCard>span{color:var(--muted);font-size:11px}.metricCard>strong{margin:8px 0;font-size:28px}.metricCard small{color:var(--success);font-size:10px;font-weight:700}.dashboardGrid{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:17px;display:grid}.panel{padding:20px}.panelTitle{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.panelTitle h2{margin:3px 0 0;font-size:17px}.panelTitle a{color:var(--primary-dark);font-size:10px;font-weight:800}.attendanceSortHint{color:var(--muted);font-size:10px;font-weight:700}.studentRow{border-top:1px solid var(--line);align-items:center;gap:11px;min-width:0;padding:13px 0;display:flex}.studentAvatar,.staffAvatar{background:var(--primary-soft);width:37px;height:37px;color:var(--primary-dark);border-radius:11px;flex:0 0 37px;place-items:center;font-size:10px;font-weight:800;display:grid}.studentInfo{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.studentInfo strong{font-size:12px}.studentInfo span,.lesson span{color:var(--muted);font-size:10px}.entryTime{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:flex}.progress{width:88px;color:var(--muted);flex-direction:column;gap:5px;font-size:9px;display:flex}.progress i,.homeworkCard i{background:#f2e8f2;border-radius:3px;height:4px;overflow:hidden}.progress b,.homeworkCard b{background:var(--primary);height:100%;display:block}.status,.tableStatus{color:var(--muted);background:#f4f4f5;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:800}.status.inside,.tableStatus.active{color:var(--success);background:#dcfce7}.lesson{border-top:1px solid var(--line);grid-template-columns:42px 1fr 32px;align-items:center;gap:11px;padding:16px 0;display:grid}.lesson time{color:var(--primary-dark);font-size:11px;font-weight:800}.lesson div{flex-direction:column;gap:3px;display:flex}.lesson strong{font-size:11px}.lesson>b{background:var(--primary-soft);width:31px;height:31px;color:var(--primary-dark);border-radius:50%;place-items:center;font-size:9px;display:grid}.quickActions{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;margin-top:17px;padding:15px 19px;display:flex}.quickActions>div{color:var(--primary-dark);flex:1;align-items:center;gap:10px;display:flex}.quickActions>div span{color:var(--muted);font-size:10px}.quickActions>div strong{color:var(--ink);margin-right:5px}.quickActions>a{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700}.tablePanel{padding:20px}.tableToolbar{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.tableSearch{border:1px solid var(--line);width:min(360px,65%);color:var(--subtle);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.tableSearch input{background:0 0;border:0;outline:0;width:100%;height:40px}.responsiveTable{overflow-x:auto}.rankingControls{justify-content:space-between;align-items:center;margin-bottom:12px;padding:14px 18px;display:flex}.rankingControls>button{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.rankingControls>button:disabled{opacity:.35;cursor:not-allowed}.rankingControls>div{text-align:center;gap:3px;display:grid}.rankingControls span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:900}.rankingControls strong{font-size:14px}.rankingMetricTabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.rankingMetricTabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:12px;font-weight:800;display:flex}.rankingMetricTabs button.active{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-soft)}.weeklyCohortTabs{margin-bottom:12px}.weeklyRankingPanel .panelTitle>small{color:var(--muted);font-weight:700}.weeklyRankNo{min-width:31px;height:31px;color:var(--primary-strong);background:var(--primary-soft);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.weeklyRankNo.rank-1{color:#92400e;background:#fef3c7}.weeklyRankNo.rank-2{color:#475569;background:#e2e8f0}.weeklyRankNo.rank-3{color:#9a3412;background:#ffedd5}.rankingDisclosure{border-top:1px solid var(--line);color:var(--muted);padding:12px 16px;font-size:8px;display:block}table{border-collapse:collapse;text-align:left;width:100%}th{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;background:#fafafa;padding:11px 12px;font-size:9px}td{color:#514c53;border-bottom:1px solid #f0eef1;padding:15px 12px;font-size:11px}td:first-child{color:var(--ink)}td:first-child span{color:var(--subtle);margin-top:3px;font-size:9px;display:block}.staffGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.staffListControls{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 10px;display:flex}.staffListControls strong{font-size:9px}.staffListControls>div{align-items:center;gap:7px;display:flex}.staffListControls label{color:var(--muted);align-items:center;gap:7px;font-size:8px;font-weight:800;display:flex}.staffListControls select{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:31px;padding:0 8px}.staffImportModal{width:min(760px,100vw - 30px)}.staffImportGuide{background:#faf5ff;border:1px solid #ddd6fe;border-radius:9px;flex-direction:column;gap:3px;margin-bottom:11px;padding:10px;display:flex}.staffImportGuide strong{color:var(--primary-dark);font-size:9px}.staffImportGuide span{color:var(--muted);font-size:8px}.staffImportDrop{min-height:110px;color:var(--primary-dark);cursor:pointer;background:#fffaff;border:1px dashed #c084fc;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.staffImportDrop strong{font-size:10px}.staffImportDrop span{color:var(--muted);font-size:7px}.staffImportDrop input{display:none}.staffImportPreview{border:1px solid var(--line);border-radius:9px;max-height:320px;margin-top:11px;overflow:auto}.staffImportPreview>div{background:#faf8fa;justify-content:space-between;padding:8px;display:flex;position:sticky;top:0}.staffImportPreview>div strong{font-size:10px}.staffImportPreview>div span{color:var(--muted);font-size:9px}.staffImportPreview table{border-collapse:collapse;width:100%;font-size:10px}.staffImportPreview th,.staffImportPreview td{border-top:1px solid var(--line);text-align:left;padding:7px 8px}.staffImportRowSkipped td{opacity:.4;text-decoration:line-through}.staffImportRowSkipped td:first-child{opacity:1;text-decoration:none}.staffImportRejected{border:1px solid var(--line);border-radius:9px;max-height:220px;margin-top:11px;overflow:auto}.staffImportRejected>div{background:#fff8ef;padding:8px;position:sticky;top:0}.staffImportRejected>div strong{font-size:10px;display:block}.staffImportRejected>div span{color:var(--muted);font-size:9px}.staffImportRejected table{border-collapse:collapse;width:100%;font-size:9px}.staffImportRejected th,.staffImportRejected td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:6px 8px}.staffImportRejected td:nth-child(2){color:var(--muted);word-break:break-word}.staffMeta span:last-child{color:var(--primary-dark);align-items:center;gap:3px;font-weight:800;display:flex}.staffCard{position:relative}.staffCard.selectedForDelete{background:#fff7f7;border-color:#ef4444;box-shadow:0 0 0 2px #fee2e2}.staffSelectBox{z-index:2;color:#991b1b;background:#fff;border:1px solid #fecaca;border-radius:7px;align-items:center;gap:4px;padding:4px 6px;font-size:7px;font-weight:900;display:flex;position:absolute;top:8px;left:8px}.staffSelectBox.disabled{color:var(--muted);border-color:var(--line)}.staffDeleteCard{background:snow;border-color:#fecaca;justify-content:space-between;align-items:center;gap:14px;display:flex}.staffDeleteCard h2{margin:0 0 3px;font-size:12px}.staffDeleteCard p{color:var(--muted);margin:0;font-size:8px}.staffCard{padding:19px}.staffCardTop{justify-content:space-between;align-items:center;display:flex}.staffAvatar{width:44px;height:44px}.staffCard button{color:var(--muted);background:0 0;border:0}.staffCard h3{margin:15px 0 4px;font-size:14px}.staffCard p{min-height:32px;color:var(--muted);font-size:10px;line-height:1.5}.staffMeta{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:12px;font-size:9px;display:flex}.attendanceSummary{grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:16px;display:grid}.attendanceSummary article{border:1px solid var(--line);color:var(--primary-strong);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:18px;display:flex}.attendanceSummary article div{flex-direction:column;display:flex}.attendanceSummary strong{color:var(--ink);font-size:20px}.attendanceSummary span{color:var(--muted);font-size:9px}.activityRow{border-top:1px solid var(--line);grid-template-columns:38px 1fr 55px 75px;align-items:center;gap:10px;padding:14px 0;display:grid}.activityRow>div:nth-child(2){flex-direction:column;gap:3px;display:flex}.activityRow strong{font-size:11px}.activityRow span,.activityRow time{color:var(--muted);font-size:9px}.weekGrid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:9px;padding:14px;display:grid;overflow-x:auto}.dayColumn{background:#fafafa;border-radius:11px;min-height:430px;padding:11px}.dayHeader{justify-content:space-between;padding:3px 2px 14px;display:flex}.dayHeader strong{font-size:11px}.dayHeader span{color:var(--muted);font-size:9px}.calendarEvent{border-left:3px solid var(--primary);background:#f9eefa;border-radius:8px;flex-direction:column;gap:4px;margin-bottom:8px;padding:12px;display:flex}.calendarEvent.light{background:#eff6ff;border-color:#60a5fa}.calendarEvent time{color:var(--primary-dark);font-size:9px;font-weight:800}.calendarEvent strong{font-size:10px}.calendarEvent span{color:var(--muted);font-size:9px}.kanban{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.kanbanColumn{border:1px solid var(--line);background:#f9f9fa;border-radius:14px;min-height:450px;padding:14px}.kanbanTitle{justify-content:space-between;padding:2px 2px 12px;display:flex}.kanbanTitle strong{font-size:12px}.kanbanTitle span{width:20px;height:20px;color:var(--muted);background:#fff;border-radius:50%;place-items:center;font-size:9px;display:grid}.homeworkCard{border:1px solid var(--line);background:#fff;border-radius:11px;margin-bottom:9px;padding:15px}.homeworkCard>span{color:var(--primary-strong);letter-spacing:.1em;font-size:8px;font-weight:800}.homeworkCard h3{margin:6px 0;font-size:11px}.homeworkCard p{color:var(--muted);font-size:9px}.homeworkCard>div{grid-template-columns:1fr 28px;align-items:center;gap:8px;display:grid}.homeworkCard small{color:var(--muted);font-size:8px}.settingsPanel{padding:4px 20px}.settingsAreaSelector{border:1px solid var(--line);background:#f6f5f7;border-radius:15px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:15px;padding:5px;display:grid}.settingsAreaSelector>button{color:#77717a;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:11px;min-height:66px;padding:12px 15px;display:flex}.settingsAreaSelector>button:hover{color:var(--primary-dark);background:#ffffffa6}.settingsAreaSelector>button.active{color:var(--primary-dark);background:#fff;border-color:#ead5ec;box-shadow:0 5px 17px #2614270f}.settingsAreaSelector span{flex-direction:column;gap:3px;display:flex}.settingsAreaSelector strong{color:inherit;font-size:11px}.settingsAreaSelector small{color:var(--muted);font-size:8px}.settingsPanel>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr auto;align-items:center;gap:20px;padding:20px 0;display:grid}.settingsPanel h3{margin:0;font-size:12px}.settingsPanel p{color:var(--muted);margin:0;font-size:10px}.systemDangerZone{background:#fff7f7;border:1px solid #fecaca;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-top:16px;padding:17px;display:grid}.systemDangerIcon{color:#b91c1c;background:#fee2e2;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.systemDangerZone>div:nth-child(2){flex-direction:column;gap:3px;display:flex}.systemDangerZone span,.systemResetModal>span{color:#b91c1c;letter-spacing:.11em;font-size:7px;font-weight:900}.systemDangerZone h2{margin:0;font-size:12px}.systemDangerZone p{color:#7f1d1d;max-width:720px;margin:0;font-size:8px;line-height:1.5}.systemResetModal{background:#fff;border-radius:17px;width:min(540px,100%);max-height:calc(100dvh - 40px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #280a0a42}.systemResetHead{justify-content:space-between;align-items:flex-start;margin-bottom:11px;display:flex}.systemResetWarning{color:#b91c1c;background:#fee2e2;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.systemResetHead>button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:#fff;border-radius:9px;place-items:center;display:grid}.systemResetModal h2{margin:5px 0 7px;font-size:19px}.systemResetModal>p{color:var(--muted);margin:0;font-size:9px;line-height:1.55}.systemResetScope{background:snow;border:1px solid #fecaca;border-radius:10px;margin:14px 0;padding:12px}.systemResetScope>strong{color:#7f1d1d;font-size:9px}.systemResetScope>div{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.systemResetScope small{color:#625b65;font-size:8px}.systemResetScope small:before{color:#dc2626;content:"•";margin-right:5px}.systemResetConfirmation{color:var(--ink);flex-direction:column;gap:6px;font-size:8px;display:flex}.systemResetConfirmation b{color:#b91c1c}.systemResetConfirmation input{color:#7f1d1d;letter-spacing:.08em;background:#fff;border:1px solid #fca5a5;border-radius:9px;height:40px;padding:0 11px;font-size:10px;font-weight:900}.systemResetNotice{color:#92400e;background:#fffbeb;border-radius:8px;align-items:center;gap:7px;margin-top:10px;padding:9px 10px;font-size:8px;display:flex}.systemResetModal .dangerButton:disabled{opacity:.4;cursor:not-allowed}.activeInstitutionBadge{min-width:180px;color:var(--primary-dark);background:#fffaff;border:1px solid #ead0ec;border-radius:9px;align-items:center;gap:8px;padding:7px 10px;text-decoration:none;display:flex}.activeInstitutionBadge span{flex-direction:column;gap:1px;min-width:0;display:flex}.activeInstitutionBadge strong{color:var(--ink);font-size:8px}.activeInstitutionBadge small{color:var(--muted);white-space:nowrap;font-size:6px}.institutionHub{background:linear-gradient(135deg,#fff 0%,#fff8ff 55%,#f8f4fa 100%);min-height:100dvh;padding:0 5vw 50px}.institutionHubHeader{border-bottom:1px solid #eee5ef;justify-content:space-between;align-items:center;min-height:78px;display:flex}.institutionHubBrand{align-items:center;gap:10px;display:flex}.institutionHubBrand>span{flex-direction:column;gap:2px;display:flex}.institutionHubBrand strong{font-size:12px}.institutionHubBrand small{color:var(--primary-strong);letter-spacing:.12em;font-size:7px;font-weight:900}.institutionHubHeader>a,.institutionHubLogout{color:var(--muted);align-items:center;gap:6px;font-size:8px;font-weight:800;text-decoration:none;display:flex}.institutionHubLogout{cursor:pointer;background:0 0;border:0}.institutionHubLogout:hover{color:var(--primary-strong)}.institutionWelcome{justify-content:space-between;align-items:flex-end;gap:24px;padding:42px 0 30px;display:flex}.institutionWelcome>div{max-width:720px}.institutionWelcome span,.institutionListHead span{color:var(--primary-strong);letter-spacing:.13em;font-size:8px;font-weight:900}.institutionWelcome h1{letter-spacing:-.03em;margin:7px 0 8px;font-size:clamp(26px,4vw,42px)}.institutionWelcome p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.institutionListHead{justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.institutionListHead h2{margin:4px 0 0;font-size:16px}.institutionListHead>b{color:var(--primary-dark);background:#fae8ff;border-radius:99px;padding:6px 9px;font-size:8px}.institutionCardGrid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:13px;display:grid}.institutionCard{background:#fff;border:1px solid #eadbea;border-radius:15px;grid-template-columns:auto 1fr;gap:12px;padding:18px;display:grid;box-shadow:0 12px 34px #2d142d0e}.institutionCardIcon{color:#fff;background:linear-gradient(135deg, var(--primary-strong), #c026d3);border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.institutionCardBody{min-width:0}.institutionStatus{color:#92400e;background:#fef3c7;border-radius:99px;width:fit-content;padding:4px 7px;font-size:6px;font-weight:900}.institutionStatus.active{color:#15803d;background:#dcfce7}.institutionCard h2{margin:8px 0 12px;font-size:16px}.institutionMeta{grid-template-columns:1fr 1fr;gap:10px;display:grid}.institutionMeta p{flex-direction:column;gap:3px;margin:0;display:flex}.institutionMeta small{color:var(--muted);font-size:6px;font-weight:800}.institutionMeta strong{align-items:center;gap:4px;font-size:8px;display:flex}.accountNoticeModal .accountNoticeIcon{width:44px;height:44px;color:var(--primary-dark);background:#fbeafd;border-radius:12px;justify-content:center;align-items:center;display:flex}.accountNoticeInline{background:#fff;border:1px solid #d8b4e2;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:14px;padding:14px;display:grid;box-shadow:0 10px 28px #2d142d0d}.accountNoticeInline span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:900}.accountNoticeInline h2{margin:3px 0 4px;font-size:15px}.accountNoticeInline p{color:var(--muted);margin:0;font-size:8px;line-height:1.6}.accountCredentials{gap:8px;margin-top:14px;display:grid}.accountCredentials>div{border:1px solid var(--line);background:#fafafa;border-radius:9px;gap:3px;padding:10px 12px;display:grid}.accountCredentials small{color:var(--muted);letter-spacing:.04em;font-size:8px;font-weight:800}.accountCredentials strong{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.institutionCardActions{grid-column:1/-1;align-items:stretch;gap:7px;display:flex}.institutionEnterButton{min-height:38px;color:var(--primary-dark);background:#fff7ff;border:1px solid #dfb5e2;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:8px;font-weight:900;display:flex}.institutionDeleteButton{color:#b03636;cursor:pointer;background:#fdf5f5;border:1px solid #f0cfcf;border-radius:9px;justify-content:center;align-items:center;width:40px;display:flex}.institutionDeleteButton:hover{background:#fbeaea;border-color:#d98a8a}.institutionAccessDenied{text-align:center;width:min(480px,90vw);margin:0 auto;padding-top:20vh}.institutionAccessDenied svg{color:var(--primary-strong)}.institutionAccessDenied h1{font-size:20px}.institutionAccessDenied a{color:var(--primary-dark);font-size:9px;font-weight:800}.errorGroupList{gap:9px;display:grid}.errorGroupCard{background:#fff;border:1px solid #e4d3ea;border-radius:13px;padding:13px 15px}.errorGroupCard.resolved{opacity:.62;background:#fbfbfc}.errorGroupHead{grid-template-columns:auto 1fr auto;align-items:start;gap:11px;display:grid}.errorGroupIcon{color:#b03670;background:#fdf2f8;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.errorGroupBody h2{color:#2b2130;word-break:break-word;font-size:13px;font-weight:800}.errorGroupMeta{color:#7a6f80;flex-wrap:wrap;gap:5px 10px;margin-top:5px;font-size:9px;font-weight:700;display:flex}.errorGroupSource{color:var(--primary-dark);background:#f3e9f6;border-radius:999px;padding:1px 7px}.errorGroupResolved{color:#2f7a45;background:#e8f6ec;border-radius:999px;padding:1px 7px}.errorGroupActions{align-items:center;gap:6px;display:flex}.errorGroupStack{color:#f2e9f6;white-space:pre;background:#1f1a24;border-radius:9px;margin-top:10px;padding:11px;font-size:10px;line-height:1.55;overflow-x:auto}.academicYearManager{background:linear-gradient(135deg,#fff 0%,#fff7ff 100%);border:1px solid #d8b4e2;border-radius:14px;margin-top:16px;padding:17px}.academicYearManagerHead{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.academicYearIcon{width:40px;height:40px;color:var(--primary-dark);background:#fae8ff;border-radius:11px;place-items:center;display:grid}.academicYearManagerHead span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:900}.academicYearManagerHead h2{margin:2px 0;font-size:15px}.academicYearManagerHead p{color:var(--muted);margin:0;font-size:7px}.academicYearRules{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.academicYearRules article{background:#fff;border:1px solid #eee2ef;border-radius:9px;flex-direction:column;gap:4px;padding:11px;display:flex}.academicYearRules strong{font-size:8px}.academicYearRules span{color:var(--muted);font-size:7px;line-height:1.5}.academicArchiveList{flex-direction:column;gap:7px;margin-top:13px;display:flex}.academicArchiveList>strong{font-size:9px}.academicArchiveList article{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.academicArchiveList span{flex-direction:column;gap:2px;display:flex}.academicArchiveList b{color:var(--ink);font-size:8px}.academicArchiveList small{color:var(--muted);font-size:7px}.academicArchiveList em{color:#15803d;font-size:7px;font-style:normal;font-weight:800}.academicArchiveModal{background:#fff;border-radius:17px;width:min(620px,100%);max-height:calc(100dvh - 40px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #1e0a203d}.academicYearTransition{color:var(--primary-strong);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:13px;display:grid}.academicYearTransition>div{background:#fffaff;border:1px solid #ead0ec;border-radius:9px;flex-direction:column;gap:3px;padding:11px;display:flex}.academicYearTransition small{color:var(--muted);font-size:6px;font-weight:900}.academicYearTransition strong{color:var(--ink);font-size:13px}.academicYearTransition span{color:var(--primary-dark);font-size:7px}.archiveDataSummary{grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:13px;display:grid}.archiveDataSummary article{background:#f7f5f7;border-radius:8px;flex-direction:column;gap:3px;padding:10px;display:flex}.archiveDataSummary b{font-size:14px}.archiveDataSummary span{color:var(--muted);font-size:6px}.archivePreserveOptions{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:8px;margin-bottom:13px;padding:12px;display:flex}.archivePreserveOptions>strong{font-size:9px}.archivePreserveOptions label{color:var(--ink);align-items:center;gap:7px;font-size:8px;display:flex}.archivePreserveOptions p{color:var(--muted);margin:2px 0 0;font-size:7px;line-height:1.5}.academicArchiveModal .primaryButton:disabled{opacity:.4;cursor:not-allowed}@media (max-width:1080px){.portalShell{grid-template-columns:78px minmax(0,1fr)}.portalSidebar{padding-inline:12px}.sidebarBrand{justify-content:center;padding-inline:0}.sidebarBrand .brandCopy,.navGroupLabel,.navItem span,.securityNote div,.logoutLink{display:none}.navItem{justify-content:center;padding:0}.navItem.active:after{position:absolute;right:1px}.securityNote{justify-content:center}.staffGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:780px){.loginPage{background:var(--primary-soft);grid-template-columns:1fr}.loginBrand{display:none}.loginFormSide{background:var(--primary-soft);align-content:start;width:100%;min-width:0;min-height:100dvh;padding:0 0 32px;overflow:hidden}.loginCard,.realLoginForm{width:100%;min-width:0;max-width:100%}.inputWrap,.manualPasswordHelp,.loginButton{max-width:100%}.mobileBrand{color:#fff;background:var(--primary-dark);border-radius:0 0 30px 30px;grid-template-columns:1fr;align-items:start;gap:0;margin:0 0 -34px;padding:46px 26px 58px;display:grid;position:relative;overflow:hidden}.mobileBrand:before{content:"";background:var(--primary);opacity:.55;border-radius:50%;width:260px;height:260px;position:absolute;top:-110px;right:-70px}.mobileBrand>*{z-index:1;position:relative}.mobileBrand .brandMark{width:54px;height:54px;box-shadow:none;background:url(/logo-mark-white.png) 50%/62% no-repeat,#ffffff29;border:1px solid #ffffff59;border-radius:17px;flex:0 0 54px;margin-bottom:16px}.mobileBrand strong{letter-spacing:-.5px;font-size:27px;font-weight:800}.mobileBrand span{color:#ffffffd1;margin-top:6px;font-size:13px;line-height:19px}.loginCard{flex-direction:column;width:100%;display:flex}.realOnlyLoginCard .realLoginForm{z-index:1;background:#fff;border:1px solid #f3e8ff;border-radius:22px;width:auto;margin:0 18px;padding:20px;position:relative;box-shadow:0 10px 22px #4a044e1f}.realLoginForm .overline{display:none}.realLoginForm h2{letter-spacing:-.02em;margin:0 0 4px;font-size:20px}.realLoginForm>p{margin:0 0 18px;font-size:12.5px;line-height:18px}.realLoginForm label:not(.rememberLogin){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.realLoginForm .inputWrap{background:#fdfaff;border-color:#e9d5ff;border-radius:14px;gap:10px;height:50px;margin-bottom:11px;padding:0 13px}.realLoginForm .rememberLogin{margin:3px 0 16px}.realLoginForm .primaryButton{border-radius:15px;height:52px;margin-top:0;font-size:16px}.loginCard .manualPasswordHelp{color:var(--muted);text-align:center;background:0 0;border:0;justify-content:center;margin:18px 18px 0;padding:0;font-size:11px;line-height:1.55}.loginCard .manualPasswordHelp svg{display:none}.primaryButton,.secondaryButton{white-space:normal;text-align:center;min-width:0;max-width:100%}.liveDataState{padding:28px}.liveDataState>*,.institutionAccessDenied{width:100%;max-width:360px}.liveDataState h1,.institutionAccessDenied h1{overflow-wrap:anywhere;line-height:1.18}.institutionAccessDenied{padding-top:20vh}.demoInstitutionProfiles{grid-template-columns:1fr}.portalShell{display:block}.portalSidebar{display:none}.topbar{padding:0 16px}.mobileMenu{display:grid}.globalSearch{flex:1;width:auto}.currentUser>div:nth-child(2),.currentUser>svg{display:none}.pageContainer{padding:25px 16px 60px}.metrics{grid-template-columns:repeat(2,1fr)}.dashboardGrid{grid-template-columns:1fr}.quickActions{flex-wrap:wrap;align-items:stretch}.quickActions>div{flex-basis:100%}.staffGrid{grid-template-columns:repeat(2,1fr)}.kanban,.attendanceSummary{grid-template-columns:1fr}}@media (max-width:520px){.pageHeader{flex-direction:column;align-items:flex-start}.pageHeader .primaryButton{width:100%}.motivation button,.progress,.entryTime{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.metricCard{padding:15px}.metricIcon{display:none}.quickActions>a{text-align:center;flex:1}.staffGrid{grid-template-columns:1fr}.activityRow{grid-template-columns:38px 1fr 44px}.activityRow .tableStatus{display:none}.settingsPanel>div{grid-template-columns:1fr;gap:8px}.settingsAreaSelector,.institutionSettingsEditor,.studentGoalForm,.institutionImmutableInfo{grid-template-columns:1fr}.institutionImmutableInfo em,.institutionAddressField,.studentGoalNote{grid-column:1}.studentGoalProfileCard{grid-template-columns:auto 1fr}.studentGoalProfileCard>.saveBadge,.studentGoalProfileCard>button{grid-column:1/-1;width:100%}}.studentShell{background:#f7f7f9;grid-template-columns:250px minmax(0,1fr);min-height:100dvh;display:grid}.studentSidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:25px 17px 18px;display:flex;position:sticky;top:0}.studentMiniProfile{background:var(--primary-soft);border-radius:12px;align-items:center;gap:10px;margin:18px 4px 4px;padding:13px;display:flex}.studentProfileAvatar{color:#fff;background:var(--primary-strong);border-radius:12px;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:11px;font-weight:800;display:grid}.studentMiniProfile>div:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.studentMiniProfile strong{font-size:11px}.studentMiniProfile span{color:var(--muted);font-size:9px}.studentNav{flex-direction:column;flex:1;gap:4px;padding-top:22px;display:flex}.studentNavItem{color:#5e5960;border-radius:10px;align-items:center;gap:12px;height:44px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.studentNavItem:hover{color:var(--primary-dark);background:#fdf8fd}.studentNavItem.active{color:var(--primary-dark);background:var(--primary-soft);font-weight:800}.studentNavItem.active:after{content:"";background:var(--primary);border-radius:50%;width:5px;height:5px;margin-left:auto}.studentGoal{border:1px solid var(--line);color:var(--primary-dark);border-radius:12px;grid-template-columns:22px 1fr;align-items:center;gap:3px 7px;padding:13px;display:grid}.studentGoal div{flex-direction:column;gap:2px;display:flex}.studentGoal span{color:var(--muted);font-size:8px}.studentGoal strong{color:var(--ink);font-size:10px}.studentGoal>i{background:#f3e8f3;border-radius:4px;grid-column:1/-1;height:4px;margin-top:7px;overflow:hidden}.studentGoal>i b{background:var(--primary);height:100%;display:block}.studentMain{min-width:0}.studentTopbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;justify-content:space-between;align-items:center;height:70px;padding:0 clamp(20px,3vw,42px);display:flex;position:sticky;top:0}.studentBreadcrumb{color:var(--muted);font-size:10px}.studentTopTitle{display:none}.studentPageContainer{padding:36px clamp(22px,4vw,58px) 70px}.studentWelcome{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.studentWelcome>div>span,.studentSectionHeader>span,.studentSectionHeader>div>span{color:var(--primary-strong);letter-spacing:.13em;font-size:9px;font-weight:800}.studentWelcome h1,.studentSectionHeader h1{letter-spacing:-.05em;margin:5px 0 6px;font-size:clamp(28px,3.3vw,41px)}.studentWelcome p,.studentSectionHeader p{color:var(--muted);margin:0;font-size:12px}.studentQrShortcut{min-width:210px;color:var(--primary-dark);background:#fff;border:1px solid #efd6ef;border-radius:13px;align-items:center;gap:11px;padding:13px 15px;display:flex;box-shadow:0 6px 20px #1e0f1e08}.studentQrShortcut>div{flex-direction:column;flex:1;gap:2px;display:flex}.studentQrShortcut strong{color:var(--ink);font-size:11px}.studentQrShortcut span{color:var(--muted);font-size:9px}.studentMotivation{color:#fff;background:linear-gradient(110deg,#5c185d,#9910a8 70%,#c026d3);border-radius:17px;align-items:center;gap:20px;min-height:105px;padding:22px 25px;display:flex;overflow:hidden}.motivationNumber{color:#fff3;width:50px;font-family:Georgia,serif;font-size:48px;font-weight:700}.studentMotivation span{color:#f2b9f5;letter-spacing:.14em;font-size:8px;font-weight:800}.studentMotivation p{margin:6px 0 0;font-family:Georgia,serif;font-size:17px;line-height:1.4}.studentStats{grid-template-columns:repeat(3,1fr);gap:13px;margin:16px 0;display:grid}.studentStats article{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:17px;display:flex}.studentStatIcon{border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.studentStatIcon.purple{color:#a21caf;background:#fae8ff}.studentStatIcon.green{color:#15803d;background:#dcfce7}.studentStatIcon.blue{color:#1d4ed8;background:#dbeafe}.studentStats article>div:last-child{flex-direction:column;gap:2px;display:flex}.studentStats span{color:var(--muted);font-size:9px}.studentStats strong{font-size:18px}.studentStats small{color:var(--success);font-size:8px}.studentDashboardGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.studentPanel,.coachCard,.qrMainCard,.qrSide article,.studentHomeworkCard,.studentExamList,.studyMatrix{border:1px solid var(--line);background:#fff;border-radius:15px;box-shadow:0 6px 22px #1e0f1e08}.studentPanel{padding:20px}.studentPanelTitle{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.studentPanelTitle>div{color:var(--primary-dark);align-items:center;gap:8px;display:flex}.studentPanelTitle h2{color:var(--ink);margin:0;font-size:15px}.studentPanelTitle a{color:var(--primary-dark);font-size:9px;font-weight:800}.studentTimelineRow{grid-template-columns:42px 14px 1fr;gap:8px;min-height:66px;display:grid}.studentTimelineRow time{color:var(--muted);padding-top:2px;font-size:9px;font-weight:700}.timelineDot{justify-content:center;display:flex;position:relative}.timelineDot i{z-index:1;border:2px solid var(--primary);background:#fff;border-radius:50%;width:8px;height:8px;position:relative}.timelineDot b{background:#eadcea;width:1px;position:absolute;top:8px;bottom:0}.studentTimelineRow>div:last-child{flex-direction:column;gap:3px;display:flex}.studentTimelineRow span{color:var(--primary-strong);text-transform:uppercase;font-size:8px;font-weight:800}.studentTimelineRow strong{font-size:11px}.studentTimelineRow small{color:var(--muted);font-size:9px}.studentHomeworkRow{border-top:1px solid var(--line);grid-template-columns:35px 1fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.courseInitial,.homeworkCourseMark{width:35px;height:35px;color:var(--primary-dark);background:var(--primary-soft);border-radius:10px;place-items:center;font-size:10px;font-weight:900;display:grid}.studentHomeworkRow>div:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.studentHomeworkRow span{color:var(--primary-strong);font-size:8px;font-weight:800}.studentHomeworkRow strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.studentHomeworkRow i,.homeworkProgress i{background:#f2e8f2;border-radius:4px;height:4px;margin-top:3px;overflow:hidden}.studentHomeworkRow i b,.homeworkProgress i b{background:var(--primary);height:100%;display:block}.studentHomeworkRow>small{color:#b45309;font-size:8px}.studentHomeworkRow>small.done{color:var(--success)}.coachCard{grid-template-columns:43px 1fr auto;align-items:center;gap:13px;margin-top:16px;padding:17px 20px;display:grid}.coachAvatar{color:#fff;background:#3f3f46;border-radius:13px;place-items:center;width:43px;height:43px;font-size:10px;font-weight:800;display:grid}.coachCard>div:nth-child(2){grid-template-columns:auto 1fr;align-items:center;gap:2px 7px;display:grid}.coachCard span{color:var(--primary-strong);font-size:8px;font-weight:800}.coachCard strong{font-size:11px}.coachCard p{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:9px}.coachCard button,.studentFilter{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:9px;padding:9px 12px;font-size:9px;font-weight:800}.studentSectionHeader{margin-bottom:24px}.studentSectionHeader.withAction{justify-content:space-between;align-items:center;display:flex}.studentFilter,.studentPrimaryButton{align-items:center;gap:7px;display:inline-flex}.studentPrimaryButton{color:#fff;background:var(--primary-strong);border:0;border-radius:10px;min-height:40px;padding:0 15px;font-size:10px;font-weight:800}.qrExperience{grid-template-columns:minmax(360px,.95fr) minmax(280px,.75fr);align-items:start;gap:16px;display:grid}.qrMainCard{padding:20px}.qrStudent{align-items:center;gap:10px;display:flex}.qrStudent>div:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.qrStudent strong{font-size:11px}.qrStudent span{color:var(--muted);font-size:9px}.qrStudent>b{color:var(--success);background:#dcfce7;border-radius:99px;align-items:center;gap:4px;padding:6px 8px;font-size:8px;display:flex}.qrVisual{aspect-ratio:1;outline:1px solid var(--line);background:#fff;border:8px solid #fff;border-radius:12px;justify-content:center;align-items:center;width:min(290px,75vw);margin:30px auto 23px;display:flex;overflow:hidden}.qrVisual img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.qrVisualPending{color:var(--muted);font-size:10px}.qrRefresh>div{color:var(--muted);justify-content:center;gap:7px;font-size:9px;display:flex}.qrRefresh>i{background:#f2e8f2;border-radius:4px;height:4px;margin-top:9px;display:block;overflow:hidden}.qrRefresh>i b{background:var(--primary);height:100%;transition:width 1s linear;display:block}.qrDisabledCard{text-align:center;justify-items:center;gap:14px;padding:34px 24px;display:grid}.qrDisabledIcon{width:62px;height:62px;color:var(--primary-strong);background:var(--primary-soft);border-radius:20px;place-items:center;display:grid}.qrDisabledCard>strong{max-width:380px;font-size:15px;line-height:1.55}.qrMainCard>p{color:var(--muted);justify-content:center;align-items:center;gap:5px;margin:16px 0 0;font-size:8px;display:flex}.qrSide{flex-direction:column;gap:12px;display:flex}.qrSide article{color:var(--primary-dark);gap:12px;padding:20px;display:flex}.qrSide strong{color:var(--ink);font-size:11px}.qrSide ol{color:var(--muted);margin:10px 0 0;padding-left:17px;font-size:9px;line-height:2.1}.qrSide .lastMovement{color:var(--success)}.lastMovement div{flex-direction:column;gap:5px;display:flex}.lastMovement span{color:var(--success);font-size:8px;font-weight:800}.lastMovement small{color:var(--muted);font-size:8px}.studentWeek{grid-template-columns:repeat(5,minmax(175px,1fr));gap:9px;display:grid;overflow-x:auto}.studentDay{border:1px solid var(--line);background:#fafafa;border-radius:13px;min-height:440px;padding:12px}.studentDay.active{background:#fffaff;border-color:#e8c2e9}.studentDayHeader{justify-content:space-between;min-height:40px;display:flex}.studentDayHeader div{flex-direction:column;gap:2px;display:flex}.studentDayHeader strong{font-size:10px}.studentDayHeader span{color:var(--muted);font-size:8px}.studentDayHeader>b{height:fit-content;color:var(--primary-dark);background:#fae8ff;border-radius:5px;padding:4px 6px;font-size:7px}.studentEvent{background:#fff;border:1px solid #eee7ef;border-radius:10px;margin-bottom:8px;padding:12px}.studentEvent time,.studentEvent p,.studentEvent span{color:var(--muted);align-items:center;gap:4px;margin:0;font-size:8px;display:flex}.studentEvent h3{margin:8px 0 6px;font-size:10px}.studentEvent span{color:var(--primary-dark);margin-top:4px}.studentProgramLegend{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:12px;align-items:center;gap:10px;margin-top:13px;padding:14px 16px;display:flex}.studentProgramLegend span{color:var(--muted);font-size:9px}.studentHomeworkSummary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px;display:grid}.studentHomeworkSummary div{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;padding:16px;display:flex}.studentHomeworkSummary strong{font-size:22px}.studentHomeworkSummary span{color:var(--muted);font-size:9px}.studentHomeworkCards{flex-direction:column;gap:10px;display:flex}.studentHomeworkCard{grid-template-columns:40px 1fr auto;align-items:center;gap:13px;padding:17px;display:grid}.studentHomeworkCard.completed{opacity:.73}.homeworkCourseMark{width:40px;height:40px}.homeworkCardBody>span{color:var(--primary-strong);font-size:8px;font-weight:800}.homeworkCardBody h2{margin:4px 0;font-size:12px}.homeworkCardBody p{color:var(--muted);margin:0 0 8px;font-size:9px}.homeworkProgress{grid-template-columns:1fr 33px;align-items:center;gap:8px;display:grid}.homeworkProgress strong{color:var(--muted);font-size:8px}.homeworkCardAction{flex-direction:column;align-items:flex-end;gap:10px;min-width:100px;display:flex}.homeworkCardAction>span{color:#b45309;align-items:center;gap:4px;font-size:8px;display:flex}.homeworkCardAction button,.homeworkCardAction>b{color:#fff;background:var(--primary-strong);border:0;border-radius:8px;align-items:center;gap:4px;padding:7px 9px;font-size:8px;display:flex}.homeworkCardAction>b{color:var(--success);background:#dcfce7}.homeworkCardAction>b.waiting{color:#6d28d9;background:#ede9fe}.homeworkWaiting{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.homeworkWaiting>b.waiting{color:#6d28d9;background:#ede9fe;border-radius:8px;align-items:center;gap:4px;padding:7px 9px;font-size:8px;display:flex}.revokeButton{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:4px;padding:4px 7px;font-size:8px;display:flex}.revokeButton:hover{color:var(--ink);border-color:var(--muted)}.examHero{color:#fff;background:linear-gradient(110deg,#581759,#9a10a8);border-radius:16px;grid-template-columns:.7fr 1.3fr;align-items:center;gap:40px;padding:24px;display:grid}.examHero>div:first-child>span{color:#f1b8f4;letter-spacing:.12em;font-size:8px;font-weight:800}.examHero>div:first-child>strong{margin-top:5px;font-size:40px;display:block}.examHero>div:first-child small{font-size:12px}.examHero>div:first-child p{color:#f2dff3;gap:4px;font-size:8px;display:flex}.examSubjectBars{flex-direction:column;gap:10px;display:flex}.examSubjectBars>div{grid-template-columns:65px 1fr 55px;align-items:center;gap:8px;font-size:8px;display:grid}.examSubjectBars i{background:#fff3;border-radius:5px;height:5px;overflow:hidden}.examSubjectBars i b{background:#fff;height:100%;display:block}.examSubjectBars strong{text-align:right}.examHighlights,.studyStats{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.examHighlights article,.studyStats article{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:16px;display:flex}.examHighlights div,.studyStats div{flex-direction:column;display:flex}.examHighlights span,.studyStats span{color:var(--muted);font-size:8px}.examHighlights strong,.studyStats strong{color:var(--ink);font-size:16px}.studentExamList{padding:19px}.studentExamList>article{border-top:1px solid var(--line);grid-template-columns:minmax(150px,1.5fr) .55fr .55fr minmax(80px,.7fr) auto;align-items:center;gap:15px;padding:14px 0;display:grid}.studentExamList article>div{flex-direction:column;gap:3px;display:flex}.studentExamList article strong{font-size:10px}.studentExamList article span,.studentExamList article small{color:var(--muted);font-size:8px}.studentExamList article b{font-size:11px}.examEditButton{min-height:32px;color:var(--primary-dark);background:#fff7ff;border:1px solid #dfb5e2;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:8px;font-weight:800;display:inline-flex}.staffEnteredBadge{text-align:center;background:#f1f5f9;border-radius:99px;padding:7px 9px;font-weight:800;color:#475569!important}.examSectionSummary{margin-top:3px;line-height:1.45}.examResultModal{width:min(760px,100%)}.examContextNotice{color:var(--primary-dark);background:#fff7ff;border:1px solid #e9c7eb;border-radius:8px;margin-bottom:13px;padding:9px 11px;font-size:8px}.examResultTabs{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:5px;margin:14px 0;padding:5px;display:grid}.examResultTabs button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:8px;font-weight:800;display:flex}.examResultTabs button.active{color:#fff;background:var(--primary-strong);box-shadow:0 5px 14px #9810a82e}.examResultTabs button b{background:#6455641a;border-radius:99px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:7px;display:grid}.examResultTabs button.active b{background:#fff3}.branchLevelTabs{border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;width:fit-content;margin:-5px 0 14px;padding:4px;display:flex}.branchLevelTabs button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:8px;font-weight:800}.branchLevelTabs button.active{color:#fff;background:#334155}.branchLevelTabs.compact{margin:0 0 10px}.examBarChart,.examConnectedChart{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:14px;padding:17px}.separatedExamCharts .examConnectedChart{margin-bottom:0;padding:12px}.examBarChartHead{justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.examBarChartHead span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:800}.examBarChartHead h3{margin:3px 0 0;font-size:12px}.examBarChartHead small{color:var(--muted);font-size:7px}.examBars{border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,#0000 0 44px,#f1eef1 45px);justify-content:space-around;align-items:flex-end;gap:9px;height:190px;padding:14px 8px 0;display:flex}.examBarItem{flex:1;grid-template-rows:18px 1fr 17px 15px;place-items:end center;min-width:0;height:100%;display:grid}.examBarValue{color:var(--primary-dark);font-size:7px;font-weight:800}.examBarTrack{align-items:flex-end;width:min(38px,75%);height:100%;display:flex}.examBarTrack i{background:linear-gradient(#c026d3,#7e22ce);border-radius:6px 6px 2px 2px;width:100%;min-height:5px;box-shadow:0 5px 12px #7e22ce24}.examBarItem>strong{font-size:6px}.examBarItem>span{width:100%;color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:6px;overflow:hidden}.examConnectedCanvas{width:100%;overflow-x:auto}.examConnectedCanvas svg{aspect-ratio:700/230;width:100%;min-width:300px;height:auto;display:block}.examGridLine{stroke:#eee9ee;stroke-width:1px;stroke-dasharray:4 5}.examZeroLine{stroke:#cbc4cd;stroke-width:1px}.examAxisValue{fill:#a09aa2;text-anchor:end;font-size:8px;font-weight:700}.examTrendArea{fill:#9810a812;stroke:none}.examTrendLine{fill:none;stroke:#9810a8;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.examPointHalo{fill:#fae8ff}.examPoint{fill:#9810a8;stroke:#fff;stroke-width:2px}.examPointValue{fill:#581759;font-size:9px;font-weight:800}.examPointDate{fill:#77707a;font-size:8px}.emptyExamChart{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:9px;margin:0;padding:30px;font-size:8px}.examRowActions{flex-direction:row!important;gap:5px!important}.examDeleteButton{color:#b91c1c;background:#fff;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;gap:4px;min-height:32px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.emptyExamTab{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:30px 10px;font-size:9px}.examSubjectEntry{border:1px solid var(--line);border-radius:11px;margin-top:15px;overflow:hidden}.examSubjectEntryHead,.examSubjectEntryRow{grid-template-columns:minmax(130px,1fr) 90px 90px 75px;align-items:center;gap:9px;min-height:42px;padding:6px 10px;display:grid}.examSubjectEntryHead{min-height:32px;color:var(--muted);text-transform:uppercase;background:#faf7fa;font-size:7px;font-weight:800}.examSubjectEntryRow{border-top:1px solid var(--line)}.examSubjectEntryRow strong{flex-direction:column;gap:2px;font-size:9px;display:flex}.examSubjectEntryRow strong small{color:var(--muted);font-size:6px;font-weight:500}.examSubjectEntryRow input{border:1px solid var(--line);border-radius:7px;outline:0;width:100%;height:32px;padding:0 8px;font-size:9px}.examSubjectEntryRow input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.examSubjectEntryRow b{color:var(--primary-dark);text-align:right;font-size:10px}.mistakePicker{grid-column:1/-1}.mistakePickerToggle{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:5px 0 2px;font-size:8px;font-weight:700;display:flex}.mistakePickerToggle:hover,.mistakePickerToggle.open{color:var(--primary-dark)}.mistakePickerToggle em{color:var(--muted);text-transform:uppercase;background:#f3f0f4;border-radius:99px;padding:1px 5px;font-size:6px;font-style:normal;font-weight:700}.mistakePickerToggle b{color:var(--primary-dark);background:#fae8ff;border-radius:99px;margin-left:auto;padding:1px 6px;font-size:7px}.mistakePickerBody{border:1px solid var(--line);background:#fafafa;border-radius:9px;margin:4px 0 6px;padding:8px}.mistakePickerHint{color:var(--muted);margin:0 0 7px;font-size:7px;line-height:1.5}.mistakeTopicGroup+.mistakeTopicGroup{margin-top:8px}.mistakeTopicGroup>strong{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:7px;font-weight:800;display:block}.mistakeTopicList{flex-wrap:wrap;gap:4px;display:flex}.mistakeTopic{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:99px;align-items:center;gap:4px;padding:4px 8px;font-size:8px;font-weight:600;display:inline-flex}.mistakeTopic.checked{cursor:default;padding:3px 4px 3px 8px}.mistakeTopic.checked button{color:#b91c1c;cursor:pointer;background:#fee2e2;border:0;border-radius:50%;place-items:center;width:16px;height:16px;display:grid}.mistakeTopic.checked button:hover{color:#fff;background:#dc2626}.mistakeTopic.checked>b{color:#fff;text-align:center;background:#dc2626;border-radius:99px;min-width:15px;padding:1px 4px;font-size:8px}.mistakeCountWarn{color:#b45309;font-weight:700}.mistakePickerHint{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.mistakeTableCard{margin-top:12px}.coachMistakePanel{display:block}.coachMistakeExamList article{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:9px 12px;display:flex}.coachMistakeExamList article>div{flex:1}.coachMistakeExamList article strong{font-size:10px;display:block}.coachMistakeExamList article small{color:var(--muted);font-size:8px}.coachMistakeExamList article>b{color:#b91c1c;background:#fef2f2;border-radius:99px;padding:3px 8px;font-size:8px}.markingSection{border-top:1px solid var(--line);padding:9px 0}.markingSection>strong{font-size:10px}.mistakeRepeatNotice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:11px;align-items:flex-start;gap:9px;margin-bottom:10px;padding:10px 12px;display:flex}.mistakeRepeatNotice strong{font-size:9px;display:block}.mistakeRepeatNotice span{color:#a16207;font-size:8px}.branchLevelTabs button b{color:var(--muted);background:#f3f0f4;border-radius:99px;margin-left:5px;padding:1px 5px;font-size:7px}.branchLevelTabs button.active b{color:var(--primary-dark);background:#fff}.mistakeMetricTabs{flex-wrap:wrap;gap:5px;margin-bottom:9px;display:flex}.mistakeMetricTabs button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#fff;border-radius:8px;padding:4px 10px;font-size:8px;font-weight:700}.mistakeMetricTabs button.active{border-color:var(--primary);color:var(--primary-dark);background:#fae8ff}.mistakeTopicName{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.mistakeStepper{border-radius:99px;align-items:center;gap:2px;padding:1px;display:inline-flex}.mistakeStepper button{cursor:pointer;width:14px;height:14px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.mistakeStepper b{text-align:center;min-width:26px;font-size:7px;font-weight:800}.wrongStepper{color:#b91c1c;background:#fee2e2}.blankStepper{color:#3730a3;background:#e0e7ff}.mistakeSubjectFilter{flex-wrap:wrap;gap:5px;margin-bottom:9px;display:flex}.mistakeSubjectFilter button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#fff;border-radius:99px;padding:4px 10px;font-size:8px;font-weight:700}.mistakeSubjectFilter button.active{border-color:var(--primary);color:var(--primary-dark);background:#fae8ff}.mistakeMatrixScroller{border:1px solid var(--line);border-radius:11px;overflow-x:auto}.mistakeMatrix{border-collapse:collapse;font-size:8px}.mistakeMatrix th,.mistakeMatrix td{border-bottom:1px solid var(--line);text-align:center;border-left:1px solid #f1eff2;width:26px;min-width:26px;padding:3px 2px}.mistakeMatrix thead th{height:118px;color:var(--muted);vertical-align:bottom;background:#faf7fa;padding:5px 2px;font-size:7px;font-weight:800}.mistakeMatrix thead th span{writing-mode:vertical-rl;text-overflow:ellipsis;white-space:nowrap;max-height:92px;margin:0 auto;display:block;overflow:hidden;transform:rotate(180deg)}.mistakeMatrix thead th small{margin-top:3px;font-size:6px;font-weight:600;display:block}.mistakeMatrix .topicColumn{z-index:1;text-align:left;background:#fff;border-left:0;width:auto;min-width:140px;max-width:190px;padding:4px 8px;position:sticky;left:0}.mistakeMatrix thead .topicColumn{vertical-align:bottom;background:#faf7fa;height:auto}.mistakeMatrix tbody .topicColumn strong{color:var(--ink);font-size:9px;line-height:1.25;display:block}.mistakeMatrix tbody .topicColumn small{color:var(--muted);font-size:7px;font-weight:500}.mistakeMatrix tbody tr.repeated .topicColumn,.mistakeMatrix tbody tr.repeated td{background:#fffbf5}.mistakeMatrix td.hasMistake{color:#b91c1c;background:#fef2f2;font-weight:800}.mistakeMatrix tbody tr.repeated td.hasMistake{background:#fee2e2}.mistakeMatrix .totalColumn{border-left:1px solid var(--line);width:34px;min-width:34px;color:var(--primary-dark);background:#faf7fa;font-weight:800}.mistakeMatrix thead .totalColumn{writing-mode:horizontal-tb}.mistakeMatrix tfoot td,.mistakeMatrix tfoot th{border-top:1px solid var(--line);color:var(--muted);background:#faf7fa;border-bottom:0;font-size:7px;font-weight:800}.mistakeTopic:hover{border-color:var(--primary)}.mistakeTopic i{color:#fff;border:1.5px solid #d4d0d5;border-radius:4px;place-items:center;width:12px;height:12px;display:grid}.mistakeTopic.checked{color:#b91c1c;background:#fef2f2;border-color:#f87171}.mistakeTopic.checked i{background:#dc2626;border-color:#dc2626}.examMistakeTags{flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;display:flex}.examMistakeTags span{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:700}.examMistakeTags b{color:#b91c1c;background:#fef2f2;border-radius:99px;padding:2px 7px;font-size:7px;font-weight:700}.examSubjectEntryRow.invalid{background:#fff7f7;padding-bottom:27px;position:relative}.examSubjectEntryRow.invalid input{border-color:#fca5a5}.examSubjectEntryRow>em{color:#b91c1c;font-size:7px;font-style:normal;position:absolute;bottom:7px;left:10px}.examValidationError{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:7px;margin-top:10px;padding:10px;font-size:8px;display:flex}.examOptionalFields{grid-template-columns:repeat(2,1fr);margin-top:13px}.calculatedNet{align-items:center;gap:6px;display:flex}.calculatedNet small{color:var(--muted);margin-left:auto}.adminModalActions .primaryButton:disabled{cursor:not-allowed;opacity:.45}.deleteExamDialog{text-align:center;background:#fff;border-radius:16px;width:min(410px,100%);padding:24px;box-shadow:0 24px 70px #140a153d}.deleteExamDialog>svg{color:#b91c1c}.deleteExamDialog h2{margin:10px 0 6px;font-size:15px}.deleteExamDialog p{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.deleteExamDialog>div{justify-content:center;gap:8px;margin-top:18px;display:flex}.examChange{align-items:center;gap:2px;font-weight:800;display:flex;color:#b91c1c!important}.examChange.up{color:var(--success)!important}.studyStats{grid-template-columns:repeat(4,1fr)}.studyMatrix{padding:19px}.studyMatrixHeader{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.studyMatrixHeader h2{margin:0;font-size:14px}.studyMatrixHeader span{color:var(--muted);font-size:9px}.studyLogForm{background:#fff;border:1px solid #ead7eb;border-radius:14px;grid-template-columns:repeat(6,minmax(95px,1fr)) auto;align-items:end;gap:10px;margin-bottom:14px;padding:17px;display:grid}.studyLogForm>div{flex-direction:column;gap:6px;display:flex}.studyLogForm label{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:800}.studyLogForm input,.studyLogForm select{border:1px solid var(--line);width:100%;height:37px;color:var(--ink);background:#fff;border-radius:8px;outline:0;padding:0 9px;font-size:9px}.studyLogForm input:focus,.studyLogForm select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.studyLogForm>button{color:#fff;background:var(--primary-strong);border:0;border-radius:8px;align-items:center;gap:5px;height:37px;padding:0 13px;font-size:9px;font-weight:800;display:flex}.studyHeatmapCard,.assignmentMatrixCard{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:14px;padding:20px;box-shadow:0 6px 22px #1e0f1e08}.studyCardHeader{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px;display:flex}.studyCardHeader>div:first-child>span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:800}.studyCardHeader h2{margin:4px 0 0;font-size:15px}.heatLegend,.assignmentLegend{color:var(--muted);align-items:center;gap:5px;font-size:8px;display:flex}.heatLegend i,.heatmapGrid i,.heatmapGrid button{background:#e5e7eb;border-radius:2px;width:11px;height:11px}.heatLegend .level-0,.heatmapGrid .level-0{background:#991b1b}.heatLegend .level-1,.heatmapGrid .level-1{background:#c2410c}.heatLegend .level-2,.heatmapGrid .level-2{background:#ca8a04}.heatLegend .level-3,.heatmapGrid .level-3{background:#65a30d}.heatLegend .level-4,.heatmapGrid .level-4{background:#16a34a}.heatmapScroller{padding-bottom:4px;overflow-x:auto}.heatmapMonths{min-width:745px;color:var(--muted);grid-template-columns:repeat(11,1fr);margin:0 0 7px 34px;font-size:7px;display:grid}.heatmapBody{gap:8px;min-width:780px;display:flex}.heatmapDays{width:26px;color:var(--muted);flex-direction:column;justify-content:space-around;padding-top:1px;font-size:7px;display:flex}.heatmapGrid{gap:3px;display:flex}.heatmapWeek{flex-direction:column;gap:3px;display:flex}.heatmapGrid i,.heatmapGrid button{cursor:pointer;border:0;padding:0;display:block}.heatmapGrid i:hover,.heatmapGrid button:hover,.heatmapGrid button.selected{outline:2px solid var(--primary);outline-offset:1px}.heatmapGrid i.future,.heatmapGrid button.future{background:0 0}.heatmapSelection{color:var(--muted);background:#fffaff;border:1px solid #eadbea;border-radius:9px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:10px;display:flex}.heatmapSelection strong{color:var(--ink)}.heatmapInfo,.matrixHint{color:var(--muted);align-items:center;gap:5px;margin:13px 0 0;font-size:8px;display:flex}.assignmentLegend{flex-wrap:wrap;justify-content:flex-end;gap:12px}.assignmentLegend span{align-items:center;gap:5px;display:flex}.assignmentLegend i{border-radius:3px;width:10px;height:10px}.assignmentLegend i.assigned,.matrixCell.assigned{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.assignmentLegend i.submitted,.matrixCell.submitted{color:#6d28d9;background:#ede9fe;border-color:#c4b5fd}.assignmentLegend i.approved,.matrixCell.approved{color:#15803d;background:#dcfce7;border-color:#86efac}.matrixScroller{overflow-x:auto}.assignmentMatrix{table-layout:fixed;min-width:700px}.assignmentMatrix th:first-child,.assignmentMatrix td:first-child{text-align:left;width:230px}.assignmentMatrix th:last-child,.assignmentMatrix td:last-child{text-align:center;width:75px}.assignmentMatrix th:not(:first-child),.assignmentMatrix td:not(:first-child){text-align:center}.assignmentMatrix td{height:48px;padding-block:7px}.assignmentMatrix td:first-child strong{font-size:10px;display:inline}.assignmentMatrix td:first-child span{color:var(--muted);background:#f4f4f5;border-radius:5px;margin-left:7px;padding:3px 5px;font-size:7px;display:inline}.assignmentMatrix td:last-child b{font-size:9px}.matrixCell{background:#fff;border:1px solid #e5e2e6;border-radius:7px;place-items:center;width:29px;height:29px;padding:0;display:inline-grid}.matrixCell.empty{cursor:default}.matrixCell.assigned{cursor:pointer}.matrixCell.assigned:hover{outline-offset:2px;outline:2px solid #60a5fa}.matrixCell.submitted{cursor:pointer}.matrixCell.submitted:hover{outline-offset:2px;outline:2px solid #a78bfa}.matrixCell.revision{color:#b45309;background:#fef3c7;border-color:#fcd34d}.matrixCell.revision:hover{outline-offset:2px;outline:2px solid #fbbf24}.matrixCell:disabled{opacity:1;cursor:default}.assignmentMatrix.coach .matrixCell{cursor:pointer;color:var(--muted)}.assignmentMatrix.coach .matrixCell.empty:hover{outline-offset:2px;outline:2px solid #93c5fd}.assignmentMatrix.coach .matrixCell.approved:hover{outline-offset:2px;outline:2px solid #86efac}.coachStudentGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.coachGroupSection{margin-bottom:20px}.coachGroupHead{color:var(--primary-strong);align-items:center;gap:10px;margin-bottom:12px;display:flex}.coachGroupHead h2{color:var(--ink);margin:0;font-size:15px}.coachGroupHead span{color:var(--muted);font-size:10px}.teacherAssignedGroupGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;display:grid}.teacherAssignedGroupCard{color:var(--primary-dark);background:#fffaff;border:1px solid #ead0ec;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;text-decoration:none;display:grid}.teacherAssignedGroupCard span{flex-direction:column;gap:3px;min-width:0;display:flex}.teacherAssignedGroupCard strong{color:var(--ink);font-size:11px}.teacherAssignedGroupCard small{color:var(--muted);font-size:8px;line-height:1.45}.weeklyBoard{flex-direction:column;gap:12px;display:flex}.weekNav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.weekNav>button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;place-items:center;padding:0;display:grid}.weekNav>button:hover{border-color:var(--muted)}.weekNavLabel{flex-direction:column;min-width:120px;display:flex}.weekNavLabel strong{font-size:14px}.weekNavLabel span{color:var(--primary-strong);font-size:9px;font-weight:800}.boardLegend{color:var(--muted);align-items:center;gap:10px;margin-left:auto;font-size:8px;display:flex}.boardLegend i{vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:3px;display:inline-block}.boardLegend i.assigned{background:#93c5fd}.boardLegend i.submitted{background:#c4b5fd}.boardLegend i.revision{background:#fcd34d}.boardLegend i.approved{background:#86efac}.boardRows{flex-direction:column;gap:8px;display:flex}.boardRow{border-top:1px solid var(--line);grid-template-columns:92px 1fr;align-items:start;gap:12px;padding:10px 0;display:grid}.boardRow:first-child{border-top:0}.boardSubject{padding-top:5px;font-size:12px;font-weight:700}.boardItems{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.boardEmpty{color:var(--muted);padding-top:4px;font-size:11px}.boardChip{border:1px solid;border-radius:10px;flex-direction:column;gap:3px;max-width:100%;padding:5px 8px;display:flex}.boardChip.assigned{background:#eff6ff;border-color:#bfdbfe}.boardChip.submitted{background:#f5f3ff;border-color:#ddd6fe}.boardChip.revision{background:#fffbeb;border-color:#fde68a}.boardChip.approved{background:#f0fdf4;border-color:#bbf7d0}.boardChipMain{align-items:center;gap:7px;display:flex}.boardChipDot{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.boardChip.assigned .boardChipDot{background:#2563eb}.boardChip.submitted .boardChipDot{background:#7c3aed}.boardChip.revision .boardChipDot{background:#d97706}.boardChip.approved .boardChipDot{background:#16a34a}.boardChipLabel{color:var(--ink);font-size:11px}.boardChipNote{color:var(--muted);align-items:center;gap:4px;padding-left:15px;font-size:9px;display:flex}.boardAct{background:var(--primary-strong);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:7px;align-items:center;gap:3px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-flex}.boardAct:hover{background:var(--primary-dark)}.boardAct.ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.boardAct.ghost:hover{color:var(--ink)}.boardAct.warn{background:#b45309}.boardActGroup{gap:5px;display:inline-flex}.boardDone{color:var(--success);align-items:center;gap:3px;font-size:9px;font-weight:800;display:inline-flex}.boardWaitIcon{color:#b45309}.boardAdd{border:1px dashed var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:5px;min-width:150px;padding:4px 9px;display:inline-flex}.boardAdd input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;font-family:inherit;font-size:11px}.boardTabs{border:1px solid var(--line);background:#fbfafc;border-radius:10px;gap:4px;padding:3px;display:inline-flex}.boardTabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700}.boardTabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #1e0f1e0f}.coachStudentCard{border:1px solid var(--line);color:inherit;background:#fff;border-radius:15px;flex-direction:column;gap:13px;padding:17px;text-decoration:none;display:flex;box-shadow:0 6px 22px #1e0f1e08}.coachStudentCard:hover{border-color:var(--accent);box-shadow:0 10px 26px #c026d314}.coachStudentTop{align-items:center;gap:11px;display:flex}.coachStudentName{flex-direction:column;flex:1;gap:2px;display:flex}.coachStudentName strong{font-size:12px}.coachStudentName span{color:var(--muted);font-size:9px}.coachStudentName small{color:var(--primary-dark);font-size:7px;font-weight:800}.coachPendingBadge{color:#6d28d9;background:#ede9fe;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:8px;font-weight:800;display:flex}.coachOkBadge{color:var(--success);background:#dcfce7;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:8px;font-weight:800;display:flex}.coachStudentProgress{flex-direction:column;gap:5px;display:flex}.coachStudentProgress small{color:var(--muted);font-size:8px}.coachStudentOpen{color:var(--primary-dark);align-items:center;gap:5px;font-size:9px;font-weight:800;display:flex}.coachBackLink{color:var(--muted);align-items:center;gap:5px;margin-bottom:13px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.coachBackLink:hover{color:var(--ink)}.coachDetailHead{align-items:center;gap:14px;display:flex}.studentProfileAvatar.lg{flex:0 0 52px;width:52px;height:52px;font-size:15px}.coachPendingCard{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:14px;padding:20px;box-shadow:0 6px 22px #1e0f1e08}.coachPendingList{flex-direction:column;gap:8px;margin-top:12px;display:flex}.coachPendingList article{border:1px solid var(--line);background:#ede9fe33;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.coachPendingList strong{font-size:11px;display:block}.coachPendingList span{color:var(--muted);font-size:9px}.coachApproveBtn{color:#fff;background:var(--success);cursor:pointer;white-space:nowrap;border:0;border-radius:9px;align-items:center;gap:5px;padding:8px 12px;font-size:9px;font-weight:800;display:flex}.coachApproveBtn:hover{background:#15803d}.mentorReadOnlyNotice{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:9px;margin-bottom:14px;padding:13px 15px;display:flex}.mentorReadOnlyNotice div{flex-direction:column;gap:3px;display:flex}.mentorReadOnlyNotice strong{font-size:9px}.mentorReadOnlyNotice span{font-size:8px;line-height:1.5}.mentorReadOnlyBadge{color:#6b7280;white-space:nowrap;background:#f3f4f6;border-radius:99px;padding:6px 8px;font-size:7px;font-weight:800}.assignmentMatrix.coach .matrixCell:disabled{color:#71717a;cursor:not-allowed;filter:saturate(.72)}.assignmentMatrix.coach .matrixCell:disabled:hover{outline:0}.assignmentMatrixCard .subjectTabs{margin:14px 0 4px}.freeHwCard{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:14px;padding:20px;box-shadow:0 6px 22px #1e0f1e08}.freeHwForm{border:1px solid var(--line);background:#fbfafc;border-radius:12px;flex-direction:column;gap:10px;margin-top:14px;padding:15px;display:flex}.freeHwFormGrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.freeHwForm label{color:var(--muted);flex-direction:column;gap:4px;font-size:9px;font-weight:700;display:flex}.freeHwForm input,.freeHwForm select,.freeHwForm textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:11px}.freeHwForm textarea{resize:vertical}.freeHwForm .freeHwFull{grid-column:1/-1}.freeHwForm .coachApproveBtn{align-self:flex-start}.freeHwList{flex-direction:column;gap:10px;margin-top:14px;display:flex}.freeHwItem{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.freeHwItemHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.freeHwItemHead strong{font-size:12px;display:block}.freeHwItemHead span{color:var(--muted);font-size:9px}.freeHwDesc{color:var(--ink);margin:0;font-size:11px;line-height:1.45}.freeHwMeta{flex-wrap:wrap;gap:6px 14px;display:flex}.freeHwMeta span{color:var(--muted);align-items:center;gap:4px;font-size:9px;display:inline-flex}.hwStatus{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:8px;font-weight:800}.hwStatus.assigned{color:#1d4ed8;background:#dbeafe}.hwStatus.submitted{color:#6d28d9;background:#ede9fe}.hwStatus.revision{color:#b45309;background:#fef3c7}.hwStatus.approved{color:var(--success);background:#dcfce7}.coachPendingActions{align-items:center;gap:7px;display:flex}.coachRevisionBtn{color:#b45309;cursor:pointer;white-space:nowrap;background:#fffbeb;border:1px solid #fcd34d;border-radius:9px;align-items:center;gap:5px;padding:8px 12px;font-size:9px;font-weight:800;display:flex}.coachRevisionBtn:hover{background:#fef3c7}.homeworkDates,.homeworkNote,.homeworkRevisionNote{align-items:center;gap:5px;margin:2px 0 0;font-size:9px;display:flex}.homeworkDates{color:var(--muted)}.homeworkNote{color:var(--primary-dark)}.homeworkRevisionNote{color:#b45309}.homeworkWaiting>b.revision{color:#b45309;background:#fef3c7;border-radius:8px;align-items:center;gap:4px;padding:7px 9px;font-size:8px;display:flex}.teacherTodayPanel{margin-top:16px}.teacherLessonPreview{flex-direction:column;display:flex}.teacherLessonPreview>a{border-top:1px solid var(--line);color:inherit;grid-template-columns:105px 110px 1fr auto;align-items:center;gap:11px;padding:11px 0;text-decoration:none;display:grid}.teacherLessonPreview>a:hover strong{color:var(--primary-dark)}.teacherLessonDay,.teacherLessonPreview time{color:var(--muted);align-items:center;gap:5px;font-size:8px;display:flex}.teacherLessonDay strong{color:var(--ink);font-size:9px}.teacherLessonPreview>a>span{flex-direction:column;gap:2px;display:flex}.teacherLessonPreview>a>span strong{font-size:9px}.teacherLessonPreview>a>span small{color:var(--muted);font-size:7px}.teacherWeekSummary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.teacherWeekSummary article{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:12px;align-items:center;gap:9px;padding:14px;display:flex}.teacherWeekSummary article div{flex-direction:column;display:flex}.teacherWeekSummary strong{color:var(--ink);font-size:15px}.teacherWeekSummary span{color:var(--muted);font-size:8px}.teacherWeekGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;display:grid}.teacherDayColumn{border:1px solid var(--line);background:#fafafa;border-radius:13px;min-height:230px;padding:10px}.teacherDayColumn>header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.teacherDayColumn>header span{letter-spacing:.05em;font-size:8px;font-weight:900}.teacherDayColumn>header b{color:var(--muted);background:#fff;border-radius:99px;padding:3px 5px;font-size:6px}.teacherDayColumn>a{color:inherit;background:#fff;border:1px solid #ead0ec;border-radius:10px;grid-template-columns:42px 1fr;gap:8px;margin-bottom:7px;padding:10px;text-decoration:none;display:grid}.teacherDayColumn>a:hover{border-color:var(--primary)}.teacherDayColumn time{color:var(--primary-dark);flex-direction:column;font-size:10px;font-weight:900;display:flex}.teacherDayColumn time small{color:var(--muted);font-size:7px}.teacherDayColumn>a div{flex-direction:column;gap:4px;display:flex}.teacherDayColumn>a strong{font-size:9px}.teacherDayColumn>a span{color:var(--muted);align-items:center;gap:3px;font-size:7px;display:flex}.teacherDayEmpty{border:1px dashed var(--line);min-height:165px;color:var(--muted);border-radius:9px;place-items:center;font-size:8px;display:grid}.portalAccessDenied{color:#991b1b;background:snow;border:1px solid #fecaca;border-radius:16px;justify-content:center;align-items:flex-start;gap:13px;min-height:420px;padding:40px;display:flex}.portalAccessDenied>div{max-width:520px}.portalAccessDenied span{letter-spacing:.1em;font-size:8px;font-weight:900}.portalAccessDenied h1{color:var(--ink);margin:5px 0;font-size:20px}.portalAccessDenied p{color:var(--muted);margin:0 0 15px;font-size:9px;line-height:1.6}.scheduleManagementNote{color:#6d28d9;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:12px;align-items:flex-start;gap:9px;margin-bottom:14px;padding:13px 15px;display:flex}.scheduleManagementNote div{flex-direction:column;gap:3px;display:flex}.scheduleManagementNote strong{font-size:9px}.scheduleManagementNote span{color:#6b7280;font-size:8px}.adminScheduleGrid{align-items:start}.adminLessonCard{background:#fff;border:1px solid #ead0ec;border-radius:10px;grid-template-columns:42px 1fr auto;gap:8px;margin-bottom:7px;padding:10px;display:grid}.adminLessonCard time{color:var(--primary-dark);flex-direction:column;font-size:10px;font-weight:900;display:flex}.adminLessonCard time small,.adminLessonCard>div small{color:var(--muted);font-size:7px}.adminLessonCard>div{flex-direction:column;gap:3px;display:flex}.adminLessonCard>div strong{font-size:9px}.adminLessonCard>div span{color:var(--primary-dark);font-size:7px;font-weight:800}.lessonCardActions{flex-direction:row!important;gap:4px!important;display:flex!important}.lessonCardActions button,.iconTableButton{border:1px solid var(--line);width:27px;height:27px;color:var(--primary-dark);background:#fff;border-radius:7px;place-items:center;display:grid}.lessonCardActions button:last-child{color:#b91c1c;border-color:#fecaca}.lessonTypeBadge{color:var(--primary-dark);white-space:nowrap;background:#fae8ff;border-radius:99px;margin-left:3px;padding:3px 5px;font-size:6px;font-style:normal}.financeMetrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px;display:grid}.financeMetrics article{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:13px;grid-template-columns:auto 1fr;align-items:center;gap:5px 9px;padding:16px;display:grid}.financeMetrics article span{color:var(--muted);font-size:8px}.financeMetrics article strong{color:var(--ink);grid-column:2;font-size:17px}.financeMetrics article.overdue{color:#b91c1c;background:snow;border-color:#fecaca}.financeUnpricedCount{color:#92400e;align-self:center;font-size:8px;font-weight:800}.unpricedFinanceRow{background:#fffbeb}.financePendingBadge{color:#92400e;background:#fef3c7;border-radius:99px;padding:5px 7px;font-size:7px;font-weight:900}.financeRowActions{align-items:center;gap:5px;display:flex}.groupOverviewPanel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:15px;padding:17px}.groupOverviewGrid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:9px;display:grid}.groupOverviewGrid>article{background:#fffaff;border:1px solid #ead0ec;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:start;gap:9px;padding:12px;display:grid}.groupOverviewIcon{width:34px;height:34px;color:var(--primary-dark);background:#fae8ff;border-radius:9px;place-items:center;display:grid}.groupOverviewGrid article>div:nth-child(2){flex-direction:column;gap:3px;display:flex}.groupOverviewGrid article span{color:var(--primary-strong);font-size:7px;font-weight:900}.groupOverviewGrid article strong{font-size:9px}.groupOverviewGrid article small{color:var(--muted);font-size:7px}.groupStudentChips{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.groupStudentChips em{color:var(--primary-dark);background:#fff;border:1px solid #ead0ec;border-radius:99px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:800}.studentPicker{border:1px solid var(--line);border-radius:9px;margin:0;padding:10px}.studentPicker legend{color:var(--ink);padding:0 5px;font-size:8px;font-weight:900}.studentPicker legend small{color:var(--muted);margin-left:5px;font-weight:600}.studentPicker>div{grid-template-columns:repeat(2,1fr);gap:6px;max-height:185px;display:grid;overflow-y:auto}.studentPicker label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:row;align-items:center;min-height:40px;padding:7px}.studentPicker label.selected{background:#fff2ff;border-color:#d898dc}.studentPicker label input{width:15px;height:15px}.studentPicker label span{flex-direction:column;gap:2px;display:flex}.studentPicker label strong{color:var(--ink);font-size:8px}.studentPicker label small{color:var(--muted);font-size:7px}.studentListPicker{gap:8px;display:grid}.studentListPicker .studentPickerSearch{border:1px solid var(--line);min-height:39px;color:var(--muted);background:#faf9fb;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.studentListPicker .studentPickerSearch input{background:0 0;border:0;outline:0;width:100%;min-height:36px;padding:0;font-size:9px}.studentListPicker .studentPickerList{flex-direction:column;gap:5px;max-height:230px;display:flex;overflow-y:auto}.studentListPicker .studentPickerList label{grid-template-columns:18px minmax(0,1fr) auto;gap:9px;width:100%;min-height:45px;display:grid}.studentListPicker .studentPickerList label em{color:var(--muted);background:#f5f2f5;border-radius:999px;padding:4px 7px;font-size:7px;font-style:normal;font-weight:800}.studentListPicker .studentPickerList label.selected em{color:var(--primary-dark);background:#f3dff5}.studentPickerEmpty{text-align:center;color:var(--muted);margin:0;padding:18px;font-size:8px}.studentPickerHint{color:var(--muted);margin:-1px 2px 1px;font-size:7px;line-height:1.4}.programFormError{color:#991b1b;background:#fee2e2;border-radius:8px;padding:9px;font-size:8px;font-weight:800}.programHeaderActions{align-items:center;gap:7px;display:flex}.matchStudentsModal{width:min(780px,100vw - 30px)}.matchRuleNote{background:#faf5ff;border:1px solid #ddd6fe;border-radius:10px;flex-direction:column;gap:3px;margin-bottom:12px;padding:11px;display:flex}.matchRuleNote strong{color:var(--primary-dark);font-size:9px}.matchRuleNote span{color:var(--muted);font-size:8px;line-height:1.5}.matchControls{grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:11px;display:grid}.matchControls label{color:var(--muted);flex-direction:column;gap:5px;font-size:8px;font-weight:800;display:flex}.matchControls select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:36px;padding:0 9px}.matchSuggestionList{gap:8px;max-height:430px;display:grid;overflow-y:auto}.matchSuggestionList article{background:#fffaff;border:1px solid #ead0ec;border-radius:10px;grid-template-columns:minmax(220px,1fr) minmax(180px,auto) auto;align-items:center;gap:10px;padding:11px;display:grid}.matchSuggestionList article>div:first-child{flex-direction:column;gap:3px;display:flex}.matchSuggestionList span{color:var(--primary-strong);font-size:7px;font-weight:900}.matchSuggestionList strong{font-size:9px}.matchSuggestionList small{color:var(--muted);font-size:7px}.matchStudentScores{flex-wrap:wrap;gap:4px;display:flex}.matchStudentScores em{color:var(--primary-dark);background:#fff;border-radius:99px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:800}.programControlPanel{z-index:10;border:1px solid var(--line);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffffff5;border-radius:13px;margin-bottom:15px;padding:10px;position:sticky;top:10px;box-shadow:0 8px 22px #28142812}.scheduleViewTabs{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.scheduleViewTabs button{border:1px solid var(--line);min-height:31px;color:var(--muted);background:#fff;border-radius:8px;padding:0 11px;font-size:8px;font-weight:900}.scheduleViewTabs button.active{border-color:var(--primary-dark);color:#fff;background:var(--primary-dark)}.programPdfActions{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:9px;display:flex}.classLessonButton{border-color:var(--primary)!important;color:var(--primary-dark)!important;background:var(--primary-soft)!important}.dangerOutline{color:#b91c1c!important;background:#fff7f7!important;border-color:#fecaca!important}.scheduleMatrixPanel{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 0 14px;padding:16px}.scheduleMatrixHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.scheduleMatrixHeader span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:900}.scheduleMatrixHeader h2{margin:4px 0 2px;font-size:18px}.scheduleMatrixHeader p{color:var(--muted);margin:0;font-size:9px}.scheduleMatrixScroll{overflow-x:auto}.scheduleMatrix{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.scheduleMatrix th,.scheduleMatrix td{border:1px solid #cfc8ce}.scheduleMatrix thead th{text-align:center;background:#f8f5f7;padding:8px 5px}.scheduleMatrix thead th:first-child{width:92px}.scheduleMatrix th b{font-size:8px;display:block}.scheduleMatrix th small{color:var(--muted);margin-top:2px;font-size:7px;font-weight:500;display:block}.scheduleMatrix tbody>tr>th{text-align:left;background:#fbf9fa;padding:8px}.scheduleMatrix td{vertical-align:top;height:76px;padding:3px}.scheduleMatrixLesson{border-left:3px solid var(--primary);background:var(--primary-soft);border-radius:4px;padding:5px;line-height:1.2}.scheduleMatrixLesson+.scheduleMatrixLesson{margin-top:3px}.scheduleMatrixLesson strong,.scheduleMatrixLesson span,.scheduleMatrixLesson small,.scheduleMatrixLesson em{display:block}.scheduleMatrixLesson strong{font-size:8px}.scheduleMatrixLesson span{margin-top:2px;font-size:7px;font-weight:700}.scheduleMatrixLesson small,.scheduleMatrixLesson em{color:var(--muted);margin-top:2px;font-size:6px;font-style:normal}@media print{.portalSidebar,.portalTopbar,.pageHeader,.programControlPanel,.groupOverviewPanel,.teacherWeekGrid,.scheduleManagementNote,.noPrint{display:none!important}.portalMain,.portalContent{margin:0!important;padding:0!important}.scheduleMatrixPanel{border:0;padding:0}.scheduleMatrix{min-width:0}}.programFilters{grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(150px,1.2fr) auto;gap:7px;display:grid}.programFilters select{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;border-radius:8px;padding:0 9px;font-size:8px}.programFilters .secondaryButton{white-space:nowrap;justify-content:center}.lessonStatusBadge{background:#f3e8ff;border-radius:99px;width:fit-content;margin-top:2px;padding:3px 5px;color:#6b21a8!important;font-size:6px!important;font-weight:900!important}.lessonStatusBadge.status-completed{background:#dcfce7;color:#166534!important}.lessonStatusBadge.status-student_absent,.lessonStatusBadge.status-teacher_cancelled,.lessonStatusBadge.status-student_cancelled{background:#fee2e2;color:#991b1b!important}.lessonStatusBadge.status-makeup{background:#e0f2fe;color:#075985!important}.scheduleEditorModal textarea{border:1px solid var(--line);min-height:70px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border-radius:8px;padding:9px}.selectedScheduleGroup{background:#fff7ff;border:1px solid #d8b4e2;border-radius:9px;flex-direction:column;gap:4px;padding:11px;display:flex}.selectedScheduleGroup strong{color:var(--primary-dark);font-size:9px}.selectedScheduleGroup span{color:var(--muted);font-size:8px}.programFormError strong{margin-bottom:4px;display:block}.programFormError ul{gap:3px;margin:0;padding-left:17px;display:grid}.availabilityTeacherSelect{margin-bottom:12px}.availabilityTeacherSelect label{color:var(--muted);flex-direction:column;gap:5px;font-size:8px;font-weight:800;display:flex}.availabilityTeacherSelect select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:38px;padding:0 9px}.availabilityRows{gap:6px;display:grid}.availabilityRows>div{border:1px solid var(--line);background:#fafafa;border-radius:9px;grid-template-columns:minmax(110px,1fr) 100px auto 100px;align-items:center;gap:7px;padding:8px;display:grid}.availabilityRows label{color:var(--ink);align-items:center;gap:7px;font-size:8px;font-weight:900;display:flex}.availabilityRows input[type=time]{border:1px solid var(--line);background:#fff;border-radius:7px;min-height:34px;padding:0 7px;font-size:8px}.availabilitySecondWindow{grid-column:1/-1;align-items:center;gap:7px;display:flex}.availabilitySecondWindow input[type=time]{width:100px}.availabilitySecondWindow>button{border:1px solid var(--line);min-height:28px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:5px;padding:0 8px;font-size:8px;font-weight:800;display:inline-flex}.availabilitySecondWindow>button:hover{border-color:var(--brand);color:var(--brand)}.teacherSchedulePdfButton{float:right;margin-top:4px}.studentProfileHero{background:linear-gradient(110deg,#fff 35%,#fff5ff);border:1px solid #ead0ec;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:14px;padding:20px;display:grid}.studentProfileHeroAvatar{color:#fff;background:linear-gradient(145deg, var(--primary-dark), var(--primary));border:4px solid #fff;border-radius:19px;place-items:center;width:66px;height:66px;font-size:17px;font-weight:900;display:grid;overflow:hidden;box-shadow:0 8px 24px #7d14862b}.studentProfileHeroAvatar img{object-fit:cover;width:100%;height:100%}.studentProfileHero>div:nth-child(2) span,.studentProfileCard header span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:900}.studentProfileHero h2{margin:4px 0;font-size:20px}.studentProfileHero p{color:var(--muted);margin:0;font-size:9px}.studentProfileHero>b{color:#92400e;background:#fef3c7;border-radius:99px;align-items:center;gap:5px;padding:6px 8px;font-size:7px;display:flex}.studentProfileHero>b.active{color:#166534;background:#dcfce7}.studentProfileGrid{grid-template-columns:1fr 1fr;align-items:start;gap:13px;display:grid}.studentProfileCard{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px;box-shadow:0 7px 24px #1e0f1e09}.studentProfileCard>header{color:var(--primary-dark);align-items:center;gap:9px;margin-bottom:13px;display:flex}.studentProfileCard header h2{color:var(--ink);margin:3px 0 0;font-size:13px}.profileInfoRows{grid-template-columns:1fr 1fr;gap:7px;display:grid}.profileInfoRows p{min-width:0;color:var(--primary-dark);background:#fcfafc;border:1px solid #f0e8f0;border-radius:10px;align-items:center;gap:8px;margin:0;padding:10px;display:flex}.profileInfoRows p:last-child{grid-column:1/-1}.profileInfoRows span{flex-direction:column;gap:3px;min-width:0;display:flex}.profileInfoRows small,.studentTargetSummary small,.studentAccountSummary small{color:var(--muted);font-size:7px}.profileInfoRows strong{text-overflow:ellipsis;color:var(--ink);font-size:8px;overflow:hidden}.studentTargetSummary{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.studentTargetSummary p{background:#fcfafc;border:1px solid #f0e8f0;border-radius:10px;flex-direction:column;gap:5px;margin:0;padding:11px;display:flex}.studentTargetSummary strong{font-size:9px}.studentTargetSummary blockquote{border-left:3px solid var(--primary);color:#6b6470;background:#fff7ff;border-radius:0 9px 9px 0;grid-column:1/-1;margin:2px 0 0;padding:11px 13px;font-size:8px;line-height:1.55}.passwordCard{grid-column:1/-1}.studentAccountSummary{background:#f7f5ff;border:1px solid #ddd6fe;border-radius:10px;gap:30px;margin-bottom:13px;padding:10px 12px;display:flex}.studentAccountSummary>span{flex-direction:column;gap:3px;display:flex}.studentAccountSummary strong{color:#4c1d95;font-size:8px}.studentPasswordForm{grid-template-columns:1fr 1fr;gap:10px;max-width:680px;display:grid}.studentPasswordForm label{color:#5f5a62;flex-direction:column;gap:5px;font-size:8px;font-weight:800;display:flex}.studentPasswordForm label:first-child{grid-column:1/-1}.studentPasswordForm label>div{position:relative}.studentPasswordForm input{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;outline:0;padding:0 38px 0 10px}.studentPasswordForm label:last-of-type input{padding-right:10px}.studentPasswordForm input:focus{border-color:#c26ac9;box-shadow:0 0 0 3px #9810a814}.studentPasswordForm label>div button{width:35px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;inset:0 0 0 auto}.studentPasswordForm>p{border-radius:8px;grid-column:1/-1;margin:0;padding:9px 10px;font-size:8px;font-weight:800}.studentPasswordError{color:#991b1b;background:#fee2e2}.studentPasswordSuccess{color:#166534;background:#dcfce7;align-items:center;gap:6px;display:flex}.studentPasswordForm>button{grid-column:1/-1;width:fit-content}.studentProfileIdentityNote{color:var(--primary-dark);background:#fdf7ff;border:1px solid #e9d5ff;border-radius:10px;align-items:center;gap:9px;margin:13px 0;padding:10px 12px;display:flex}.studentProfileIdentityNote p{flex-direction:column;gap:2px;margin:0;display:flex}.studentProfileIdentityNote strong{color:var(--ink);font-size:9px}.studentProfileIdentityNote span{color:var(--muted);font-size:7px}.studentProfileWideField{grid-column:1/-1}.studentPageActions{align-items:center;gap:8px;display:flex}.studentPageActions .secondaryButton:disabled{opacity:.45;cursor:not-allowed}.studentStickyControls{z-index:12;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-radius:12px;margin:-8px -8px 16px;padding:8px;position:sticky;top:12px;box-shadow:0 8px 22px #28142814}.studentStickyControls .tableToolbar{margin-bottom:0}.studentSelectionBar{color:var(--primary-dark);background:#fff2ff;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;padding:8px 10px;display:flex}.studentSelectionBar span{font-size:9px}.studentSelectionBar span strong{font-size:12px}.studentSelectionBar .primaryButton{min-height:34px;padding:0 10px}.studentSelectionBar .primaryButton:disabled{opacity:.45;cursor:not-allowed}.studentGroupPanel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:15px;padding:17px}.studentGroupGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px;display:grid}.studentGroupGrid>article{background:#fffaff;border:1px solid #ead0ec;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:start;gap:9px;padding:12px;display:grid}.studentGroupGrid article>div:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.studentGroupGrid article>div:nth-child(2)>span{color:var(--primary-strong);font-size:7px;font-weight:900}.studentGroupGrid article>div:nth-child(2)>strong{font-size:10px}.studentGroupGrid article>div:nth-child(2)>small{color:var(--muted);font-size:7px}.studentGroupActions{gap:4px;display:flex}.studentGroupActions button{border:1px solid var(--line);width:27px;height:27px;color:var(--primary-dark);background:#fff;border-radius:7px;place-items:center;display:grid}.studentGroupActions button:last-child{color:#b91c1c;border-color:#fecaca}.founderPricingSection{background:#fdfaff;border:1px solid #e9d5ff;border-radius:11px;padding:15px}.founderPricingSection>p{color:var(--muted);margin:-3px 0 12px;font-size:8px}.groupSubjectPicker{border:1px solid var(--line);border-radius:9px;margin:0;padding:10px}.groupSubjectPicker legend{color:var(--ink);padding:0 5px;font-size:8px;font-weight:900}.groupSubjectPicker>div{flex-wrap:wrap;gap:6px;display:flex}.groupSubjectPicker button{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#fff;border-radius:8px;padding:0 10px;font-size:8px;font-weight:800}.groupSubjectPicker button.active{color:var(--primary-dark);background:#fff2ff;border-color:#d898dc}.groupCourseTeacherList{border:1px solid var(--line);border-radius:9px;gap:7px;margin:0;padding:10px;display:grid}.groupCourseTeacherList legend{color:var(--ink);padding:0 5px;font-size:8px;font-weight:900}.groupCourseTeacherList>label{background:#fffaff;border:1px solid #ead0ec;border-radius:8px;grid-template-columns:minmax(150px,1fr) minmax(190px,1fr);align-items:center;gap:10px;padding:9px;display:grid}.groupCourseTeacherList>label>span{flex-direction:column;gap:2px;display:flex}.groupCourseTeacherList>label strong{color:var(--ink);font-size:9px}.groupCourseTeacherList>label small{color:var(--muted);font-size:7px}.groupCourseTeacherList select{border:1px solid var(--line);width:100%;min-height:34px;color:var(--ink);background:#fff;border-radius:7px;padding:0 9px;font-size:8px}.groupCourseTeacherList select:disabled{color:var(--primary-dark);opacity:1;background:#fff2ff;border-color:#d8b4e2}.groupCourseTeacherList>label.missing{background:#fff7f7;border-color:#fecaca}.groupCourseTeacherList>label.missing>b{color:#b91c1c;font-size:8px}.separatedExamCharts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.separatedExamCharts.single{grid-template-columns:minmax(0,1fr)}.separatedExamCharts>*{min-width:0;margin:0}.deleteConfirmModal{background:#fff;border-radius:16px;grid-template-columns:auto 1fr;gap:13px;width:min(430px,100%);padding:24px;display:grid;box-shadow:0 24px 70px #18181b38}.deleteConfirmIcon{color:#b91c1c;background:#fee2e2;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.deleteConfirmModal span{color:#b91c1c;letter-spacing:.1em;font-size:7px;font-weight:900}.deleteConfirmModal h2{margin:5px 0 7px;font-size:17px}.deleteConfirmModal p{color:var(--muted);margin:0;font-size:9px;line-height:1.55}.deleteConfirmModal .adminModalActions{grid-column:1/-1}.dangerButton{color:#fff;background:#dc2626;border:1px solid #dc2626;border-radius:8px;min-height:37px;padding:0 13px;font-size:8px;font-weight:900}.weeklyViewTabs{border:1px solid var(--line);background:#fff;border-radius:10px;gap:3px;width:fit-content;margin-bottom:12px;padding:4px;display:flex}.weeklyViewTabs button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:8px;font-weight:900}.weeklyViewTabs button.active{color:#fff;background:var(--primary-dark)}.coachSystemTabs{max-width:100%;overflow-x:auto}.coachSystemTabs button{white-space:nowrap}.coachStudentOverview{grid-template-columns:1fr 1fr;gap:12px;display:grid}.coachStudentOverview>.separatedExamCharts{grid-column:1/-1}.coachOverviewCards{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.coachOverviewCards article{border:1px solid var(--line);min-height:72px;color:var(--primary-dark);background:#fff;border-radius:11px;align-items:center;gap:9px;padding:13px;display:flex}.coachOverviewCards article>span{flex-direction:column;gap:3px;display:flex}.coachOverviewCards small{color:var(--muted);font-size:7px}.coachOverviewCards strong{color:var(--ink);font-size:9px}.coachInsightPanel{background:#fff;border:1px solid #e4e4e7;border-radius:16px;grid-column:1/-1;padding:16px;box-shadow:0 12px 32px #1e0f1e0b}.coachInsightHead{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.coachInsightHead span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:900}.coachInsightHead h2{margin:4px 0 0;font-size:17px}.riskBadge{color:#86198f;white-space:nowrap;background:#faf5ff;border:1px solid #e9d5ff;border-radius:99px;width:fit-content;padding:7px 10px;font-size:8px;font-weight:900}.riskBadge.risk-yüksek{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.riskBadge.risk-orta{color:#92400e;background:#fffbeb;border-color:#fde68a}.riskBadge.risk-düşük{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.coachInsightGrid{grid-template-columns:minmax(240px,.8fr) 1fr;gap:12px;display:grid}.coachRadarCard,.coachAiCard,.coachReportCard,.coachAlertCard{border:1px solid var(--line);background:#fafafa;border-radius:12px;padding:14px}.coachReportCard,.coachAlertCard{background:#fff}.coachInsightTitle{color:var(--primary-dark);align-items:center;gap:7px;margin-bottom:10px;display:flex}.coachInsightTitle h3{color:var(--ink);margin:0;font-size:12px}.coachRadarCard svg{width:100%;max-height:260px;display:block}.radarGrid{fill:none;stroke:#e5e7eb;stroke-width:1px}.radarAxis{stroke:#ede9fe;stroke-width:1px}.radarShape{fill:#c026d33d;stroke:#a21caf;stroke-width:2px}.coachRadarCard text{fill:#52525b;font-size:8px;font-weight:800}.radarScores{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.radarScores span{color:var(--muted);background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:7px;font-size:7px;font-weight:800;display:flex}.radarScores strong{color:var(--primary-dark);font-size:12px}.coachAiCard p,.coachReportCard p,.coachAlertCard p{color:#3f3f46;margin:0 0 7px;font-size:9px;line-height:1.65}.coachReportCard strong{color:var(--primary-dark);margin:8px 0 5px;font-size:9px;display:block}.coachReportCard .secondaryButton{margin-top:8px}.smartAlert{background:#fafafa;border-left:3px solid #0369a1;border-radius:10px;gap:4px;padding:10px;display:grid}.smartAlert+.smartAlert{margin-top:8px}.smartAlert.warning{background:#fffbeb;border-left-color:#b45309}.smartAlert.critical{background:#fef2f2;border-left-color:#b91c1c}.smartAlert strong{color:var(--ink);font-size:10px}.smartAlert span{color:#3f3f46;font-size:9px;line-height:1.5}.smartAlert small{color:var(--muted);font-size:7px;font-weight:800}.smartAlert .linkButton{cursor:pointer;color:var(--primary-strong);background:0 0;border:0;justify-self:start;align-items:center;gap:4px;margin-top:2px;padding:0;font-size:8px;font-weight:800;display:inline-flex}.smartAlert .linkButton:hover{text-decoration:underline}.coachShareHint{color:var(--muted);background:#fafafa;border-radius:9px;margin:8px 0 0;padding:7px 9px;font-size:8px;line-height:1.5}.coachOverviewLessons{border:1px solid var(--line);background:#fff;border-radius:13px;padding:16px}.coachOverviewLessons h2{margin:0 0 9px;font-size:11px}.coachOverviewLessons>div{border-top:1px solid var(--line);align-items:center;gap:8px;padding:9px 0;display:flex}.coachOverviewLessons>div>svg{color:var(--primary-strong)}.coachOverviewLessons span{flex-direction:column;gap:2px;display:flex}.coachOverviewLessons strong{font-size:8px}.coachOverviewLessons small{color:var(--muted);font-size:7px}.coachStudentOverview>.examConnectedChart{margin:0}.coachExamPanel{border:1px solid var(--line);background:#fafafa;border-radius:13px;padding:16px}.coachExamTabs{border:1px solid var(--line);background:#fff;border-radius:9px;gap:4px;width:fit-content;margin-bottom:11px;padding:4px;display:flex}.coachExamTabs button{min-height:31px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:7px;font-weight:800}.coachExamTabs button.active{color:#fff;background:var(--primary-strong)}.coachExamList{border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 13px}.coachExamList article{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:50px;padding:8px 0;display:grid}.coachExamList article:first-child{border-top:0}.coachExamList article>span{flex-direction:column;gap:2px;display:flex}.coachExamList strong{font-size:9px}.coachExamList small{color:var(--muted);font-size:7px}.coachExamList article>b{color:var(--primary-dark);font-size:9px}.coachExamList em{color:#475569;background:#f1f5f9;border-radius:99px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:800}.weeklyHomeworkBoard{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 7px 24px #1e0f1e09}.weeklyBoardHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:18px 19px;display:flex}.weeklyBoardHead>div:first-child>span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:900}.weeklyBoardHead h2{margin:4px 0 3px;font-size:16px}.weeklyBoardHead p{color:var(--muted);margin:0;font-size:8px}.weekNavigator{align-items:center;gap:6px;display:flex}.weekNavigator button{border:1px solid var(--line);width:32px;height:32px;color:var(--primary-dark);background:#fff;border-radius:8px;place-items:center;display:grid}.weekNavigator span{min-height:32px;color:var(--primary-dark);background:#fff2ff;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:8px;font-weight:900;display:flex}.weeklySelectToggle{margin-left:auto}.weeklySelectBar{border:1px solid var(--primary);background:var(--primary-soft);color:var(--primary-dark);border-radius:11px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.weeklySelectBar button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}.weeklySelectBar button:disabled{opacity:.45}.weeklyBulkConfirm{color:#b91c1c;align-items:center;gap:7px;display:inline-flex}.weeklyRepeatChip{border:1px solid #0000000f;border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:8px 10px;display:flex}.weeklyRepeatChip.selected{outline:2px solid var(--primary);outline-offset:1px}.weeklyRepeatTitle{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:800}.weeklyRepeatChip small{color:var(--muted);font-size:10px;font-weight:700}.weeklyRepeatDays{flex-wrap:wrap;gap:4px;display:flex}.weeklyRepeatDay{border:1px solid var(--line);min-width:30px;color:var(--muted);background:#fff;border-radius:7px;padding:3px 5px;font-size:10px;font-weight:800}.weeklyRepeatDay.submitted{color:#b45309;border-color:#f59e0b}.weeklyRepeatDay.approved{color:#15803d;background:#f0fdf4;border-color:#16a34a;text-decoration:line-through}.weeklyRepeatDay.revision{color:#b91c1c;border-color:#dc2626}.weeklyRepeatDay.selected,.weeklyHomeworkChip.selected{outline:2px solid var(--primary);outline-offset:1px}.weeklyBoardLegend{border-bottom:1px solid var(--line);background:#fafafa;flex-wrap:wrap;gap:12px;padding:9px 19px;display:flex}.weeklyBoardLegend span{color:var(--muted);align-items:center;gap:5px;font-size:7px;font-weight:800;display:flex}.weeklyBoardLegend i{border-radius:3px;width:8px;height:8px}.weeklyBoardLegend i.assigned{background:#bfdbfe}.weeklyBoardLegend i.submitted{background:#fde68a}.weeklyBoardLegend i.approved{background:#86efac}.weeklyBoardLegend i.revision{background:#d8b4fe}.weeklyLayoutTabs{gap:6px;padding:0 13px 8px;display:flex}.weeklyLayoutTabs button{border:1px solid var(--line);min-height:28px;color:var(--muted);background:#fff;border-radius:999px;padding:0 12px;font-size:10px;font-weight:700}.weeklyLayoutTabs button.active{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff}.weeklyDayGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0 13px 12px;display:grid}@media (max-width:900px){.weeklyDayGrid{grid-template-columns:repeat(7,minmax(132px,1fr));padding-bottom:14px;overflow-x:auto}}.weeklyDayColumn{border:1px solid var(--line);background:#fcfbfd;border-radius:11px;flex-direction:column;gap:6px;min-width:0;padding:8px;display:flex}.weeklyDayHead{justify-content:space-between;align-items:center;display:flex}.weeklyDayHead strong{letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-size:10px}.weeklyDayHead em{color:var(--muted);font-size:9px;font-style:normal;font-weight:700}.weeklyDayTasks{flex-direction:column;gap:5px;min-height:34px;display:flex}.weeklyDayTasks .weeklyHomeworkChip{text-align:left;width:100%}.weeklyDayAdd{border:1px dashed var(--line);min-height:28px;color:var(--muted);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.weeklyDayAdd:hover{border-color:var(--primary);color:var(--primary-dark)}.weeklyUndatedRow{border:1px dashed var(--line);border-radius:10px;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;margin:0 13px 12px;padding:8px 10px;display:grid}.weeklyUndatedRow>strong{color:var(--muted);font-size:9px}.weeklyTaskModal{background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:min(520px,94vw);padding:18px;display:flex}.weeklyTaskDays{border:1px solid var(--line);border-radius:11px;flex-wrap:wrap;gap:8px 14px;padding:12px;display:flex}.weeklyTaskDays legend{color:var(--muted);align-items:center;gap:5px;padding:0 6px;font-size:10px;font-weight:700;display:flex}.weeklyTaskDays label{align-items:center;gap:5px;font-size:11px;display:flex}.weeklyTaskDayActions{gap:6px;width:100%;display:flex}.weeklyTaskDays .fieldHint{width:100%;margin:0}.weeklyOcrRow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.weeklyOcrRow .fieldHint{flex:220px;margin:0}.weeklyOcrModal{background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:min(720px,95vw);padding:18px;display:flex}.weeklyOcrList{flex-direction:column;gap:8px;max-height:min(52vh,420px);padding-right:4px;display:flex;overflow-y:auto}.weeklyOcrItem{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) 130px auto auto;align-items:center;gap:8px;padding:8px;display:grid}.weeklyOcrItem.needsReview{background:#fffbeb;border-color:#f0b429}.weeklyOcrFlag{color:#92400e;white-space:nowrap;cursor:pointer;background:#fef3c7;border:1px solid #fcd34d;border-radius:999px;align-items:center;gap:3px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-flex}.weeklyOcrFlag:hover{background:#fde68a}.weeklyOcrItem>input{min-width:0}.weeklyOcrDays{flex-wrap:wrap;gap:4px 8px;display:flex}.weeklyOcrDays label{color:var(--muted);align-items:center;gap:3px;font-size:10px;display:flex}.weeklyOcrItem>button:last-child{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;display:grid}@media (max-width:720px){.weeklyOcrItem{grid-template-columns:minmax(0,1fr) auto}.weeklyOcrItem>select,.weeklyOcrDays{grid-column:1/-1}}.weeklyBoardRows{flex-direction:column;display:flex}.weeklyBoardRow{border-bottom:1px solid #f1eef2;grid-template-columns:95px minmax(0,1fr) minmax(220px,.75fr);align-items:center;gap:10px;min-height:62px;padding:9px 13px;display:grid}.weeklyBoardRow:last-child{border-bottom:0}.weeklyBoardRow>strong{color:var(--ink);font-size:9px}.weeklySubjectTag{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;border-radius:7px;justify-self:start;max-width:100%;padding:4px 8px;font-size:8px;font-weight:900;overflow:hidden}.weeklyDetailHead .weeklySubjectTag{display:inline-block}.weeklyChipArea{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.weeklyHomeworkChip{border:1px solid #e4e4e7;border-left:3px solid var(--subtle);text-align:left;background:#fff;border-radius:9px;flex-direction:column;gap:2px;max-width:240px;min-height:38px;padding:7px 9px 7px 8px;display:flex}.weeklyHomeworkChip span{text-overflow:ellipsis;max-width:100%;color:var(--ink);white-space:nowrap;font-size:8px;font-weight:850;overflow:hidden}.weeklyHomeworkChip small{font-size:6px;font-weight:800}.weeklyHomeworkChip.assigned small{color:#1d4ed8}.weeklyHomeworkChip.submitted small{color:#92400e}.weeklyHomeworkChip.approved small{color:#15803d}.weeklyHomeworkChip.approved{opacity:.72}.weeklyHomeworkChip.approved span{text-decoration:line-through;text-decoration-thickness:1px}.weeklyHomeworkChip.revision small{color:#7e22ce}.weeklyQuickAdd{background:#fffaff;border:1px dashed #dca5e1;border-radius:9px;grid-template-columns:1fr 36px;height:38px;display:grid}.weeklyQuickAdd input{background:0 0;border:0;outline:0;min-width:0;padding:0 9px;font-size:8px}.weeklyQuickAdd button{color:var(--primary-dark);background:0 0;border:0;border-left:1px solid #ead0ec;place-items:center;display:grid}.weeklyQuickAdd button:disabled{opacity:.35}.weeklyEmpty{color:var(--subtle);font-size:8px}.weeklyDetailBackdrop{z-index:80;background:#18181b66;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.weeklyHomeworkDetail{background:#fff;border-radius:15px;width:min(510px,100%);max-height:calc(100dvh - 36px);padding:21px;overflow-y:auto;box-shadow:0 22px 70px #18181b3d}.weeklyDetailHead{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.weeklyDetailHead span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:900}.weeklyDetailHead h3{margin:5px 0 0;font-size:17px}.weeklyDetailHead>button{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.weeklyDetailStatus{border-radius:99px;width:fit-content;margin:13px 0 9px;padding:5px 8px;font-size:7px}.weeklyDetailStatus.assigned{color:#1d4ed8;background:#dbeafe}.weeklyDetailStatus.submitted{color:#92400e;background:#fef3c7}.weeklyDetailStatus.approved{color:#15803d;background:#dcfce7}.weeklyDetailStatus.revision{color:#7e22ce;background:#f3e8ff}.weeklyHomeworkDetail>p{color:var(--muted);font-size:9px;line-height:1.55}.weeklyDetailMeta{background:#faf8fa;border-radius:9px;flex-direction:column;gap:7px;margin:12px 0;padding:10px;display:flex}.weeklyDetailMeta span{color:var(--muted);align-items:flex-start;gap:6px;font-size:8px;display:flex}.weeklyDetailMeta span.revision{color:#7e22ce}.weeklyDetailActions{border-top:1px solid var(--line);justify-content:flex-end;gap:7px;padding-top:12px;display:flex}.weeklyApprovedMessage{color:#15803d;align-items:center;gap:5px;font-size:8px;font-weight:800;display:flex}.weeklyTeacherControl label{color:var(--muted);flex-direction:column;gap:5px;margin-bottom:9px;font-size:8px;font-weight:800;display:flex}.weeklyTeacherControl textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;min-height:68px;padding:9px}.weeklyRemoveConfirm{background:#fff1f2;border-radius:9px;align-items:center;gap:7px;padding:10px;display:flex}.weeklyRemoveConfirm span{color:#991b1b;flex:1;font-size:8px;font-weight:800}.weeklyRemoveConfirm button{color:#991b1b;background:#fff;border:1px solid #fecaca;border-radius:7px;min-height:30px;padding:0 8px;font-size:7px;font-weight:800}.weeklyRemoveConfirm button:last-child{color:#fff;background:#dc2626}.weeklyReadOnlyOwner{background:#f5f3f5;border-radius:8px;padding:9px;margin:11px 0 0!important}.studentHomeworkFlow{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.studentHomeworkFlow span{color:var(--muted);align-items:center;gap:5px;font-size:8px;display:flex}.parentWeeklyHomework{padding:0;overflow:hidden}.parentWeeklyHomework .weeklyHomeworkBoard{box-shadow:none;border:0;border-radius:0}.weeklyHomeworkBoard.compact .weeklyBoardRow{grid-template-columns:80px minmax(0,1fr)}.weeklyHomeworkBoard.compact .weeklyQuickAdd{display:none}.matrixCell.reference{cursor:default;place-items:center;display:inline-grid}.homeworkTargetBar{background:#fffaff;border:1px solid #ead0ec;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:13px 15px;display:flex}.homeworkTargetBar>div{color:var(--primary-dark);align-items:center;gap:9px;display:flex}.homeworkTargetBar span{flex-direction:column;gap:2px;display:flex}.homeworkTargetBar small{color:var(--primary-strong);letter-spacing:.08em;font-size:7px;font-weight:900}.homeworkTargetBar strong{color:var(--ink);font-size:10px}.homeworkTargetBar select{border:1px solid var(--line);min-width:240px;height:37px;color:var(--ink);background:#fff;border-radius:8px;padding:0 9px;font-size:9px}.financeDue{color:#166534;font-size:8px;font-weight:800}.financeDue.overdue{color:#b91c1c}.wideField{grid-column:span 2}@media (max-width:1080px){.studentShell{grid-template-columns:78px minmax(0,1fr)}.studentSidebar{padding-inline:12px}.studentSidebar .brandCopy,.studentMiniProfile>div:last-child,.studentNav .navGroupLabel,.studentNavItem span,.studentGoal,.studentSidebar>.logoutLink{display:none}.studentMiniProfile{background:0 0;justify-content:center;padding:7px}.studentNavItem{justify-content:center;padding:0}.studentNavItem.active:after{position:absolute;right:2px}.studyLogForm{grid-template-columns:repeat(3,1fr)}.studyLogForm>button{align-self:end}}@media (max-width:780px){.studentShell{display:block}.studentSidebar{display:none}.studentTopbar{gap:10px;height:62px;padding:0 14px}.studentBreadcrumb{display:none}.studentShell:not(.parentShell) .mobileMenu{flex:none}.studentPageContainer{padding:25px 16px 60px}.studentWelcome{flex-direction:column;align-items:flex-start}.weeklyStudyHead,.weeklyStudySummary{flex-direction:column;align-items:stretch}.weeklyStudySummary article{min-width:0}.weeklyStudySummary>p{margin-left:0}.studentQrShortcut{width:100%}.studentStats,.studentDashboardGrid,.qrExperience{grid-template-columns:1fr}.examHero{grid-template-columns:1fr;gap:20px}.studyStats{grid-template-columns:repeat(2,1fr)}.studyCardHeader{flex-direction:column;align-items:flex-start}.assignmentLegend{justify-content:flex-start}}@media (max-width:520px){.studentMotivation{padding:19px}.championCelebration{padding:24px 16px 18px}.championWinners,.weeklyDurationGrid{grid-template-columns:1fr}.dailyPlanEditBar{flex-direction:column;align-items:flex-start}.dailyPlanEditBar>button{justify-content:center;width:100%}.motivationNumber{display:none}.coachCard{grid-template-columns:43px 1fr}.coachCard button{grid-column:1/-1}.studentSectionHeader.withAction{flex-direction:column;align-items:flex-start;gap:16px}.studentFilter,.studentPrimaryButton{justify-content:center;width:100%}.studentHomeworkSummary{grid-template-columns:1fr 1fr 1fr}.studentHomeworkCard{grid-template-columns:38px 1fr}.homeworkCardAction{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.examHighlights{grid-template-columns:1fr}.examResultTabs{grid-template-columns:1fr 1fr}.examResultTabs button{justify-content:flex-start}.studentExamList>article{grid-template-columns:1.4fr .6fr}.studentExamList>article>div:nth-child(3),.studentExamList .examChange{display:none}.examSubjectEntryHead,.examSubjectEntryRow{grid-template-columns:minmax(85px,1fr) 58px 58px 47px;gap:5px;padding-inline:7px}.examSubjectEntryRow input{padding-inline:5px}.calculatedNet{flex-wrap:wrap;align-items:flex-start}.calculatedNet small{width:100%;margin-left:21px}.studentViewTabs{width:100%}.studentViewTabs button{flex:1;padding-inline:7px}.monthlyPlanCard{padding:10px}.monthlyWeekdays,.monthlyPlanGrid{gap:3px}.monthlyPlanGrid>button,.emptyMonthCell{border-radius:6px;min-height:64px}.monthlyPlanGrid>button{padding:4px}.monthlyPlanGrid i{display:none}.weeklyPaperPlanHead{flex-direction:column;align-items:flex-start}.weeklyPaperPlanHead>button{justify-content:center;width:100%}.weeklyDocumentList>article{grid-template-columns:auto 1fr auto}.weeklyDocumentList article>button{grid-column:3}.studyLogForm{grid-template-columns:1fr 1fr}.studyLogForm>button{grid-column:1/-1;justify-content:center}}.studentMenuBackdrop{display:none}.coachStudyPanel{flex-direction:column;gap:14px;display:flex}.dashboardHeatmap{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:14px;padding:20px;box-shadow:0 6px 22px #1e0f1e08}.dashboardHeatmap .studyCardHeader p{color:var(--muted);margin:4px 0 0;font-size:9px}.dashboardHourForm{background:#fffaff;border:1px solid #ead7eb;border-radius:11px;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-bottom:15px;padding:13px;display:grid}.dashboardHourForm>div{flex-direction:column;gap:5px;display:flex}.dashboardHourForm label{color:var(--muted);font-size:8px;font-weight:800}.dashboardHourForm input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:0;height:36px;padding:0 10px}.dashboardHourForm button{color:#fff;background:var(--primary-strong);border:0;border-radius:8px;align-items:center;gap:5px;height:36px;padding:0 13px;font-size:9px;font-weight:800;display:flex}.todayStudySaved{color:var(--success);background:#ecfdf3;border-radius:9px;align-items:center;gap:6px;margin-bottom:13px;padding:10px 12px;font-size:9px;display:flex}.dashboardHeatFooter{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:11px;font-size:8px;display:flex}.studentAcademicCards{grid-template-columns:.8fr 1.2fr;gap:14px;margin-bottom:14px;display:grid}.academicIdentityCard,.privateLessonsCard{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:11px;padding:17px;display:flex}.academicIdentityCard>span,.privateLessonsCard>span{color:var(--primary-strong);letter-spacing:.11em;font-size:8px;font-weight:800}.academicIdentityCard>div:nth-of-type(2){flex-direction:column;flex:1;gap:3px;display:flex}.academicIdentityCard strong{font-size:11px}.academicIdentityCard p{color:var(--muted);margin:0;font-size:8px}.academicIdentityCard a{color:var(--primary-dark);font-size:8px;font-weight:800}.privateLessonsCard{grid-template-columns:auto 1fr 1fr;display:grid}.privateLessonsCard>div{align-items:center;gap:8px;display:flex}.privateLessonsCard b{width:31px;height:31px;color:var(--primary-dark);background:var(--primary-soft);border-radius:9px;place-items:center;font-size:9px;display:grid}.privateLessonsCard p{flex-direction:column;gap:2px;margin:0;display:flex}.privateLessonsCard strong{font-size:9px}.privateLessonsCard small{color:var(--muted);font-size:7px}.netOverview{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:.78fr 1.22fr;gap:24px;margin-bottom:14px;padding:20px;display:grid}.netSummary>span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:800}.netSummary h2{margin:4px 0 14px;font-size:15px}.netSummary>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.netSummary article{background:#fafafa;border-radius:10px;padding:12px}.netSummary article small{color:var(--muted);font-size:7px;font-weight:800}.netSummary article strong{margin:3px 0;font-size:21px;display:block}.netSummary article p{color:var(--success);align-items:center;gap:3px;margin:0;font-size:7px;display:flex}.netSummary>a{color:var(--primary-dark);align-items:center;gap:5px;margin-top:12px;font-size:8px;font-weight:800;display:flex}.netChart{border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px;padding:7px 0 22px 32px;position:relative}.chartAxis{color:var(--muted);flex-direction:column;justify-content:space-between;font-size:7px;display:flex;position:absolute;top:5px;bottom:20px;left:5px}.chartArea{background:repeating-linear-gradient(#0000 0 39px,#f1eff2 40px);grid-template-columns:repeat(8,1fr);align-items:end;gap:8px;height:160px;display:grid}.chartGroup{justify-content:center;align-items:end;gap:3px;height:100%;display:flex;position:relative}.chartGroup>i{border-radius:4px 4px 1px 1px;width:8px;min-height:5px}.chartGroup .tytBar{background:var(--primary-strong)}.chartGroup .aytBar{background:#60a5fa}.chartGroup>span{color:var(--muted);font-size:7px;position:absolute;bottom:-15px}.chartLegend{gap:10px;font-size:7px;display:flex;position:absolute;top:-3px;right:0}.chartLegend span{align-items:center;gap:4px;display:flex}.chartLegend i{border-radius:2px;width:7px;height:7px}.chartLegend i.tyt{background:var(--primary-strong)}.chartLegend i.ayt{background:#60a5fa}.studentStats.compact{margin-top:14px}.dashboardAssignment{border-top:1px solid var(--line);grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:12px 0;display:grid}.dashboardAssignment>i{border-radius:3px;width:9px;height:9px}.dashboardAssignment>i.assigned{background:#60a5fa}.dashboardAssignment>i.submitted{background:#facc15}.dashboardAssignment>i.approved{background:#4ade80}.dashboardAssignment>div{flex-direction:column;gap:2px;display:flex}.dashboardAssignment span{color:var(--muted);font-size:8px}.dashboardAssignment strong{font-size:10px}.dashboardAssignment>b{border-radius:99px;padding:5px 7px;font-size:7px}.dashboardAssignment>b.assigned{color:#1d4ed8;background:#dbeafe}.dashboardAssignment>b.submitted{color:#a16207;background:#fef3c7}.dashboardAssignment>b.approved{color:#15803d;background:#dcfce7}.notificationWrap{position:relative}.notificationPanel{z-index:60;border:1px solid var(--line);overscroll-behavior:contain;scrollbar-width:thin;background:#fff;border-radius:14px;width:min(390px,100vw - 28px);max-height:min(680px,100dvh - 96px);padding:10px;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 18px 45px #20122129}.notificationPanel>div{justify-content:space-between;align-items:center;padding:4px 5px 10px;display:flex}.notificationPanel>div strong{font-size:11px}.notificationPanel>div button{color:var(--primary-dark);background:0 0;border:0;padding:0;font-size:8px;font-weight:800}.notificationPanelHeader{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;margin:-10px -10px 0;position:sticky;top:-10px;padding:14px 15px 11px!important}.notificationPanelActions{align-items:center;gap:9px;display:flex}.notificationPanelActions button{white-space:nowrap}.notificationPanelActions button.clear{color:#b91c1c}.notificationEmpty{color:var(--muted);text-align:center;margin:0;padding:30px 12px;font-size:9px}.notificationPanel article{border-top:1px solid var(--line);grid-template-columns:8px 1fr;gap:9px;padding:11px 7px;display:grid}.notificationPanel article>i{border-radius:50%;width:7px;height:7px;margin-top:4px}.notificationPanel article>i.purple{background:var(--primary)}.notificationPanel article>i.blue{background:#3b82f6}.notificationPanel article p{flex-direction:column;gap:3px;margin:0;display:flex}.notificationPanel article strong{font-size:9px}.notificationPanel article span,.notificationPanel article small{color:var(--muted);font-size:8px}.championCelebrationBackdrop{z-index:200;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1c0f1d9e;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:hidden}.confettiLayer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confettiLayer i{border-radius:2px;width:9px;height:15px;animation-name:confettiFall;animation-timing-function:cubic-bezier(.2,.7,.4,1);animation-iteration-count:infinite;position:absolute;top:-22px}@keyframes confettiFall{0%{opacity:1;translate:0 -20px;rotate:none}to{opacity:.9;translate:42px 110vh;rotate:680deg}}.championCelebration{text-align:center;background:radial-gradient(circle at 50% 0,#fff4c2 0,#fff 38%,#fff8ff 100%);border:1px solid #f4c7f0;border-radius:24px;width:min(540px,100%);padding:30px;position:relative;box-shadow:0 30px 90px #14081657}.championClose{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fffc;border-radius:10px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.championTrophy{color:#92400e;background:linear-gradient(145deg,#fef08a,#fbbf24);border-radius:22px;place-items:center;width:70px;height:70px;margin:0 auto 12px;display:grid;box-shadow:0 12px 28px #f59e0b40}.championCelebration>span{color:var(--primary-strong);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:5px;font-size:8px;font-weight:900;display:flex}.championCelebration h2{letter-spacing:-.04em;margin:7px 0 6px;font-size:26px}.championCelebration>p{max-width:390px;color:var(--muted);margin:0 auto 18px;font-size:10px;line-height:1.55}.championWinners{grid-template-columns:1fr 1fr;gap:9px;display:grid}.championWinners article{text-align:left;background:#ffffffd9;border:1px solid #ead6ec;border-radius:13px;align-items:center;gap:10px;padding:14px;display:flex}.championWinners article>b{font-size:23px}.championWinners article span{flex-direction:column;gap:3px;min-width:0;display:flex}.championWinners small{color:var(--muted);letter-spacing:.08em;font-size:6px;font-weight:900}.championWinners strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.championWinners em{color:var(--primary-dark);font-size:8px;font-style:normal;font-weight:800}.championContinue{width:100%;margin-top:14px}.championDisclosure{color:var(--muted);margin-top:10px;font-size:7px;display:block}.dashboardHourForm.compact{grid-template-columns:minmax(190px,280px) auto 1fr}.dashboardHourForm.compact small{color:var(--muted);align-self:center;font-size:8px;line-height:1.5}.connectedNetChart{min-width:0;min-height:220px;padding-top:22px;position:relative}.connectedNetChart canvas{width:100%;height:195px;display:block}.dashboardSeparatedCharts{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.dashboardSeparatedCharts.cols1{grid-template-columns:minmax(0,1fr)}.dashboardSeparatedCharts.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.lineChartLegend{color:var(--muted);gap:12px;font-size:8px;display:flex;position:absolute;top:0;right:4px}.lineChartLegend span{align-items:center;gap:5px;display:flex}.lineChartLegend i{border-radius:3px;width:16px;height:3px}.lineChartLegend i.tyt{background:#9810a8}.lineChartLegend i.ayt{background:#3b82f6}.lineChartLegend i.lgs{background:#0d9488}.programActions,.programOwnerLegend{align-items:center;gap:9px;display:flex}.programOwnerLegend{flex-wrap:wrap;margin-bottom:14px}.programOwnerLegend span{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.programOwnerLegend i{border:1px solid var(--line);border-radius:3px;width:11px;height:11px}.programOwnerLegend i.studentOwned{background:#fff}.programOwnerLegend i.coachOwned{background:#fae8ff;border-color:#e9b9ed}.studentEvent{position:relative}.studentEvent.coachOwned{background:#fff6ff;border-color:#e9b9ed}.eventOwner{color:var(--muted);letter-spacing:.08em;background:#f4f4f5;border-radius:99px;padding:3px 5px;font-size:6px;position:absolute;top:8px;right:8px}.studentEvent.coachOwned .eventOwner{color:var(--primary-dark);background:#f5d8f7}.eventEditFields{flex-direction:column;gap:7px;padding-top:15px;display:flex}.eventEditFields input{border:1px solid var(--line);width:100%;height:32px;color:var(--ink);background:#fff;border-radius:7px;outline:0;padding:0 8px;font-size:8px}.eventEditFields input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.sourceTabs{border:1px solid var(--line);background:#fff;border-radius:12px;gap:5px;margin-bottom:14px;padding:5px;display:flex;overflow-x:auto}.sourceTabs button{min-height:37px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:8px;font-weight:800;display:inline-flex}.sourceTabs button.active{color:#fff;background:var(--primary-strong);box-shadow:0 5px 12px #9810a82e}.subjectTabs{gap:6px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.subjectTabs button{border:1px solid var(--line);min-height:31px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:99px;padding:0 10px;font-size:8px;font-weight:800}.subjectTabs button.active{color:var(--primary-dark);background:#fff5ff;border-color:#d898dc}.studentViewTabs{border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;width:fit-content;margin-bottom:12px;padding:4px;display:flex}.studentViewTabs button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:8px;font-weight:800}.studentViewTabs button.active{color:#fff;background:var(--primary-strong)}.dailyPlanCard{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:14px;padding:18px}.dailyPlanNavigator{grid-template-columns:34px 1fr 34px;align-items:center;gap:10px;margin-bottom:14px;display:grid}.dailyPlanNavigator>button{border:1px solid var(--line);width:34px;height:34px;color:var(--primary-dark);background:#fff;border-radius:8px;place-items:center;display:grid}.dailyPlanNavigator>button:disabled{opacity:.35}.dailyPlanNavigator>div{text-align:center;flex-direction:column;gap:2px;display:flex}.dailyPlanNavigator span{color:var(--muted);font-size:8px}.dailyPlanNavigator strong{font-size:14px}.dailyPlanEditBar{background:#fafafa;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:-2px 0 12px;padding:8px 10px;display:flex}.dailyPlanEditBar>span{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.dailyPlanEditBar>button{border:1px solid var(--line);min-height:31px;color:var(--primary-dark);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:8px;font-weight:800;display:flex}.dailyPlanEditBar>button.active{color:#fff;background:var(--primary-strong)}.dailyPlanList{flex-direction:column;gap:8px;display:flex}.dailyPlanRow{border:1px solid var(--line);border-radius:10px;grid-template-columns:29px auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:7px 10px;transition:opacity .18s,background .18s;display:grid}.dailyPlanRow.studentOwned:not(.editing){grid-template-columns:29px minmax(0,1fr) auto}.dailyPlanRow.editing{grid-template-columns:auto minmax(0,1fr) auto}.dailyPlanRow.studentOwned{color:var(--muted);background:#fff}.dailyPlanRow.coachOwned{color:var(--primary-dark);background:#fff3ff;border-color:#e6b8ea}.dailyPlanRow.homeworkOwned{color:#4c1d95;background:#f5f3ff;border-color:#c4b5fd}.dailyPlanRow.homeworkOwned .dailyPlanHomeworkTag{color:#6d28d9;margin-top:2px;font-size:10px;display:block}.programOwnerLegend i.homeworkOwned{background:#f5f3ff;border-color:#c4b5fd}.planReviewItem.homeworkOwned{color:#4c1d95;background:#f5f3ff;border-color:#c4b5fd}.planReviewItem.homeworkOwned.interactive{cursor:pointer;text-align:left;width:100%;font:inherit}.planReviewItem.homeworkOwned.interactive:hover{background:#ede9fe}.dailyPlanRow.completed{opacity:1;background:#f0fdf4;border-color:#bbf7d0}.dailyPlanRow.completed span{color:#15803d;font-weight:700;text-decoration:line-through;text-decoration-thickness:1px}.dailyPlanRow input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:10px;font-weight:700}.dailyPlanRow span{font-size:10px;font-weight:700}.dailyPlanRow>button{color:#b91c1c;background:#fef2f2;border:0;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.dailyPlanRow>.dailyTodoCheck{color:#fff;background:#fff;border:1px solid #cbc6cd;border-radius:7px;justify-content:center;align-items:center;width:21px;height:21px;padding:0;line-height:0;display:inline-flex}.dailyPlanRow>.dailyTodoCheck svg{flex:none;display:block}.dailyPlanRow.completed>.dailyTodoCheck{background:#16a34a;border-color:#16a34a}.dailyPlanRow>.dailyPlanDelete{justify-self:end}.emptyDailyPlan{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;margin:0;padding:22px;font-size:9px}.dailyPlanAdd,.weeklyPlanAdd{color:var(--primary-dark);background:#fff9ff;border:1px dashed #dba8de;border-radius:8px;justify-content:center;align-items:center;gap:5px;font-size:8px;font-weight:800;display:flex}.dailyPlanAdd{min-height:36px;margin-top:10px;padding:0 12px}.simpleWeeklyPlan{overflow:visible}.weeklyStudyCard{background:#fff;border:1px solid #e4e4e7;border-radius:16px;margin-bottom:16px;padding:14px;overflow:hidden;box-shadow:0 7px 24px #1e0f1e09}.weeklyStudyHead{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.weeklyStudyHead>div:first-child>span{color:#a21caf;letter-spacing:.08em;font-size:10px;font-weight:900}.weeklyStudyHead h2{color:#18181b;margin:3px 0 0;font-size:15px}.weeklyStudyWeekNav{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.weeklyStudyWeekNav strong{color:#18181b;text-align:center;min-width:140px;font-size:13px}.weeklyStudyWeekNav button{color:#a21caf;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.weeklyStudyWeekNav button:hover{background:#fdf4ff}.weeklyStudySummary{background:0 0;border:0;align-items:center;gap:10px;margin-bottom:10px;padding:0;display:flex}.weeklyStudySummary article{color:#a21caf;background:#fff;border:1px solid #e4e4e7;border-radius:8px;align-items:center;gap:8px;min-width:160px;padding:8px 10px;display:flex}.weeklyStudySummary article span{color:#71717a;flex-direction:column;gap:2px;font-size:10px;display:flex}.weeklyStudySummary article strong{color:#18181b;font-size:13px}.weeklyStudySummary>p{color:#a1a1aa;margin:0 0 0 auto;font-size:10px}.weeklyStudyScroller{padding-bottom:2px;overflow-x:auto}.questionTrackingTable{border-collapse:separate;border-spacing:0 2px;table-layout:fixed;width:max-content;min-width:100%}.questionTrackingTable caption{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.questionTrackingTable th,.questionTrackingTable td{text-align:center;height:38px;padding:4px 6px}.questionTrackingTable thead th{color:#fff;background:#1e1b4b;min-width:52px;font-size:10px;font-weight:800}.questionTrackingTable thead th:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px;width:64px;min-width:64px}.questionTrackingTable thead th:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px;width:44px;min-width:44px}.questionTrackingTable tbody tr{background:#fff}.questionTrackingTable tbody tr:nth-child(odd){background:#fafafa}.questionTrackingTable tbody th{color:#18181b;background:inherit;text-align:left;border-top-left-radius:4px;border-bottom-left-radius:4px;width:64px;min-width:64px}.questionTrackingTable tbody th strong{font-size:11px;display:block}.questionTrackingTable tbody th small{color:#71717a;font-size:9px;font-weight:500;display:block}.questionTrackingTable tbody td{background:inherit;min-width:52px}.questionTrackingTable tbody td:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;width:44px;min-width:44px}.questionTrackingTable input{color:#18181b;text-align:center;background:#fff;border:1px solid #e4e4e7;border-radius:5px;outline:0;width:40px;height:28px;padding:0 2px;font-size:12px;font-weight:650}.questionTrackingTable input:hover{border-color:#d4d4d8}.questionTrackingTable input:focus{background:#fdf4ff;border-color:#a21caf;box-shadow:0 0 0 2px #fae8ff}.questionTrackingTable td:last-child strong{color:#71717a;font-size:12px}.questionTrackingTable tfoot th,.questionTrackingTable tfoot td{color:#71717a;background:#fdf4ff;height:40px;padding:5px 6px;font-size:12px;font-weight:900}.questionTrackingTable tfoot th{color:#a21caf;text-align:left;border-top-left-radius:6px;border-bottom-left-radius:6px;font-size:11px}.questionTrackingTable tfoot td:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.weeklyDurationSection{border-top:1px solid var(--line);background:#fcfbfc;padding:18px}.weeklyDurationSection>div:first-child>span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:900}.weeklyDurationSection h3{margin:4px 0;font-size:12px}.weeklyDurationSection p{color:var(--muted);margin:0 0 12px;font-size:8px}.weeklyDurationGrid{grid-template-columns:repeat(7,minmax(100px,1fr));gap:7px;display:grid}.weeklyDurationGrid label{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:9px;display:grid}.weeklyDurationGrid label>span{color:var(--ink);grid-column:1/-1;justify-content:space-between;font-size:8px;font-weight:800;display:flex}.weeklyDurationGrid label small{color:var(--muted);font-size:6px;font-weight:500}.weeklyDurationGrid input{border:1px solid var(--line);border-radius:7px;outline:0;width:58px;height:31px;padding:0 6px;font-size:9px}.weeklyDurationGrid b{color:var(--muted);font-size:7px}.weeklyStudyTable{border-collapse:collapse;min-width:1160px}.weeklyStudyTable th,.weeklyStudyTable td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.weeklyStudyTable thead th{color:#625c65;text-align:center;background:#fafafa;padding:10px 7px;font-size:8px}.weeklyStudyTable thead th:first-child{text-align:left;min-width:120px}.weeklyStudyTable thead small{color:var(--muted);margin-top:2px;font-size:6px;font-weight:500;display:block}.weeklyStudyTable tbody>tr>th{color:var(--ink);text-align:left;background:#fcfbfc;padding:10px;font-size:9px}.weeklyStudyTable td{vertical-align:top;min-width:145px;padding:7px;position:relative}.weeklyStudyTable td label{grid-template-columns:32px 1fr;align-items:center;gap:5px;display:grid}.weeklyStudyTable td label+label{margin-top:5px}.weeklyStudyTable td label span{color:var(--muted);text-transform:uppercase;font-size:6px;font-weight:800}.weeklyStudyTable td input{border:1px solid var(--line);border-radius:7px;outline:0;width:100%;height:29px;padding:0 7px;font-size:8px}.weeklyStudyTable td input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.readOnlyQuestionCell{text-align:center;width:100%;color:var(--ink);padding:4px 0;font-size:13px;font-weight:600;display:block}.dailyStudyTotal{color:var(--primary-dark);text-align:right;margin-top:5px;font-size:6px;font-weight:800;display:block}.planReviewCard{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:12px;padding:14px}.planReviewHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.planReviewHead span{color:var(--muted);letter-spacing:.08em;font-size:7px;font-weight:800}.planReviewHead h2{margin:2px 0 0;font-size:13px}.planReviewWeekNav{align-items:center;gap:8px;display:flex}.planReviewWeekNav strong{color:var(--muted);text-align:center;min-width:120px;font-size:9px}.planReviewWeekNav button{border:1px solid var(--line);cursor:pointer;width:26px;height:26px;color:var(--ink);background:#fff;border-radius:8px;place-items:center;display:grid}.planReviewWeekNav button:hover{border-color:var(--primary);color:var(--primary-dark)}.planReviewScore{border:1px solid var(--line);background:#fafafa;border-radius:12px;margin-bottom:12px;padding:12px}.planReviewScore.great{background:#f0fdf4;border-color:#bbf7d0}.planReviewScore.ok{background:#fefce8;border-color:#fde68a}.planReviewScore.low{background:#fef2f2;border-color:#fecaca}.planReviewPercent{align-items:baseline;gap:8px;display:flex}.planReviewPercent strong{letter-spacing:-.02em;font-size:26px}.planReviewPercent span{color:var(--muted);font-size:9px;font-weight:700}.planReviewBar{background:#e9e5ea;border-radius:99px;height:7px;margin:8px 0;overflow:hidden}.planReviewBar i{background:var(--primary);border-radius:99px;height:100%;transition:width .3s;display:block}.planReviewScore p{color:var(--ink);align-items:center;gap:5px;margin:0;font-size:9px;font-weight:600;display:flex}.planReviewDays{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:7px;display:grid}.planReviewDay{border:1px solid var(--line);background:#fafafa;border-radius:12px;padding:9px}.planReviewDay>strong{flex-direction:column;gap:2px;margin-bottom:6px;font-size:9px;display:flex}.planReviewDay>strong small{color:var(--muted);font-size:7px;font-weight:500}.planReviewItem{background:#fff;border:1px solid #e9e5ea;border-radius:9px;align-items:flex-start;gap:5px;margin-bottom:5px;padding:6px 7px;display:flex}.planReviewItem.coachOwned{background:#fff3ff;border-color:#e6b8ea}.planReviewItem i{color:#fff;border:1.5px solid #d4d0d5;border-radius:5px;flex:none;place-items:center;width:14px;height:14px;margin-top:1px;display:grid}.planReviewItem.done i{background:#16a34a;border-color:#16a34a}.planReviewItem.done span{color:#15803d;font-weight:700;text-decoration:none}.planReviewItem span{align-items:center;gap:4px;font-size:9px;font-weight:600;line-height:1.4;display:flex}.planReviewEmpty{color:var(--muted);margin:0;font-size:8px}.simplePlanGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;display:grid}.simplePlanDay{border:1px solid var(--line);background:#fafafa;border-radius:12px;padding:9px}.simplePlanDay>strong{flex-direction:column;gap:2px;min-height:30px;font-size:9px;display:flex}.simplePlanDay>strong small{color:var(--muted);font-size:7px;font-weight:500}.simplePlanCell{background:#fff;border:1px solid #e9e5ea;border-radius:9px;place-items:center;min-height:58px;margin-bottom:7px;display:grid}.simplePlanCell.coachOwned{color:var(--primary-dark);background:#fff3ff;border-color:#e6b8ea}.simplePlanCell span{text-align:center;align-items:center;gap:4px;padding:8px;font-size:9px;font-weight:700;display:flex}.simplePlanCell input{border-radius:inherit;text-align:center;width:100%;min-height:56px;color:var(--ink);background:0 0;border:0;outline:0;padding:8px;font-size:9px;font-weight:700}.weeklyPlanAdd{width:100%;min-height:30px}.weeklyPaperPlans{background:#fffbff;border:1px solid #e8d8e9;border-radius:11px;margin-bottom:13px;padding:11px}.weeklyPaperPlanHead{justify-content:space-between;align-items:center;gap:12px;display:flex}.weeklyPaperPlanHead>span{grid-template-columns:auto 1fr;align-items:center;gap:2px 7px;min-width:0;display:grid}.weeklyPaperPlanHead>span>svg{color:var(--primary-strong);grid-row:span 2}.weeklyPaperPlanHead strong{font-size:9px}.weeklyPaperPlanHead small{color:var(--muted);font-size:7px}.weeklyPaperPlanHead>input{display:none}.weeklyPaperPlanHead>button{min-height:32px;color:var(--primary-dark);white-space:nowrap;background:#fff;border:1px solid #dbabdf;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:8px;font-weight:800;display:flex}.weeklyUploadError{color:#b91c1c;margin:8px 0 0;font-size:8px}.weeklyDocumentEditor{background:#fff;border:1px solid #d9b8dc;border-radius:10px;margin-top:10px;padding:11px}.weeklyDocumentEditor>input{display:none}.documentEditSteps{grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:6px;margin-bottom:10px;display:grid}.documentEditSteps b{color:var(--muted);background:#f4f4f5;border-radius:99px;padding:5px 7px;font-size:7px}.documentEditSteps b.active{color:#7e22ce;background:#f3e8ff}.documentEditSteps b.done{color:#15803d;background:#dcfce7}.documentEditSteps i{background:var(--line);height:1px}.documentUploadButton{min-height:35px;color:var(--primary-dark);background:#fff8ff;border:1px dashed #c987ce;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-size:8px;font-weight:800;display:flex}.stagedDocument{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;min-height:45px;padding:8px;display:grid}.stagedDocument>svg{color:var(--primary-strong)}.stagedDocument>span{flex-direction:column;gap:2px;min-width:0;display:flex}.stagedDocument strong{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.stagedDocument small{color:var(--muted);font-size:7px}.stagedDocument a,.stagedDocument button,.stagedDocument>b{color:#6b21a8;background:#faf5ff;border:1px solid #d8b4fe;border-radius:7px;align-items:center;gap:4px;min-height:29px;padding:0 8px;font-size:7px;font-weight:800;text-decoration:none;display:flex}.stagedDocument>b{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.documentEditorActions{justify-content:flex-end;gap:7px;margin-top:10px;display:flex}.documentEditorActions button{align-items:center;gap:5px;display:flex}.weeklyDocumentList{flex-direction:column;margin-top:9px;display:flex}.weeklyDocumentList>article{border-top:1px solid var(--line);align-items:center;gap:8px;min-height:43px;padding:7px 0;display:flex}.weeklyDocumentList>article>svg{color:var(--primary-strong)}.weeklyDocumentList article>span{flex-direction:column;flex:1;gap:2px;min-width:100px;display:flex}.weeklyDocumentList article strong{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.weeklyDocumentList article small{color:var(--muted);font-size:7px}.weeklyDocumentList article a{color:#fff;background:var(--primary-strong);border-radius:7px;align-items:center;gap:4px;min-height:28px;padding:0 8px;font-size:7px;font-weight:800;text-decoration:none;display:flex}.weeklyDocumentList article>button{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:4px;min-height:28px;padding:0 7px;font-size:7px;font-weight:800;display:flex}.weeklyDocumentList .documentRemoveButton{color:#b91c1c;border-color:#fecaca;place-items:center;width:28px;padding:0;display:grid}.documentStatus{border-radius:99px;padding:4px 6px;font-size:7px}.documentStatus.assigned{color:#1d4ed8;background:#dbeafe}.documentStatus.submitted{color:#a16207;background:#fef3c7}.documentStatus.approved{color:#15803d;background:#dcfce7}.documentSubmitButton,.documentApproveButton{color:#15803d;background:#f0fdf4!important;border-color:#bbf7d0!important}.documentUndoButton{color:#92400e;background:#fffbeb!important;border-color:#fde68a!important}.weeklyDocumentList>p{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;margin:8px 0 0;padding:10px;font-size:7px}.monthlyPlanCard{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:14px;padding:16px}.monthlyPlanHead{grid-template-columns:34px 1fr 34px;align-items:center;gap:10px;margin-bottom:13px;display:grid}.monthlyPlanHead strong{text-align:center;text-transform:capitalize;font-size:13px}.monthlyPlanHead button{border:1px solid var(--line);width:34px;height:34px;color:var(--primary-dark);background:#fff;border-radius:8px;place-items:center;display:grid}.monthlyWeekdays,.monthlyPlanGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.monthlyWeekdays{margin-bottom:6px}.monthlyWeekdays span{color:var(--muted);text-align:center;font-size:7px;font-weight:800}.monthlyPlanGrid>button,.emptyMonthCell{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:92px}.monthlyPlanGrid>button{text-align:left;flex-direction:column;gap:5px;padding:7px;display:flex;overflow:hidden}.monthlyPlanGrid>button:hover,.monthlyPlanGrid>button.selected{background:#fff8ff;border-color:#d696da}.monthlyPlanGrid>button>strong{font-size:9px}.monthlyPlanGrid>button>span{flex-direction:column;gap:3px;min-width:0;display:flex}.monthlyPlanGrid i{text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:3px 4px;font-size:6px;font-style:normal;overflow:hidden}.monthlyPlanGrid i.studentOwned{color:#334155;background:#f1f5f9}.monthlyPlanGrid i.coachOwned{color:var(--primary-dark);background:#fae8ff}.monthlyPlanGrid small{color:var(--muted);font-size:6px}.emptyMonthCell{background:#fafafa;border-color:#0000}.monthlyPlanHint{color:var(--muted);text-align:center;margin:12px 0 0;font-size:8px}.curriculumMatrix{min-width:820px}.curriculumMatrix th input,.curriculumMatrix td:first-child input{border:1px solid var(--line);background:#fff;border-radius:6px;outline:0;width:100%;height:31px;padding:0 7px;font-size:8px}.matrixCellWrap{display:inline-block;position:relative}.matrixCellMenu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:10px;width:205px;padding:8px;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #190f1a29}.matrixCellMenu button{width:100%;min-height:32px;color:var(--ink);background:#f7f5f7;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:8px;font-weight:800;display:flex}.matrixCellMenu button.close{border:1px solid var(--line);background:#fff;border-radius:50%;width:22px;min-height:22px;padding:0;position:absolute;top:-7px;right:-7px}.matrixEditActions{gap:8px;margin-top:13px;display:flex}.matrixEditActions button{min-height:34px;color:var(--primary-dark);background:#fff7ff;border:1px solid #dfb5e2;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:8px;font-weight:800;display:flex}.heatLegend.mrcLegend .empty,.heatmapGrid.mrcHeatmap .empty{background:#e5e7eb}.heatLegend.mrcLegend .level-0,.heatmapGrid.mrcHeatmap .level-0{background:#991b1b}.heatLegend.mrcLegend .level-1,.heatmapGrid.mrcHeatmap .level-1{background:#c2410c}.heatLegend.mrcLegend .level-2,.heatmapGrid.mrcHeatmap .level-2{background:#ca8a04}.heatLegend.mrcLegend .level-3,.heatmapGrid.mrcHeatmap .level-3{background:#65a30d}.heatLegend.mrcLegend .level-4,.heatmapGrid.mrcHeatmap .level-4{background:#16a34a}.heatmapMonths.mrcMonths{grid-template-columns:repeat(53,14px);gap:4px;min-width:950px;margin-left:32px}.heatmapBody:has(.mrcHeatmap){gap:8px;min-width:986px}.heatmapGrid.mrcHeatmap,.heatmapGrid.mrcHeatmap .heatmapWeek{gap:4px}.heatmapGrid.mrcHeatmap i,.heatmapGrid.mrcHeatmap button,.heatLegend.mrcLegend i{border-radius:3px;width:14px;height:14px}.heatmapGrid.mrcHeatmap i.today,.heatmapGrid.mrcHeatmap button.today{outline:2px solid var(--ink);outline-offset:1px}.heatmapDays.mrcDays{height:122px}.simpleMatrixLegend{color:var(--muted);align-items:center;gap:13px;font-size:8px;display:flex}.simpleMatrixLegend span{align-items:center;gap:5px;display:flex}.simpleMatrixLegend i{background:#fff;border:1px solid #c9c4ca;border-radius:3px;width:11px;height:11px}.simpleMatrixLegend i.topic{background:#f5d8f7;border-color:#c484ca}.simpleSourceMatrix .simpleCheck{color:#fff;background:#fff;border:1px solid #d8d3d9;border-radius:6px;place-items:center;width:27px;height:27px;padding:0;display:inline-grid}.simpleSourceMatrix .simpleCheck:hover{border-color:var(--primary)}.simpleSourceMatrix .simpleCheck.checked{border-color:var(--primary);background:var(--primary)}.simpleSourceMatrix .simpleCheck.topicDone.checked{background:#16a34a;border-color:#15803d}.simpleSourceMatrix tr.topicCompleted td:first-child strong{color:#374151}.studentAdminSummary,.studentDetailStats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px;display:grid}.studentAdminSummary article{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;padding:16px;display:flex}.studentAdminSummary strong{font-size:22px}.studentAdminSummary span{color:var(--muted);font-size:9px}.studentFilters{gap:8px}.studentFilters label{border:1px solid var(--line);height:38px;color:var(--muted);background:#fff;border-radius:9px;align-items:center;gap:5px;padding:0 9px;display:flex}.studentFilters select{color:var(--ink);background:0 0;border:0;outline:0;font-size:9px}.studentFilters{flex-wrap:wrap;align-items:center}.filterResetButton{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;align-items:center;gap:5px;height:38px;padding:0 11px;font-size:9px;font-weight:800;display:inline-flex}.filterResetButton:hover{background:#fee2e2}.filterResultCount{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:9px;font-weight:700}.studentTableLink{color:inherit;flex-direction:column;text-decoration:none;display:flex}.staffNameCell{flex-direction:row;align-items:center;gap:9px}.staffNameCell small{color:var(--muted);margin-top:2px;font-size:7px;display:block}.staffAvatar.small{flex:0 0 28px;width:28px;height:28px;font-size:9px}.staffRowSelected{background:#fff7f7}.staffRowSelectable{cursor:pointer}.staffRowSelected td{border-color:#fecaca}.mutedCell{color:var(--muted)}.studentTableLink:hover strong{color:var(--primary-strong)}.responsiveTable td small{color:var(--muted);margin-top:3px;font-size:7px;display:block}.adminModalBackdrop{z-index:100;background:#190f1a7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.adminStudentModal{background:#fff;border-radius:18px;width:min(850px,100%);max-height:calc(100dvh - 48px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #140a153d}.adminModalHead{justify-content:space-between;align-items:flex-start;margin-bottom:17px;display:flex}.adminModalHead span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:800}.adminModalHead h2{margin:4px 0 0;font-size:19px}.adminModalHead>button{border:1px solid var(--line);background:#fff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.adminFormSection{border-top:1px solid var(--line);padding:15px 0}.adminFormSection h3{margin:0 0 11px;font-size:11px}.adminFormGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.adminFormGrid label{color:var(--muted);flex-direction:column;gap:5px;font-size:8px;font-weight:800;display:flex}.adminFormGrid input,.adminFormGrid select,.lessonBuilder input,.lessonBuilder select{border:1px solid var(--line);width:100%;height:37px;color:var(--ink);background:#fff;border-radius:8px;outline:0;padding:0 9px;font-size:9px}.adminFormGrid input:focus,.adminFormGrid select:focus,.lessonBuilder input:focus,.lessonBuilder select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.lessonBuilder{grid-template-columns:1fr 1.2fr 90px auto;gap:8px;display:grid}.lessonBuilder button,.matrixEditActions button{min-height:37px;color:var(--primary-dark);background:#fff7ff;border:1px solid #dfb5e2;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 11px;font-size:8px;font-weight:800;display:flex}.lessonChips{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.lessonChips>span{color:var(--primary-dark);background:#fae8ff;border-radius:99px;padding:6px 8px;font-size:8px}.lessonChips button{color:inherit;background:0 0;border:0;font-weight:900}.adminModalActions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:15px;display:flex}.adminStudentHero{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:15px;padding:20px;display:grid}.staffAvatar.large{width:54px;height:54px;font-size:15px}.adminStudentHero span{color:var(--primary-strong);letter-spacing:.1em;font-size:8px;font-weight:800}.adminStudentHero h1{margin:3px 0;font-size:21px}.adminStudentHero p{color:var(--muted);margin:0;font-size:9px}.studentDetailStats{grid-template-columns:repeat(4,1fr)}.studentDetailStats article{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:12px;gap:10px;padding:15px;display:flex}.studentDetailStats article div{flex-direction:column;gap:2px;display:flex}.studentDetailStats span,.studentDetailStats small{color:var(--muted);font-size:8px}.studentDetailStats strong{color:var(--ink);font-size:11px}.studentDetailGrid,.parentDashboardGrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.detailCard{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px}.detailCard.wide{grid-column:span 2}.announcementsFeed{border-color:color-mix(in srgb, var(--primary) 30%, var(--line));background:color-mix(in srgb, var(--primary) 4%, white);margin-bottom:18px}.announcementsFeedHead{color:var(--primary-dark);align-items:center;gap:8px;margin-bottom:10px;display:flex}.announcementsFeedHead h2{margin:0;font-size:13px;font-weight:800}.announcementsFeedList{margin:0;padding:0;list-style:none}.announcementsFeedList li{border-top:1px solid var(--line);padding:10px 0}.announcementsFeedList li:first-child{border-top:0}.announcementsFeedList strong{color:#18181b;font-size:13px;display:block}.announcementsFeedList p{color:#52525b;margin:3px 0 0;font-size:13px;line-height:1.4}.announcementsFeedList small{color:#a1a1aa;margin-top:4px;font-size:11px;display:block}.examLevelTabs{border:1px solid var(--line);background:#fafafa;border-radius:11px;align-items:center;gap:2px;padding:3px;display:inline-flex}.examLevelTabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:5px 13px;font-size:12px;font-weight:700}.examLevelTabs button:hover{color:var(--primary-dark)}.examLevelTabs button.active{background:var(--primary);color:#fff}@media (max-width:720px){.examLevelTabs button{padding:5px 9px;font-size:11px}}.demoModeBanner{z-index:100;color:#fff;text-align:center;background:#b45309;justify-content:center;align-items:center;gap:9px;padding:9px 16px;font-size:12px;line-height:1.5;display:flex;position:sticky;top:0}.demoModeBanner strong{margin-right:6px}.demoModeBanner svg{flex-shrink:0}.coachNotifyToggle{cursor:pointer;align-items:flex-start;gap:11px;padding:12px 0;display:flex}.coachNotifyToggle input{width:17px;height:17px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.coachNotifyToggle span{flex-direction:column;gap:4px;display:flex}.coachNotifyToggle strong{color:var(--ink);font-size:13px}.coachNotifyToggle small{color:var(--muted);font-size:11px;line-height:1.6}.weeklyTargetError{color:#b91c1c;margin:0 0 8px;font-size:12px;font-weight:600}.announcementsFeedHead h2{flex:1}.announcementComposeToggle{border:1px solid color-mix(in srgb, var(--primary) 35%, var(--line));color:var(--primary-dark);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:800;display:inline-flex}.announcementComposeToggle:hover{background:color-mix(in srgb, var(--primary) 8%, white)}.announcementComposer{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;display:flex}.announcementComposer input,.announcementComposer textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);border-radius:9px;padding:9px 11px;font-size:13px}.announcementComposer textarea{resize:vertical}.announcementComposer>small{color:var(--muted);font-size:11px}.announcementFeedSuccess{color:#15803d;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:700;display:flex}.announcementFeedEmpty{color:var(--muted);margin:0;padding:10px 0;font-size:12px}.announcementFeedError{color:#b91c1c;margin:0 0 8px;font-size:12px;font-weight:600}.announcementsMoreButton{border:1px dashed color-mix(in srgb, var(--primary) 35%, var(--line));width:100%;color:var(--primary-dark);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:8px;font-size:12px;font-weight:700;display:flex}.announcementsMoreButton:hover{background:color-mix(in srgb, var(--primary) 7%, white)}.announcementsMoreButton .rotated{transform:rotate(180deg)}.announcementOwnerActions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.announcementOwnerActions em{color:#b45309;flex:1;font-size:11px;font-style:normal}.announcementOwnerActions button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.announcementOwnerActions button:hover{color:var(--primary-dark);border-color:color-mix(in srgb, var(--primary) 40%, var(--line))}.announcementOwnerActions .dangerButton{color:#fff;background:#dc2626;border-color:#dc2626}.announcementEditor{flex-direction:column;gap:7px;display:flex}.announcementEditor input,.announcementEditor textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:9px;padding:8px 10px;font-size:13px}.announcementEditor textarea{resize:vertical}.announcementEditorActions{gap:7px;display:flex}.announcementEditorActions button{align-items:center;gap:5px;font-size:12px;display:inline-flex}.detailCard h2{margin:0 0 12px;font-size:12px}.detailCard>p{border-top:1px solid var(--line);color:var(--primary-dark);align-items:flex-start;gap:8px;margin:0;padding:9px 0;display:flex}.detailCard>p span{flex-direction:column;gap:2px;display:flex}.detailCard>p small{color:var(--muted);font-size:7px}.detailCard>p strong{color:var(--ink);font-size:9px}.detailLessonList{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.detailLessonList>div{background:#faf7fa;border-radius:9px;align-items:center;gap:8px;padding:10px;display:flex}.detailLessonList b{width:29px;height:29px;color:var(--primary-dark);background:#fae8ff;border-radius:8px;place-items:center;display:grid}.detailLessonList span{flex-direction:column;display:flex}.detailLessonList strong{font-size:9px}.detailLessonList small{color:var(--muted);font-size:7px}.detailEmpty{border:1px solid var(--line);background:#fff;border-radius:14px;padding:30px}.staffFormModal{width:min(720px,100%)}.adminFormGrid label.inlineCheck{flex-direction:row;align-items:center;min-height:37px}.adminFormGrid label.inlineCheck input{width:16px;height:16px}.staffExamLevelPicker{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;display:flex}.staffExamLevelPicker button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:0 13px;font-size:11px;font-weight:800;display:inline-flex}.staffExamLevelPicker button.active{border-color:var(--primary);color:#fff;background:var(--primary)}.staffExamLevelPicker small{color:var(--muted);flex-basis:100%;font-size:10px}.staffSubjectPicker{flex-wrap:wrap;gap:7px;display:flex}.staffSubjectPicker button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:8px;padding:0 10px;font-size:8px;font-weight:800}.staffSubjectPicker button.active{color:var(--primary-dark);background:#fff2ff;border-color:#d898dc}.founderPermissionNote{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;min-height:37px;padding:9px;font-size:8px;line-height:1.45}.compactAdminModal{width:min(680px,100%)}.founderCoachPanel{margin-top:17px}.founderCoachGrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.founderCoachGrid>a{border:1px solid var(--line);color:var(--primary-dark);border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:11px;display:grid}.founderCoachGrid>a:hover{background:#fffaff;border-color:#dca5e1}.founderCoachGrid span{flex-direction:column;gap:2px;display:flex}.founderCoachGrid strong{color:var(--ink);font-size:9px}.founderCoachGrid small{color:var(--muted);font-size:7px}.founderCoachGrid b{color:var(--primary-dark);background:#fae8ff;border-radius:99px;padding:4px 6px;font-size:7px}.panelShowAllButton{width:100%;color:var(--primary-dark);cursor:pointer;background:#fffaff;border:1px dashed #dca5e1;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:11px;font-weight:800}.panelShowAllButton:hover{background:#fdf4ff;border-style:solid}.qrTerminalDemo{background:#fffaff;border:1px solid #dca5e1;border-radius:15px;grid-template-columns:1fr 150px auto;align-items:center;gap:20px;margin-bottom:15px;padding:20px;display:grid}.qrTerminalDemo span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:800}.qrTerminalDemo h2{margin:5px 0;font-size:15px}.qrTerminalDemo p{color:var(--muted);margin:0;font-size:9px}.terminalScanner{height:120px;color:var(--primary-strong);border:2px dashed #dca5e1;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.terminalScanner i{background:#ef4444;height:2px;animation:1.8s ease-in-out infinite alternate terminalScan;position:absolute;left:10px;right:10px}.qrTerminalDemo>button{border:1px solid var(--line);min-height:38px;color:var(--muted);background:#fff;border-radius:9px;align-items:center;gap:5px;padding:0 11px;font-size:8px;font-weight:800;display:flex}@keyframes terminalScan{0%{top:15px}to{top:103px}}.settingsPanel>div:has(.settingsEditor){align-items:start}.settingsEditor{background:#fafafa;border-radius:10px;grid-column:1/-1;grid-template-columns:1fr 1fr auto;align-items:end;gap:9px;padding:14px;display:grid}.settingsEditor label{color:var(--muted);flex-direction:column;gap:5px;font-size:8px;font-weight:800;display:flex}.settingsEditor input{border:1px solid var(--line);background:#fff;border-radius:8px;height:36px;padding:0 9px}.settingsEditor.checks{flex-wrap:wrap;align-items:center;display:flex}.settingsEditor.checks label{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:row;align-items:center;min-height:34px;padding:0 9px}.settingsEditor.checks input{width:15px;height:15px}.institutionSettingsEditor{grid-template-columns:repeat(3,minmax(0,1fr))}.institutionImmutableInfo{background:#f5f5f6;border:1px solid #e5e7eb;border-radius:11px;grid-column:1/-1;grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr);gap:9px;padding:12px;display:grid}.institutionImmutableInfo>div{color:#6b6570;background:#fff;border:1px solid #e4e4e7;border-radius:9px;align-items:center;gap:9px;min-height:48px;padding:9px 11px;display:flex}.institutionImmutableInfo span{flex-direction:column;gap:3px;display:flex}.institutionImmutableInfo small{color:var(--muted);letter-spacing:.1em;font-size:7px}.institutionImmutableInfo strong{color:var(--ink);font-size:10px}.institutionImmutableInfo em{color:var(--muted);grid-column:1/-1;font-size:7px;font-style:normal}.institutionLogoEditor{border-bottom:1px solid var(--line);grid-column:1/-1;align-items:center;gap:14px;padding-bottom:13px;display:flex}.institutionLogoPreview{color:#fff;background:var(--primary-strong);border:1px solid #ead6ec;border-radius:18px;flex:0 0 82px;place-items:center;width:82px;height:82px;font-size:28px;font-weight:900;display:grid;overflow:hidden}.institutionLogoPreview img{object-fit:contain;background:#fff;width:100%;height:100%}.institutionLogoEditor>div:last-child,.profileImageEditor>div:last-child{flex-wrap:wrap;align-items:flex-start;gap:7px;display:flex}.institutionLogoEditor strong,.institutionLogoEditor small,.profileImageEditor strong,.profileImageEditor small{flex-basis:100%}.institutionLogoEditor small,.profileImageEditor small{color:var(--muted);font-size:8px}.institutionLogoEditor em,.profileImageEditor em{color:#b91c1c;flex-basis:100%;font-size:8px;font-style:normal}.imagePickerButton{cursor:pointer;min-height:34px;padding:0 11px}.imagePickerButton input{display:none}.imageRemoveButton{color:#b91c1c;background:#fff;border:1px solid #fecaca;border-radius:9px;align-items:center;gap:5px;min-height:34px;padding:0 10px;font-size:9px;font-weight:800;display:inline-flex}.institutionSettingsEditor textarea,.studentGoalForm textarea{border:1px solid var(--line);resize:vertical;width:100%;font:inherit;background:#fff;border-radius:8px;padding:9px}.institutionAddressField{grid-column:span 2}.institutionColorInput{cursor:pointer;width:100%!important;padding:4px!important}.institutionToggleField{border:1px solid var(--line);cursor:pointer;background:#fafafa;border-radius:11px;grid-column:1/-1;align-items:flex-start;gap:9px;padding:11px 12px;display:flex}.institutionToggleField input{width:16px;height:16px;accent-color:var(--primary);margin-top:1px}.institutionToggleField strong{font-size:10px;display:block}.institutionToggleField small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.5;display:block}.whatsappEventPicker{border:1px solid var(--line);background:#fafafa;border-radius:11px;grid-column:1/-1;margin-top:10px;padding:12px 13px}.whatsappEventPicker legend{color:var(--primary-dark);letter-spacing:.4px;padding:0 5px;font-size:9px;font-weight:900}.whatsappEventGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;margin-top:8px;display:grid}.whatsappEventOption{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.whatsappEventOption input{width:15px;height:15px;accent-color:var(--primary);margin-top:1px}.whatsappEventOption strong{font-size:10px;display:block}.whatsappEventOption em{color:var(--primary-dark);background:#f3e9f6;border-radius:999px;margin-top:2px;padding:1px 6px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.whatsappEventOption small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.5;display:block}.whatsappEventWarning{color:#9a3412;background:#fff7ed;border-radius:8px;margin-top:9px;padding:8px 10px;font-size:9px;font-weight:700}.institutionSettingsActions{grid-column:1/-1;justify-content:flex-end;display:flex}.profileImageEditor{border:1px solid var(--line);background:#fafafa;border-radius:12px;align-items:center;gap:13px;margin-bottom:18px;padding:13px;display:flex}.studentGoalProfileCard{background:linear-gradient(112deg,#fff 45%,#fff7ff);border:1px solid #ead3ec;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;margin-bottom:17px;padding:17px 19px;display:grid}.studentGoalProfilePhoto{color:#fff;background:var(--primary-strong);border-radius:16px;flex:0 0 58px;place-items:center;width:58px;height:58px;font-size:14px;font-weight:900;display:grid;overflow:hidden}.studentGoalProfileCard>div:nth-child(2){min-width:0}.studentGoalProfileCard span{color:var(--primary-strong);letter-spacing:.1em;align-items:center;gap:5px;font-size:8px;font-weight:900;display:flex}.studentGoalProfileCard h2{margin:4px 0;font-size:15px}.studentGoalProfileCard p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.studentProfileModal{background:#fff;border-radius:18px;width:min(720px,100%);max-height:calc(100dvh - 40px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #140a153d}.studentGoalForm{grid-template-columns:1fr 1fr;gap:11px;display:grid}.studentGoalForm label{color:var(--muted);flex-direction:column;gap:5px;font-size:9px;font-weight:800;display:flex}.studentGoalForm input{border:1px solid var(--line);border-radius:9px;height:40px;padding:0 10px}.studentGoalNote{grid-column:1/-1}.studentGoalNote small{align-self:flex-end;font-size:7px}.loginCopyright{flex-direction:column;gap:4px;display:flex}.loginCopyright span,.loginCopyright a{color:inherit;opacity:.72;width:fit-content;font-size:8px;text-decoration:none}.loginCopyright a:hover{opacity:1;text-decoration:underline}.portalMenuBackdrop{display:none}.attendanceNotice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;font-size:9px;display:grid}.attendanceNotice button{color:inherit;background:0 0;border:0}.manualAttendancePanel{margin-bottom:14px}.attendanceSearch{width:min(520px,100%);height:40px;margin-bottom:12px}.manualStudentList{flex-direction:column;display:flex}.manualStudentList article{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto 110px;align-items:center;gap:10px;padding:11px 0;display:grid}.manualStudentList article>div:nth-child(2){flex-direction:column;gap:2px;display:flex}.manualStudentList strong{font-size:10px}.manualStudentList span,.manualStudentList small{color:var(--muted);font-size:8px}.manualEntryButton,.manualExitButton{border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0 9px;font-size:8px;font-weight:800;display:flex}.manualEntryButton{color:#166534;background:#f0fdf4;border:1px solid #86efac}.manualExitButton{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.activityRow.extended{grid-template-columns:38px 1fr 60px 110px}.notificationSentBadge{color:#166534;align-items:center;gap:4px;font-size:7px;display:flex}.mentorInfoBox{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;margin-top:13px;padding:12px;font-size:9px}.staffEditCard{margin-bottom:14px}.staffEditCard>h2{margin-bottom:18px}.staffEditCard .adminModalActions{margin-top:14px}.saveBadge{color:#15803d;background:#dcfce7;border-radius:99px;align-items:center;gap:4px;padding:7px 9px;font-size:8px;display:flex}.staffMentorStudents{margin-top:14px}.staffMentorStudents>a{border-top:1px solid var(--line);align-items:center;gap:9px;padding:10px 0;display:flex}.staffMentorStudents>a span{flex-direction:column;gap:2px;display:flex}.staffMentorStudents strong{font-size:9px}.staffMentorStudents small{color:var(--muted);font-size:7px}.staffClassesCard{margin-top:14px}.staffClassesCard h2{align-items:center;gap:7px;display:flex}.staffClassesCard ul{max-width:520px;margin:10px 0 12px;padding:0;list-style:none}.staffClassesCard li{border-top:1px solid var(--line);grid-template-columns:minmax(72px,auto) 1fr;align-items:center;gap:4px 10px;padding:9px 0;display:grid}.staffClassesCard li strong{font-size:9px}.staffClassRelations{flex-wrap:wrap;gap:4px;display:flex}.staffClassCourses{color:var(--muted);grid-column:1/-1;font-size:7px}.examCalculationNote{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:11px;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;font-size:9px;display:flex}.pageHeaderActions{align-items:center;gap:7px;display:flex}.pageHeaderActions button{align-items:center;gap:5px;display:flex}.pdfImportedBadge{color:#166534;background:#dcfce7;border-radius:99px;width:fit-content;margin-top:4px;padding:3px 5px;font-size:6px;font-weight:800;display:block}.pdfImportModal{background:#fff;border-radius:18px;width:min(1180px,100%);max-height:calc(100dvh - 48px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #140a153d}.pdfImportModal>input{display:none}.pdfDropZone{width:100%;min-height:190px;color:var(--primary-dark);background:#fffaff;border:2px dashed #d9aadd;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.pdfDropZone strong{font-size:12px}.pdfDropZone span{color:var(--muted);font-size:8px}.pdfParsingState{min-height:190px;color:var(--primary-dark);flex-direction:column;justify-content:center;align-items:center;gap:9px;font-size:10px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.pdfImportSummary{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.pdfImportSummary article{border:1px solid var(--line);background:#fafafa;border-radius:9px;flex-direction:column;gap:3px;padding:11px;display:flex}.pdfImportSummary span{color:var(--muted);font-size:7px}.pdfImportSummary strong{font-size:13px}.pdfImportSummary small{color:var(--primary-strong);font-size:7px;font-weight:800}.pdfTemplateWarning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:11px;display:flex}.pdfTemplateWarning>div{flex-direction:column;gap:3px;display:flex}.pdfTemplateWarning strong{font-size:9px}.pdfTemplateWarning span{font-size:8px;line-height:1.5}.pdfTemplateWarning.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.pdfPreviewHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.pdfPreviewHead>div{align-items:center;gap:8px;display:flex}.pdfPreviewHead>div>svg{color:var(--primary-strong)}.pdfPreviewHead span{flex-direction:column;gap:2px;display:flex}.pdfPreviewHead strong{font-size:10px}.pdfPreviewHead small{color:var(--muted);font-size:7px}.pdfPreviewHead label{border:1px solid var(--line);min-width:260px;height:36px;color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:0 9px;display:flex}.pdfPreviewHead input{border:0;outline:0;width:100%;font-size:8px}.pdfPreviewTable{border:1px solid var(--line);border-radius:10px;min-height:320px;max-height:62dvh;overflow:auto}.pdfPreviewTable table{border-collapse:collapse;width:100%;min-width:980px}.pdfPreviewTable th{z-index:2;color:var(--muted);text-align:left;background:#f8f6f8;padding:9px;font-size:7px;position:sticky;top:0}.pdfPreviewTable td{border-top:1px solid var(--line);padding:8px 9px;font-size:8px}.pdfPreviewTable td:first-child{min-width:270px}.pdfPreviewTable td:first-child strong,.pdfPreviewTable td:first-child small{display:block}.pdfPreviewTable td:first-child small{max-width:360px;color:var(--muted);margin-top:3px;font-size:6px;line-height:1.45}.pdfPreviewTable select{border:1px solid var(--line);background:#fff;border-radius:7px;width:190px;height:31px;padding:0 7px;font-size:7px}.pdfPreviewTable select.exact{background:#f0fdf4;border-color:#86efac}.pdfPreviewTable select.possible{background:#fffbeb;border-color:#fde68a}.pdfPreviewTable select.unmatched{background:#fef2f2;border-color:#fecaca}.matchLabel{margin-top:3px;font-size:6px;display:block}.matchLabel.exact{color:#15803d}.matchLabel.possible{color:#a16207}.matchLabel.unmatched{color:#b91c1c}.pdfImportActions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;align-items:center;gap:8px;margin:12px -22px -22px;padding:12px 22px;display:flex;position:sticky;bottom:-22px;box-shadow:0 -8px 20px #140a150a}.pdfImportActions>span{color:var(--muted);margin-right:auto;font-size:8px}.pdfImportActions button{align-items:center;gap:5px;display:flex}.pdfImportActions .primaryButton:disabled{opacity:.4}.tableActionButton{min-height:31px;color:var(--primary-dark);background:#fff7ff;border:1px solid #dfb5e2;border-radius:7px;align-items:center;gap:4px;padding:0 8px;font-size:8px;font-weight:800;display:inline-flex}.examRowActions{flex-wrap:wrap;gap:5px;display:flex}.tableActionButton.pdf{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.tableActionButton.ranking{color:#92400e;background:#fffbeb;border-color:#fde68a}.examNameButton{color:var(--ink);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:3px;display:flex}.examNameButton span{color:var(--primary-strong);align-items:center;gap:3px;font-size:7px;font-weight:800;display:flex}.examRankingModal{background:#fff;border-radius:18px;width:min(900px,100%);max-height:calc(100dvh - 48px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #140a153d}.examRankingModal .responsiveTable{border:1px solid var(--line);border-radius:10px;max-height:520px;overflow:auto}.rankingModalActions{align-items:center;gap:7px;display:flex}.rankingPdfButton{min-height:34px;color:var(--primary-dark);background:#fff7ff;border:1px solid #d8b4e2;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:8px;font-weight:900;display:flex}.rankingPdfButton:disabled{opacity:.45;cursor:not-allowed}.rankingCloseButton{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:#fff;border-radius:9px;place-items:center;display:grid}.detailedExamRanking{min-width:1080px}.detailedExamRanking th>small{color:#9ca3af;margin-top:2px;font-size:5px;display:block}.examSectionTriplet{text-align:center;grid-template-columns:repeat(3,1fr);align-items:center;gap:3px;min-width:76px;display:grid}.examSectionTriplet b,.examSectionTriplet i,.examSectionTriplet strong{border-radius:5px;padding:4px 3px;font-size:7px;font-style:normal}.examSectionTriplet b{color:#166534;background:#dcfce7}.examSectionTriplet i{color:#991b1b;background:#fee2e2}.examSectionTriplet strong{color:#1e40af;background:#dbeafe}.examSectionTriplet.total strong{color:#fff;background:var(--primary-strong)}.examRankingEmpty{min-height:150px;color:var(--muted);place-items:center;font-size:9px;display:grid}.resultPdfShortcut{color:#6d28d9;text-align:left;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:10px;align-items:center;gap:9px;width:100%;margin-bottom:12px;padding:12px;display:flex}.resultPdfShortcut span{flex-direction:column;gap:3px;display:flex}.resultPdfShortcut strong{font-size:9px}.resultPdfShortcut small{color:#6b7280;font-size:7px}.resultEntryDivider{align-items:center;gap:8px;margin:2px 0 12px;display:flex}.resultEntryDivider:before,.resultEntryDivider:after{background:var(--line);content:"";flex:1;height:1px}.resultEntryDivider span{color:var(--muted);white-space:nowrap;font-size:7px}.teacherExamHeader label{min-width:260px;color:var(--muted);flex-direction:column;gap:5px;font-size:7px;font-weight:800;display:flex}.teacherExamSelectors{align-items:flex-end;gap:8px;display:flex}.teacherExamHeader select{border:1px solid var(--line);height:38px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px;font-size:8px}.teacherExamMetrics{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px;display:grid}.teacherExamMetrics article{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:9px;padding:13px;display:flex}.teacherExamMetrics article>svg{color:var(--primary-strong)}.teacherExamMetrics span{flex-direction:column;gap:3px;display:flex}.teacherExamMetrics small{color:var(--muted);font-size:7px}.teacherExamMetrics strong{font-size:12px}.teacherExamFallbackNote{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;margin-bottom:12px;padding:10px 12px;font-size:8px;line-height:1.5}.teacherBranchExtremes{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.teacherBranchExtremes>article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px}.teacherBranchTitle{align-items:center;gap:8px;margin-bottom:7px;display:flex}.teacherBranchTitle.best{color:#15803d}.teacherBranchTitle.support{color:#b45309}.teacherBranchTitle span{flex-direction:column;gap:2px;display:flex}.teacherBranchTitle small{letter-spacing:.08em;font-size:6px;font-weight:900}.teacherBranchTitle strong{color:var(--ink);font-size:10px}.teacherBranchStudent{border-top:1px solid var(--line);grid-template-columns:24px 1fr auto;align-items:center;gap:7px;padding:8px 0;display:grid}.teacherBranchStudent>b{width:22px;height:22px;color:var(--primary-dark);background:#fae8ff;border-radius:7px;place-items:center;font-size:7px;display:grid}.teacherBranchStudent span{flex-direction:column;gap:2px;display:flex}.teacherBranchStudent strong{font-size:8px}.teacherBranchStudent small{color:var(--muted);font-size:6px}.teacherBranchStudent em{color:var(--primary-dark);font-size:8px;font-style:normal;font-weight:900}.teacherRankingPanel{margin-bottom:0}.teacherRankNo{background:#f3e8ff;border-radius:7px;place-items:center;width:24px;height:24px;display:grid}.teacherExamEmpty{border:1px dashed var(--line);min-height:260px;color:var(--muted);text-align:center;background:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.teacherExamEmpty h2,.teacherExamEmpty p{margin:0}.teacherExamEmpty h2{color:var(--ink);font-size:12px}.teacherExamEmpty p{max-width:420px;font-size:8px}.awaitingResult{color:#b45309;font-size:8px;font-weight:800}.calculatedNet{color:var(--primary-dark);background:#fae8ff;border-radius:9px;margin-top:13px;padding:12px;font-size:10px}.parentPresence.outside{background:#fafafa;border-color:#e4e4e7}.parentPresence.outside i{background:#a1a1aa}.parentPresence.outside span{color:var(--muted)}.studentHeroActions{align-items:center;gap:8px;display:flex}.studentEditCard{margin-bottom:15px}.studentEditHeading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.studentEditHeading span{color:var(--primary-strong);letter-spacing:.1em;font-size:8px;font-weight:800}.studentEditHeading h2{margin:4px 0 0;font-size:15px}.studentEditHeading>small{color:var(--muted);font-size:8px}.editableLessonList{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}.editableLessonList>div{border:1px solid var(--line);background:#faf7fa;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px;display:grid}.editableLessonList>div>b{width:29px;height:29px;color:var(--primary-dark);background:#fae8ff;border-radius:8px;place-items:center;display:grid}.editableLessonList span{flex-direction:column;gap:2px;display:flex}.editableLessonList strong{font-size:9px}.editableLessonList small{color:var(--muted);font-size:7px}.editableLessonList button{color:#b91c1c;background:#fff;border:1px solid #fecaca;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.saveContext{color:var(--muted);align-self:center;margin-right:auto;font-size:8px}.saveContext strong{color:var(--ink)}.emptyPanelText{color:var(--muted);margin:10px 0 0;font-size:9px}.privateStudentPanel{background:linear-gradient(135deg,#fff 0%,#fffaff 100%);border-color:#ead0ec}.portalAccessGrid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:15px;display:grid}.portalAccessGrid.single{grid-template-columns:minmax(0,1fr)}.portalAccessCard{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px}.portalAccessHead{color:var(--primary-dark);justify-content:space-between;align-items:flex-start;margin-bottom:13px;display:flex}.portalAccessHead span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:800}.portalAccessHead h3{color:var(--ink);margin:4px 0 0;font-size:12px}.portalAccountSummary{background:#faf8fa;border-radius:10px;grid-template-columns:repeat(2,1fr);gap:10px;padding:10px;display:grid}.portalAccountSummary>div{flex-direction:column;gap:3px;display:flex}.portalAccountSummary small{color:var(--muted);font-size:7px}.portalAccountSummary strong{font-size:9px}.portalAccountStatus{border-radius:99px;width:fit-content;padding:4px 6px}.portalAccountStatus.active{color:#15803d;background:#dcfce7}.portalAccountStatus.pending{color:#92400e;background:#fef3c7}.portalAccountStatus.locked,.portalAccountStatus.passive{color:#991b1b;background:#fee2e2}.portalAccessEmpty{color:var(--muted);background:#faf8fa;border-radius:9px;margin:0 0 12px;padding:13px;font-size:8px}.temporaryCredential{background:#f5f3ff;border:1px solid #c4b5fd;border-radius:10px;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px;padding:12px;display:grid}.temporaryCredential>div{grid-column:1/-1;justify-content:space-between;gap:12px;display:flex}.temporaryCredential>div span{color:#6d28d9;letter-spacing:.08em;font-size:7px;font-weight:900}.temporaryCredential>div small{color:#6b7280;font-size:7px}.temporaryCredential p{flex-direction:column;gap:3px;margin:0;display:flex}.temporaryCredential p small{color:var(--muted);font-size:7px}.temporaryCredential p strong{letter-spacing:.04em;font-size:11px}.temporaryCredential>button{color:#6d28d9;background:#fff;border:1px solid #c4b5fd;border-radius:8px;grid-column:1/-1;justify-content:center;align-items:center;gap:5px;min-height:33px;font-size:8px;font-weight:800;display:flex}.portalAccessActions{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.portalAccessActions button{border:1px solid var(--line);min-height:33px;color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:8px;font-weight:800;display:flex}.portalAccessActions button:first-child{color:var(--primary-dark);background:#fff7ff;border-color:#dfb5e2}.manualPasswordHelp{color:#1e40af;background:#eff6ff;border-radius:9px;align-items:flex-start;gap:7px;margin-top:10px;padding:11px;font-size:8px;line-height:1.5;display:flex}.manualPasswordHelp span{overflow-wrap:anywhere;min-width:0}.parentPresence{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;grid-template-columns:10px 1fr;align-items:center;gap:2px 8px;min-width:190px;padding:12px;display:grid}.parentPresence i{background:#16a34a;border-radius:50%;grid-row:span 2;width:8px;height:8px}.parentPresence span{color:#15803d;font-size:8px;font-weight:800}.parentPresence strong{font-size:9px}.parentMovement{border-top:1px solid var(--line);color:var(--primary-dark);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.parentMovement span{flex-direction:column;gap:2px;display:flex}.parentMovement strong{color:var(--ink);font-size:9px}.parentMovement small{color:var(--muted);font-size:7px}.parentMovement b{color:#15803d;background:#dcfce7;border-radius:99px;padding:5px 7px;font-size:7px}.parentAssignmentList>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.parentAssignmentList span{flex-direction:column;gap:3px;display:flex}.parentAssignmentList strong{font-size:9px}.parentAssignmentList small{color:var(--muted);font-size:7px}.parentAssignmentList b{border-radius:99px;height:fit-content;padding:5px 7px;font-size:7px}.parentAssignmentList b.assigned{color:#1d4ed8;background:#dbeafe}.parentAssignmentList b.submitted{color:#7e22ce;background:#f3e8ff}.parentAssignmentList b.approved{color:#15803d;background:#dcfce7}.parentReadOnlyNote{color:var(--muted);text-align:center;background:#f5f3f5;border-radius:10px;padding:12px;font-size:8px}.parentExamResults{flex-direction:column;margin-bottom:14px;display:flex}.parentExamResults>div{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 0;display:grid}.parentExamResults span{flex-direction:column;gap:2px;display:flex}.parentExamResults strong{font-size:9px}.parentExamResults small{color:var(--muted);font-size:7px}.parentExamResults b{color:var(--primary-dark);font-size:9px}.parentExamResults em{color:#1e40af;background:#eff6ff;border-radius:99px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:800}.parentExamTabs{border:1px solid var(--line);background:#fafafa;border-radius:9px;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:10px;padding:4px;display:grid}.parentExamTabs button{min-height:31px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:7px;font-weight:800}.parentExamTabs button.active{color:#fff;background:var(--primary-strong)}.parentMobileNav,.studentMobileNav{display:none}.parentDashboardGrid>[id]{scroll-margin-top:88px}@media (max-width:780px){.studentSidebar{z-index:40;width:min(285px,86vw);transition:transform .2s;display:flex;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:20px 0 50px #18181b26}.studentSidebar.mobileOpen{transform:translate(0)}.studentMenuBackdrop{z-index:35;background:#18181b61;border:0;display:block;position:fixed;inset:0}.studentSidebar.mobileOpen .brandCopy,.studentSidebar.mobileOpen .studentMiniProfile>div:last-child,.studentSidebar.mobileOpen .studentNav .navGroupLabel,.studentSidebar.mobileOpen .studentNavItem span,.studentSidebar.mobileOpen .studentGoal,.studentSidebar.mobileOpen>.logoutLink{display:flex}.studentSidebar.mobileOpen .sidebarBrand,.studentSidebar.mobileOpen .studentMiniProfile{justify-content:flex-start}.studentSidebar.mobileOpen .studentNavItem{justify-content:flex-start;padding:0 12px}.studentAcademicCards,.netOverview,.dashboardSeparatedCharts,.dashboardSeparatedCharts.cols3{grid-template-columns:1fr}.dashboardHourForm.compact{grid-template-columns:1fr auto}.dashboardHourForm.compact small{grid-column:1/-1}.adminFormGrid,.studentDetailStats{grid-template-columns:1fr 1fr}.studentDetailGrid,.parentDashboardGrid{grid-template-columns:1fr}.detailCard.wide{grid-column:auto}.portalSidebar.mobileOpen{z-index:50;width:min(285px,86vw);padding-inline:17px;display:flex;position:fixed;top:0;left:0;box-shadow:20px 0 50px #18181b29}.portalSidebar.mobileOpen .brandCopy,.portalSidebar.mobileOpen .navGroupLabel,.portalSidebar.mobileOpen .navItem span,.portalSidebar.mobileOpen .securityNote div,.portalSidebar.mobileOpen .logoutLink{display:flex}.portalSidebar.mobileOpen .sidebarBrand,.portalSidebar.mobileOpen .navItem,.portalSidebar.mobileOpen .securityNote{justify-content:flex-start}.portalSidebar.mobileOpen .navItem{padding:0 12px}.portalMenuBackdrop{z-index:45;background:#18181b61;border:0;display:block;position:fixed;inset:0}.qrTerminalDemo,.settingsEditor{grid-template-columns:1fr}.systemDangerZone{grid-template-columns:auto 1fr}.systemDangerZone>button{grid-column:1/-1;justify-self:stretch}.academicYearManagerHead{grid-template-columns:auto 1fr}.academicYearManagerHead>button{grid-column:1/-1;justify-content:center}.academicYearRules{grid-template-columns:1fr}.manualStudentList article{grid-template-columns:auto 1fr auto}.manualStudentList article>button{grid-column:1/-1}.teacherLessonPreview>a{grid-template-columns:90px 1fr auto}.teacherLessonPreview time,.teacherLessonPreview>a>span{grid-column:2}.studentPageActions{flex-wrap:wrap;width:100%}.studentStickyControls{top:8px}.studentFilters{flex-wrap:wrap}.studentFilters .tableSearch{width:100%}.weeklyBoardRow{grid-template-columns:75px minmax(0,1fr);align-items:start}.weeklyQuickAdd{grid-column:2}.weeklyBoardHead{flex-direction:column;align-items:flex-start}.homeworkTargetBar{flex-direction:column;align-items:stretch}.homeworkTargetBar select{width:100%;min-width:0}.coachStudentOverview,.coachInsightGrid{grid-template-columns:1fr}.coachOverviewCards{grid-template-columns:1fr 1fr}.coachStudentOverview>.examConnectedChart{grid-column:1}.separatedExamCharts{grid-template-columns:1fr}.teacherExamHeader{flex-direction:column;align-items:stretch}.teacherExamHeader label{min-width:0}.teacherExamMetrics,.teacherBranchExtremes{grid-template-columns:1fr}.pdfImportSummary{grid-template-columns:1fr 1fr}.pdfPreviewHead{flex-direction:column;align-items:stretch}.pdfPreviewHead label{width:100%;min-width:0}.pdfImportActions{flex-wrap:wrap}.pdfImportActions>span{width:100%;margin-right:0}.parentShell .studentPageContainer{padding-bottom:102px}.parentShell .studentTopbar{height:60px}.parentShell .currentUser>div:not(.avatar),.parentShell .currentUser>svg{display:none}.parentShell .studentWelcome{gap:14px}.parentShell .studentWelcome h1{font-size:30px}.parentShell .parentPresence{width:100%;min-width:0}.parentShell .detailCard{min-width:0}.parentShell .notificationPanel{width:auto;max-height:calc(100dvh - 88px);position:fixed;top:68px;left:12px;right:12px}.parentShell .notificationPanelHeader{align-items:flex-start;gap:8px}.parentShell .notificationPanelActions{flex-wrap:wrap;justify-content:flex-end}.studentShell:not(.parentShell) .studentTopTitle{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.studentShell:not(.parentShell) .studentTopTitle small{color:var(--primary-strong);font-size:10px;font-weight:700}.studentShell:not(.parentShell) .studentTopTitle strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;font-size:18px;font-weight:800;overflow:hidden}.studentShell:not(.parentShell) .studentWelcome>div>span,.studentShell:not(.parentShell) .studentSectionHeader>span,.studentShell:not(.parentShell) .studentSectionHeader>div>span,.studentShell:not(.parentShell) .studentWelcome h1,.studentShell:not(.parentShell) .studentSectionHeader h1{display:none}.studentShell:not(.parentShell) .studentSectionHeader{margin-bottom:14px}.studentShell:not(.parentShell) .studentPanelTitle>div{flex-direction:column;align-items:flex-start;gap:2px}.studentShell:not(.parentShell) .studentPanelTitle h2{display:none}.studentShell:not(.parentShell) .studentPanelTitle>div>span{color:var(--muted);font-size:12.5px;line-height:1.5}.studentShell:not(.parentShell) .studentWelcome{margin-bottom:14px}.studentShell:not(.parentShell) .studentWelcome p,.studentShell:not(.parentShell) .studentSectionHeader p{font-size:12.5px;line-height:1.5}.studentShell:not(.parentShell) .studentViewTabs{scrollbar-width:none;flex-wrap:nowrap;width:auto;max-width:100%;overflow-x:auto}.studentShell:not(.parentShell) .studentViewTabs::-webkit-scrollbar{display:none}.studentShell:not(.parentShell) .studentViewTabs button{white-space:nowrap;flex:none;min-height:36px;padding-inline:13px;font-size:11px}.studentShell:not(.parentShell) .studentPageContainer{padding:16px 16px 106px}.studentShell:not(.parentShell) .currentUser>div:not(.avatar),.studentShell:not(.parentShell) .currentUser>svg{display:none}.studentShell:not(.parentShell) .notificationPanel,.portalShell .notificationPanel{width:auto;max-height:calc(100dvh - 88px);position:fixed;top:68px;left:12px;right:12px}.studentShell:not(.parentShell) .notificationPanelHeader,.portalShell .notificationPanelHeader{align-items:flex-start;gap:8px}.studentShell:not(.parentShell) .notificationPanelActions,.portalShell .notificationPanelActions{flex-wrap:wrap;justify-content:flex-end}.studentMobileNav{z-index:30;left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;border:1px solid #e4d7e6f2;border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;min-height:66px;padding:7px 5px;display:grid;position:fixed;box-shadow:0 12px 36px #311a3329}.studentMobileNav a{color:#77717a;text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0;font-size:7px;display:flex}.studentMobileNav a>span{border-radius:10px;place-items:center;width:34px;height:30px;display:grid}.studentMobileNav a b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:inherit;overflow:hidden}.studentMobileNav a.active{color:var(--primary-dark)}.studentMobileNav a.active>span{background:var(--primary-soft)}.studentMobileNav a.primary{z-index:1;color:var(--primary-dark);font-size:8px;font-weight:900;position:relative}.studentMobileNav a.primary>span{color:#fff;background:var(--primary-strong);border:5px solid #fff;border-radius:50%;width:58px;height:58px;margin-top:-30px;box-shadow:0 8px 22px #6f1c7157}.studentMobileNav a.primary.active>span{background:var(--primary-strong);box-shadow:0 8px 24px #6f1c7173, 0 0 0 3px var(--primary-soft)}.parentMobileNav{z-index:30;left:10px;right:10px;bottom:max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border:1px solid #e4d7e6f2;border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));min-height:66px;padding:7px 5px;display:grid;position:fixed;box-shadow:0 12px 36px #311a3329}.parentMobileNav a{color:#77717a;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:5px 2px;font-size:7px;font-weight:800;display:flex}.parentMobileNav a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.parentMobileNav a.active{color:var(--primary-dark);background:var(--primary-soft)}.parentExamTabs{scrollbar-width:none;display:flex;overflow-x:auto}.parentExamTabs button{min-width:82px;padding-inline:12px}.parentExamResults>div{grid-template-columns:minmax(0,1fr) auto}.parentExamResults em{grid-column:1/-1;width:fit-content}.parentWeeklyHomework .weeklyBoardHead{padding:15px}.parentWeeklyHomework .weeklyBoardLegend{padding-inline:15px}}@media (max-width:520px){.dashboardHourForm{grid-template-columns:1fr}.dashboardHourForm button{justify-content:center}.dashboardHeatFooter{flex-direction:column;align-items:flex-start}.privateLessonsCard,.dashboardHourForm.compact{grid-template-columns:1fr}.dashboardHourForm.compact small{grid-column:auto}.programActions{width:100%}.programActions>button{flex:1;justify-content:center}.studentAdminSummary,.studentDetailStats,.adminFormGrid,.lessonBuilder,.systemResetScope>div{grid-template-columns:1fr}.institutionHub{padding-inline:18px}.institutionWelcome{flex-direction:column;align-items:stretch}.institutionWelcome>button{justify-content:center}.accountNoticeInline{grid-template-columns:1fr}.accountNoticeInline .secondaryButton,.accountNoticeInline .institutionLicenseButton{justify-content:center;width:100%}.institutionCardGrid{grid-template-columns:1fr}.archiveDataSummary{grid-template-columns:1fr 1fr}.activeInstitutionBadge{display:none}.adminModalBackdrop{padding:10px}.adminStudentModal{max-height:calc(100dvh - 20px);padding:16px}.adminStudentHero{grid-template-columns:auto 1fr}.adminStudentHero>a,.studentHeroActions{grid-column:1/-1;justify-content:center}.editableLessonList{grid-template-columns:1fr}.studentEditHeading{flex-direction:column}.portalAccessGrid,.temporaryCredential{grid-template-columns:1fr}.temporaryCredential>div,.temporaryCredential>button{grid-column:auto}.teacherWeekSummary{grid-template-columns:1fr}.financeMetrics{grid-template-columns:1fr 1fr}.wideField{grid-column:auto}.studentPageActions>button{flex:1;justify-content:center}.studentPicker>div,.groupCourseTeacherList>label{grid-template-columns:1fr}.studentSelectionBar{flex-direction:column;align-items:stretch}.studentSelectionBar .primaryButton{justify-content:center}.weeklyBoardRow,.weeklyHomeworkBoard.compact .weeklyBoardRow{grid-template-columns:1fr}.weeklyQuickAdd{grid-column:auto}.weekNavigator{width:100%}.weekNavigator span{flex:1;justify-content:center}.weeklyDetailActions{flex-direction:column;align-items:stretch}.coachOverviewCards{grid-template-columns:1fr}.coachExamList article{grid-template-columns:1fr auto}.coachExamList em{grid-column:1/-1;width:fit-content}.pdfImportModal{max-height:calc(100dvh - 20px);padding:16px}.pdfImportActions{margin:12px -16px -16px;padding:12px 16px;bottom:-16px}.pdfImportActions button{flex:1;justify-content:center}.parentShell .studentPageContainer{padding:20px 12px 100px}.parentShell .studentDetailStats{grid-template-columns:1fr 1fr}.parentShell .studentDetailStats article{min-width:0;padding:13px}.parentShell .studentDetailStats strong{font-size:14px}.parentMovement{grid-template-columns:auto minmax(0,1fr)}.parentMovement b{grid-column:2;width:fit-content}.parentMobileNav{left:7px;right:7px}.parentMobileNav a{font-size:6.5px}}@media (max-width:780px){.weeklyStudyHead,.weeklyStudySummary{flex-direction:column;align-items:stretch}.weeklyStudySummary article{min-width:0}.weeklyStudySummary>p{margin-left:0}.weeklyDurationGrid{grid-template-columns:repeat(2,1fr)}.programControlPanel{position:static}.programFilters{grid-template-columns:1fr 1fr}.availabilityRows>div{grid-template-columns:1fr 90px auto 90px}.studentProfileGrid{grid-template-columns:1fr}.passwordCard{grid-column:auto}.studentTargetSummary{grid-template-columns:1fr 1fr}.studentTargetSummary p:last-of-type{grid-column:1/-1}}@media (max-width:520px){.championCelebration{padding:24px 16px 18px}.championWinners,.weeklyDurationGrid{grid-template-columns:1fr}.notificationPanelHeader{flex-direction:column;align-items:flex-start!important}.notificationPanelActions{justify-content:space-between;width:100%}.programHeaderActions,.programFilters{flex-direction:column;grid-template-columns:1fr;width:100%}.programHeaderActions button{justify-content:center;width:100%}.availabilityRows>div{grid-template-columns:1fr 1fr}.availabilityRows>div>span{display:none}.studentProfileHero{grid-template-columns:auto 1fr}.studentProfileHero>b{grid-column:1/-1;width:fit-content}.profileInfoRows,.studentTargetSummary,.studentPasswordForm{grid-template-columns:1fr}.studentProfileWideField,.profileInfoRows p:last-child,.studentTargetSummary p:last-of-type,.studentPasswordForm label:first-child,.studentPasswordForm>p,.studentPasswordForm>button{grid-column:auto}.studentAccountSummary{flex-direction:column;gap:8px}.studentPasswordForm>button{width:100%}.studentAccountMenu{width:min(280px,100vw - 24px);position:fixed;top:62px;right:12px}}.kiosk{color:#f4f5f7;text-align:center;background:#0e1116;flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.kioskResult-entry{background:#0f3d2e}.kioskResult-exit{background:#7a4a08}.kioskResult-duplicate,.kioskResult-passive{background:#4a3405}.kioskResult-unknown,.kioskResult-expired,.kioskResult-invalid{background:#501313}.kioskVideo{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.kioskBoot{justify-content:center;align-items:center;padding:24px}.kioskBootCard{flex-direction:column;align-items:center;gap:14px;max-width:460px;display:flex}.kioskBootCard h1{margin:0;font-size:30px;font-weight:700}.kioskBootCard p{color:#a8aeb8;margin:0;font-size:15px;line-height:1.6}.kioskBootCard small{color:#6d7481;font-size:13px}.kioskBrandMark{background:var(--primary);color:#fff;border-radius:15px;place-items:center;width:54px;height:54px;font-size:26px;font-weight:900;display:grid}.kioskPrimaryButton{background:var(--primary);color:#fff;border:0;border-radius:13px;align-items:center;gap:9px;margin-top:6px;padding:15px 32px;font-size:17px;font-weight:600;display:inline-flex}.kioskPrimaryButton:active{transform:scale(.98)}.kiosk{color:#f8fafc;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 18%,#6366f129,#0f172afa 75%),#090b10;flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.kioskTopBar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172a73;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;padding:18px 32px;display:flex}.kioskBrand{color:#94a3b8;align-items:center;gap:12px;font-size:15px;display:flex}.kioskBrand .kioskBrandMark{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;width:36px;height:36px;font-size:18px;font-weight:800;box-shadow:0 0 16px #6366f166}.kioskInputStatus{color:#cbd5e1;gap:16px;font-size:13px;font-weight:500;display:flex}.kioskInputStatus span{background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;display:inline-flex}.kioskInputWarning{color:#fac775}.kioskIdle{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.kioskClock{letter-spacing:-3px;color:#fff;text-shadow:0 0 32px #fff3;font-variant-numeric:tabular-nums;font-size:clamp(76px,14vw,150px);font-weight:200;line-height:1}.kioskDate{color:#94a3b8;text-transform:capitalize;font-size:clamp(16px,2.2vw,22px);font-weight:500}.kioskPromptOrb{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff09;border:1px solid #ffffff1f;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;margin-top:32px;padding:28px 52px;display:flex;box-shadow:0 20px 60px #0006}.kioskPrompt{color:#f8fafc;letter-spacing:.02em;align-items:center;gap:14px;font-size:clamp(20px,3vw,30px);font-weight:700;display:flex}.kioskPromptIcon{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:16px;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 0 24px #6366f180}.kioskCameraPipBox{z-index:5;background:#000;border:2px solid #6366f180;border-radius:16px;flex-direction:column;width:175px;height:130px;display:flex;position:absolute;top:76px;right:28px;overflow:hidden;box-shadow:0 10px 30px #0009,0 0 20px #6366f159}.kioskCameraPipHeader{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.kioskPipBadge{color:#818cf8;letter-spacing:.05em;align-items:center;gap:5px;font-size:10px;font-weight:700;display:inline-flex}.kioskCameraPipFrame{background:#000;flex:1;width:100%;position:relative;overflow:hidden}.kioskPipScanGuide{pointer-events:none;border:1.5px dashed #6366f1b3;border-radius:8px;animation:2s ease-in-out infinite pipPulse;position:absolute;inset:12px}@keyframes pipPulse{0%,to{opacity:.5}50%{opacity:1}}.weeklyActualTotalRow th,.weeklyActualTotalRow td{color:#71717a!important;background:#fdf4ff!important;font-weight:900!important}.weeklyActualTotalRow th{color:#a21caf!important}.weeklyActualTotalRow strong{color:#a21caf!important;font-size:13px!important}.kioskResultPanel{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.kioskScanSpinner{border:4px solid #ffffff2e;border-top-color:#ffffffd9;border-radius:50%;width:64px;height:64px;animation:.7s linear infinite kioskSpin}@keyframes kioskSpin{to{transform:rotate(360deg)}}.kioskAvatar{object-fit:cover;background:#ffffff24;border:4px solid #ffffff4d;border-radius:50%;width:clamp(110px,16vw,160px);height:clamp(110px,16vw,160px);box-shadow:0 0 32px #fff3}.kioskAvatarInitials{background:linear-gradient(135deg,#4f46e5,#9333ea);place-items:center;font-size:clamp(38px,5.5vw,54px);font-weight:700;display:grid}.kioskResultIcon{background:#ffffff24;border-radius:50%;place-items:center;width:104px;height:104px;display:grid}.kioskResultName{color:#fff;text-shadow:0 2px 10px #00000080;font-size:clamp(30px,4.8vw,48px);font-weight:800;line-height:1.15}.kioskResultMeta{color:#ffffffc7;font-size:clamp(16px,2.2vw,20px);font-weight:500}.kioskResultAction{background:#ffffff29;border-radius:999px;align-items:center;gap:12px;margin-top:10px;padding:14px 38px;font-size:clamp(20px,3vw,32px);font-weight:700;display:flex}.kioskResultAction.entryAction{color:#4ade80;background:#22c55e38;border:1.5px solid #22c55e;box-shadow:0 0 24px #22c55e4d}.kioskResultAction.exitAction{color:#fca5a5;background:#ef444438;border:1.5px solid #f87171;box-shadow:0 0 24px #ef44444d}.kioskGreetingCard{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;max-width:720px;margin:10px 0 4px;padding:16px 32px}.kioskGreetingCard p{margin:0;font-size:clamp(18px,2.6vw,26px);font-weight:700;line-height:1.4}.kioskGreetingCard.entryCard{color:#86efac;background:#16a34a38;border:1.5px solid #4ade80;box-shadow:0 8px 32px #16a34a33}.kioskGreetingCard.exitCard{color:#fecdd3;background:#e11d4838;border:1.5px solid #f43f5e;box-shadow:0 8px 32px #e11d4833}.kioskResultNote{color:#ffffffd9;background:#ffffff14;border-radius:999px;align-items:center;gap:8px;margin-top:8px;padding:8px 18px;font-size:clamp(14px,1.9vw,17px);font-weight:500;display:inline-flex}.kioskBottomBar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f172aa6;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px;display:flex}.kioskStatsGroup{gap:20px;display:flex}.kioskStatCard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0b;border:1px solid #ffffff17;border-radius:14px;align-items:center;gap:14px;padding:12px 20px;display:flex}.kioskStatIcon{border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.kioskStatIcon.entryIcon{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.kioskStatIcon.totalIcon{color:#818cf8;background:#6366f126;border:1px solid #6366f14d}.kioskStatContent{flex-direction:column;gap:2px;display:flex}.kioskStatLabel{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.kioskStatValue{color:#f8fafc;align-items:baseline;gap:6px;font-size:19px;font-weight:800;display:flex}.kioskStatValue span{color:#64748b;font-size:13px;font-weight:500}.kioskStaffButton{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.kioskStaffButton:hover{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.kioskStaffOverlay{z-index:5;background:#06080bb8;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.kioskStaffCard{text-align:left;background:#171b22;border-radius:16px;flex-direction:column;gap:12px;width:min(380px,100%);padding:26px;display:flex;position:relative}.kioskStaffCard h2{margin:0;font-size:21px}.kioskStaffCard p{color:#a8aeb8;margin:0;font-size:14px;line-height:1.5}.kioskStaffCard input{color:#f4f5f7;letter-spacing:5px;background:#0e1116;border:1px solid #ffffff2e;border-radius:11px;padding:13px 15px;font-size:19px}.kioskStaffClose{color:#a8aeb8;background:#ffffff14;border:0;border-radius:9px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:14px;right:14px}.kioskPinError{color:#f09595;font-size:13px}.terminalDevicesPanel{margin-bottom:15px}.terminalDevicesHint{color:var(--muted);background:#faf8fa;border-radius:10px;margin:0 0 13px;padding:11px 13px;font-size:8px;line-height:1.7}.terminalDevicesHint strong{color:var(--primary-strong)}.terminalDevicesEmpty{color:var(--muted);text-align:center;background:#faf8fa;border-radius:10px;margin:0;padding:15px;font-size:8px}.terminalDeviceForm{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:13px;padding:14px;display:grid}.terminalDeviceForm label{color:var(--muted);flex-direction:column;gap:5px;font-size:8px;font-weight:700;display:flex}.terminalDeviceForm input{border:1px solid var(--line);min-height:38px;color:var(--ink);border-radius:10px;padding:0 11px;font-size:10px}.terminalDeviceFormActions{grid-column:1/-1;gap:8px;display:flex}.terminalDeviceList{flex-direction:column;gap:8px;display:flex}.terminalDeviceRow{border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.terminalDeviceRow.revoked{opacity:.55}.terminalDeviceIcon{height:38px;color:var(--primary-strong);background:var(--primary-soft);border-radius:11px;flex:0 0 38px;place-items:center;display:grid}.terminalDeviceCopy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.terminalDeviceCopy strong{font-size:11px}.terminalDeviceCopy span{color:var(--muted);font-size:8px}.terminalDeviceCopy small{color:var(--subtle);font-size:7px}.terminalPairingCode{border:1px dashed var(--primary-strong);color:var(--primary-dark);background:var(--primary-soft);border-radius:10px;align-items:center;gap:9px;padding:8px 13px;display:inline-flex}.terminalPairingCode b{letter-spacing:.22em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.terminalDeviceActions{gap:6px;display:flex}.terminalDeviceActions button{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:#fff;border-radius:9px;place-items:center;display:grid}.terminalDeviceActions button:hover{color:var(--primary-strong);border-color:var(--primary-strong)}.campusCardPanel{flex-direction:column;gap:10px;display:flex}.campusCardValue{background:#faf8fa;border-radius:10px;flex-direction:column;gap:3px;padding:11px;display:flex}.campusCardValue span{color:var(--muted);font-size:7px}.campusCardValue strong{letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.campusCardMeta,.campusCardHint{color:var(--muted);margin:0;font-size:8px;line-height:1.7}.campusCardInput{border:1px solid var(--primary-strong);min-height:40px;color:var(--ink);letter-spacing:.08em;border-radius:10px;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.campusCardNormalized{color:var(--muted);font-size:7px}.campusCardError{color:#b91c1c;font-size:8px}.campusCardActions{gap:8px;display:flex}.campusCardRevoke{color:#b91c1c;border-color:#fecaca}.campusCardWarning{color:#92400e;align-items:flex-start;gap:6px;margin:0;font-size:7px;line-height:1.6;display:flex}.kioskDeviceTag{color:#a8aeb8;background:#ffffff14;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:13px;display:inline-flex}.kioskPairingInput{color:#f4f5f7;letter-spacing:.28em;text-align:center;background:#0e1116;border:1px solid #fff3;border-radius:12px;width:220px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:30px}.kioskPrimaryButton:disabled{opacity:.45}.kioskStaffHint{color:#8a8f98!important;font-size:13px!important}.kioskDangerButton{color:#f09595;background:0 0;border:1px solid #a32d2d;border-radius:11px;padding:13px 20px;font-size:15px}.emptyStatePanel{border:1px dashed var(--line);background:#fff;border-radius:15px;align-items:center;gap:18px;margin-bottom:15px;padding:26px;display:flex}.emptyStatePanel>svg{color:var(--primary-strong);flex:none}.emptyStatePanel>div{flex:1;min-width:0}.emptyStatePanel h2{margin:0 0 5px;font-size:14px}.emptyStatePanel p{color:var(--muted);margin:0;font-size:9px;line-height:1.7}.emptyPanelText{color:var(--muted);text-align:center;background:#faf8fa;border-radius:10px;margin:0;padding:18px;font-size:9px}.motivationPanel{margin-bottom:15px}.announcementAudience{flex-direction:column;gap:7px;display:flex}.announcementAudience>span{color:var(--muted);font-size:11px;font-weight:700}.announcementAudience>div{flex-wrap:wrap;gap:7px;display:flex}.announcementAudience button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:99px;align-items:center;gap:5px;padding:7px 13px;font-size:11px;font-weight:700;display:inline-flex}.announcementAudience button.active{border-color:var(--primary-strong);color:var(--primary-dark);background:var(--primary-soft)}.motivationToday{background:var(--primary-soft);border:1px solid #f3d9f6;border-radius:12px;flex-direction:column;gap:4px;margin-bottom:12px;padding:13px 15px;display:flex}.motivationToday span{color:var(--primary-strong);letter-spacing:.1em;font-size:7px;font-weight:800}.motivationToday strong{color:var(--primary-dark);font-size:11px;line-height:1.6}.motivationForm{gap:8px;margin-bottom:12px;display:flex}.motivationForm input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;padding:10px 12px;font-size:10px}.motivationList{flex-direction:column;gap:7px;display:flex}.motivationList article{border:1px solid var(--line);border-radius:10px;align-items:center;gap:11px;padding:10px 13px;display:flex}.motivationList p{flex:1;margin:0;font-size:9px;line-height:1.6}.motivationList button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:#fff;border-radius:8px;flex:none;place-items:center;display:grid}.motivationList button:hover{color:#b91c1c;border-color:#fecaca}.studentMotivation{background:var(--primary-soft);color:var(--primary-strong);border:1px solid #f3d9f6;border-radius:15px;align-items:flex-start;gap:13px;margin-bottom:15px;padding:16px 19px;display:flex}.studentMotivation>div{flex-direction:column;gap:4px;display:flex}.studentMotivation span{letter-spacing:.1em;font-size:8px;font-weight:800}.studentMotivation strong{color:var(--primary-dark);font-size:13px;line-height:1.6}.studentMotivation small{color:var(--muted);font-size:8px}.institutionBadges{flex-wrap:wrap;gap:6px;display:flex}.institutionTypeBadge{color:var(--primary-dark);background:var(--primary-soft);border-radius:99px;padding:4px 9px;font-size:7px;font-weight:800}.institutionTypePicker{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.institutionTypePicker>span{color:var(--muted);font-size:8px;font-weight:700}.institutionTypePicker>div{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.institutionTypePicker button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:11px;flex-direction:column;gap:3px;padding:11px 13px;display:flex}.institutionTypePicker button.active{border-color:var(--primary-strong);background:var(--primary-soft)}.institutionTypePicker button strong{font-size:10px}.institutionTypePicker button small{color:var(--muted);font-size:8px;line-height:1.5}.institutionTypeNote{color:var(--primary-dark);background:var(--primary-soft);border-radius:9px;margin:0;padding:10px 12px;font-size:8px;line-height:1.6}.classGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.classCard{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;gap:12px;padding:16px;display:flex}.classCardHead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.classCardHead span{color:var(--primary-strong);letter-spacing:.08em;font-size:7px;font-weight:800}.classCardHead h2{margin:3px 0 0;font-size:17px}.classCardActions{gap:5px;display:flex}.classCardActions button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;display:grid}.classCardActions button:hover{color:var(--primary-strong);border-color:var(--primary-strong)}.classRoleRows{background:#faf8fa;border-radius:10px;flex-direction:column;gap:7px;padding:11px;display:flex}.classRoleRows p{justify-content:space-between;align-items:baseline;gap:10px;margin:0;display:flex}.classRoleRows small{color:var(--muted);font-size:8px}.classRoleRows strong{text-align:right;font-size:9px}.classCardFooter{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.demoInstitutionGroup{flex-direction:column;gap:7px;display:flex}.demoInstitutionHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;padding:0 2px 5px;display:flex}.demoInstitutionHead strong{font-size:10px}.demoInstitutionHead span{color:var(--primary-strong);letter-spacing:.06em;font-size:7px;font-weight:800}.classCardFooter{justify-content:space-between}.classPlanButton{justify-content:center;width:100%}.subjectPlanRows{flex-direction:column;gap:8px;margin-bottom:13px;display:flex}.subjectPlanRow{grid-template-columns:1.3fr 60px auto 1.6fr 30px;align-items:center;gap:7px;display:grid}.subjectPlanRow select,.subjectPlanRow input{border:1px solid var(--line);border-radius:9px;min-width:0;padding:8px 10px;font-size:9px}.subjectPlanRow>span{color:var(--muted);font-size:8px}.subjectPlanRow>button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;display:grid}.subjectPlanRow>button:hover{color:#b91c1c;border-color:#fecaca}.timetableGeneratorModal{width:min(720px,100%)}.timetableSettingsBlock{border:1px solid var(--line);border-radius:12px;margin-bottom:13px;padding:14px}.timetableSettingsHead{color:var(--primary-strong);align-items:center;gap:7px;margin-bottom:10px;font-size:9px;display:flex}.timetableDayPicker{flex-wrap:wrap;gap:6px;margin-bottom:11px;display:flex}.timetableDayPicker button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:99px;padding:7px 12px;font-size:9px;font-weight:700}.timetableDayPicker button.active{border-color:var(--primary-strong);color:var(--primary-dark);background:var(--primary-soft)}.timetableSettingsGrid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.timetableSettingsGrid label{color:var(--muted);flex-direction:column;gap:4px;font-size:8px;font-weight:700;display:flex}.timetableSettingsGrid input{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:10px}.timetableGridNote{color:var(--muted);margin:10px 0 0;font-size:8px}.timetableSummary{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:13px;display:grid}.timetableSummary article{background:#faf8fa;border-radius:10px;flex-direction:column;gap:2px;padding:11px;display:flex}.timetableSummary strong{font-size:17px}.timetableSummary span{color:var(--muted);font-size:8px}.timetableWarning{color:#92400e;background:#fef3c7;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:13px;padding:11px 13px;font-size:8px;line-height:1.6;display:flex}.timetableResult{margin-bottom:13px}.timetableResultHead{border-radius:10px;align-items:center;gap:8px;padding:11px 13px;font-size:10px;display:flex}.timetableResultHead.ok{color:#15803d;background:#dcfce7}.timetableResultHead.warn{color:#92400e;background:#fef3c7}.timetableResultHead span{margin-left:auto;font-size:8px}.timetableUnplaced{flex-direction:column;gap:7px;max-height:190px;margin-top:9px;display:flex;overflow-y:auto}.timetableUnplaced article{border:1px solid #fde68a;border-radius:9px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.timetableUnplaced strong{font-size:9px}.timetableUnplaced span{color:#92400e;font-size:8px}.timetableUnplaced small{color:var(--muted);font-size:8px;line-height:1.5}.timetableApplied{color:#15803d;align-items:center;gap:6px;margin:9px 0 0;font-size:9px;display:flex}.timetablePreviewActions{background:#faf5ff;border:1px solid #ddd6fe;border-radius:9px;flex-wrap:wrap;align-items:center;gap:9px;margin-top:9px;padding:9px;display:flex}.timetablePreviewActions span{color:var(--muted);font-size:8px}.timetableDailyCapacity{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;gap:3px;margin-top:10px;padding:10px;display:flex}.timetableDailyCapacity>strong{font-size:9px}.timetableDailyCapacity>span{color:var(--muted);font-size:7px}.timetableDailyCapacity>div{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:6px;margin-top:6px;display:grid}.timetableDailyCapacity label{color:var(--muted);flex-direction:column;gap:4px;font-size:7px;font-weight:900;display:flex}.timetableDailyCapacity input{border:1px solid var(--line);border-radius:7px;width:100%;min-height:32px;padding:0 7px}.timetableLunchSettings{background:#fffbeb;border:1px solid #fde68a;border-radius:9px;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(105px,150px));align-items:end;gap:8px;margin-top:9px;padding:10px;display:grid}.timetableLunchSettings>div{flex-direction:column;gap:3px;display:flex}.timetableLunchSettings strong{font-size:9px}.timetableLunchSettings span{color:var(--muted);font-size:7px}.timetableLunchSettings label{color:var(--muted);flex-direction:column;gap:4px;font-size:7px;font-weight:900;display:flex}.timetableLunchSettings input,.timetableLunchSettings select{background:#fff;border:1px solid #e5d69a;border-radius:7px;width:100%;min-height:32px;padding:0 7px}.timetableAssignments{border:1px solid var(--line);background:#fbfafb;border-radius:12px;margin-bottom:14px;padding:13px}.timetableAssignmentsHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.timetableAssignmentsHead>div{flex-direction:column;gap:3px;display:flex}.timetableAssignmentsHead strong{font-size:10px}.timetableAssignmentsHead span{color:var(--muted);font-size:8px}.timetableClassTabs{gap:5px;margin-bottom:10px;padding-bottom:7px;display:flex;overflow-x:auto}.timetableClassTabs button{border:1px solid var(--line);min-width:88px;color:var(--muted);text-align:left;background:#fff;border-radius:9px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.timetableClassTabs button strong{font-size:9px}.timetableClassTabs button span{font-size:6.5px}.timetableClassTabs button.active{border-color:var(--primary-dark);color:#fff;background:var(--primary-dark)}.manualClassSubjectAdd{background:#fffaff;border:1px dashed #d8b4e2;border-radius:9px;grid-template-columns:minmax(180px,1fr) auto;gap:7px;margin-bottom:9px;padding:8px;display:grid}.manualClassSubjectAdd label{flex-direction:column;gap:3px;display:flex}.manualClassSubjectAdd input{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:33px;padding:0 8px;font-size:8px}.manualClassSubjectAdd small{color:var(--muted);font-size:6.5px}.timetableAssignmentTable{max-height:280px;overflow:auto}.timetableAssignmentLabels,.timetableAssignmentRow{grid-template-columns:1.15fr 1fr 1.25fr 90px 34px;align-items:center;gap:6px;display:grid}.timetableAssignmentLabels{color:var(--muted);padding:0 2px 5px;font-size:7px;font-weight:800}.timetableAssignmentRow{margin-bottom:6px}.timetableAssignmentRow select,.timetableAssignmentRow input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;padding:7px 8px;font-size:8px}.timetableAssignmentRow select.invalid,.timetableAssignmentRow input.invalid{background:#fffbeb;border-color:#f59e0b}.timetableAssignmentRow button{border:1px solid var(--line);color:#b91c1c;background:#fff;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.classSubjectLabels,.classSubjectRow{grid-template-columns:minmax(150px,1fr) minmax(210px,1.35fr) 100px 34px}.timetableSubjectName{color:var(--ink);padding:0 8px;font-size:8px}.searchableTeacherField{flex-direction:column;gap:2px;display:flex}.searchableTeacherField small{color:#92400e;font-size:6px;font-weight:700}.timetableDocumentImport{background:#fffaff;border:1px solid #d8b4e2;border-radius:12px;margin-bottom:13px;padding:13px}.timetableDocumentImportHead{justify-content:space-between;align-items:center;gap:12px;display:flex}.timetableDocumentImportHead>div{color:var(--primary-strong);align-items:flex-start;gap:8px;display:flex}.timetableDocumentImportHead span{flex-direction:column;gap:3px;display:flex}.timetableDocumentImportHead strong{font-size:10px}.timetableDocumentImportHead small,.timetableDocumentImport>p{color:var(--muted);font-size:7.5px;line-height:1.55}.timetableDocumentImportHead label{cursor:pointer}.timetableDocumentImportHead input{display:none}.timetableDocumentImport>p{margin:9px 0 0}.timetableDocumentPreview{border-top:1px solid #ead7ee;margin-top:10px;padding-top:10px}.timetableDocumentPreview>div:first-child,.timetableDocumentActions{justify-content:space-between;align-items:center;gap:10px;display:flex}.timetableDocumentPreview>div:first-child{margin-bottom:7px;font-size:8px}.timetableDocumentPreview table{font-size:7.5px}.documentClassSummary{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:5px;margin-bottom:8px;display:grid}.documentClassSummary>span{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:7px 8px;display:flex}.documentClassSummary>span.ok{background:#f0fdf4;border-color:#bbf7d0}.documentClassSummary>span.warn{background:#fffbeb;border-color:#fde68a}.documentClassSummary strong{font-size:8px}.documentClassSummary small{color:var(--muted);font-size:6.5px}.documentIssueNotice{color:#92400e;background:#fef3c7;border-radius:8px;align-items:center;gap:7px;margin:8px 0;padding:8px 10px;font-size:7.5px;display:flex}.documentMatch{border-radius:99px;padding:4px 6px;font-size:6.5px;display:inline-flex}.documentMatch.ok{color:#166534;background:#dcfce7}.documentMatch.warn{color:#92400e;background:#fef3c7}.timetableDocumentActions{margin-top:8px}.timetableDocumentActions span{max-width:65%;color:var(--muted);font-size:7px;line-height:1.5}.timetableDocumentMode{color:#166534;background:#dcfce7;border-radius:9px;align-items:center;gap:7px;margin:-4px 0 12px;padding:9px 11px;font-size:8px;display:flex}.studentParentImportModal{width:min(860px,100vw - 30px)}.studentParentImportModal .staffImportGuide small{color:var(--muted);font-size:8px;line-height:1.55}.studentParentImportModal .staffImportPreview td{vertical-align:top}.studentParentImportModal .staffImportPreview td small{color:var(--muted);margin-top:3px;font-size:7px;display:block}@media (max-width:760px){.timetableAssignmentLabels{display:none}.timetableAssignmentRow{border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 1fr;padding:9px}}.studentWeeklyScheduleCard{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:24px;padding:20px;box-shadow:0 4px 18px #00000008}.studentPrivateLessonsBar{color:#701a75;background:#fdf4ff;border:1px solid #e9d5ff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:11px;display:flex}.studentPrivateLessonsBar strong{font-weight:700}.privateLessonPills{flex-wrap:wrap;gap:8px;display:flex}.privateLessonPill{color:#a21caf;background:#fff;border:1px solid #f0abfc;border-radius:99px;padding:3px 9px;font-size:10px}.studentWeeklyScheduleGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}@media (max-width:1024px){.studentWeeklyScheduleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.studentWeeklyScheduleGrid{grid-template-columns:1fr}}.scheduleDayColumn{border:1px solid var(--line);background:#fafafa;border-radius:12px;flex-direction:column;gap:8px;min-height:130px;padding:10px;transition:all .15s;display:flex}.scheduleDayColumn.activeDay{background:#faf5ff;border-color:#d8b4fe}.scheduleDayHeader{border-bottom:1px solid #f3e8ff;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.scheduleDayHeader strong{color:#334155;font-size:11px}.scheduleDayHeader small{color:#94a3b8;font-size:9px;font-weight:600}.scheduleDayLessons{flex-direction:column;flex:1;gap:6px;display:flex}.scheduleLessonCard{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:7px 8px;display:flex;box-shadow:0 1px 4px #00000008}.scheduleLessonCard time{color:#a21caf;align-items:center;gap:3px;font-size:9px;font-weight:700;display:flex}.scheduleLessonCard strong{color:#0f172a;font-size:10px}.scheduleLessonCard small{color:#64748b;font-size:9px}.scheduleLessonCard .lessonLocation{color:#64748b;align-items:center;gap:3px;margin-top:2px;font-size:8px;display:flex}.scheduleLessonCard .lessonTypeTag{color:#475569;background:#f1f5f9;border-radius:4px;align-self:flex-start;margin-top:3px;padding:2px 5px;font-size:8px;font-weight:700}.scheduleLessonCard.private .lessonTypeTag{color:#be185d;background:#fce7f3}.scheduleLessonCard.pair .lessonTypeTag{color:#4338ca;background:#e0e7ff}.scheduleLessonCard.group .lessonTypeTag{color:#b45309;background:#fef3c7}.noLessonText{color:#cbd5e1;text-align:center;margin:auto 0;padding:10px 0;font-size:9px}.attendanceSummaryCard{border:1px solid var(--line);background:#fff;border-radius:13px;margin-bottom:14px;padding:17px}.attendanceAlert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;align-items:center;gap:9px;margin-bottom:12px;padding:10px 12px;font-size:9px;display:flex}.attendanceAlert strong{font-weight:800}.attendanceStatRow{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.attendanceStatRow article{border:1px solid var(--line);border-radius:9px;align-items:center;gap:8px;padding:10px;display:flex}.attendanceStatRow small{color:var(--muted);letter-spacing:.04em;font-size:7px;font-weight:700;display:block}.attendanceStatRow strong{font-size:15px}.attendanceStatRow .absent strong{color:#dc2626}.attendanceStatRow .late strong{color:#d97706}.attendanceStatRow .rate{background:#fdf4ff;border-color:#f5d0fe}.attendanceDayList{flex-wrap:wrap;gap:5px;margin-top:11px;display:flex}.attendanceDay{border-radius:6px;padding:4px 7px;font-size:7px;font-weight:700}.attendanceDay.present{color:#15803d;background:#f0fdf4}.attendanceDay.absent{color:#b91c1c;background:#fef2f2}.attendanceDay.late{color:#b45309;background:#fffbeb}.attendanceDay.excused{color:#52525b;background:#f4f4f5}.attendanceReportTable td.absent{color:#dc2626;font-weight:800}.attendanceReportTable td.followUp{color:#b91c1c;font-weight:800}@media (max-width:780px){.attendanceStatRow{grid-template-columns:repeat(2,minmax(0,1fr))}}.inlineSelectLabel{color:var(--muted);align-items:center;gap:6px;font-size:8px;font-weight:700;display:flex}.inlineSelectLabel select,.inlineSelectLabel input{border:1px solid var(--line);border-radius:7px;padding:6px 8px;font-size:9px}.inlineWarning{align-items:center;gap:4px;display:inline-flex}.studentNoCell{font-variant-numeric:tabular-nums;color:var(--primary-strong);font-weight:800}.fieldHint{color:var(--muted);margin-top:3px;font-size:7px;font-weight:600;display:block}.linkedGuardianNotice{background:#faf5ff;border:1px solid #ddd6fe;border-radius:10px;flex-direction:column;gap:3px;padding:9px 11px;display:flex}.linkedGuardianNotice strong{color:var(--primary-dark);font-size:9px}.linkedGuardianNotice small{color:var(--muted);font-size:7px;font-weight:600;line-height:1.5}.linkedGuardianList{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.linkedGuardianList>div{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:10px;padding:9px 12px;display:flex}.linkedGuardianList>div>div{flex-direction:column;gap:2px;display:flex}.linkedGuardianList button{border:1px solid var(--line);color:#b91c1c;cursor:pointer;background:#fff;border-radius:8px;padding:5px;display:flex}.linkedGuardianList button:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.linkedGuardianList button:disabled{opacity:.5;cursor:default}.linkedGuardianList strong{color:var(--ink);font-size:12px;font-weight:800}.linkedGuardianList small{color:var(--muted);font-size:10px;font-weight:600}.rankingStudentMeta{color:var(--muted);margin-top:2px;font-size:7px;font-weight:600;display:block}.numberLevelTag{letter-spacing:.04em;border-radius:5px;margin-left:5px;padding:1px 5px;font-size:6px;font-weight:800;display:inline-block}.numberLevelTag.YKS{color:#6d28d9;background:#ede9fe}.numberLevelTag.LGS{color:#0f766e;background:#ccfbf1}.numberCapacityWarning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-top:6px;padding:7px 9px;font-size:8px;font-weight:600;display:block}.licenseBlockedScreen{background:var(--surface);place-items:center;min-height:100dvh;padding:24px;display:grid}.licenseBlockedScreen section{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:10px;max-width:420px;padding:32px 28px;display:flex}.licenseBlockedIcon{color:#b91c1c;background:#fef2f2;border-radius:16px;place-items:center;width:54px;height:54px;display:grid}.licenseBlockedScreen span{color:var(--primary-strong);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.licenseBlockedScreen h1{margin:0;font-size:17px}.licenseBlockedScreen p{color:var(--muted);margin:0 0 8px;font-size:10px;line-height:1.6}.licenseContact{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-items:center;gap:4px;width:100%;margin:0 0 10px;padding:12px;display:grid}.licenseContact small{color:var(--muted);letter-spacing:.1em;font-size:8px;font-weight:800}.licenseContact strong{align-items:center;gap:6px;font-size:13px;display:inline-flex}.licenseContact a{color:var(--primary-strong);align-items:center;gap:6px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.demoBanner{z-index:45;color:#86198f;background:#fdf4ff;border-bottom:1px solid #f5d0fe;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:9px;display:flex;position:sticky;top:0}.demoBanner.urgent{color:#9a3412;background:#fff7ed;border-bottom-color:#fed7aa}.licenseBadge{letter-spacing:.04em;border-radius:7px;padding:3px 8px;font-size:7px;font-weight:800}.licenseBadge.active{color:#15803d;background:#f0fdf4}.licenseBadge.demo{color:#86198f;background:#fdf4ff}.licenseBadge.suspended{color:#b91c1c;background:#fef2f2}.institutionLicenseButton{border:1px solid var(--line);color:var(--primary-strong);cursor:pointer;background:#fff;border-radius:9px;place-items:center;padding:9px;display:grid}.institutionLicenseButton:hover{background:#fdf4ff}.licenseStateRow{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.licenseStateCard{border:1px solid var(--line);border-radius:10px;align-items:center;gap:9px;padding:11px;display:flex}.licenseStateCard small{color:var(--muted);letter-spacing:.04em;font-size:7px;font-weight:700;display:block}.licenseStateCard strong{font-size:11px}.licenseStateCard.demo{background:#fdf4ff;border-color:#f5d0fe}.licenseStateCard.suspended{background:#fef2f2;border-color:#fecaca}.licenseStateCard.active{background:#f0fdf4;border-color:#bbf7d0}.licenseUsage{color:var(--muted);margin-top:2px;font-size:7px;font-style:normal;font-weight:700;display:block}.licenseUsage.full{color:#b91c1c}.licenseExtendField button{margin-top:3px}.licenseSuspendWarning{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin:0 0 12px;padding:10px 12px;font-size:9px;line-height:1.6}@media (max-width:780px){.licenseStateRow{grid-template-columns:1fr}}.importGradeFallback{color:#b45309;font-weight:700;display:block}.recurringMistakesBanner{background:#fffbeb;border:1px solid #fde68a;border-radius:16px;margin:16px 0;padding:16px}.recurringBannerHead{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.recurringBannerIcon{background:#fef3c7;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.recurringBannerHead h3{color:#92400e;margin:0 0 2px;font-size:14px;font-weight:800}.recurringBannerHead p{color:#b45309;margin:0;font-size:11px;line-height:1.4}.recurringBadge{color:#92400e;background:#fef3c7;border-radius:20px;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:11px;font-weight:800}.recurringGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.recurringCard{background:#fff;border:1px solid #fef08a;border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex;box-shadow:0 1px 3px #0000000a}.recurringCardHeader{justify-content:space-between;align-items:center;display:flex}.subjectTag{color:#92400e;background:#fef3c7;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:800}.consecutiveBadge{color:#dc2626;font-size:10px;font-weight:800}.topicTitle{color:#18181b;margin:0;font-size:13px;font-weight:800}.recurringStats{color:#71717a;align-items:center;gap:12px;font-size:11px;display:flex}.recurringStats strong{color:#dc2626}.lastExamInfo{color:#a1a1aa;margin-left:auto;font-size:10px}.examPills small{color:#9a3412;margin-bottom:3px;font-size:9px;font-weight:700;display:block}.pillsWrap{flex-wrap:wrap;gap:4px;display:flex}.examPill{color:#3f3f46;white-space:nowrap;text-overflow:ellipsis;background:#fafafa;border:1px solid #e4e4e7;border-radius:4px;max-width:140px;padding:2px 6px;font-size:9px;overflow:hidden}.examPillMore{color:#9a3412;padding:2px 6px;font-size:9px;font-weight:700}.studyTopicBtn{color:#18181b;cursor:pointer;background:#fafafa;border:1px solid #e4e4e7;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;padding:7px 10px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.studyTopicBtn:hover{color:#a21caf;background:#fdf4ff;border-color:#f5d0fe}.whatsappBadge{color:#15803d;letter-spacing:.04em;background:#dcfce7;border-radius:7px;padding:3px 8px;font-size:7px;font-weight:800}.rankingReportButton{border:1px solid var(--line);color:var(--primary-strong);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-size:8px;font-weight:800;display:inline-flex}.rankingReportButton:hover{background:var(--primary-soft,#fdf4ff);border-color:var(--primary-strong)}.weeklyHomeworkPdfButton{white-space:nowrap;align-self:center}.examSinglePointGuide{stroke:var(--line);stroke-width:1px;stroke-dasharray:4 4}.coachSectionPdfBar{justify-content:flex-end;margin:10px 0 -4px;display:flex}.printDoc{color:var(--ink);font-size:10px}.printHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:9px;display:flex}.printHead span{letter-spacing:.6px;color:var(--primary-strong);font-size:7px;font-weight:900}.printHead h1{margin:3px 0 0;font-size:17px}.printHeadIdentity{align-items:center;gap:8px;display:flex}.printHeadLogo{object-fit:contain;width:34px;height:34px}.printDocFooter{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:14px;padding-top:7px;font-size:7px;font-weight:700;display:flex}.printHeadRight{text-align:right}.printHeadRight strong{font-size:9px;display:block}.printHeadRight small{color:var(--muted);font-size:8px;display:block}.printStudentLine{justify-content:space-between;align-items:baseline;margin:9px 0 2px;display:flex}.printStudentLine h2{margin:0;font-size:14px}.printStudentLine span{color:var(--muted);font-size:8.5px}.printSectionTitle{letter-spacing:.6px;color:var(--primary-strong);text-transform:uppercase;margin:14px 0 7px;font-size:8px;font-weight:900}.printDoc h4{margin:10px 0 5px;font-size:9px}.printOverview{align-items:flex-start;gap:16px;display:flex}.printSummary p{color:var(--muted-strong,#52514e);margin:0 0 6px;font-size:9px;line-height:1.45}.printTwoUp{align-items:flex-start;gap:18px;display:flex}.printTwoUp>*{flex:1 1 0;min-width:0}.printChart svg{max-width:100%;height:auto}.printTable{border-collapse:collapse;width:100%}.printTable th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line-strong,#c3c2b7);padding:3px 0;font-size:7.5px;font-weight:800}.printTable td{border-bottom:.5px solid var(--line);padding:3px 0;font-size:8.5px}.printTable td small{color:var(--muted);font-size:7.5px}.printTable .right{text-align:right}.printTable .center{text-align:center}.printMatrix td,.printMatrix th{padding:2px 0;font-size:7.5px}.printTotalRow td{border-top:1px solid var(--line-strong,#c3c2b7);border-bottom:0}.printSectionNote{color:var(--muted);margin:0 0 6px;font-size:7.5px}.weeklyQuestionTable th:first-child,.weeklyQuestionTable td:first-child{white-space:nowrap;width:26%}.weeklyQuestionTable th,.weeklyQuestionTable td{padding:2px 4px;font-size:7.5px}.printMutedRow td{color:var(--muted)}.printWeekGrid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.printWeekDay{border:.5px solid var(--line);border-radius:6px;padding:6px 7px}.printWeekDay.filled{background:#fafafa}.printWeekDay header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.printWeekDay header strong{text-transform:uppercase;letter-spacing:.3px;color:var(--primary-strong);font-size:7px}.printWeekDay header span{color:var(--muted);font-size:6.5px}.printWeekDay p{margin:0 0 3px;font-size:7.5px;line-height:1.35}.printWeekDay p.studentOwned{color:var(--muted-strong,#52514e);font-style:italic}.printWeekDay p.empty{color:var(--line)}.printLegendNote{color:var(--muted);margin:5px 0 0;font-size:6.5px}.printTodo{margin:0 0 3px;font-size:8.5px}.printTodo.done{color:var(--muted)}.printHeatmapLegend{color:var(--muted);align-items:center;gap:3px;margin-bottom:5px;font-size:7px;display:flex}.printHeatmapLegend i{border-radius:2px;width:7px;height:7px;display:inline-block}.printHeatmapGrid{gap:4px;display:flex}.printHeatmapDays{flex-direction:column;display:flex}.printHeatmapDays span{color:var(--muted);align-items:center;font-size:6px;display:flex}.printHeatmapColumns{gap:2px;display:flex}.printHeatmapColumn{flex-direction:column;gap:2px;display:flex}.printHeatmapColumn i{border-radius:2px;display:block}.printExamGroup,.printResourceGroup{margin-bottom:12px}.printSpaced{margin-top:16px}.printHeatmapColumn i.isFuture{border:.5px dashed var(--line);background:0 0!important}.printHeatmapColumn i.isToday{outline:1px solid var(--primary-strong);outline-offset:.5px}.printHeatmapStats{margin-left:auto}.printFactGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.printFactGrid>div{border:.5px solid var(--line);background:#fafafa;border-radius:6px;padding:6px 8px}.printFactGrid small{letter-spacing:.3px;color:var(--muted);text-transform:uppercase;font-size:6.5px;font-weight:800;display:block}.printFactGrid strong{margin-top:2px;font-size:10px;display:block}.progressPanel{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:16px;padding:18px}.progressPanelHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.progressPanelHeader h2{margin:2px 0 0;font-size:17px}.progressEyebrow{letter-spacing:.8px;color:var(--primary-strong);font-size:9px;font-weight:800}.progressPeriodTabs{gap:6px;display:flex}.progressPeriodTabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:99px;padding:6px 13px;font-size:12px;font-weight:700}.progressPeriodTabs button.active{border-color:var(--primary);color:var(--primary-strong);background:#fae8ff}.progressSummary{color:var(--ink);margin:0 0 14px;font-size:13px;line-height:1.5}.progressFactGrid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-bottom:14px;display:grid}.progressFactGrid>div{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.progressFactGrid small{color:var(--muted);font-size:10px;display:block}.progressFactGrid strong{font-size:16px}.progressInsightList{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.progressInsight{border:1px solid var(--line);border-left-width:3px;border-radius:10px;padding:10px 12px}.progressInsight.good{border-left-color:#16a34a}.progressInsight.attention{border-left-color:#d97706}.progressInsight.neutral{border-left-color:var(--line-strong,#c3c2b7)}.progressInsight strong{font-size:13px;display:block}.progressInsight span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.progressInsight em{color:var(--muted);margin-top:4px;font-size:11px;font-style:normal;display:block}.progressInsight p{color:var(--ink);margin:6px 0 0;font-size:12px}.progressCharts{gap:12px;margin-bottom:14px;display:grid}.progressChart figcaption{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700}.progressChart svg{max-width:100%;height:auto}.progressSubjectGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.progressSubjectCard{border:1px solid var(--line);border-radius:12px;padding:12px}.progressSubjectCard.empty{opacity:.6}.progressSubjectCard h4{margin:0 0 8px;font-size:13px}.progressSubjectFacts{flex-wrap:wrap;gap:14px;display:flex}.progressSubjectFacts small{color:var(--muted);font-size:10px;display:block}.progressSubjectFacts strong{font-size:14px}.progressSubjectFacts em{margin-left:4px;font-size:11px;font-style:normal}.progressSubjectFacts em.up{color:#16a34a}.progressSubjectFacts em.down{color:#dc2626}.printDoc .printInsightRow{border-bottom:.5px solid var(--line);break-inside:avoid;align-items:flex-start;gap:6px;padding:5px 0;display:flex}.printDoc .printInsightRow strong{font-size:9px;display:block}.printDoc .printInsightRow span{color:var(--muted);margin-top:1px;font-size:8px;display:block}.printDoc .printInsightRow em{color:var(--muted);margin-top:2px;font-size:7.5px;font-style:normal;display:block}.printDoc .printInsightRow p{margin:3px 0 0;font-size:8px}.printDoc .printFootNote{border-top:.5px solid var(--line);color:var(--muted);margin-top:14px;padding-top:8px;font-size:7px}.printDoc .progressSummary{margin:0;font-size:9.5px;line-height:1.55}.institutionReportAction{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:14px;display:flex}.institutionReportAction .secondaryButton{align-items:center;gap:7px;display:inline-flex}.studyLockNotice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;margin:8px 0 0;padding:9px 11px;font-size:11px;line-height:1.5}.studyRuleHint{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.5}.whatsappChannelState{border:1px solid var(--line);background:#fafafa;border-radius:10px;grid-column:1/-1;margin-top:8px;padding:10px 12px}.whatsappChannelState strong{font-size:10px;display:block}.whatsappChannelState small{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.5;display:block}.whatsappChannelState.off{background:#fafafa;border-color:#e4e4e7}.whatsappChannelState.off strong{color:#52525b}.whatsappChannelState.blocked{background:#fef2f2;border-color:#fecaca}.whatsappChannelState.blocked strong{color:#b91c1c}.whatsappChannelState.partial{background:#fffbeb;border-color:#fde68a}.whatsappChannelState.partial strong{color:#b45309}.whatsappChannelState.live{background:#f0fdf4;border-color:#bbf7d0}.whatsappChannelState.live strong{color:#15803d}.whatsappChannelBlocked{font-weight:700;color:#b45309!important}.whatsappBadge.blocked{color:#b91c1c;background:#fef2f2}.whatsappBadge.partial{color:#b45309;background:#fffbeb}.whatsappBadge.live{color:#15803d;background:#f0fdf4}.selfStudyGuardianCard h2{margin-bottom:4px;font-size:15px}.selfStudyGuardianRow{border:1px solid var(--line);background:#fafafa;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:11px 12px;display:flex}.selfStudyGuardianRow strong{font-size:12px;display:block}.selfStudyGuardianRow small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.selfStudyGuardianForm{gap:9px;margin-top:10px;display:grid}.selfStudyGuardianForm label{color:var(--muted);gap:4px;font-size:10px;font-weight:700;display:grid}.selfStudyGuardianForm input,.selfStudyGuardianForm select{border:1px solid var(--line);border-radius:8px;min-height:34px;padding:0 10px;font-size:12px}.selfStudyGuardianActions{justify-content:flex-end;gap:8px;display:flex}.selfStudyCredential{background:#fff7ff;border:1px solid #d8b4e2;border-radius:11px;flex-wrap:wrap;align-items:center;gap:11px;margin-top:11px;padding:12px;display:flex}.selfStudyCredential strong{font-size:11px;display:block}.selfStudyCredential p{color:var(--muted);margin:3px 0 6px;font-size:10px}.selfStudyCredential code{border:1px solid var(--line);background:#fff;border-radius:6px;margin-right:7px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.selfStudyUserList{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.selfStudyUserCard{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:flex-start;gap:11px;padding:13px;display:flex}.selfStudyUserBody strong{font-size:13px;display:block}.selfStudyUserBody small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.selfStudyUserMeta{color:#7a6f80;flex-wrap:wrap;gap:4px 9px;margin-top:7px;font-size:9px;font-weight:700;display:flex}.scheduleDayTabs{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.scheduleDayTabs button{border:1px solid var(--line);min-height:31px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.scheduleDayTabs button.active{border-color:var(--primary-dark);color:#fff;background:var(--primary-dark)}.scheduleDayTabs button em{background:#00000014;border-radius:6px;padding:0 5px;font-size:9px;font-style:normal;font-weight:900}.scheduleDayTabs button.active em{background:#ffffff38}.scheduleMatrixPanel{border:1px solid var(--line);background:#fff;border-radius:15px;margin-bottom:16px;padding:13px}.scheduleMatrixEmpty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;padding:26px 14px;font-size:12px}.scheduleMatrixScroll{border:1px solid var(--line);border-radius:12px;max-height:68vh;overflow:auto}.scheduleMatrixTable{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.scheduleMatrixTable th,.scheduleMatrixTable td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.scheduleMatrixSlotHead{z-index:2;background:var(--primary-soft);width:132px;min-width:132px;color:var(--primary-dark);text-align:center;padding:8px 4px;font-size:12px;font-weight:800;position:sticky;top:0}.scheduleMatrixRowHead{z-index:1;text-align:left;background:#fff;width:190px;min-width:190px;max-width:190px;padding:2px 10px;font-size:13px;font-weight:700;line-height:1.2;position:sticky;left:0}.scheduleMatrixRowHead span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.scheduleMatrixRowHead em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;font-weight:600;display:block;overflow:hidden}.scheduleMatrixTable tbody tr{height:42px}.scheduleMatrixTable tbody tr:hover .scheduleMatrixRowHead{color:var(--primary-dark);background:#faf6f9}.scheduleMatrixPanel.compact{margin-bottom:0;padding:6px}.sidebarToggle{flex:none}@media (min-width:781px){.portalShell.sidebarCollapsed{grid-template-columns:minmax(0,1fr)}.portalShell.sidebarCollapsed .portalSidebar{display:none}}@media (max-width:780px){.sidebarToggle{display:none!important}}.lessonHoursEditTabs{border:1px solid var(--line);background:#faf8f9;border-radius:10px;flex-wrap:wrap;gap:4px;padding:3px;display:flex}.lessonHoursEditTabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 11px;font-size:10px;font-weight:800;position:relative}.lessonHoursEditTabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #2814281f}.lessonHoursEditTabs button i{background:var(--primary-strong);border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.lessonHoursDayPanel{background:#faf7ff;border:1px solid #c4b5fd;border-radius:12px;gap:10px;padding:11px 12px;display:grid}.lessonHoursDayPanel .lessonHoursToggle{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.lessonHoursDayPanel .lessonHoursToggle input{width:15px;height:15px;accent-color:var(--primary-strong);margin:0}.lessonHoursDayNote{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.timetableGridTable tbody tr{height:30px}.timetableGridTable .scheduleWeekCell{height:27px}.timetableGridTable thead th.scheduleWeekCorner,.timetableGridTable .scheduleWeekRowHead{width:170px;min-width:170px;max-width:170px}.timetableGridTable td.conflict .scheduleWeekCell{box-shadow:inset 0 0 0 2px #d92d20}.timetableGridTable .scheduleWeekCell sup{font-size:8px;font-weight:800}.scheduleWeekRowHead.selected{box-shadow:inset 3px 0 0 var(--primary-strong);background:var(--primary-soft)!important}.timetableRowHeadInner{align-items:center;gap:4px;min-width:0;display:flex}.timetableRowButton{min-width:0;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:0;font-size:12px;font-weight:700;overflow:hidden}.timetableRowButton em{color:var(--muted);margin-left:5px;font-size:10px;font-style:normal;font-weight:500}.timetableRowBadge{color:#9a5b00;background:#fff4e5;border-radius:999px;flex:none;padding:1px 5px;font-size:9px;font-weight:800}.timetableRowOff{color:#b42318;flex:none;font-size:9px;font-style:normal;font-weight:800}.timetableRowWeek{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:0;font-size:14px;line-height:1}.timetableRowWeek:hover{background:var(--primary-soft);color:var(--primary-dark)}.teacherStripLabel b{color:var(--ink)}.scheduleActions{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.scheduleActions button{gap:4px;min-height:28px;padding:0 9px;font-size:11px}.slotResync{color:#8a5a00;background:#fffaf0;border:1px solid #f5d38a;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;font-size:12px;display:flex}.lessonHoursDayTitle{font-size:12px;display:block}.lessonHoursDayTitle small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.lessonHoursDayRules{gap:6px;margin-top:8px;display:grid}.lessonHoursDayRule{border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.lessonHoursDayRule.active{background:#faf7ff;border-color:#c4b5fd}.lessonHoursDayRule .lessonHoursToggle{min-width:110px;margin:0}.lessonHoursDayRule input[type=time]{width:96px}.lessonHoursDayRule input[type=number]{width:58px}.lessonHoursDayRule em,.lessonHoursDayRule small{color:var(--muted);font-size:11px;font-style:normal}.scheduleMatrixCorner{z-index:3;background:var(--primary-dark);color:#fff;text-align:left;width:190px;min-width:190px;padding:8px 10px;font-size:11px;font-weight:800;position:sticky;top:0;left:0}.scheduleMatrixSectionRow th,.scheduleMatrixSectionRow td{background:var(--surface)}.scheduleMatrixSection{color:var(--muted);letter-spacing:.08em;font-size:9px;font-weight:900}.scheduleMatrixSection em{color:var(--subtle);font-style:normal}.scheduleMatrixCell{vertical-align:middle;background:#fff;padding:2px}.scheduleMatrixCell button{text-align:left;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;gap:0;width:100%;height:100%;min-height:36px;padding:2px 7px;line-height:1.25;display:flex}.scheduleCellEmpty{color:var(--subtle);background:0 0}.scheduleCellEmpty:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.scheduleCellPlus{opacity:0;align-self:center;font-size:15px;font-weight:700}.scheduleCellEmpty:hover .scheduleCellPlus,.scheduleCellEmpty:focus-visible .scheduleCellPlus{opacity:.8}.scheduleCellCard strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.scheduleCellCard span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.scheduleMatrixTable .scheduleCellCard small{display:none}.scheduleCellCard.subject-0{color:#86198f;background:#fdf4ff;border-color:#f0abfc}.scheduleCellCard.subject-1{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.scheduleCellCard.subject-2{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.scheduleCellCard.subject-3{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.scheduleCellCard.subject-4{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.scheduleCellCard.subject-5{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.scheduleSlotModal{max-width:620px}.scheduleSlotForm{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:10px 0;display:flex}.scheduleSlotForm label{color:var(--muted);flex-direction:column;gap:3px;font-size:10px;font-weight:700;display:flex}.scheduleSlotList{flex-direction:column;gap:5px;max-height:220px;margin:0 0 12px;padding:0;list-style:none;display:flex;overflow:auto}.scheduleSlotList li{border:1px solid var(--line);border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.scheduleSlotList li.editing{border-color:var(--primary);background:var(--primary-soft)}.scheduleSlotEmpty{color:var(--muted);justify-content:center;font-size:11px}.scheduleSlotActions{gap:4px;display:flex}.scheduleSlotActions button{border:1px solid var(--line);min-height:26px;color:var(--muted);background:#fff;border-radius:7px;padding:0 7px;font-size:10px;font-weight:700}.scheduleSlotActions button:disabled{opacity:.4}.scheduleCopyDays{border:1px solid var(--line);border-radius:11px;margin:0 0 10px;padding:10px}.scheduleCopyDays legend{color:var(--muted);align-items:center;gap:5px;padding:0 5px;font-size:10px;font-weight:800;display:flex}.scheduleCopyOptions{flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;font-size:11px;display:flex}.scheduleCopyOptions label{align-items:center;gap:4px;display:inline-flex}.scheduleCellModal{max-width:520px}.schedulePdfFields{border:1px solid var(--line);border-radius:11px;flex-wrap:wrap;gap:5px 14px;margin:0 0 10px;padding:10px;font-size:11px;display:flex}.schedulePdfFields legend{color:var(--muted);padding:0 5px;font-size:10px;font-weight:800}.schedulePdfFields label{align-items:center;gap:4px;display:inline-flex}.teacherWeekModal{max-width:560px}.teacherWeekList{flex-direction:column;gap:10px;max-height:340px;display:flex;overflow:auto}.teacherWeekList h3{letter-spacing:.06em;color:var(--primary-dark);text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:900}.teacherWeekList ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.teacherWeekList li{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:6px 9px;font-size:11px;display:flex}.teacherWeekList li strong{min-width:96px;font-size:11px}.teacherWeekList li em{color:var(--primary-dark);font-style:normal;font-weight:700}.teacherWeekList li small{color:var(--muted)}.schedulePaperPicker{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.schedulePaperPicker label{color:var(--muted);align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.schedulePaperPicker select{min-height:29px}.scheduleSheetWrap{flex-direction:column;gap:8px;display:flex}.scheduleSheetBar{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:11px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex}.scheduleSheetBar strong{color:var(--ink)}.scheduleSheetZoom{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;max-width:100%;display:flex}.scheduleSheetZoom button{border:1px solid var(--line);min-height:27px;color:var(--muted);background:#fff;border-radius:7px;padding:0 10px;font-size:10px;font-weight:700}.scheduleSheetZoom button.active{border-color:var(--primary-dark);background:var(--primary-dark);color:#fff}.scheduleSheetZoomManual{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:4px;padding:0 6px;display:flex}.scheduleSheetZoomManual.active{border-color:var(--primary-dark)}.scheduleSheetZoomManual button{min-height:23px;color:var(--muted);background:0 0;border:0;padding:0 2px}.scheduleSheetZoomManual button:hover:not(:disabled){color:var(--primary-dark)}.scheduleSheetZoomManual button:disabled{opacity:.35}.scheduleSheetZoomManual input[type=range]{width:96px;height:3px;accent-color:var(--primary-dark);cursor:pointer}.scheduleSheetScroll{background:#e8e6ec;border-radius:13px;flex-direction:column;align-items:center;gap:18px;max-height:78vh;padding:14px;display:flex;overflow:auto}.scheduleSheetPage{flex:none;position:relative}.scheduleSheetPaper{--schedDensity:1;transform-origin:0 0;color:#111;background:#fff;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 5px 20px #1e14282e}.scheduleSheetHead{border-bottom:2px solid #111;align-items:center;gap:12px;margin-bottom:6px;display:flex}.scheduleSheetHead img{object-fit:contain;width:44px;height:44px}.scheduleSheetHead strong{letter-spacing:.06em;text-transform:uppercase;color:#444;font-size:11px;display:block}.scheduleSheetHead h3{margin:2px 0 0;font-size:18px}.scheduleSheetHead small{color:#666;font-size:10px;display:block}.scheduleSheetPageNo{color:#777;align-self:flex-start;margin-left:auto;font-size:10px;font-weight:700}.scheduleSheetDay{letter-spacing:.05em;text-transform:uppercase;color:#333;align-items:center;margin:0;font-size:12px;font-weight:800;display:flex}.scheduleSheetTable{border-collapse:collapse;table-layout:fixed;width:100%}.scheduleSheetTable th,.scheduleSheetTable td{border:1px solid #a9a4b0;padding:0;overflow:hidden}.scheduleSheetTable thead th{font-size:calc(6.8px * var(--schedDensity));text-align:center;color:#463d4e;white-space:nowrap;background:#efecf3;padding:1px 2px;font-weight:800;line-height:1.05}.scheduleSheetTable tbody th{text-align:left;vertical-align:middle;background:#faf9fb;padding:1px 4px}.scheduleSheetTable tbody th b{font-size:calc(7px * var(--schedDensity));text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.05;display:inline;overflow:hidden}.scheduleSheetTable tbody th i{font-style:normal;font-size:calc(5.6px * var(--schedDensity));color:#6b6473;text-overflow:ellipsis;white-space:nowrap;margin-left:3px;line-height:1;display:inline;overflow:hidden}.scheduleSheetTable td.filled{background:#fdf4ff}.scheduleSheetCell{text-align:left;color:#111;background:0 0;border:0;flex-direction:column;justify-content:center;width:100%;height:100%;padding:1px 3px;line-height:1.15;display:flex}.scheduleSheetCell:hover{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.scheduleSheetCell b{font-size:calc(7px * var(--schedDensity));color:#86198f;text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.05;overflow:hidden}.scheduleSheetCell span{text-overflow:ellipsis;white-space:nowrap;font-size:7.6px;overflow:hidden}.scheduleSheetPlus{color:#cfc9d4;align-self:center;font-size:9px;font-weight:700}body.scheduleFocusMode .portalSidebar,body.scheduleFocusMode .topbar,body.scheduleFocusMode .pageHeader{display:none!important}body.scheduleFocusMode .portalShell{grid-template-columns:minmax(0,1fr)!important}body.scheduleFocusMode .portalMain{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}body.scheduleFocusMode .pageContainer{max-width:none!important;padding:8px 10px!important}body.scheduleFocusMode .programControlPanel{position:static}.scheduleSheetFocus{border-color:var(--primary)!important;color:var(--primary-dark)!important}.scheduleControlPanel{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:9px;padding:7px 9px;display:flex}.scheduleControlPanel>*{margin-bottom:0!important}.scheduleControlPanel .scheduleViewTabs,.scheduleControlPanel .scheduleDayTabs,.scheduleControlPanel .schedulePaperPicker,.scheduleControlPanel .programFilters{margin:0}.scheduleControlPanel .scheduleDayTabs button{min-height:27px;padding:0 8px;font-size:10px}.scheduleControlPanel .scheduleViewTabs button{min-height:27px}.scheduleControlPanel .programFilters select,.scheduleControlPanel .schedulePaperPicker select{min-height:27px;padding:0 6px;font-size:11px}.scheduleControlPanel .programFilters{flex:200px}.schedulePlanningModal{max-width:780px;max-height:88dvh;overflow:auto}.schedulePlanningForm{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:10px 0;display:flex}.schedulePlanningForm label{color:#6b6570;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;flex:130px;gap:3px;font-size:10px;font-weight:800;display:flex}.schedulePlanningForm input,.schedulePlanningForm select{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:32px;padding:0 8px;font-size:12px}.schedulePlanningForm button{flex:none;min-height:32px}.schedulePlanningList{flex-direction:column;gap:5px;margin-top:8px;display:flex}.schedulePlanningList .matrixHint{margin:6px 0}.planningRow{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}.planningRow>div:first-child{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.planningRow strong{color:#2f2b33;font-size:12px}.planningRow span{color:#78717d;font-size:10px}.planningRow b{color:var(--primary);white-space:nowrap;font-size:11px;font-weight:800}.planningRow.done b{color:#16a34a}.planningRow.warn{background:#fffbeb;border-color:#fed7aa}.planningRow.warn b{color:#b45309}.planningRowActions{gap:4px;display:flex}.planningRow .iconButton{border-radius:8px;width:28px;height:28px}.schedulePlanningList.unplaced{margin-top:12px}.demandSearchField{flex:220px}.demandCountBadge{color:#6b6570;background:#f6f2f7;border-radius:999px;align-self:center;padding:4px 9px;font-size:10px;font-weight:800}.demandGridWrap{border:1px solid var(--line);background:#fff;border-radius:11px;max-height:52dvh;overflow:auto}.demandGrid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}.demandGrid th,.demandGrid td{text-align:center;border-bottom:1px solid #f1eef2;border-right:1px solid #f1eef2;padding:3px 5px}.demandGrid thead th{z-index:3;color:#4a4550;white-space:nowrap;background:#faf7fb;font-size:10px;font-weight:800;position:sticky;top:0}.demandGrid thead .demandTeacherRow th{z-index:3;color:#78717d;text-overflow:ellipsis;max-width:74px;font-size:9px;font-weight:700;top:24px;overflow:hidden}.demandGrid .demandNameHead,.demandGrid .demandName{z-index:4;text-align:left;background:#fff;min-width:150px;position:sticky;left:0}.demandGrid .demandNameHead{z-index:5;background:#faf7fb}.demandGrid tbody .demandName{color:#2f2b33;font-weight:700}.demandGrid tbody tr:nth-child(2n) .demandName,.demandGrid tbody tr:nth-child(2n) td{background:#fcfbfd}.demandGrid td input{border:1px solid var(--line);text-align:center;background:#fff;border-radius:7px;width:44px;min-height:26px;padding:0 4px;font-size:11px}.demandGrid td input:focus{border-color:var(--primary);outline:2px solid var(--primary-soft,#f3e8ff)}.demandTotalHead,.demandTotal{white-space:nowrap;color:#78717d;font-weight:800}.demandTotal.done{color:#16a34a}.scheduleSlotGenerator{border:1px solid var(--line);border-radius:11px;margin-top:12px;padding:10px}.scheduleSlotGenerator legend{color:#6b6570;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;padding:0 5px;font-size:10px;font-weight:800;display:flex}.scheduleGenFields{flex-wrap:wrap;gap:7px;margin-bottom:7px;display:flex}.scheduleGenFields label{color:#78717d;text-transform:uppercase;letter-spacing:.03em;flex-direction:column;flex:96px;gap:3px;font-size:9px;font-weight:800;display:flex}.scheduleGenFields input{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:30px;padding:0 7px;font-size:12px}.scheduleGenPreview{flex-wrap:wrap;gap:4px;margin:7px 0;padding:0;list-style:none;display:flex}.scheduleGenPreview li{border:1px solid var(--line);color:#4a4550;background:#faf7fb;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.scheduleSlotGenerator button{margin-top:7px}.schedulePdfDays{position:relative}.schedulePdfDayActions{gap:6px;width:100%;margin-bottom:4px;display:flex}.schedulePdfDayActions button{min-height:26px;padding:0 9px;font-size:10px}.legalPage{background:#fff;justify-content:center;min-height:100dvh;padding:clamp(28px,6vw,72px) 20px 96px;display:flex}.legalPage article{width:min(100%,72ch);color:var(--ink,#18181b)}.legalPage h1{letter-spacing:-.035em;margin:10px 0 6px;font-size:clamp(28px,4vw,40px);line-height:1.1}.legalPage h2{letter-spacing:-.02em;margin:34px 0 10px;font-size:18px}.legalPage p,.legalPage li{line-height:1.72}.legalPage ul{gap:9px;margin:10px 0;padding-left:20px;display:grid}.legalPage .legalMeta{color:var(--muted);margin:0 0 26px;font-size:13px}.legalPage a{color:var(--primary-strong);text-decoration:underline}.parentChildSwitcher{flex-direction:column;gap:6px;margin-bottom:13px;display:flex}.parentChildSwitcher>span{color:var(--muted);letter-spacing:.08em;font-size:7px;font-weight:900}.parentChildSwitcher>div{flex-wrap:wrap;gap:7px;display:flex}.parentChildSwitcher button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:8px 13px;display:flex}.parentChildSwitcher button strong{color:var(--ink);font-size:9px}.parentChildSwitcher button small{color:var(--muted);font-size:7px;font-weight:600}.parentChildSwitcher button.active{border-color:var(--primary);background:#faf5ff}.parentChildSwitcher button.active strong{color:var(--primary-dark)}.guardianChildPicker{flex-direction:column;gap:18px;padding:26px 0;display:flex}.guardianChildPicker header{flex-direction:column;gap:6px;display:flex}.guardianChildPicker header span{color:var(--primary-dark);letter-spacing:.1em;font-size:9px;font-weight:900}.guardianChildPicker header h1{color:var(--ink);font-size:21px;font-weight:800}.guardianChildPicker header p{color:var(--muted);font-size:12px}.guardianChildPicker>div{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.guardianChildPicker button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:15px;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.guardianChildPicker button:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 8px 22px #86198f1a}.guardianChildPicker button strong{color:var(--ink);font-size:15px;font-weight:800}.guardianChildPicker button small{color:var(--muted);font-size:11px;font-weight:600}.guardianChildAvatar{background:var(--primary-soft);width:46px;height:46px;color:var(--primary-dark);border-radius:14px;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex;overflow:hidden}.guardianChildAvatar img{object-fit:cover;width:100%;height:100%}.weeklyEditButton{border:1px solid var(--line);color:var(--primary-dark);cursor:pointer;background:#fff;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.weeklyEditButton:hover{background:var(--primary-soft)}.weeklyEditForm{flex-direction:column;gap:9px;margin:4px 0 2px;display:flex}.weeklyEditForm label{color:var(--muted);flex-direction:column;gap:4px;font-size:10px;font-weight:800;display:flex}.weeklyEditForm input,.weeklyEditForm textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;padding:9px 10px;font-family:inherit;font-size:12px}.weeklyEditForm textarea{resize:vertical;min-height:62px}.usageSummaryGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.usageSummaryCard{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:13px;flex-direction:column;gap:2px;padding:12px 13px;transition:border-color .15s,box-shadow .15s;display:flex}.usageSummaryCard:hover{border-color:#d8b4e2}.usageSummaryCard.selected{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.usageSummaryCard strong{color:var(--ink);font-size:20px;font-weight:800}.usageSummaryCard span{color:var(--primary-dark);font-size:9px;font-weight:800}.usageSummaryCard small{color:var(--muted);font-size:7px;line-height:1.45}.usageSummaryCard.never strong{color:#b91c1c}.usageSummaryCard.dormant strong{color:#c2410c}.usageSummaryCard.idle strong{color:#a16207}.usageSummaryCard.active strong{color:var(--success)}.usageSummaryCard.blocked strong{color:var(--subtle)}.usageFilters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.usageTypeTabs{gap:6px;display:flex}.usageTypeTabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:8px;font-weight:800}.usageTypeTabs button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.usageFilters input{border:1px solid var(--line);border-radius:9px;min-width:180px;padding:7px 12px;font-size:9px}.usageTable{flex-direction:column;display:flex}.usageTableHead,.usageRow{grid-template-columns:minmax(0,2.2fr) .8fr .9fr 1.2fr .7fr;align-items:center;gap:10px;padding:9px 11px;display:grid}.usageTableHead{letter-spacing:.06em;color:var(--subtle);text-transform:uppercase;font-size:7px;font-weight:900}.usageRow,.usagePerson{color:inherit;text-decoration:none}.usagePerson:hover strong{color:var(--primary-dark)}.usageRow:hover{background:var(--primary-soft)}.usagePerson{flex-direction:column;gap:2px;min-width:0;display:flex}.usagePerson strong{font-size:10px;font-weight:800}.usagePerson small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.usageType{color:var(--muted);font-size:8px;font-weight:700}.usageState{border-radius:999px;justify-self:start;padding:2px 9px;font-size:7px;font-weight:900}.usageState.never{color:#b91c1c;background:#fee2e2}.usageState.dormant{color:#c2410c;background:#ffedd5}.usageState.idle{color:#a16207;background:#fef9c3}.usageState.active{color:var(--success);background:#dcfce7}.usageState.blocked{color:var(--subtle);background:#f4f4f5}.usageMoment{flex-direction:column;gap:1px;display:flex}.usageMoment b{font-size:9px;font-weight:800}.usageMoment small{color:var(--muted);font-size:7px}.usageCount{color:var(--muted);text-align:right;font-size:10px;font-weight:800}.usageRowWrap{border-top:1px solid var(--line)}.usageRowWrap .usageRow{border-top:0}.usageHistoryBtn{border:1px solid var(--line);color:var(--primary-dark);cursor:pointer;background:#fff;border-radius:8px;justify-self:end;padding:4px 10px;font-size:7px;font-weight:800}.usageHistoryBtn:disabled{opacity:.4;cursor:default}.usageHistory{flex-direction:column;gap:7px;padding:0 11px 11px;display:flex}.usageHistory small{color:var(--muted);font-size:8px}.usageHistoryError{color:#b91c1c}.usageHistoryStats{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:8px;display:flex}.usageHistoryStats b{color:var(--ink);font-size:11px}.usageHistoryList{flex-wrap:wrap;gap:5px;display:flex}.usageHistoryList span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;align-items:baseline;gap:5px;padding:3px 8px;font-size:7px;display:inline-flex}.usageHistoryList em{color:var(--primary-dark);font-style:normal;font-weight:800}@media (max-width:900px){.usageSummaryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.usageTableHead{display:none}.usageRow{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.usageType{display:none}.usageMoment{flex-direction:row;grid-column:1/-1;align-items:baseline;gap:6px}}.institutionUsage{border:1px solid var(--line);background:#fafafa;border-radius:10px;flex-direction:column;gap:6px;margin-top:10px;padding:9px 11px;display:flex}.institutionUsage.live{background:#f0fdf4;border-color:#bbf7d0}.institutionUsage.quiet{background:#fffbeb;border-color:#fde68a}.institutionUsage.cold{background:#fafafa;border-color:#e4e4e7}.institutionUsage small{letter-spacing:.1em;color:var(--subtle);font-size:6px;font-weight:900;display:block}.institutionUsage strong{color:var(--ink);font-size:8px;font-weight:800}.institutionUsageBars{flex-wrap:wrap;gap:5px;display:flex}.institutionUsageBars b{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:2px 8px;font-size:7px;font-weight:800}.institutionUsage.live .institutionUsageBars b:first-child{color:var(--success);border-color:#bbf7d0}.settingsGroupTitle{letter-spacing:.06em;text-transform:uppercase;color:var(--primary-dark);margin-top:4px;font-size:8px;font-weight:900}.settingsGroupTitle:first-child{margin-top:0}.settingsSelectField{align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.settingsSelectField select{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:9px}.academicYearPanel h3{align-items:center;gap:6px;display:flex}.academicYearEditor{flex-direction:column;gap:11px;display:flex}.academicYearSummary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.academicYearSummary>div{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:2px;padding:10px;display:flex}.academicYearSummary strong{font-size:18px;font-weight:800}.academicYearSummary span{color:var(--muted);font-size:7px;font-weight:700}.academicYearSummary .attention{background:#fffbeb;border-color:#fcd34d}.academicYearSummary .attention strong{color:#b45309}.academicYearChoice{align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.academicYearChoice select{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:9px}.academicYearWarn{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:9px;align-items:center;gap:6px;padding:8px 10px;font-size:8px;display:flex}.academicYearList{border:1px solid var(--line);border-radius:10px;max-height:260px;overflow-y:auto}.academicYearRow{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) auto auto auto minmax(0,1fr);align-items:center;gap:8px;padding:7px 10px;font-size:8px;display:grid}.academicYearRow:last-child{border-bottom:0}.academicYearRow b{font-weight:800}.academicYearRow em{color:var(--subtle);font-style:normal}.academicYearRow small{color:var(--muted);text-align:right}.academicYearRow.close{background:#fef2f2}.academicYearRow.graduate{background:#f5f3ff}.academicYearRow.keep{color:var(--muted);background:#fafafa}.academicYearNote{color:var(--muted);font-size:8px;line-height:1.55}.academicYearHistory{flex-direction:column;gap:6px;margin-top:14px;display:flex}.academicYearHistory>strong{font-size:9px}.academicYearHistoryRow{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.academicYearHistoryRow span{flex-direction:column;gap:2px;font-size:9px;display:flex}.academicYearHistoryRow small{color:var(--muted);font-size:7px}.academicYearHistoryRow em{color:var(--success);align-items:center;gap:4px;font-size:7px;font-style:normal;font-weight:800;display:inline-flex}.academicYearHistoryRow .academicYearReverted{color:var(--muted)}.errorAlertButton{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.errorAlertBadge{color:#fff;background:#b91c1c;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:8px;font-weight:900}.errorAlertLine{color:var(--primary-dark);font-weight:700}.errorAlertTag{vertical-align:middle;border-radius:999px;margin-right:6px;padding:1px 6px;font-size:7px;font-style:normal;font-weight:900}.errorAlertTag.new{color:#b91c1c;background:#fee2e2}.errorAlertTag.recurring{color:#c2410c;background:#ffedd5}.errorAlertTag.flooding{color:#fde68a;background:#1f1a24}.studentDossierAction{justify-items:start;gap:6px;display:grid}.studentDossierAction>button{border-radius:10px;align-items:center;gap:6px;min-height:36px;padding:0 13px;font-size:10px;font-weight:800;display:flex}.platformLayout{background:linear-gradient(135deg,#fff 0%,#fff8ff 55%,#f8f4fa 100%);grid-template-columns:228px 1fr;min-height:100dvh;display:grid}.platformShell{min-height:100dvh;padding:0 5vw 50px}.platformSidebar{background:#fff;border-right:1px solid #eee5ef;flex-direction:column;align-self:start;gap:18px;height:100dvh;padding:18px 14px;display:flex;position:sticky;top:0}.platformBrand{align-items:center;gap:10px;display:flex}.platformBrand>span{flex-direction:column;gap:2px;min-width:0;display:flex}.platformBrand strong{font-size:12px}.platformBrand small{color:var(--muted);letter-spacing:.1em;font-size:8px;font-weight:800}.platformNav{gap:3px;display:grid}.platformSidebarFoot{border-top:1px solid #f2eaf4;gap:3px;margin-top:auto;padding-top:10px;display:grid}.platformNavItem{color:#52525b;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:11px;font-weight:700;display:flex}.platformNavItem:hover{color:var(--primary-dark);background:#faf5ff}.platformNavItem.active{color:var(--primary-strong);background:#fdf4ff}.platformNavItem.danger{color:#b91c1c}.platformNavItem.danger:hover{background:#fef2f2}.platformNavItem>b{margin-left:auto}.platformContent{min-width:0;padding:0 clamp(18px,3vw,34px) 50px}.platformTopbar{border-bottom:1px solid #eee5ef;justify-content:space-between;align-items:center;min-height:66px;margin-bottom:18px;display:flex}.platformTopbar>div{flex-direction:column;gap:2px;display:flex}.platformTopbar span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:800}.platformTopbar strong{font-size:13px}.platformPageHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.platformPageHead span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:800}.platformPageHead h1{margin:4px 0 2px;font-size:21px}.platformPageHead p{color:var(--muted);margin:0;font-size:10px}.platformStatGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:18px;display:grid}.platformStatGrid>article{background:#fff;border:1px solid #eee5ef;border-radius:12px;align-items:flex-start;gap:10px;padding:13px;display:flex}.platformStatGrid svg{color:var(--primary-strong);flex:none;margin-top:2px}.platformStatGrid>article>div{flex-direction:column;gap:2px;min-width:0;display:flex}.platformStatGrid span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.platformStatGrid strong{font-size:20px}.platformStatGrid small{color:var(--muted);font-size:9px}.platformStatGrid>article.platformStatAlert{background:#fef2f2;border-color:#fecaca}.platformStatGrid>article.platformStatAlert svg{color:#b91c1c}.platformPanel{background:#fff;border:1px solid #eee5ef;border-radius:14px;margin-bottom:16px;padding:15px}.platformPanelHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.platformPanelHead span{color:var(--primary-strong);letter-spacing:.12em;font-size:8px;font-weight:800}.platformPanelHead h2{margin:3px 0 0;font-size:14px}.platformPanelHead small{color:var(--muted);font-size:9px}.platformPanelHead>b{color:var(--primary-strong);background:#fdf4ff;border-radius:999px;padding:4px 10px;font-size:11px}.platformTypeGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.platformTypeCard{background:#fffdff;border:1px solid #eee5ef;border-radius:12px;flex-direction:column;gap:5px;padding:13px;display:flex}.platformTypeCard:hover{background:#fdf4ff;border-color:#e6b8ea}.platformTypeCard.empty{opacity:.55}.platformTypeCard strong{font-size:12px}.platformTypeCard small{color:var(--muted);font-size:9px;line-height:1.35}.platformTypeNumbers{gap:14px;margin-top:4px;display:flex}.platformTypeNumbers b{flex-direction:column;font-size:16px;display:flex}.platformTypeNumbers span{color:var(--muted);font-size:8px;font-weight:700}.platformTypeAlert{color:#b91c1c;font-size:9px;font-style:normal;font-weight:800}.platformAttentionList,.platformRecentList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.platformAttentionList>li{border:1px solid #f2eaf4;border-radius:11px;grid-template-columns:minmax(160px,1fr) auto;gap:6px 12px;padding:11px 12px;display:grid}.platformAttentionList>li>p{color:var(--muted);grid-column:1/-1;margin:0;font-size:9px}.platformRecentList>li{border:1px solid #f2eaf4;border-radius:11px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.platformRecentList small,.platformAttentionList small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.platformRecentList>li>b{color:#52525b;font-size:10px}.platformInstitutionName{color:var(--primary-dark);text-align:left;background:0 0;border:0;padding:0;font-size:12px;font-weight:800}.platformInstitutionName:hover{text-decoration:underline}.platformFlagRow{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.platformFlag{letter-spacing:.03em;color:#52525b;background:#f4f4f5;border-radius:7px;padding:3px 8px;font-size:7px;font-weight:800}.platformFlag.license_closed,.platformFlag.limit_exceeded{color:#b91c1c;background:#fef2f2}.platformFlag.demo_expiring,.platformFlag.setup_stalled{color:#c2410c;background:#fff7ed}.platformFlag.never_used,.platformFlag.went_quiet,.platformFlag.limit_near{color:#86198f;background:#fdf4ff}.platformFilterBar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.platformFilterBar select{border:1px solid var(--line);color:#3f3f46;background:#fff;border-radius:9px;min-height:36px;padding:0 10px;font-size:10px;font-weight:700}.platformSearch{border:1px solid var(--line);background:#fff;border-radius:9px;flex:240px;align-items:center;gap:7px;min-height:36px;padding:0 11px;display:flex}.platformSearch svg{color:var(--muted);flex:none}.platformSearch input{background:0 0;border:0;outline:none;flex:1;font-size:11px}.platformViewToggle{border:1px solid var(--line);color:#3f3f46;background:#fff;border-radius:9px;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-size:10px;font-weight:700;display:flex}.platformViewToggle.active{color:var(--primary-strong);background:#fdf4ff;border-color:#e6b8ea}.platformTableWrap{background:#fff;border:1px solid #eee5ef;border-radius:14px;margin-bottom:14px;overflow-x:auto}.platformSectionHead{justify-content:space-between;align-items:center;padding:12px 14px 0;display:flex}.platformSectionHead h2{margin:0;font-size:13px}.platformSectionHead b{color:var(--muted);font-size:9px}.platformTable{border-collapse:collapse;width:100%;min-width:900px}.platformTable th{text-align:left;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #f2eaf4;padding:10px 12px;font-size:8px;font-weight:800}.platformTable td{vertical-align:top;border-bottom:1px solid #f7f2f8;padding:11px 12px;font-size:11px}.platformTable tbody tr:last-child td{border-bottom:0}.platformTable tbody tr.flagged{background:#fffbfa}.platformTable td small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.platformTable td strong{font-size:13px}.platformTable td .platformFlag{margin:4px 4px 0 0;display:inline-block}.platformRowActions{white-space:nowrap;align-items:center;gap:6px;display:flex}.platformEmptyRow{text-align:center;color:var(--muted);padding:16px;font-size:10px}@media (max-width:900px){.platformLayout{grid-template-columns:1fr}.platformSidebar{border-bottom:1px solid #eee5ef;border-right:0;height:auto;position:static}.platformNav{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.platformSidebarFoot{grid-auto-columns:max-content;grid-auto-flow:column}.platformContent{padding-inline:16px}}.platformMaster{grid-template-columns:268px 1fr;align-items:start;gap:14px;display:grid}.platformPicker{background:#fff;border:1px solid #eee5ef;border-radius:14px;grid-template-rows:auto auto auto 1fr;gap:9px;max-height:calc(100dvh - 130px);padding:12px;display:grid;position:sticky;top:12px}.platformPicker .platformSearch{flex:auto}.platformPicker .platformSearch button{color:var(--muted);background:0 0;border:0;align-items:center;padding:0;display:flex}.platformPickerFilters{grid-template-columns:1fr 1fr;gap:6px;display:grid}.platformPickerFilters select{border:1px solid var(--line);color:#3f3f46;background:#fff;border-radius:8px;min-width:0;min-height:32px;padding:0 8px;font-size:9px;font-weight:700}.platformPickerFilters select:last-child{grid-column:1/-1}.platformPickerCount{color:var(--muted);margin:0;font-size:9px;font-weight:700}.platformPickerList{align-content:start;gap:2px;display:grid;overflow-y:auto}.platformPickerList h3{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:9px 0 3px;font-size:8px;font-weight:800}.platformPickerItem{text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;width:100%;padding:8px 9px;display:flex}.platformPickerItem:hover{background:#faf5ff}.platformPickerItem.active{background:#fdf4ff;border-color:#e6b8ea}.platformPickerItem>span{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.platformPickerItem strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.platformPickerItem small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.platformFlagDot{background:#a1a1aa;border-radius:50%;flex:none;width:8px;height:8px}.platformFlagDot.license_closed,.platformFlagDot.limit_exceeded{background:#dc2626}.platformFlagDot.demo_expiring,.platformFlagDot.setup_stalled{background:#ea580c}.platformFlagDot.never_used,.platformFlagDot.went_quiet,.platformFlagDot.limit_near{background:#c026d3}.platformDetail{background:#fff;border:1px solid #eee5ef;border-radius:14px;align-content:start;gap:13px;padding:16px;display:grid}.platformDetailEmpty{text-align:center;min-height:240px;color:var(--muted);place-content:center;justify-items:center}.platformDetailEmpty p{margin:0;font-size:12px;font-weight:700}.platformDetailEmpty small{font-size:10px}.platformDetailHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.platformDetailHead h2{margin:6px 0 3px;font-size:18px}.platformDetailHead small{color:var(--muted);font-size:10px}.platformDetailActions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.platformDetailActions .secondaryButton{border-radius:9px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:10px;font-weight:700;display:flex}.platformDetailBadges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.platformDetailFlagNotes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.platformDetailFlagNotes li{color:#52525b;border:1px solid #f2eaf4;border-radius:10px;padding:9px 11px;font-size:10px}.platformDetailFlagNotes b{margin-right:7px}.platformDetailGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;display:grid}.platformDetailGrid>article{border:1px solid #f2eaf4;border-radius:11px;flex-direction:column;gap:2px;padding:11px;display:flex}.platformDetailGrid span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.platformDetailGrid strong{font-size:17px}.platformDetailGrid small{color:var(--muted);font-size:9px}.platformModuleRow{flex-wrap:wrap;align-items:center;gap:7px;padding-top:3px;display:flex}.platformModuleRow>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.platformModule{color:#a1a1aa;background:#f4f4f5;border-radius:999px;padding:4px 9px;font-size:8px;font-weight:800}.platformModule.on{color:#15803d;background:#f0fdf4}kbd{border:1px solid var(--line);background:#fafafa;border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-family:inherit;font-size:9px;font-weight:800}@media (max-width:900px){.platformMaster{grid-template-columns:1fr}.platformPicker{max-height:320px;position:static}}.platformHealth{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 13px;display:flex}.platformHealth svg{color:#15803d;flex:none}.platformHealth strong{color:#166534;font-size:12px;display:block}.platformHealth small{color:#15803d;font-size:9px}.platformHealth.degraded{background:#fff7ed;border-color:#fed7aa}.platformHealth.degraded svg{color:#c2410c}.platformHealth.degraded strong{color:#9a3412}.platformHealth.degraded small{color:#c2410c}.platformSpark{align-items:flex-end;gap:3px;height:78px;padding:4px 0;display:flex}.platformSpark b{background:linear-gradient(#d946ef,#a21caf);border-radius:3px 3px 0 0;flex:1;min-width:2px}.platformSpark b.silent{background:#e4e4e7}.platformSparkFoot{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:8px;font-weight:700;display:flex}.platformSparkFoot em{color:#c2410c;font-style:normal}.platformHeatWrap{overflow-x:auto}.platformHeat{border-collapse:separate;border-spacing:3px}.platformHeat th{text-align:left;white-space:nowrap;padding-right:8px;font-weight:700}.platformHeatCell{background:#f4f4f5;border-radius:4px;width:15px;height:15px;display:block}.platformHeatCell.low{background:#f5d0fe}.platformHeatCell.mid{background:#d946ef}.platformHeatCell.high{background:#86198f}.platformSplit{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.platformErrorMessage{text-overflow:ellipsis;white-space:nowrap;max-width:42ch;font-size:11px;font-weight:700;display:block;overflow:hidden}.platformDetailSplit{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.platformDetailSplit h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}.platformMiniList{gap:5px;margin:0;padding:0;list-style:none;display:grid}.platformMiniList li{border:1px solid #f2eaf4;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:10px;display:flex}.platformMiniList b{color:var(--muted);white-space:nowrap;font-size:9px}.examReportPage{color:#18181b;width:100%;font-size:calc(8.5px * var(--report-scale,1))}.examTopicNote{margin-top:calc(2px * var(--report-scale,1));font-size:calc(6px * var(--report-scale,1));color:#71717a;font-weight:500;display:block}.examReportHead{align-items:center;gap:calc(14px * var(--report-scale,1));padding-bottom:calc(10px * var(--report-scale,1));border-bottom:2px solid #86198f;grid-template-columns:auto 1fr auto;display:grid}.examReportBrand{align-items:center;gap:calc(8px * var(--report-scale,1));display:flex}.examReportBrand img{width:calc(42px * var(--report-scale,1));height:calc(42px * var(--report-scale,1));object-fit:contain}.examReportBrand span{font-size:calc(11px * var(--report-scale,1));color:#701a75;max-width:calc(130px * var(--report-scale,1));font-weight:800;line-height:1.2}.examReportTitle{text-align:center}.examReportTitle h1{font-size:calc(17px * var(--report-scale,1));letter-spacing:.02em;color:#701a75;margin:0}.examReportTitle p{margin:calc(3px * var(--report-scale,1)) 0 0;font-size:calc(9px * var(--report-scale,1));color:#52525b;font-weight:700}.examReportDate{text-align:right;padding:calc(6px * var(--report-scale,1)) calc(10px * var(--report-scale,1));border-radius:calc(8px * var(--report-scale,1));border:1px solid #e9d5ff}.examReportDate span{font-size:calc(6.5px * var(--report-scale,1));letter-spacing:.1em;color:#a1a1aa;font-weight:800;display:block}.examReportDate strong{font-size:calc(11px * var(--report-scale,1))}.examReportIdentity{gap:calc(10px * var(--report-scale,1));margin-top:calc(10px * var(--report-scale,1));grid-template-columns:1fr auto auto;align-items:stretch;display:grid}.examReportStudent{padding:calc(9px * var(--report-scale,1)) calc(11px * var(--report-scale,1));border-radius:calc(9px * var(--report-scale,1));border:1px solid #eee5ef}.examReportStudent h2{font-size:calc(15px * var(--report-scale,1));margin:0}.examReportStudent p{margin:calc(3px * var(--report-scale,1)) 0 0;font-size:calc(8px * var(--report-scale,1));color:#52525b}.examReportScore{min-width:calc(118px * var(--report-scale,1));padding:calc(8px * var(--report-scale,1)) calc(12px * var(--report-scale,1));border-radius:calc(9px * var(--report-scale,1));color:#fff;text-align:center;background:#701a75}.examReportScore span{font-size:calc(6.5px * var(--report-scale,1));letter-spacing:.08em;opacity:.85;font-weight:800;display:block}.examReportScore strong{font-size:calc(19px * var(--report-scale,1));line-height:1.15;display:block}.examReportScore small{font-size:calc(6.5px * var(--report-scale,1));opacity:.85}.examReportRanks{min-width:calc(190px * var(--report-scale,1));padding:calc(7px * var(--report-scale,1)) calc(10px * var(--report-scale,1));border-radius:calc(9px * var(--report-scale,1));border:1px solid #eee5ef}.examReportRanks>span{font-size:calc(6.5px * var(--report-scale,1));letter-spacing:.1em;color:#a1a1aa;font-weight:800}.examReportRanks>div{gap:calc(14px * var(--report-scale,1));margin-top:calc(4px * var(--report-scale,1));display:flex}.examReportRanks p{text-align:center;margin:0}.examReportRanks small{font-size:calc(6.5px * var(--report-scale,1));color:#a1a1aa;font-weight:800;display:block}.examReportRanks strong{font-size:calc(14px * var(--report-scale,1));display:block}.examReportRanks em{font-size:calc(6.5px * var(--report-scale,1));color:#71717a;font-style:normal}.examReportRankEmpty small{color:#71717a;letter-spacing:0;font-weight:600}.examReportSummary{gap:calc(6px * var(--report-scale,1));margin-top:calc(9px * var(--report-scale,1));grid-template-columns:repeat(6,1fr);display:grid}.examReportSummary>div{padding:calc(7px * var(--report-scale,1));border-radius:calc(8px * var(--report-scale,1));text-align:center;border:1px solid #eee5ef}.examReportSummary span{font-size:calc(6.5px * var(--report-scale,1));letter-spacing:.08em;color:#a1a1aa;font-weight:800;display:block}.examReportSummary strong{font-size:calc(15px * var(--report-scale,1))}.examReportSummary .correct{background:#f0fdf4;border-color:#bbf7d0}.examReportSummary .wrong{background:#fef2f2;border-color:#fecaca}.examReportSummary .blank{background:#fafafa;border-color:#e4e4e7}.examReportSummary .net{background:#fdf4ff;border-color:#e9d5ff}.examReportSummary .rate{background:#fdf2f8;border-color:#fbcfe8}.examReportColumns{gap:calc(9px * var(--report-scale,1));margin-top:calc(9px * var(--report-scale,1));grid-template-columns:1fr 1fr;align-items:start;display:grid}.examReportBlock{border-radius:calc(9px * var(--report-scale,1));padding:calc(9px * var(--report-scale,1));break-inside:avoid;border:1px solid #eee5ef}.examReportBlock h3{margin:0 0 calc(7px * var(--report-scale,1));font-size:calc(9px * var(--report-scale,1));color:#701a75;letter-spacing:.04em;text-transform:uppercase}.examReportBlock h4{margin:0 0 calc(4px * var(--report-scale,1));font-size:calc(7.5px * var(--report-scale,1));color:#71717a;text-transform:uppercase;letter-spacing:.06em}.examReportTable{border-collapse:collapse;width:100%}.examReportTable th{padding:calc(4px * var(--report-scale,1)) calc(3px * var(--report-scale,1));text-align:center;font-size:calc(6.5px * var(--report-scale,1));letter-spacing:.04em;color:#a1a1aa;text-transform:uppercase;border-bottom:1px solid #eee5ef;font-weight:800}.examReportTable td{padding:calc(4px * var(--report-scale,1)) calc(3px * var(--report-scale,1));text-align:center;font-size:calc(8px * var(--report-scale,1));border-bottom:1px solid #f7f2f8}.examReportTable .examSubjectCell{text-align:left;font-weight:700}.examReportTable tbody tr:last-child td{border-bottom:0}.examReportTotalRow td{background:#fdf4ff;border-top:1px solid #e9d5ff;font-weight:800}.examReportTable i{margin-left:calc(3px * var(--report-scale,1));font-style:normal;font-size:calc(7px * var(--report-scale,1))}.examReportTable i.up{color:#15803d}.examReportTable i.down{color:#b91c1c}.examReportBars{gap:calc(4px * var(--report-scale,1));margin:0;padding:0;list-style:none;display:grid}.examReportBars li{grid-template-columns:calc(62px * var(--report-scale,1)) 1fr calc(34px * var(--report-scale,1));align-items:center;gap:calc(6px * var(--report-scale,1));font-size:calc(7.5px * var(--report-scale,1));display:grid}.examReportBars i{height:calc(8px * var(--report-scale,1));border-radius:calc(4px * var(--report-scale,1));background:#f4f4f5;display:block;overflow:hidden}.examReportBars b{border-radius:calc(4px * var(--report-scale,1));background:linear-gradient(90deg,#d946ef,#701a75);height:100%;display:block}.examReportBars em{text-align:right;font-style:normal;font-weight:700}.examTrendChart{width:100%;height:auto}.examTrendLabel{font-size:calc(6px * var(--report-scale,1));fill:#a1a1aa}.examTrendValue{font-size:calc(6px * var(--report-scale,1));fill:#4c1d95;font-weight:700}.examReportLegend{gap:calc(12px * var(--report-scale,1));font-size:calc(7px * var(--report-scale,1));color:#52525b;justify-content:center;display:flex}.examReportLegend i{width:calc(9px * var(--report-scale,1));height:calc(3px * var(--report-scale,1));border-radius:calc(2px * var(--report-scale,1));margin-right:calc(4px * var(--report-scale,1));display:inline-block}.examReportLegend i.net{background:#4c1d95}.examReportLegend i.score{background:#c026d3}.examReportTopics{gap:calc(3px * var(--report-scale,1));margin:0;padding:0;list-style:none;display:grid}.examReportTopics li{gap:calc(6px * var(--report-scale,1));padding:calc(3px * var(--report-scale,1)) calc(5px * var(--report-scale,1));border-radius:calc(5px * var(--report-scale,1));font-size:calc(7.5px * var(--report-scale,1));background:#fafafa;grid-template-columns:1fr auto auto;align-items:baseline;display:grid}.examReportTopics small{color:#a1a1aa;font-size:calc(6.5px * var(--report-scale,1))}.examReportTopics b{color:#b91c1c;font-size:calc(7px * var(--report-scale,1))}.examReportAdviceGrid{gap:calc(8px * var(--report-scale,1));grid-template-columns:1fr 1fr;display:grid}.examReportAdviceGrid ul{gap:calc(3px * var(--report-scale,1));font-size:calc(7.5px * var(--report-scale,1));margin:0;padding:0;list-style:none;display:grid}.examReportAdviceGrid li{justify-content:space-between;gap:calc(6px * var(--report-scale,1));padding:calc(3px * var(--report-scale,1)) calc(5px * var(--report-scale,1));border-radius:calc(5px * var(--report-scale,1));background:#fafafa;display:flex}.examReportSuggestions{margin:calc(8px * var(--report-scale,1)) 0 0;padding-left:calc(13px * var(--report-scale,1));gap:calc(3px * var(--report-scale,1));font-size:calc(7.5px * var(--report-scale,1));color:#3f3f46;display:grid}.examReportNote{margin:calc(8px * var(--report-scale,1)) 0 0;font-size:calc(6.5px * var(--report-scale,1));color:#a1a1aa;text-align:center}.examRankingPage{color:#18181b;width:100%;font-size:calc(9px * var(--rank-scale,1))}.examRankingHead{padding-bottom:calc(6px * var(--rank-scale,1));margin-bottom:calc(7px * var(--rank-scale,1));border-bottom:1.5px solid #86198f;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.examRankingBrand{align-items:center;gap:7px;display:flex}.examRankingBrand img{width:calc(30px * var(--rank-scale,1));height:calc(30px * var(--rank-scale,1));object-fit:contain}.examRankingBrand strong{font-size:calc(10px * var(--rank-scale,1));color:#701a75;display:block}.examRankingBrand small{color:#71717a;font-size:calc(7.5px * var(--rank-scale,1))}.examRankingHead h1{text-align:center;font-size:calc(14px * var(--rank-scale,1));color:#701a75;margin:0}.examRankingSummary{gap:calc(10px * var(--rank-scale,1));display:flex}.examRankingSummary span{text-align:center}.examRankingSummary small{color:#a1a1aa;font-size:calc(6.5px * var(--rank-scale,1));letter-spacing:.06em;font-weight:800;display:block}.examRankingSummary b{font-size:calc(12px * var(--rank-scale,1))}.examRankingTable{border-collapse:collapse;table-layout:fixed;width:100%}.examRankingTable thead{display:table-header-group}.examRankingTable tfoot{display:table-row-group}.examRankingTable tr{break-inside:avoid}.examRankingTable th{padding:calc(2.5px * var(--rank-scale,1)) calc(2px * var(--rank-scale,1));color:#fff;font-size:calc(7px * var(--rank-scale,1));text-align:center;background:#701a75;font-weight:700}.examRankingTable th small{font-size:calc(5.5px * var(--rank-scale,1));opacity:.8;font-weight:600;display:block}.examRankingTable td{padding:calc(1.6px * var(--rank-scale,1)) calc(2px * var(--rank-scale,1));text-align:center;font-size:calc(8px * var(--rank-scale,1));border-bottom:.4px solid #f0e6f2;line-height:1.15}.examRankingTable tbody tr:nth-child(2n) td{background:#fdf9fd}.examRankingTable .rankColumn{width:calc(30px * var(--rank-scale,1));font-variant-numeric:tabular-nums}.examRankingTable td.rankColumn{color:#3f0f3f;text-align:right;padding-right:calc(4px * var(--rank-scale,1));font-weight:800}.examRankingTable .nameColumn{width:calc(96px * var(--rank-scale,1));text-align:left;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.examRankingTable .nameColumn small{color:#a1a1aa;font-weight:500;font-size:calc(6px * var(--rank-scale,1));display:block}.examRankingTable .subjectColumn span{grid-template-columns:1fr 1fr 1.3fr;align-items:center;display:grid}.examRankingTable .subjectColumn span>*{padding:0 calc(1.5px * var(--rank-scale,1))}.examRankingTable .subjectColumn span>i,.examRankingTable .subjectColumn span>em{border-left:.4px solid #ead7ef}.examRankingTable td.subjectColumn{border-left:.5px solid #e4c9ea}.examRankingTable th.subjectColumn{border-left:.5px solid #ffffff59}.examRankingTable td.netColumn,.examRankingTable th.netColumn{border-left:.8px solid #c084d0}.examRankingTable .subjectColumn b{color:#15803d;font-weight:700}.examRankingTable .subjectColumn i{color:#b91c1c;font-style:normal}.examRankingTable .subjectColumn em{color:#581c87;font-style:normal;font-weight:700}.examRankingTable .emptyCell{color:#d4d4d8}.examRankingTable .correctCell{color:#15803d;font-weight:700}.examRankingTable .wrongCell{color:#b91c1c;font-weight:700}.examRankingTable .blankCell{color:#71717a}.examRankingTable .netColumn{font-weight:800}.examRankingTable td.netColumn{color:#581c87}.examRankingTable tfoot td{font-weight:800;font-size:calc(7.5px * var(--rank-scale,1));background:#fdf4ff;border-top:1px solid #e9d5ff}.examRankingNote{margin:calc(6px * var(--rank-scale,1)) 0 0;text-align:center;color:#a1a1aa;font-size:calc(6.5px * var(--rank-scale,1))}.examReportWide{margin-top:calc(7px * var(--report-scale,1));break-inside:auto;grid-column:1/-1}.examTopicGrid{gap:calc(6px * var(--report-scale,1));grid-template-columns:repeat(3,1fr);display:grid}.examTopicCard{break-inside:avoid;border-radius:calc(6px * var(--report-scale,1));padding:calc(5px * var(--report-scale,1));border:1px solid #f2eaf4}.examTopicCard h4{margin:0 0 calc(3px * var(--report-scale,1));font-size:calc(7.5px * var(--report-scale,1));color:#701a75;text-transform:none;letter-spacing:0;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.examTopicCard h4 b{color:#52525b;font-size:calc(6.5px * var(--report-scale,1));white-space:nowrap}.examTopicTable{border-collapse:collapse;width:100%}.examTopicTable td{padding:calc(1.2px * var(--report-scale,1)) calc(1.5px * var(--report-scale,1));font-size:calc(6.5px * var(--report-scale,1));text-align:center;border-bottom:.3px solid #faf5fb}.examTopicTable .examTopicCell{text-align:left;color:#52525b;text-overflow:ellipsis;white-space:nowrap;max-width:calc(84px * var(--report-scale,1));overflow:hidden}.examTopicTable .topicCorrect{color:#15803d;font-weight:700}.examTopicTable .topicWrong{color:#b91c1c;font-weight:700}.examTopicTable .topicBlank{color:#a1a1aa}.examReportTopicTable td{text-align:center}.examReportTopicTable .examTopicCell{text-align:left;color:#52525b;padding-left:10px}.examReportTopicTable .examTopicSubjectRow td{background:#fdf4ff;border-top:1px solid #e9d5ff;font-weight:800}.examAnswerLegend{color:#52525b;gap:12px;margin-bottom:6px;font-size:7px;display:flex}.examAnswerLegend i{vertical-align:-1px;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.examAnswerLegend i.correct{background:#bbf7d0}.examAnswerLegend i.wrong{background:#fecaca}.examAnswerLegend i.blank{background:#e4e4e7}.examAnswerRow{grid-template-columns:74px 1fr;align-items:start;gap:7px;margin-bottom:4px;display:grid}.examAnswerRow>strong{padding-top:2px;font-size:7.5px}.examAnswerCells{flex-wrap:wrap;gap:2px;display:flex}.examAnswerCell{color:#71717a;background:#e4e4e7;border-radius:2px;justify-content:center;align-items:center;width:11px;height:11px;font-size:6.5px;font-weight:700;display:flex}.examAnswerCell.correct{color:#15803d;background:#dcfce7}.examAnswerCell.wrong{color:#b91c1c;background:#fee2e2}.examRankingTable .numberColumn{width:calc(34px * var(--rank-scale,1));font-variant-numeric:tabular-nums}.examRankingTable td.numberColumn{color:#3f3f46;font-weight:700}.examRankingTestRow th{font-size:calc(6.5px * var(--rank-scale,1));letter-spacing:.04em;padding-top:calc(2px * var(--rank-scale,1));padding-bottom:calc(1.5px * var(--rank-scale,1));background:#581c87}.examRankingTestRow .testHeader{border-left:.5px solid #ffffff59}.examTestRow td{background:#f5e9f7;border-top:1px solid #e9d5ff;font-weight:800}.examSubjectUnderTest .examSubjectCell{padding-left:calc(9px * var(--report-scale,1));color:#52525b;font-weight:600}.examGradePicker{grid-column:1/-1;gap:6px;margin-top:4px;display:grid}.examGradePicker>span{color:#52525b;font-size:12px;font-weight:700}.examGradePicker>div{flex-wrap:wrap;gap:6px;display:flex}.examGradePicker button{color:#52525b;cursor:pointer;background:#fff;border:1px solid #e9d5ff;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600}.examGradePicker button.active{color:#fff;background:#7e22ce;border-color:#7e22ce}.examGradePicker>small{color:#71717a;font-size:11.5px}.bulkExamEntry{background:#fff;border-radius:18px;flex-direction:column;gap:14px;width:min(1180px,96vw);max-height:92vh;padding:22px;display:flex;overflow:hidden}.bulkExamEntry>.adminModalHead{margin:0}.bulkExamTools{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.bulkExamSearch{border:1px solid var(--line);color:var(--subtle);border-radius:10px;align-items:center;gap:8px;padding:7px 12px;display:flex}.bulkExamSearch input{color:var(--ink);background:0 0;border:0;outline:0;width:190px;font-size:13px}.bulkExamToggle{color:#52525b;align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.bulkExamTools>small{color:#71717a;font-size:11.5px}.bulkExamTableWrap{border:1px solid var(--line);border-radius:12px;flex:1;min-height:0;overflow:auto}.bulkExamTable{border-collapse:collapse;width:100%;font-size:13px}.bulkExamTable thead th{z-index:2;border-bottom:1px solid var(--line);color:#52525b;text-align:center;background:#faf5fa;padding:8px 6px;font-size:11.5px;font-weight:800;position:sticky;top:0}.bulkExamTable thead th small{color:#a1a1aa;font-size:9.5px;font-weight:600;display:block}.bulkExamTable td{text-align:center;border-bottom:1px solid #f4f4f5;padding:4px 6px}.bulkExamStudentCol{z-index:1;background:#fff;min-width:190px;position:sticky;left:0;text-align:left!important}.bulkExamTable thead .bulkExamStudentCol{z-index:3;background:#faf5fa}.bulkExamStudentCol strong{font-size:12.5px;display:block}.bulkExamStudentCol small{color:#a1a1aa;font-size:10.5px}.bulkExamTable tr.filled .bulkExamStudentCol{background:#fdf7fd}.bulkExamCell input{border:1px solid var(--line);text-align:center;width:52px;color:var(--ink);border-radius:7px;padding:5px 4px;font-size:13px}.bulkExamCell input:focus{border-color:var(--primary);outline:2px solid #e9d5ff}.bulkExamCell input:disabled{color:#d4d4d8;background:#fafafa;border-color:#f4f4f5}.bulkExamCell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bulkExamCell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bulkExamCell input[type=number]{appearance:textfield}.bulkExamNet{color:var(--primary-dark);min-width:62px;font-weight:800}.bulkExamEmpty{color:#71717a;padding:26px}.bulkExamEntry .adminModalActions{margin:0}.spin{animation:.9s linear infinite bulkExamSpin}@keyframes bulkExamSpin{to{transform:rotate(360deg)}}.examGradeBadge{color:#7e22ce;margin-top:2px;font-size:11px;font-weight:700;display:block}.coachExamAddRow{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.coachExamAddRow small{color:#71717a;font-size:12px}.coachExamRowActions{flex-wrap:wrap;gap:6px;display:flex}.coachExamRowActions button{color:#6b21a8;cursor:pointer;background:#fff;border:1px solid #e9d5ff;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.coachExamRowActions button.danger{color:#b91c1c;border-color:#fecaca}.approvalDrawer .approvalQueue{background:0 0;border:0;padding:0}.approvalQueue{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;margin:0 0 16px;padding:14px 16px}.approvalQueue>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.approvalQueue>header strong{color:#92400e;font-size:13px;display:block}.approvalQueue>header span{color:#b45309;font-size:10px}.approvalQueue ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.approvalQueue li{background:#fff;border:1px solid #fde68a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 11px;display:flex}.approvalQueueInfo{flex:1;min-width:160px}.approvalQueueInfo strong{color:var(--ink);font-size:12px;display:block}.approvalQueueInfo span{color:var(--subtle);font-size:10px}.approvalQueueActions{gap:6px;display:flex}.approvalQueueRevision{flex-basis:100%;gap:6px;display:flex}.approvalQueueRevision input{border:1px solid #e4e4e7;border-radius:8px;flex:1;min-width:0;padding:7px 10px;font-size:11px}.approvalQueue.empty{color:#15803d;background:#f0fdf4;border-color:#bbf7d0;align-items:center;gap:10px;display:flex}.approvalQueue.empty strong{font-size:12px;display:block}.approvalQueue.empty span{color:#166534;font-size:10px}.primaryButton.sm,.secondaryButton.sm{padding:6px 10px;font-size:11px}.approvalDrawerBackdrop{z-index:90;background:#18181b57;justify-content:flex-end;display:flex;position:fixed;inset:0}.approvalDrawer{background:#fff;width:min(420px,100%);height:100%;padding:18px;overflow-y:auto;box-shadow:-18px 0 46px #18181b29}.approvalDrawerHead{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.approvalDrawerHead span{letter-spacing:.12em;color:var(--primary);font-size:8px;font-weight:900;display:block}.approvalDrawerHead strong{font-size:16px}.approvalDrawerHead button{color:var(--subtle);cursor:pointer;background:0 0;border:0}.studentGoal.asButton{width:100%;font:inherit;text-align:left;cursor:pointer;border:0}.studentGoal.asButton:hover{border-color:var(--primary)}.curriculumEditor{gap:14px;display:grid}.curriculumPickers{grid-template-columns:1fr 1fr;gap:12px;display:grid}.curriculumPickers label{color:var(--muted);gap:5px;font-size:12px;font-weight:700;display:grid}.curriculumPickers select{border:1px solid var(--line);background:var(--white);height:38px;color:var(--ink);border-radius:9px;padding:0 10px;font-size:13px}.curriculumError{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin:0;padding:9px 11px;font-size:12.5px}.curriculumTopicList{border:1px solid var(--line);border-radius:11px;gap:2px;max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.curriculumTopicList li{border-bottom:1px solid var(--line);background:var(--white);align-items:center;gap:10px;padding:8px 11px;display:flex}.curriculumTopicList li:last-child{border-bottom:0}.curriculumTopicList li.curriculumHidden{background:var(--surface)}.curriculumTopicName{min-width:0;color:var(--ink);flex-wrap:wrap;flex:1;align-items:baseline;gap:8px;font-size:13px;display:flex}.curriculumTopicName s{color:var(--subtle)}.curriculumTopicName small{color:var(--primary-strong);background:var(--primary-soft);border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700}.curriculumHidden .curriculumTopicName small{color:var(--muted);background:var(--line)}.curriculumTopicActions{gap:4px;display:flex}.curriculumTopicActions button{border:1px solid var(--line);background:var(--white);width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.curriculumTopicActions button:hover{border-color:var(--primary);color:var(--primary-strong)}.curriculumTopicActions button:disabled{opacity:.5}.curriculumRenameRow{align-items:center;gap:6px;display:flex}.curriculumRenameRow input{border:1px solid var(--primary);border-radius:8px;min-width:160px;height:32px;padding:0 9px;font-size:13px}.curriculumAddRow{gap:8px;display:flex}.curriculumAddRow input{border:1px solid var(--line);border-radius:9px;flex:1;height:38px;padding:0 11px;font-size:13px}.curriculumAddRow button{align-items:center;gap:6px;display:inline-flex}@media (max-width:560px){.curriculumPickers{grid-template-columns:1fr}.curriculumTopicList li{flex-wrap:wrap}}.credentialShare{gap:10px;margin-top:14px;display:grid}.credentialShareList{gap:6px;display:grid}.credentialShareButton{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .13s,background .13s;display:flex}.credentialShareButton:hover{background:#f2fdf6;border-color:#25d366}.credentialShareButton svg{color:#25d366;flex:none}.credentialShareButton span{flex-direction:column;min-width:0;display:flex}.credentialShareButton strong{font-size:13px;font-weight:700}.credentialShareButton small{color:var(--muted);font-size:11.5px}.credentialShare>.secondaryButton{justify-self:start}.temporaryCredentialActions{flex-wrap:wrap;gap:8px;display:flex}.credentialShareButton.compact{gap:7px;padding:8px 12px;font-size:13px;font-weight:700}.credentialShareButton.compact span{flex-direction:row}.bulkResetTrigger p{max-width:60ch}.bulkResetModal{background:var(--white);border-radius:18px;grid-template-rows:auto auto auto 1fr auto auto auto;gap:13px;width:min(760px,100%);max-height:min(86vh,86dvh);padding:22px;display:grid;box-shadow:0 24px 70px #18181b38}.bulkResetFilters{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.bulkResetFilters>button{border:1px solid var(--line);background:var(--white);height:32px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:650;display:inline-flex}.bulkResetFilters>button.active{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-soft)}.bulkResetFilters>button:disabled{opacity:.45}.bulkResetFilters>button b{opacity:.75;font-size:11px;font-weight:800}.bulkResetSearch{border:1px solid var(--line);min-width:150px;height:32px;color:var(--subtle);border-radius:999px;flex:1;align-items:center;gap:7px;padding:0 11px;display:flex}.bulkResetSearch input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:13px}.bulkResetActionsRow{flex-wrap:wrap;gap:14px;display:flex}.bulkResetList{border:1px solid var(--line);border-radius:11px;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.bulkResetList li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 11px;display:flex}.bulkResetList li:last-child{border-bottom:0}.bulkResetList li.risky{border-left:3px solid var(--warning)}.bulkResetList label{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.bulkResetList label span{flex-direction:column;min-width:0;display:flex}.bulkResetList strong{font-size:13px}.bulkResetList small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.bulkResetList em{color:var(--subtle);white-space:nowrap;font-size:11px;font-style:normal}.bulkResetList li.risky em{color:var(--warningDark);font-weight:700}.bulkResetEmpty{color:var(--subtle);justify-content:center;padding:22px 11px;font-size:13px}.bulkResetSummary{color:var(--ink);margin:0;font-size:13px;font-weight:650}.bulkResetWarning{background:var(--warningSoft);border:1px solid var(--warningBorder);color:var(--warningDeep);border-radius:11px;gap:11px;padding:13px;display:flex}.bulkResetWarning svg{flex:none;margin-top:2px}.bulkResetWarning strong{font-size:13px;display:block}.bulkResetWarning span{margin-top:3px;font-size:12.5px;display:block}.bulkResetWarning label{margin-top:10px;font-size:12px;font-weight:700;display:block}.bulkResetWarning input{border:1px solid var(--warningBorder);background:var(--white);border-radius:8px;height:34px;margin-top:5px;padding:0 10px;display:block}.bulkResetResult{gap:12px;min-height:0;display:grid;overflow-y:auto}.bulkResetFailures{color:#b91c1c;gap:4px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.bulkResetNotice{color:var(--warningDeep);align-items:flex-start;gap:8px;margin:0;font-size:12.5px;display:flex}.bulkResetDownloadGroup{border:1px solid var(--line);border-radius:11px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.bulkResetDownloadGroup>strong{min-width:110px;font-size:12.5px}.bulkResetDownloads{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:620px){.bulkResetModal{gap:10px;padding:16px}.bulkResetSearch{flex-basis:100%}.bulkResetDownloadGroup>strong{flex-basis:100%;min-width:0}}.credentialSlipsNotice{color:#444;border:1px solid #ddd;border-radius:3px;margin:10px 0 0;padding:6px 8px;font-size:8.5px}.credentialSlipGrid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.credentialSlip{break-inside:avoid;border:1px dashed #999;border-radius:3px;padding:9px 10px}.credentialSlipHead{border-bottom:1px solid #eee;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:5px;display:flex}.credentialSlipHead strong{font-size:10.5px}.credentialSlipHead span{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:7.5px}.credentialSlip dl{gap:3px;margin:7px 0 0;display:grid}.credentialSlip dl div{gap:6px;display:flex}.credentialSlip dt{color:#666;min-width:62px;font-size:8px}.credentialSlip dd{word-break:break-all;margin:0;font-size:8.5px}.credentialSlipCode{letter-spacing:1px;font-weight:800}.credentialSlip small{color:#777;margin-top:7px;font-size:7px;display:block}.pushPreferenceCard{gap:10px;display:grid}.pushPreferenceHint{color:var(--muted);margin:0;font-size:12.5px}.pushPreferenceRow{border:1px solid var(--line);cursor:pointer;border-radius:11px;align-items:flex-start;gap:10px;padding:11px 12px;display:flex}.pushPreferenceRow:hover{border-color:var(--primary-border,var(--primary))}.pushPreferenceRow input{margin-top:2px}.pushPreferenceRow span{flex-direction:column;min-width:0;display:flex}.pushPreferenceRow strong{font-size:13.5px}.pushPreferenceRow small{color:var(--muted);margin-top:2px;font-size:12px}.pushPreferenceRow.master{background:var(--surface);border-color:var(--borderStrong,var(--line))}.pushPreferenceRow.master strong{font-weight:800}.unitLayout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:18px;display:grid}.unitPicker{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:10px;display:flex}.unitPickerItem{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.unitPickerItem:hover{background:var(--surface-2,#f6f7fb)}.unitPickerItem.active{border-color:var(--brand,#b5179e);background:var(--surface-2,#f6f7fb)}.unitPickerName{color:var(--ink);align-items:center;gap:7px;display:flex}.unitPickerItem small{color:var(--muted);font-size:10px}.unitFile{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.unitFileHead{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.unitFileHead span{letter-spacing:.08em;color:var(--muted);font-size:9px}.unitFileHead h2{margin:2px 0}.unitFileActions{gap:8px;display:flex}.unitMemberTabs{gap:8px;margin-bottom:12px;display:flex}.unitMemberTabs button{border:1px solid var(--line);height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;padding:0 12px;display:flex}.unitMemberTabs button.active{border-color:var(--brand,#b5179e);color:var(--ink)}.unitMemberTabs b{color:var(--muted);font-size:10px}.unitMemberToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.unitDraftActions{gap:8px;display:flex}.unitMemberList{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;max-height:60dvh;display:grid;overflow-y:auto}.unitMemberRow{border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;display:flex}.unitMemberRow.selected{border-color:var(--brand,#b5179e);background:var(--surface-2,#f6f7fb)}.unitMemberRow span{flex-direction:column;min-width:0;display:flex}.unitMemberRow small{color:var(--muted);font-size:10px}.unitEmptyState{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:16px;padding:26px;display:flex}.unitEmptyState p{color:var(--muted);max-width:60ch;margin:6px 0 12px}.unitBadge{background:var(--surface-2,#f6f7fb);border:1px solid var(--line);color:var(--muted);border-radius:6px;margin-left:6px;padding:1px 6px;font-size:9px;display:inline-block}.unitBadge.titleBadge{border-color:var(--primary-border,#f0abfc);background:var(--primary-soft,#fdf4ff);color:var(--primary-dark,#86198f);font-weight:800}@media (max-width:900px){.unitLayout{grid-template-columns:1fr}.unitPicker{flex-direction:row;overflow-x:auto}.unitPickerItem{min-width:180px}}.unitAssignmentCard .unitAssignmentHead h2{align-items:center;gap:8px;display:flex}.unitAssignmentCard .unitAssignmentHead p{color:var(--muted);margin:4px 0 12px}.unitAssignmentCard .staffSubjectPicker button small{color:inherit;opacity:.75}.averageBarPanel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px 18px}.averageBarList{flex-direction:column;gap:7px;display:flex}.averageBarRow{grid-template-columns:minmax(120px,210px) 1fr 62px;align-items:center;gap:10px;display:grid}.averageBarLabel{color:var(--ink);flex-direction:column;min-width:0;font-weight:600;display:flex}.averageBarLabel small{color:var(--muted);font-size:9px;font-weight:400}.averageBarTrack{background:var(--surface-2,#f1f2f7);border-radius:7px;height:13px;overflow:hidden}.averageBarTrack i{background:var(--primary,#b5179e);border-radius:7px;height:100%;display:block}.averageBarValue{text-align:right;font-variant-numeric:tabular-nums}.examAnalyticsGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:18px;display:grid}.examAnalyticsHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.examAnalyticsHead h2{margin:2px 0 0}.examAnalyticsHead span{letter-spacing:.08em;color:var(--muted);font-size:9px}.examAnalyticsMetrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.examAnalyticsMetrics article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px}.examAnalyticsMetrics small{color:var(--muted);letter-spacing:.05em;font-size:9px;display:block}.examAnalyticsMetrics strong{font-size:18px}.examAnalyticsMetrics em{color:var(--muted);font-size:10px;font-style:normal;display:block}.examAnalyticsMetrics em.up{color:#17864a}.examAnalyticsMetrics em.down{color:#b42318}.examAnalyticsScope{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.examAnalyticsScope select{border:1px solid var(--line);height:36px;color:var(--ink);background:#fff;border-radius:9px;padding:0 9px}.examManualPicker{border:1px solid var(--line);background:#fbfafc;border-radius:12px;margin:12px 0 0;padding:12px 14px 10px}.examManualPicker legend{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;padding:0 6px;font-size:9px;font-weight:800}.examManualPicker legend small{color:var(--muted);text-transform:none;letter-spacing:0;margin-left:6px;font-weight:700}.examManualPickerHead{align-items:center;gap:10px;margin-top:8px;display:flex}.examManualPickerHead input{border:1px solid var(--line);min-width:0;height:32px;color:var(--ink);background:#fff;border-radius:9px;flex:1;padding:0 10px;font-size:9px}.examManualPickerHead span{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:700}.examManualPickerList{border:1px solid var(--line);background:#fff;border-radius:10px;max-height:260px;margin-top:8px;overflow-y:auto}.examManualPickerList label{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 11px;display:grid}.examManualPickerList label:last-child{border-bottom:0}.examManualPickerList label:hover{background:#fbfafc}.examManualPickerList label.selected{background:var(--primary-soft,#f6eefb)}.examManualPickerList label strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.examManualPickerDate{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.examManualPickerMeta{text-align:right;min-width:128px;color:var(--muted);font-size:8px}.examManualPickerList .emptyPanelText{background:0 0;padding:14px}.setupPanel{border:1px solid var(--line);border-left:3px solid var(--primary-strong);background:#fff;border-radius:14px;margin:0 0 18px;padding:18px 20px 14px}.setupPanelHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.setupPanelHead span{color:var(--primary-strong);letter-spacing:.08em;font-size:8px;font-weight:800}.setupPanelHead h2{margin:4px 0 3px;font-size:15px}.setupPanelHead p{max-width:62ch;color:var(--muted);margin:0;font-size:9px}.setupProgress{align-items:center;gap:10px;margin:14px 0 12px;display:flex}.setupProgressBar{background:var(--line);border-radius:3px;flex:1;height:5px;overflow:hidden}.setupProgressBar span{background:var(--primary-strong);border-radius:3px;height:100%;transition:width .3s;display:block}.setupProgress strong{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.setupSteps{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px;margin:0;padding:0;list-style:none;display:grid}.setupStep{align-items:flex-start;gap:8px;padding:5px 0;display:flex}.setupStep a{min-width:0;color:inherit;flex-direction:column;text-decoration:none;display:flex}.setupStep a:hover strong{text-decoration:underline}.setupStep strong{font-size:9px;font-weight:700}.setupStep small{color:var(--muted);font-size:8px}.setupStepMark{border:1px solid var(--line);width:17px;height:17px;color:var(--muted);background:#fbfafc;border-radius:50%;flex:0 0 17px;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.setupStep.done .setupStepMark{border-color:var(--primary-strong);color:#fff;background:var(--primary-strong)}.setupStep.done strong{color:var(--muted);font-weight:600}.setupStep.partial .setupStepMark{border-color:var(--primary-strong);color:var(--primary-strong)}.setupStep.blocked{opacity:.55}.setupPanelActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.setupNote{border-top:1px solid var(--line);color:var(--muted);margin:10px 0 0;padding-top:9px;font-size:8px}.installmentModal{max-width:720px}.installmentBuilder{flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 0 4px;display:flex}.installmentBuilder label{color:var(--muted);flex-direction:column;gap:4px;font-size:9px;font-weight:700;display:flex}.installmentBuilder input{border:1px solid var(--line);width:130px;height:32px;color:var(--ink);background:#fff;border-radius:9px;padding:0 9px}.installmentSummary{color:var(--muted);margin:10px 0 0;font-size:9px}.installmentTableWrap{border:1px solid var(--line);border-radius:10px;max-height:320px;margin-top:10px;overflow-y:auto}.installmentTable{border-collapse:collapse;width:100%;font-size:9px}.installmentTable th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;background:#fbfafc;padding:8px 10px;font-size:8px;position:sticky;top:0}.installmentTable td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:7px 10px}.installmentTable tr:last-child td{border-bottom:0}.installmentOverdue td{background:#fdf1f3}.installmentState{border-radius:999px;padding:2px 7px;font-size:8px;font-weight:800;display:inline-block}.installmentState.paid{color:#1b7f4d;background:#e6f5ec}.installmentState.partial{color:#8a5a00;background:#fdf3e0}.installmentState.pending{color:var(--muted);background:#f2f0f4}.installmentState.overdue{color:#a5203a;background:#fbe3e8}.financeBuckets{flex-wrap:wrap;gap:6px;padding:14px 16px 0;display:flex}.financeBucket{border:1px solid var(--line);height:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:9px;font-weight:700;display:inline-flex}.financeBucket span{font-variant-numeric:tabular-nums;background:#f2f0f4;border-radius:999px;padding:1px 6px}.financeBucket:hover{border-color:var(--primary-strong)}.financeBucket.active{border-color:var(--primary-strong);color:var(--primary-strong);background:var(--primary-soft,#f6eefb)}.financeBucket.active span{background:#fff}.financeMetrics .overdue small{color:var(--muted);margin-top:2px;font-size:9px;font-weight:700;display:block}.invoiceInput{border:1px solid var(--line);width:100%;min-width:110px;height:28px;color:var(--ink);background:#fff;border-radius:7px;padding:0 8px;font-size:9px}.iconTableButton.invoicePending{border-color:var(--primary-strong);color:var(--primary-strong)}.ledgerTabs{border-bottom:1px solid var(--line);gap:22px;margin:4px 0 16px;display:flex}.ledgerTab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 10px;font-size:11px;font-weight:800}.ledgerTab:hover{color:var(--ink)}.ledgerTab.active{border-bottom-color:var(--primary-strong);color:var(--primary-strong)}a.ledgerTab{white-space:nowrap;text-decoration:none}.programTabs{scrollbar-width:none;overflow-x:auto}.programBoardBar{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;display:flex}.programBoardBar .scheduleViewTabs{margin:0}.programBoardTarget{align-items:center;gap:4px;display:flex}.programBoardTarget select{min-width:220px;max-width:100%}.programBoardTarget button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.programBoardTarget button:disabled{opacity:.4;cursor:default}.programBoardCount{color:var(--muted);font-size:12px;font-weight:700}.programBoardBar>.secondaryButton{margin-left:auto}.programBoardScroll{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}.programBoard{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:760px}.programBoard th,.programBoard td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.programBoard thead th{background:var(--primary-soft);color:var(--primary-dark);text-align:center;padding:9px 6px;font-size:12px;font-weight:800}.programBoard thead th:first-child,.programBoard tbody th{z-index:1;width:92px;position:sticky;left:0}.programBoard tbody th{text-align:left;vertical-align:top;background:#fbf9fa;padding:8px;font-size:12px}.programBoard tbody th small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.programBoard td{vertical-align:top;height:78px;padding:4px}.programBoard td.closed{background:repeating-linear-gradient(135deg,#faf8f9 0 6px,#f3eff2 6px 12px)}.programBoard td.unavailable{background:#f5f3f4}.programBoard td.conflict{background:#fff4f4;box-shadow:inset 0 0 0 2px #f0a3a3}.programBoardLesson{border:0;border-left:3px solid var(--chip-ink,var(--primary));background:var(--chip-bg,var(--primary-soft));width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px;padding:6px 8px;line-height:1.25;display:block}.programBoardLesson+.programBoardLesson{margin-top:4px}.programBoardLesson strong{color:var(--chip-ink,var(--ink));font-size:12px;display:block}.programBoardLesson span,.programBoardLesson small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.programBoardLesson span{margin-top:2px;font-size:11px;font-weight:600}.programBoardLesson small{color:var(--muted);margin-top:1px;font-size:10px}.programOverviewGroups{border:1px solid var(--line);background:#faf8f9;border-radius:9px;padding:3px;display:inline-flex}.programOverviewGroups button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:800}.programOverviewGroups button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #2814281f}.programOverviewScroll{border:1px solid var(--line);background:#fff;border-radius:12px;max-height:75dvh;overflow:auto}.programOverview{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1080px}.programOverview th,.programOverview td{border-bottom:1px solid #efe9ed;border-right:1px solid #efe9ed}.programOverview thead th{z-index:2;height:40px;color:var(--primary-dark);text-align:left;background:#faf6f9;padding:0 8px;font-size:12px;font-weight:800;position:sticky;top:0}.programOverview thead th small,.programBoard thead th small{color:var(--muted);font-size:10px;font-weight:600;display:block}.programOverview thead th.offDay,.programBoard thead th.offDay{color:var(--muted)}.programOverview th.corner{z-index:3;width:160px;color:var(--muted);font-size:11px;left:0}.programOverview tbody th{z-index:1;text-align:left;vertical-align:top;background:#fff;width:160px;padding:8px 10px;position:sticky;left:0}.programOverview tbody th button{max-width:100%;color:var(--ink);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;display:block;overflow:hidden}.programOverview tbody th button:hover{color:var(--primary-strong);text-decoration:underline}.programOverview tbody th small{color:var(--muted);font-size:10px;display:block}.programOverview tbody tr:hover th,.programOverview tbody tr:hover td{background-color:#fcf9fb}.programOverview td{vertical-align:top;padding:4px}.programOverview td.offDay{background:#fcfbfc}.programOverviewDay{gap:2px;display:grid}.programOverviewChip{border:0;border-left:3px solid var(--chip-ink);background:var(--chip-bg);width:100%;min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:5px;align-items:baseline;gap:5px;padding:3px 6px;font-size:11px;line-height:1.3;display:flex}.programOverviewChip:hover{filter:brightness(.96)}.programOverviewChip time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:10px}.programOverviewChip b{color:var(--chip-ink);flex:none;font-weight:800}.programOverviewChip small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.programOverviewChip.conflict{box-shadow:inset 0 0 0 1.5px #d92d20}.programOverviewAdd{color:#0000;cursor:pointer;background:0 0;border:1px dashed #0000;border-radius:5px;width:100%;margin-top:2px;padding:2px 0;font-size:11px;font-weight:700}.programOverview td:hover .programOverviewAdd,.programOverviewAdd:focus-visible{border-color:var(--line);color:var(--muted)}.programOverviewAdd:hover{border-color:var(--primary-strong)!important;color:var(--primary-strong)!important}.programBoardLesson:hover{filter:brightness(.97)}.programBoardLesson.cancelled{opacity:.5;text-decoration:line-through}.programBoard.readOnly .programBoardLesson{cursor:default}.programBoardAdd{color:#0000;cursor:pointer;background:0 0;border:1px dashed #0000;border-radius:6px;justify-content:center;align-items:center;gap:4px;width:100%;min-height:68px;font-size:11px;font-weight:700;display:flex}.programBoard td:hover .programBoardAdd,.programBoardAdd:focus-visible{border-color:var(--line);color:var(--muted)}.programBoardAdd:hover{border-color:var(--primary-strong)!important;color:var(--primary-strong)!important}.programBoard td.unavailable .programBoardAdd{color:var(--muted)}.programBoardMuted{color:var(--muted);padding:6px;font-size:11px;display:block}.programBoardConflict{color:#b42318;align-items:center;gap:4px;margin-bottom:3px;font-size:10px;font-weight:800;display:flex}.programBoardEmpty{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:12px;padding:28px 16px;font-size:13px}.programOffGrid{background:#fffaf0;border:1px solid #f5d38a;border-radius:12px;margin-top:14px;padding:14px 16px}.programOffGrid h3{align-items:center;gap:6px;margin:0 0 4px;font-size:13px;display:flex}.programOffGrid p{color:var(--muted);margin:0 0 8px;font-size:12px}.programOffGrid ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.programOffGrid button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:12px}.programBoardLayout{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.programBoardLayout.withTray{grid-template-columns:minmax(0,1fr) 260px}.programTray{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;position:sticky;top:12px}.programTray header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.programTray header strong{font-size:13px}.programTray header span{color:var(--muted);font-size:12px;font-weight:700}.programTray ul{gap:6px;max-height:60dvh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.programTray li button{border:1px solid var(--line);border-left:3px solid var(--primary);background:var(--primary-soft);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:grab;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:8px 10px;display:grid}.programTray li button strong{font-size:12px}.programTray li button span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:11px;overflow:hidden}.programTray li button em{color:var(--primary-strong);grid-area:1/2/span 2;align-self:center;font-size:11px;font-style:normal;font-weight:800}.programTray li button.picked{box-shadow:0 0 0 2px var(--primary-strong)}.programTray li button:disabled{border-left-color:var(--line);cursor:not-allowed;opacity:.7;background:#f7f5f6}.programTray p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.programTrayHint{justify-content:space-between;align-items:center;gap:6px;display:flex;margin-top:8px!important}.programTrayHint button{color:var(--primary-strong);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.programBoard td.dropTarget{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary-strong)}.programBoard.picking .programBoardAdd{border-color:var(--primary-strong);color:var(--primary-strong)}.programBoard.busy{opacity:.7;pointer-events:none}.programBoardLesson[draggable=true]{cursor:grab}@media (max-width:900px){.programBoardLayout.withTray{grid-template-columns:minmax(0,1fr)}.programTray{order:-1;position:static}}.matrixWorkspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.matrixWorkspace.withTray{grid-template-columns:minmax(0,1fr) 270px}.matrixWorkspace .scheduleMatrixPanel{min-width:0}.scheduleMatrixCell.drop-ok button{background:#ecfdf3;border-color:#6ce9a6}.scheduleMatrixCell.drop-busy button{cursor:not-allowed;background:repeating-linear-gradient(135deg,#fff 0 6px,#fdecec 6px 12px);border-color:#f5b5b5}.scheduleMatrixCell.drop-teacherAway button,.scheduleMatrixCell.drop-studentAway button,.scheduleMatrixCell.drop-break button{cursor:not-allowed;opacity:.6;background:#f2f0f1}.scheduleCellCard[draggable=true]{cursor:grab}.matrixTray .matrixTraySearch{border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:6px;margin-bottom:8px;padding:0 8px;display:flex}.matrixTray .matrixTraySearch input{min-width:0;height:30px;font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:12px}.matrixTrayStudent{gap:4px;display:grid}.matrixTrayStudent h4{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;overflow:hidden}.matrixTray .matrixTrayLead{margin:0 0 8px}.matrixTray li button{border-left-color:var(--chip-ink,var(--primary));background:var(--chip-bg,var(--primary-soft))}.scheduleSheetTable td.drop-ok .scheduleSheetCell{background:#ecfdf3;box-shadow:inset 0 0 0 1px #6ce9a6}.scheduleSheetTable td.drop-busy .scheduleSheetCell{cursor:not-allowed;background:repeating-linear-gradient(135deg,#fff 0 4px,#fdecec 4px 8px)}.scheduleSheetTable td.drop-teacherAway .scheduleSheetCell,.scheduleSheetTable td.drop-studentAway .scheduleSheetCell,.scheduleSheetTable td.drop-break .scheduleSheetCell{cursor:not-allowed;opacity:.55;background:#ece9eb}.scheduleSheetCell[draggable=true]{cursor:grab}.teacherStrip{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;margin:0 0 8px;padding:5px 8px;display:flex}.teacherStripLabel,.teacherStripHint{color:var(--muted);white-space:nowrap;flex:none;font-size:11px;font-weight:700}.teacherStripHint{color:var(--primary-dark);align-items:center;gap:5px;display:inline-flex}.teacherStripHint button{background:var(--primary-soft);color:var(--primary-dark);cursor:pointer;border:0;border-radius:4px;padding:2px;display:inline-flex}.teacherStripSearch{border:1px solid var(--line);color:var(--muted);border-radius:7px;flex:none;align-items:center;gap:4px;padding:0 6px;display:flex}.teacherStripSearch input{width:90px;height:24px;font:inherit;background:0 0;border:0;outline:none;font-size:11px}.teacherStripChips{scrollbar-width:thin;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.teacherChip{border:1px solid #0000;border-left:3px solid var(--chip-ink);background:var(--chip-bg);height:24px;color:var(--ink);font:inherit;white-space:nowrap;cursor:grab;border-radius:6px;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.teacherChip small{color:var(--chip-ink);font-size:9px;font-weight:800}.teacherChip.picked{border-color:var(--primary-strong);box-shadow:0 0 0 1px var(--primary-strong)}.teacherStripEmpty{color:var(--muted);white-space:nowrap;font-size:11px}.scheduleFocusToggle{margin-left:auto}.scheduleWeekTable :where(th){letter-spacing:0;text-transform:none;padding:0 4px}.scheduleWeekScroll{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:auto}.scheduleWeekTable{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.scheduleWeekTable th,.scheduleWeekTable td{border-bottom:1px solid #f0eaee;border-right:1px solid #f0eaee}.scheduleWeekTable thead th{z-index:2;color:var(--primary-dark);background:#faf6f9;position:sticky}.scheduleWeekDay{border-left:2px solid var(--line);text-align:left;white-space:nowrap;height:22px;padding:0 6px;font-size:11px;font-weight:800;top:0}.scheduleWeekDay small{color:var(--muted);margin-left:6px;font-size:10px;font-weight:600}.scheduleWeekTable thead th.scheduleWeekSlot{width:46px;min-width:46px;height:18px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:10px;font-weight:700;top:22px}.scheduleWeekTable .dayStart{border-left:2px solid var(--line)}.scheduleWeekTable thead th.scheduleWeekCorner{z-index:3;text-align:left;width:168px;min-width:168px;padding:0 10px;font-size:11px;font-weight:800;top:0;left:0}.scheduleWeekTable tbody tr{height:26px}.scheduleWeekTable td{padding:1px}.scheduleWeekRowHead{z-index:1;text-align:left;background:#fff;width:168px;min-width:168px;max-width:168px;padding:0 10px;line-height:1.15;position:sticky;left:0}.scheduleWeekRowHead span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;display:block;overflow:hidden}.scheduleWeekRowHead em{color:var(--muted);margin-left:6px;font-size:10px;font-style:normal;font-weight:500}.scheduleWeekTable tbody tr:hover .scheduleWeekRowHead{color:var(--primary-dark);background:#faf6f9}.scheduleWeekTable tbody tr:hover td{background:#fdfbfc}.scheduleWeekSection th{color:var(--muted);letter-spacing:.08em;text-align:left;background:#f7f5f6;padding:0 10px;font-size:9px;font-weight:900;position:sticky;left:0}.scheduleWeekSection td{background:#f7f5f6}.scheduleWeekCell{width:100%;height:23px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-direction:row;justify-content:center;align-items:center;gap:3px;padding:0;line-height:1.05;display:flex}.scheduleWeekCell:not(.filled):hover{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.scheduleWeekCell.filled{background:var(--chip-bg);color:var(--chip-ink)}.scheduleWeekCell b{font-size:10px;font-weight:800}.scheduleWeekCell i{opacity:.8;font-size:9px;font-style:normal;font-weight:600}.scheduleWeekCell.filled[draggable=true]{cursor:grab}.scheduleWeekTable td.drop-ok .scheduleWeekCell{background:#dcfce7;box-shadow:inset 0 0 0 1px #4ade80}.scheduleWeekTable td.drop-busy .scheduleWeekCell:not(.filled){cursor:not-allowed;background:repeating-linear-gradient(135deg,#fff 0 4px,#fdecec 4px 8px)}.scheduleWeekTable td.drop-busy .scheduleWeekCell.filled{box-shadow:inset 0 0 0 1px #f87171}.scheduleWeekTable td.drop-teacherAway,.scheduleWeekTable td.drop-studentAway,.scheduleWeekTable td.drop-break{background:#eeebed}.scheduleWeekTable td.drop-teacherAway .scheduleWeekCell,.scheduleWeekTable td.drop-studentAway .scheduleWeekCell,.scheduleWeekTable td.drop-break .scheduleWeekCell{cursor:not-allowed;opacity:.5}.slotAutoSummary{color:#4c1d95;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 12px;padding:12px 14px;display:flex}.slotAutoSummary>div{flex:1;gap:2px;min-width:200px;display:grid}.slotAutoSummary strong{font-size:13px}.slotAutoSummary span{font-size:12px}.slotAutoSummary small{color:#6b7280;font-size:11px}.slotAutoOk{color:#166534;background:#dcfce7;border-radius:999px;padding:4px 10px;font-size:11px;font-style:normal;font-weight:800}.slotManualToggle{margin:4px 0 10px}.slotDeleteConfirm{color:#b42318;font:inherit;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}@media (max-width:900px){.matrixWorkspace.withTray{grid-template-columns:minmax(0,1fr)}.matrixWorkspace .matrixTray{order:-1}}.programFormWarning{color:#8a5a00;background:#fffaf0;border:1px solid #f5d38a;border-radius:10px;padding:10px 12px;font-size:12px}.programFormWarning strong{align-items:center;gap:5px;display:flex}.programFormWarning ul{margin:4px 0 0;padding-left:18px}.programSetupList{gap:8px;margin:0 0 16px;display:grid}.programSetupStep{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.programSetupStep>div{flex:1;min-width:0}.programSetupStep strong{font-size:14px}.programSetupStep p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.5}.programSetupIcon{color:var(--muted);display:inline-flex}.programSetupStep.done .programSetupIcon{color:#15803d}.programSetupStep.missing{border-color:#f0a3a3}.programSetupStep.missing .programSetupIcon{color:#b42318}.programExports{gap:0;display:grid}.programExportRow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.programExportRow select{min-width:240px;max-width:100%}@media (max-width:640px){.programBoardBar>.secondaryButton{margin-left:0}.programBoardTarget{flex:100%}.programBoardTarget select{flex:1;min-width:0}.programSetupStep{flex-wrap:wrap}.programExportRow select{flex:100%;min-width:0}}.payrollPanel{padding:0}.payrollHead{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.payrollPeriod{align-items:center;gap:12px;display:flex}.payrollPeriod button{border:1px solid var(--line);width:30px;height:30px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.payrollPeriod button:hover{border-color:var(--primary-strong);color:var(--primary-strong)}.payrollPeriod>div{text-align:center;min-width:128px}.payrollPeriod span{color:var(--primary-strong);letter-spacing:.08em;font-size:8px;font-weight:800;display:block}.payrollPeriod strong{font-size:13px}.payrollTotals{gap:26px;display:flex}.payrollTotals article{flex-direction:column;gap:2px;display:flex}.payrollTotals span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:800}.payrollTotals strong{font-variant-numeric:tabular-nums;font-size:15px}.payrollTotals .due strong{color:#a5203a}.payrollExports{gap:8px;margin-left:auto;display:flex}.payrollProgress{align-items:center;gap:12px;margin:12px 2px 14px;display:flex}.payrollProgress>div{background:var(--line);border-radius:3px;flex:1;height:5px;overflow:hidden}.payrollProgress>div span{background:var(--primary-strong);border-radius:3px;height:100%;transition:width .3s;display:block}.payrollProgress strong{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.payrollWarn{color:#8a5a00;align-items:center;gap:5px;font-size:9px;font-weight:700;display:inline-flex}.payrollTableWrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}.payrollTable{border-collapse:collapse;width:100%;font-size:9px}.payrollTable th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;white-space:nowrap;background:#fbfafc;padding:10px 12px;font-size:8px}.payrollTable td{border-bottom:1px solid var(--line);vertical-align:middle;font-variant-numeric:tabular-nums;padding:9px 12px}.payrollTable tr:last-child td{border-bottom:0}.payrollTable td strong{font-size:10px;display:block}.payrollTable td small{color:var(--muted);font-size:8px}.payrollDone td{opacity:.6}.payrollUnknown{color:#8a5a00;font-style:normal;font-weight:700}.payrollOverridden{color:var(--primary-strong);font-weight:700}.payrollOverridden small{color:var(--muted);font-weight:600}.payType{border-radius:999px;padding:2px 8px;font-size:8px;font-weight:800;display:inline-block}.payType.monthly{color:#1b4f7f;background:#e6f0f7}.payType.hourly{color:#6b3b8a;background:#f2e9f7}.payType.none{color:var(--muted);background:#f2f0f4}.payrollState{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:8px;font-weight:800;display:inline-block}.payrollState.paid{color:#1b7f4d;background:#e6f5ec}.payrollState.partial{color:#8a5a00;background:#fdf3e0}.payrollState.unpaid{color:#a5203a;background:#fbe3e8}.payrollState.unset{color:var(--muted);background:#f2f0f4}.payrollRowActions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.payrollSection{border-top:1px solid var(--line);padding:14px 0 4px}.payrollSection:first-of-type{border-top:0}.payrollSection h3{align-items:center;gap:7px;margin:0 0 4px;font-size:11px;display:flex}.payrollSection p{color:var(--muted);margin:0 0 10px;font-size:9px}.payrollFields{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.payrollFields label{color:var(--muted);flex-direction:column;gap:4px;font-size:9px;font-weight:700;display:flex}.payrollFields label.wideField{flex:1;min-width:220px}.payrollFields input,.payrollFields select{border:1px solid var(--line);width:150px;height:32px;color:var(--ink);background:#fff;border-radius:9px;padding:0 9px}.payrollFields label.wideField input{width:100%}.payrollHint{color:#8a5a00;margin:8px 0 0;font-size:9px;font-weight:700}.examManualPickerActions{gap:12px;margin-top:9px;display:flex}.examManualPickerActions .linkButton{color:var(--primary-strong);cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:800}.examManualPickerActions .linkButton:hover{text-decoration:underline}.navGroup{display:contents}.navGroupToggle{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0}.navGroupChevron{margin-left:auto;transition:transform .15s}.navGroupChevron.open{transform:rotate(180deg)}.navSubItem{padding-left:46px;font-size:9px}.examAnalysisPrint .averageBarPanel,.examAnalysisPrint .examConnectedChart{background:0 0;border:0;margin:0 0 10px;padding:0}.examAnalysisPrint .examBarChartHead h3{margin:0;font-size:9px}.examAnalysisPrint .examBarChartHead span,.examAnalysisPrint .examBarChartHead small{font-size:7px}.examAnalysisPrint .averageBarRow{grid-template-columns:minmax(90px,150px) 1fr 44px;gap:6px}.examAnalysisPrint .averageBarLabel{font-size:8px}.examAnalysisPrint .averageBarLabel small{font-size:6.5px}.examAnalysisPrint .averageBarTrack{height:8px}.examAnalysisPrint .averageBarValue{font-size:8px}.examAnalysisPrint .printNote{color:var(--muted);margin:4px 0 7px;font-size:7.5px;line-height:1.45}.examAnalysisPrint .printSpotlight{color:var(--muted);font-size:7px}.examAnalysisPrint .printStudentTable td,.examAnalysisPrint .printStudentTable th{font-size:7.5px}.examAnalysisPrint .pageBreakBefore{break-before:page;page-break-before:always}.examAnalysisPrint .printTable tr{break-inside:avoid;page-break-inside:avoid}.examAnalysisPrint .printChart{min-width:0}.examAnalysisPrint .printChart>figure>svg,.examAnalysisPrint .printChart svg{width:100%;max-width:760px;height:auto}.examAnalysisPrint .printChart{justify-content:center;display:flex}.examAnalysisPrint .printChart>*{width:100%;max-width:760px}.examAnalysisPrint .printTwoUp.compactPair .printChart>*{max-width:none}.examAnalysisPrint .compactTable th{padding:2px 0;font-size:6.5px}.examAnalysisPrint .compactTable td{padding:2px 0;font-size:7.5px}.examAnalysisPrint .printSubTitle{margin:10px 0 4px;font-size:8px;font-weight:800}.multiTrendLegend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:4px 0 0;padding:0;font-size:7px;list-style:none;display:flex}.multiTrendLegend li{align-items:center;gap:4px;display:flex}.multiTrendLegend i{border-radius:2px;width:7px;height:7px}.examAnalyticsPanel .subjectClassGrid figcaption{font-size:11px}.examAnalyticsPanel .subjectClassGrid .chartCaption{font-size:8px}.examAnalyticsPanel .gridTable th{font-size:7.5px}.examAnalyticsPanel .gridTable td{font-size:9px}.examAnalyticsPanel .multiTrendLegend{font-size:8px}.jumpPanel .jumpValue{color:#15803d}.subjectClassGrid{margin:0 0 10px}.subjectClassGrid figcaption{color:var(--primary-strong);margin-bottom:3px;font-size:9px;font-weight:800}.subjectClassGrid .chartCaption{color:var(--muted);margin:0 0 5px;font-size:7px}.gridTable{table-layout:fixed;width:100%}.gridTable th{text-align:center;word-break:break-word;padding:2px 1px;font-size:6px}.gridTable td{text-align:center;font-variant-numeric:tabular-nums;padding:2px 1px;font-size:7px}.gridTable th.gridSubject,.gridTable td.gridSubject{text-align:left;width:68px}.gridTable th.gridInstitution,.gridTable td.gridInstitution{width:34px}.gridTable td.gridInstitution{font-weight:800}.gridTable th.gridInstitution{font-weight:900}.examAnalysisPrint .gridTable tr{break-inside:avoid}.examGradeBadge.unit{border-color:var(--primary,#b5179e);color:var(--primary,#b5179e)}.examUnitWarning{color:#b45309;margin-top:6px;display:block}.attendanceToolbar{align-items:center}.attendanceToolbar .attendanceSearch{margin:0}.announcementUnitHint{color:var(--muted);margin-top:6px;line-height:1.45;display:block}.campusScopeTabs{flex-direction:column;gap:8px;margin:0 0 16px;display:flex}.campusScopeRow{border:1px solid var(--line);background:#fafafa;border-radius:11px;flex-wrap:wrap;align-items:center;gap:2px;width:fit-content;max-width:100%;padding:3px;display:flex}.campusScopeRow button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:5px;padding:6px 13px;font-size:12px;font-weight:700;display:inline-flex}.campusScopeRow button:hover{color:var(--primary-dark)}.campusScopeRow button.active{background:var(--primary);color:#fff}.campusScopeRow button small{opacity:.7;font-size:9px;font-weight:600}.campusScopeRow.second{background:0 0;border-style:dashed;margin-left:18px}.campusScopeRow.second button{font-size:11.5px;font-weight:600}@media (max-width:720px){.campusScopeRow{flex-wrap:nowrap;width:100%;overflow-x:auto}.campusScopeRow button{white-space:nowrap;padding:6px 10px;font-size:11px}.campusScopeRow.second{margin-left:0}}.unitMemberTable{border:1px solid var(--line);border-radius:10px;flex-direction:column;max-width:640px;max-height:58dvh;display:flex;overflow-y:auto}.unitMemberLine{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:22px minmax(0,1fr) 88px minmax(0,130px);align-items:center;gap:10px;padding:7px 11px;font-size:12px;display:grid}.unitMemberLine:last-child{border-bottom:0}.unitMemberLine:hover{background:var(--surface-2,#f6f7fb)}.unitMemberLine.selected{background:color-mix(in srgb, var(--primary,#b5179e) 7%, white)}.unitMemberName{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.unitMemberGrade{color:var(--muted);font-size:11px}.unitMemberOther{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.unitMemberCount{color:var(--muted);margin-left:auto;font-size:11px}.unitGradeFilter select{border:1px solid var(--line);height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:0 9px}@media (max-width:720px){.unitMemberLine{grid-template-columns:22px minmax(0,1fr) 70px}.unitMemberOther{display:none}}.unitMemberLine.readonly{cursor:default;grid-template-columns:minmax(0,1fr) 88px minmax(0,130px)}.unitMemberLine.readonly:hover{background:0 0}.pdfPreviewPager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.pdfPreviewPager>span{color:var(--muted);font-size:10px}.pdfPreviewPager>div{flex-wrap:wrap;gap:3px;display:flex}.pdfPreviewPager button{border:1px solid var(--line);min-width:28px;height:28px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;padding:0 7px;font-size:11px;font-weight:700}.pdfPreviewPager button:hover:not(:disabled){color:var(--primary-dark)}.pdfPreviewPager button.active{border-color:var(--primary,#b5179e);background:var(--primary,#b5179e);color:#fff}.pdfPreviewPager button:disabled{opacity:.4;cursor:default}.pdfMissingStudents{border:1px solid var(--line);background:var(--surface-2,#f8f6f8);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:11px 13px;display:flex}.pdfMissingStudents strong{font-size:11px;display:block}.pdfMissingStudents small{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.45;display:block}.unitCandidateBlock{margin-top:12px}.unitCandidateHead{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.unitCandidateHead b{color:var(--ink)}.studentNotesPanel .noteKindCounts{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.studentNotesPanel .noteKindCounts span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 9px;font-size:10px}.studentNotesPanel .noteKindCounts b{color:var(--ink)}.noteComposer{border:1px solid var(--line);background:var(--surface-2,#f8f6f8);border-radius:12px;margin:12px 0;padding:14px}.noteComposer textarea{border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:9px;margin-top:10px;padding:10px}.noteTimeline{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.noteTimeline li{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px}.noteTimeline p{color:var(--ink);white-space:pre-wrap;margin:7px 0 0;font-size:12px;line-height:1.55}.noteHead{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.noteHead time,.noteHead small{color:var(--muted);font-size:10px}.noteKind{background:var(--primary-soft,#fbeaf7);color:var(--primary-dark,#7a0f68);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.noteKind.uyari{color:#b42318;background:#fef2f2}.noteKind.veli_gorusmesi{color:#1d4ed8;background:#eff6ff}.noteVisibility{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.noteActions{gap:4px;margin-left:auto;display:flex}.noteActions button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:7px;padding:4px 6px}.noteActions button.danger:hover{color:#b42318;border-color:#fecaca}.noteDeleteConfirm{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;padding-top:9px;font-size:11px;display:flex}.objectiveSubjects{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0 16px;display:grid}.objectiveSubjects article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px}.objectiveSubjects strong{font-size:12px;display:block}.objectiveSubjects small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.objectiveBars{background:var(--surface-2,#f1f2f7);border-radius:5px;height:7px;margin-top:7px;display:flex;overflow:hidden}.objectiveBars i{display:block}.objectiveBars i.weak{background:#dc2626}.objectiveBars i.developing{background:#f59e0b}.objectiveBars i.strong{background:#16a34a}.objectiveAccuracy{font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px}.objectiveAccuracy.weak{color:#b42318;background:#fef2f2}.objectiveCode{color:var(--muted);margin-top:2px;font-size:9px;display:block}.objectiveHomeworkModal{flex-direction:column;gap:16px;width:min(760px,100%);display:flex}.objectiveHomeworkFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.objectiveHomeworkFields label{flex-direction:column;gap:5px;min-width:0;display:flex}.objectiveHomeworkFields label>span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.objectiveHomeworkFields input,.objectiveHomeworkFields select{border:1px solid var(--line);height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:0 10px;font-size:13px}.objectiveHomeworkFields .fieldHint{color:var(--muted);font-size:10px;line-height:1.45}.objectiveHomeworkNote{grid-column:1/-1}.objectiveHomeworkStudents{flex-direction:column;gap:8px;display:flex}.objectiveHomeworkStudents .panelTitle{margin:0}.objectiveHomeworkStudents .unitMemberTable{max-width:none;max-height:34dvh}.objectiveGapAction{text-align:right;white-space:nowrap}.modalActions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}@media (max-width:720px){.objectiveHomeworkFields{grid-template-columns:minmax(0,1fr)}}.etutList{flex-direction:column;gap:12px;display:flex}.etutCard{flex-direction:column;gap:10px;display:flex}.etutCardActions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.etutMeta{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:11.5px;display:flex}.etutMeta span{align-items:center;gap:5px;display:inline-flex}.etutFull{color:#b42318;font-weight:700}.etutClosed{color:#b54708;font-weight:700}.etutBlocked{color:var(--muted);font-size:12px}.etutDecisionNote{background:var(--surface-2,#f8f6f8);color:var(--ink);border-radius:9px;margin:0;padding:9px 11px;font-size:12px;line-height:1.5}.etutPending{border:1px solid var(--line);background:#fef6eb;border-radius:11px;flex-direction:column;gap:6px;padding:11px;display:flex}.etutPending>strong{font-size:11px}.etutApplicationRow{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;display:grid}.etutApplicationRow b{font-size:12.5px}.etutApplicationRow small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.etutEnrolled{font-size:11.5px}.etutEnrolled>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.etutEnrolled>p{color:var(--ink);margin:3px 0 0;line-height:1.5}.etutKindPicker{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.etutKindOption{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;gap:4px;padding:11px;display:flex}.etutKindOption.active{border-color:var(--primary,#b5179e);background:color-mix(in srgb, var(--primary,#b5179e) 6%, white)}.etutKindOption strong{font-size:12.5px}.etutKindOption small{color:var(--muted);font-size:10.5px;line-height:1.45}.etutScope{flex-direction:column;gap:6px;display:flex}.etutScope>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.etutChips{flex-wrap:wrap;gap:6px;display:flex}.etutChip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:600}.etutChip.active{border-color:var(--primary,#b5179e);background:var(--primary,#b5179e);color:#fff}@media (max-width:720px){.etutKindPicker,.etutApplicationRow{grid-template-columns:minmax(0,1fr)}}.textPromptModal{flex-direction:column;gap:12px;width:min(460px,100%);display:flex}.textPromptModal .panelTitle{margin:0}.textPromptHint{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.textPromptModal input,.textPromptModal textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13.5px}.textPromptModal input{height:42px}.textPromptModal textarea{resize:vertical;line-height:1.5}.textPromptError{color:#b42318;margin:0;font-size:12px;line-height:1.5}.studentMatchButton{border:1px solid var(--line);width:100%;min-width:170px;height:34px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:600;display:flex}.studentMatchButton>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.studentMatchButton.exact{border-color:#12b76a}.studentMatchButton.possible{border-color:#f79009}.studentMatchButton.unmatched{color:#b42318;border-color:#f04438}.studentMatchPicker{min-width:210px;position:relative}.studentMatchSearch{border:1px solid var(--primary,#b5179e);background:#fff;border-radius:9px;align-items:center;gap:6px;height:34px;padding:0 8px;display:flex}.studentMatchSearch input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:12.5px}.studentMatchSearch button{color:var(--muted);cursor:pointer;background:0 0;border:0;display:flex}.studentMatchList{z-index:40;border:1px solid var(--line);background:#fff;border-radius:11px;max-height:260px;padding:4px;position:absolute;top:38px;left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #140a152e}.studentMatchList button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:7px 9px;font-size:12.5px;display:flex}.studentMatchList button:hover{background:var(--surface-2,#f6f7fb)}.studentMatchList button.selected{background:color-mix(in srgb, var(--primary,#b5179e) 9%, white);font-weight:700}.studentMatchList button>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.studentMatchList button>small{color:var(--muted);white-space:nowrap;font-size:10.5px}.studentMatchEmpty{color:var(--muted);margin:0;padding:8px 9px;font-size:11.5px}.tableActionButton.announce{color:#b54708;border-color:#f79009}.examAnnounced{color:#067647;align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.reportAudiencePicker{flex-direction:column;gap:7px;display:flex}.reportAudiencePicker>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.reportAudiencePicker>div{flex-wrap:wrap;gap:7px;display:flex}.reportAudiencePicker>small{color:var(--muted);font-size:10.5px;line-height:1.5}.printSectionAside{color:var(--muted);margin-left:8px;font-size:7px;font-weight:500}.printPageBreak{break-before:page;page-break-before:always}.printDoc .printTable tr{break-inside:avoid;page-break-inside:avoid}.classAnalysisPanel{flex-direction:column;gap:10px;display:flex}.classAnalysisHint{color:var(--muted);margin:0;font-size:11.5px}.classAnalysisScope{color:var(--muted);margin-top:2px;font-size:10px;display:block}.classAnalysisDetail{border:1px solid var(--line);background:var(--surface-2,#fbfafc);border-radius:12px;flex-direction:column;gap:12px;padding:13px;display:flex}.classAnalysisDetail .panelTitle{margin:0}.classCardActionRow{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.classCardActionRow>button,.classCardActionRow>a{white-space:nowrap;text-overflow:ellipsis;flex:120px;justify-content:center;min-width:0;padding:8px 10px;font-size:12px;overflow:hidden}.classMentorBadge{background:var(--primary-soft);color:var(--primary-dark);border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;font-size:11px;font-weight:700;line-height:1.35;display:flex}.classGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.classFilterBar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.classFilterBar .tableSearch{flex:260px}.classLevelChips{flex-wrap:wrap;gap:6px;display:flex}.classLevelChips button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.classLevelChips button.active{border-color:var(--primary,#b5179e);background:var(--primary,#b5179e);color:#fff}.classLevelChips button b{opacity:.75;font-size:10px}.classFilterStrip{flex-wrap:wrap;gap:6px;margin:10px 0 4px;display:flex}.classFilterStrip button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex}.classFilterStrip button:hover{border-color:var(--primary,#b5179e)}.classFilterStrip button.active{border-color:var(--primary,#b5179e);background:var(--primary,#b5179e);color:#fff}.classFilterStrip button b{opacity:.72;font-size:10px;font-weight:700}.pdfClassScope{border:1px solid var(--line);background:var(--surface-2,#f8f6f8);border-radius:11px;flex-direction:column;gap:5px;margin-bottom:10px;padding:11px 13px;display:flex}.pdfClassScope label{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.pdfClassScope label>span{font-size:11.5px;font-weight:700}.pdfClassScope select{border:1px solid var(--line);height:34px;color:var(--ink);background:#fff;border-radius:9px;padding:0 9px;font-size:12.5px}.pdfClassScope small{color:var(--muted);font-size:10.5px;line-height:1.45}.matchLabel.class-mismatch{color:#b54708}.studentMatchButton.class-mismatch{border-color:#f79009}.classSubjectComparisons{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px;display:grid}.classSubjectChart{break-inside:avoid;min-width:0}.classSubjectChart svg{width:100%;height:auto;display:block}.classSubjectChart h3{margin:0 0 8px;font-size:15px}.classSubjectChart p{margin:0 0 8px;font-size:12px}@media print{.classSubjectComparisons{display:block}.classSubjectChart{width:100%;max-width:720px;margin:12px auto}}.lessonHoursModal{width:min(860px,100%)}.lessonHoursIntro{color:var(--muted);margin:-8px 0 16px;font-size:10px;line-height:1.5}.lessonHoursBody{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.lessonHoursForm{flex-direction:column;gap:12px;min-width:0;display:flex}.lessonHoursGroup{border:0;margin:0;padding:0}.lessonHoursGroup legend,.lessonHoursFields label,.lessonHoursDayCounts>div label{color:var(--muted);letter-spacing:.04em;font-size:8px;font-weight:800}.lessonHoursDays{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.lessonHoursDays button{border:1px solid var(--line);min-width:46px;color:var(--muted);cursor:pointer;background:#fff;border-radius:99px;padding:8px 10px;font-size:9px;font-weight:800;transition:background .15s,border-color .15s,color .15s}.lessonHoursDays button:hover{border-color:var(--primary-strong)}.lessonHoursDays button.active{border-color:var(--primary-strong);background:var(--primary-soft);color:var(--primary-dark)}.lessonHoursFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lessonHoursFields label{flex-direction:column;gap:5px;display:flex}.lessonHoursFields input,.lessonHoursDayCounts input[type=number]{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);font-variant-numeric:tabular-nums;background:#fff;border-radius:10px;padding:0 11px;font-size:11px;font-weight:700}.lessonHoursFields input:focus,.lessonHoursDayCounts input:focus{outline:2px solid var(--primary-soft);border-color:var(--primary-strong)}.lessonHoursUnit{display:block;position:relative}.lessonHoursUnit input{padding-right:34px}.lessonHoursUnit em{color:var(--muted);pointer-events:none;font-size:9px;font-style:normal;font-weight:700;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.lessonHoursLongBreaks{flex-direction:column;gap:8px;display:flex}.lessonHoursLongBreaks>.secondaryButton{align-self:flex-start;gap:6px;padding:7px 11px;font-size:10px}.lessonHoursLongBreakRow{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;grid-template-columns:minmax(0,1fr) 96px auto;align-items:center;gap:8px;padding:8px;display:grid}.lessonHoursLongBreakRow select,.lessonHoursLongBreakRow input{border:1px solid var(--line);width:100%;min-height:34px;color:var(--ink);font-variant-numeric:tabular-nums;background:#fff;border-radius:9px;padding:0 9px;font-size:11px;font-weight:700}.lessonHoursLongBreakRow select:focus,.lessonHoursLongBreakRow input:focus{outline:2px solid var(--primary-soft);border-color:var(--primary-strong)}.lessonHoursLongBreakRow>button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.lessonHoursLongBreakRow>button:hover{color:var(--danger,#b91c1c);border-color:currentColor}.lessonHoursOutline li.break,.lessonHoursOutline li.longBreak{align-items:center;gap:6px;display:flex}.lessonHoursOutline li.longBreak>span:first-child{flex:auto;min-width:0}.lessonHoursOutline li.break>button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:8px;padding:2px 0;display:flex}.lessonHoursOutline li.break>button>span{flex:auto;min-width:0}.lessonHoursOutline li.break>button>em{border:1px dashed var(--line);color:var(--muted);letter-spacing:.02em;border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px 8px;font-size:8px;font-style:normal;font-weight:800;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.lessonHoursOutline li.break>button:hover>em,.lessonHoursOutline li.break>button:focus-visible>em{border-style:solid;border-color:var(--primary-strong);background:var(--primary-soft);color:var(--primary-strong)}.lessonHoursOutline li.break>button:focus-visible{outline:2px solid var(--primary-soft);outline-offset:2px;border-radius:8px}.lessonHoursOutline li.longBreak .lessonHoursUnit{flex:none;align-items:center;gap:3px;display:inline-flex}.lessonHoursOutline li.longBreak input{border:1px solid var(--line);width:46px;min-height:26px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;background:#fff;border-radius:7px;padding:0 5px;font-size:10px;font-weight:800}.lessonHoursOutline li.longBreak input:focus{outline:2px solid var(--primary-soft);border-color:var(--primary-strong)}.lessonHoursOutline li.longBreak>button{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.lessonHoursOutline li.longBreak>button:hover{color:#b91c1c;border-color:currentColor}.lessonHoursOutline li.longBreak.fromSetup em{color:#92400e;letter-spacing:.03em;text-transform:uppercase;background:#fef3c7;border-radius:999px;flex:none;padding:2px 6px;font-size:7px;font-style:normal;font-weight:800}.lessonHoursReset{gap:6px;margin-right:auto}.lessonHoursResetNote{border:1px solid var(--line);background:var(--surface-muted,#f8fafc);color:var(--muted);border-radius:10px;margin:10px 0 0;padding:9px 11px;font-size:9px;line-height:1.5}.lessonHoursLongBreaks+small,.lessonHoursGroup>small{color:var(--muted);margin-top:8px;font-size:9px;line-height:1.5;display:block}.lessonHoursDayCounts{border:1px solid var(--line);border-radius:12px;padding:11px 12px}.lessonHoursDayCounts .lessonHoursToggle{color:var(--ink);cursor:pointer;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.lessonHoursDayCounts .lessonHoursToggle input{width:15px;height:15px;min-height:0;accent-color:var(--primary-strong);flex:none;margin:0;padding:0}.lessonHoursToggle small{color:var(--muted);font-weight:600}.lessonHoursDayCounts>div{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:10px;display:grid}.lessonHoursDayCounts>div label{flex-direction:column;gap:4px;display:flex}.lessonHoursPreview{border:1px solid var(--line);background:#faf7fb;border-radius:14px;min-width:0;padding:14px;position:sticky;top:0}.lessonHoursPreview>header{color:var(--primary-dark);align-items:center;gap:7px;margin-bottom:11px;font-size:10px;display:flex}.lessonHoursStats{grid-template-columns:.7fr 1.6fr .9fr;gap:6px;margin-bottom:11px;display:grid}.lessonHoursStats article{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:8px 9px;display:flex}.lessonHoursStats strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.lessonHoursStats span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:7px;font-weight:800}.lessonHoursPreviewTabs{flex-wrap:wrap;gap:4px;margin-bottom:9px;display:flex}.lessonHoursPreviewTabs button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:5px 9px;font-size:8px;font-weight:800}.lessonHoursPreviewTabs button.active{border-color:var(--line);color:var(--ink);background:#fff}.lessonHoursOutlineHint{color:var(--muted);margin:0 0 6px;font-size:8px;font-weight:700}.lessonHoursOutline{max-height:330px;margin:0;padding:0;list-style:none;overflow-y:auto}.lessonHoursOutline li.lesson{border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.lessonHoursOutline li.lesson .lessonHoursPeriod{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:800}.lessonHoursOutline li.lesson time{font-variant-numeric:tabular-nums;font-size:10px;font-weight:800}.lessonHoursOutline li.break,.lessonHoursOutline li.longBreak{color:var(--muted);align-items:center;gap:8px;padding:3px 10px;font-size:8px;font-weight:700;display:flex}.lessonHoursOutline li.break:before,.lessonHoursOutline li.longBreak:before{content:"";background:var(--line);border-radius:1px;width:2px;height:10px}.lessonHoursOutline li.longBreak{color:#8a5a00;background:#fffbeb;border-radius:9px;margin:3px 0;padding:7px 10px}.lessonHoursOutline li.longBreak:before{background:#f5c451;height:14px}.lessonHoursProblem{color:#991b1b;background:#fef2f2;border-radius:10px;align-items:flex-start;gap:8px;padding:11px;font-size:9px;font-weight:700;line-height:1.45;display:flex}.lessonHoursProblem svg{flex-shrink:0;margin-top:1px}.lessonHoursImpact{color:#7a4d00;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;gap:10px;margin-top:14px;padding:12px;display:flex}.lessonHoursImpact svg{flex-shrink:0;margin-top:1px}.lessonHoursImpact strong{font-size:10px;display:block}.lessonHoursImpact span{margin-top:2px;font-size:8px;line-height:1.5;display:block}.lessonHoursImpact ul{font-variant-numeric:tabular-nums;gap:2px;margin:6px 0 0;padding-left:15px;font-size:8px;display:grid}.lessonHoursModal .programFormError{margin-top:12px}.lessonHoursModal .adminModalActions{margin-top:16px}.lessonHoursNotice{color:#146c3a;background:#ecfdf3;border:1px solid #b7ebc9;border-radius:11px;align-items:center;gap:9px;margin:0 0 12px;padding:10px 12px;font-size:9px;font-weight:700;display:flex}.lessonHoursNotice span{flex:1}.lessonHoursNotice button{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.lessonHoursQuick{flex-wrap:wrap;gap:6px;display:flex}.lessonHoursQuick button{font-variant-numeric:tabular-nums;padding:5px 9px;font-size:9px}.lessonHoursQuick button.active{border-color:var(--primary-strong);background:var(--primary-soft);color:var(--primary-dark)}.timetableHoursSummary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.timetableHoursSummary>div{flex-direction:column;gap:2px;display:flex}.timetableHoursSummary span{color:var(--muted);font-size:8px}@media (max-width:720px){.lessonHoursBody{grid-template-columns:1fr}.lessonHoursPreview{position:static}.programHeaderActions{flex-wrap:wrap}}.availabilityWhoTabs{background:#f3eff5;border-radius:11px;gap:3px;margin:4px 0 12px;padding:3px;display:inline-flex}.availabilityWhoTabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 13px;font-size:9px;font-weight:800}.availabilityWhoTabs button em{color:var(--muted);margin-left:5px;font-style:normal;font-weight:700}.availabilityWhoTabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #140a151f}.availabilityWhoTabs.compact{margin:0}.studentAvailability{flex-direction:column;gap:11px;display:flex}.studentAvailabilityTemplate{border:1px solid var(--line);background:#faf7fb;border-radius:13px;flex-direction:column;gap:10px;padding:12px;display:flex}.studentAvailabilityDays{flex-wrap:wrap;gap:5px;display:flex}.studentAvailabilityDays button{border:1px solid var(--line);min-width:44px;color:var(--muted);cursor:pointer;background:#fff;border-radius:99px;padding:7px 9px;font-size:9px;font-weight:800}.studentAvailabilityDays button.active{border-color:var(--primary-strong);background:var(--primary-soft);color:var(--primary-dark)}.studentAvailabilityTimes{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.studentAvailabilityTimes label{color:var(--muted);flex-direction:column;gap:4px;font-size:8px;font-weight:800;display:flex}.studentAvailabilityTimes input{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:36px;padding:0 9px;font-size:10px;font-weight:700}.studentAvailabilityTimes .linkButton{min-height:36px;color:var(--primary-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0 6px;font-size:9px;font-weight:800;display:inline-flex}.studentAvailabilityActions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;display:flex}.studentAvailabilityActions span{color:var(--muted);flex:180px;font-size:9px;font-weight:700}.studentAvailabilityFilters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.studentAvailabilityFilters input{border:1px solid var(--line);border-radius:10px;flex:200px;min-height:36px;padding:0 11px;font-size:10px}.studentAvailabilityList{border:1px solid var(--line);border-radius:12px;max-height:380px;overflow:hidden auto}.studentAvailabilityRow{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:18px minmax(120px,1fr) minmax(0,1.6fr);align-items:center;gap:10px;padding:9px 12px;font-size:9px;display:grid}.studentAvailabilityRow:last-child{border-bottom:0}.studentAvailabilityRow:hover{background:#fbf9fc}.studentAvailabilityRow.selected{background:var(--primary-soft)}.studentAvailabilityRow input{width:15px;height:15px;accent-color:var(--primary-strong);margin:0}.studentAvailabilityRow strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.studentAvailabilityRow span{font-variant-numeric:tabular-nums}.studentAvailabilityRow span.free{color:var(--muted)}.studentAvailabilityRow span.restricted{color:var(--ink);font-weight:700}.studentAvailabilityRow.head{z-index:1;color:var(--muted);background:#fbfafc;grid-template-columns:18px 1fr;font-weight:800;position:sticky;top:0}@media (max-width:640px){.studentAvailabilityRow{grid-template-columns:18px 1fr}.studentAvailabilityRow span{grid-column:2}}.scheduleGenFromTimetable{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.scheduleGenFromTimetable small{flex:220px}.availabilityNoRecord{color:#7a4d00;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:9px;line-height:1.5}.availabilityNoRecord strong{margin-bottom:2px;font-size:10px;display:block}.lessonHoursSlots{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;margin-top:14px;padding:12px;display:flex}.lessonHoursSlots label{cursor:pointer;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.lessonHoursSlots label input{width:15px;height:15px;accent-color:var(--primary-strong);margin:0}.lessonHoursSlots small{color:var(--muted);font-size:8px;line-height:1.5}.weekStartPicker{color:var(--muted);align-items:center;gap:6px;font-size:9px;font-weight:800;display:inline-flex}.weekStartPicker select{border:1px solid var(--line);min-height:32px;color:var(--ink);background:#fff;border-radius:9px;padding:0 8px;font-size:10px;font-weight:700}.weeklyDayHead small{color:var(--muted);margin-left:4px;font-size:8px;font-weight:700}.weeklyChipTime{color:var(--primary-dark);font-variant-numeric:tabular-nums;align-items:center;gap:3px;margin-bottom:2px;font-size:8px;font-style:normal;font-weight:800;display:inline-flex}.weeklyTaskTiming{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:4px 0 8px;display:flex}.weeklyTaskTiming label{min-width:130px;color:var(--ink);flex-direction:column;gap:4px;font-size:9px;font-weight:800;display:flex}.weeklyTaskTiming label small{color:var(--muted);font-weight:600}.weeklyTaskTiming input,.weeklyTaskTiming select{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:36px;padding:0 9px;font-size:10px;font-weight:700}.weeklyTaskTimingPreview{background:var(--primary-soft);min-height:36px;color:var(--primary-dark);font-variant-numeric:tabular-nums;border-radius:9px;align-items:center;gap:4px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.settingsInlineSelect{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:36px;margin-top:6px;padding:0 10px;font-size:10px;font-weight:700}.programChoiceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;display:grid}.programChoiceCard{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:20px;flex-direction:column;align-items:flex-start;gap:12px;padding:28px;text-decoration:none;display:flex}.programChoiceCard:hover{border-color:var(--primary,#9b246b);box-shadow:0 6px 24px #451c3810}.programChoiceCard svg{color:var(--primary,#9b246b)}.programChoiceCard h2{margin:0;font-size:21px}.programChoiceCard p,.programSectionHead p{color:var(--muted);margin:0;line-height:1.6}.programChoiceCard span{margin-top:auto;font-size:13px;font-weight:700}.programSavedSection{border:1px solid var(--line);background:#fff;border-radius:18px;margin:20px 0;padding:24px}.programSectionHead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.programSectionHead h2,.programSectionHead h3{align-items:center;gap:8px;margin:0 0 10px;display:flex}.programSummary{color:var(--muted);flex-wrap:wrap;gap:20px;margin:20px 0;display:flex}.programSummary strong{color:var(--ink)}.programGridLink{align-items:center;gap:8px;margin-top:20px;display:flex}.programSubnav{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.programSubnav a{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:9px 14px;font-size:12px;font-weight:700;text-decoration:none}.programBreakSettings{min-width:0;margin-top:20px}.programBreakList{gap:10px;margin:16px 0;display:grid}.programBreakList article{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.programBreakList article>div{flex-wrap:wrap;gap:8px;display:flex}.programBreakList article>div:first-child{flex-direction:column}.programBreakList span{color:var(--muted);font-size:12px}.programBreakList button{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:8px;font-size:12px;display:inline-flex}.programBreakForm{background:var(--surface,#faf8fb);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.programBreakForm label{flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.programBreakForm input,.programBreakForm select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;padding:10px}.programBreakForm input[type=checkbox]{align-self:flex-start;width:auto}.programBreakForm>div{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.programError{color:#a11a39;font-size:13px}@media (max-width:700px){.programChoiceGrid{grid-template-columns:1fr;gap:12px}.programChoiceCard,.programSavedSection{padding:18px}.programBreakForm{grid-template-columns:1fr}.programBreakList article{flex-direction:column;align-items:stretch}.subjectPlanRow{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;display:grid}.subjectPlanRow select{grid-column:1/-1;width:100%;min-width:0}}.programPlanningWorkspace,.programPlanningWorkspace.withTray{grid-template-columns:180px minmax(0,1fr);gap:14px}.programPlanningWorkspace.withTray{grid-template-columns:180px minmax(0,1fr) 220px}.programWeekContent{min-width:0}.programTargetList{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:14px 10px}.programTargetList header{justify-content:space-between;padding:0 4px 12px;font-size:13px;display:flex}.programTargetList header span{color:var(--muted)}.programTargetSearch{border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:0 8px;display:flex}.programTargetSearch input{width:100%;min-width:0;font:inherit;background:0 0;border:0;padding:9px 0;font-size:12px}.programTargetOptions{gap:4px;max-height:580px;margin-top:10px;display:grid;overflow:auto}.programTargetOptions button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:5px;padding:12px 9px;display:flex;position:relative}.programTargetOptions button:hover{background:#faf7fb}.programTargetOptions button.active{background:var(--primary-soft);box-shadow:inset 3px 0 var(--primary);border-color:#e6c7ec}.programTargetOptions strong{overflow-wrap:anywhere;max-width:100%;font-size:13px}.programTargetOptions small{color:var(--muted);font-size:11px}.programTargetOptions span{color:#995800;background:#fff4e5;border-radius:4px;align-self:flex-start;padding:2px 5px;font-size:10px;font-weight:700}.programTargetOptions p{color:var(--muted);padding:8px;font-size:12px}.programTargetList>a{border-top:1px solid var(--line);color:var(--primary-strong);margin-top:12px;padding:10px 4px 0;font-size:11px;text-decoration:none;display:block}.programWeekHeading{border:1px solid var(--line);background:#fff;border-bottom:0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.programWeekHeading small{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:800}.programWeekHeading h2{margin:4px 0;font-size:22px}.programWeekHeading p{color:var(--muted);margin:0;font-size:11px}.programWeekHeading label,.programPlanningHeading label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.programPlanningWorkspace .programBoardScroll{border-radius:0 0 12px 12px}.programPlanningWorkspace .programBoard{min-width:560px}.programPlanningWorkspace .programBoard thead th:first-child,.programPlanningWorkspace .programBoard tbody th{width:74px}.programPlanningWorkspace .programBoard tbody th small{font-size:9px}.programPlanningWorkspace .programBoard td{height:76px}.programPlanningWorkspace .programBoardAdd{min-height:64px}.programPlanningWorkspace .programTray{padding:14px 12px}.programTrayInstruction{margin-bottom:12px!important}.programPlanningWorkspace .programTray li button{background:var(--chip-bg,var(--primary-soft));border-left-color:var(--chip-ink,var(--primary))}.programPlanningStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.programPlanningStats>div{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.programPlanningStats span{color:var(--muted);font-size:12px;display:block}.programPlanningStats strong{margin-top:10px;font-size:28px;display:block}.programPlanningStats small{color:var(--muted);font-size:16px}.programPlanningHeading{justify-content:space-between;align-items:center;gap:12px;margin:26px 0 16px;display:flex}.programPlanningHeading h2{margin:0 0 6px;font-size:18px}.programPlanningHeading p{color:var(--muted);margin:0;font-size:12px}.programPlanningCards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.programPlanningCards>button{border:1px solid var(--line);text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:12px;gap:12px;padding:18px;display:grid}.programPlanningCards>button:hover{border-color:var(--primary)}.programPlanningCards button>div{justify-content:space-between;gap:12px;display:flex}.programPlanningCards span,.programPlanningCards small{color:var(--muted);font-size:12px}.programPlanningCards small.pending{color:#995800}.programPlanningCards progress{appearance:none;background:#f0eaf2;border:0;border-radius:8px;width:100%;height:6px;overflow:hidden}.programPlanningCards progress::-webkit-progress-bar{background:#f0eaf2}.programPlanningCards progress::-webkit-progress-value{background:var(--primary);border-radius:8px}.programPlanningCards progress::-moz-progress-bar{background:var(--primary)}@media (max-width:1300px){.programPlanningWorkspace.withTray{grid-template-columns:160px minmax(0,1fr)}.programPlanningWorkspace .programTray{order:initial;grid-column:2;position:static}.programPlanningWorkspace .programTray ul{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));max-height:280px}}@media (max-width:760px){.programPlanningWorkspace,.programPlanningWorkspace.withTray{grid-template-columns:minmax(0,1fr)}.programPlanningWorkspace .programTray{grid-column:1}.programTargetOptions{max-height:130px;display:flex}.programTargetOptions button{flex-shrink:0;width:125px;min-width:125px}.programPlanningStats{grid-template-columns:repeat(2,minmax(0,1fr))}.programPlanningHeading,.programWeekHeading{flex-wrap:wrap}}.programPlanningWorkspace .programBoard tbody th small{letter-spacing:normal;white-space:nowrap}.programPlanningWorkspace .programTray header span{white-space:nowrap;flex-shrink:0}.privateScheduleWorkspace{min-width:0}.privateScheduleControls{gap:7px 12px}.privateScheduleToolbar{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.privateScheduleToolbar .scheduleViewTabs{flex-shrink:0}.privateScheduleToolbar .primaryButton,.privateScheduleToolbar .secondaryButton,.privateScheduleDisplay .secondaryButton{gap:5px;min-height:30px;padding:6px 9px;font-size:11px}.privateScheduleSearch{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;flex:200px;align-items:center;gap:7px;padding:0 8px;display:flex}.privateScheduleSearch input{width:100%;min-width:0;height:30px;font:inherit;background:0 0;border:0;padding:0;font-size:11px}.privateScheduleSearch button{background:var(--surface);color:var(--muted);cursor:pointer;border:0;border-radius:4px;padding:3px;display:flex}.privateScheduleCount{color:var(--muted);white-space:nowrap;font-size:11px}.privateScheduleDisplay{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.privateScheduleDisplay label{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.privateScheduleDisplay select{min-height:27px;padding:0 6px;font-size:11px}.privateScheduleTools{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding-top:8px;display:flex}.privateScheduleLegend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding:0 8px 7px;font-size:11px;display:flex}.privateScheduleLegend span:before{content:"";border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.privateScheduleLegend .available:before{background:#4ade80}.privateScheduleLegend .busy:before{background:#f87171}.privateScheduleLegend .unavailable:before{background:#a8a29e}.privateScheduleLegend button{color:var(--primary-strong);font:inherit;cursor:pointer;background:0 0;border:0}.privateScheduleWorkspace .teacherStrip{flex-wrap:wrap}.privateScheduleWorkspace .teacherStripChips{flex-basis:200px}.privateScheduleWorkspace .teacherStripHint{white-space:normal}.scheduleMatrixTable{table-layout:fixed}.scheduleMatrixScroll .scheduleMatrixTable tbody tr{height:var(--matrix-row-height,32px)}.scheduleMatrixScroll .scheduleMatrixCorner,.scheduleMatrixScroll .scheduleMatrixRowHead{width:var(--matrix-name-width,260px);min-width:var(--matrix-name-width,260px);max-width:var(--matrix-name-width,260px)}.scheduleMatrixScroll .scheduleMatrixSlotHead{letter-spacing:0;white-space:nowrap;width:110px;min-width:110px;height:32px;padding:5px 4px;font-size:11px}.scheduleMatrixScroll .scheduleMatrixRowHead{letter-spacing:0;text-transform:none;padding:0 8px}.scheduleMatrixScroll .scheduleMatrixCell{padding:2px}.scheduleMatrixScroll .scheduleMatrixCell button{height:calc(var(--matrix-row-height,32px) - 5px);border-radius:4px;min-height:0;overflow:hidden}.matrixDensity-compact .scheduleMatrixCell button{flex-direction:row;justify-content:flex-start;align-items:center;gap:6px;padding:0 6px}.matrixDensity-compact .scheduleCellCard strong{flex-shrink:0;font-size:11px}.matrixDensity-compact .scheduleCellCard span{opacity:.85;font-size:10px}.matrixDensity-compact .scheduleMatrixRowHead span,.matrixDensity-compact .scheduleMatrixRowHead em{font-size:12px;display:inline}.matrixDensity-compact .scheduleMatrixRowHead{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.matrixDensity-compact .scheduleMatrixRowHead em{margin-left:7px;font-size:10px;font-weight:500}.scheduleMatrixScroll .scheduleMatrixSection{font-size:10px}.scheduleMatrixTable tr.matrixVirtualSpacer>td,.scheduleWeekTable tr.matrixVirtualSpacer>td{border:0;padding:0}.scheduleWeekScroll .scheduleWeekTable thead th.scheduleWeekCorner,.scheduleWeekScroll .scheduleWeekRowHead{width:var(--matrix-name-width,260px);min-width:var(--matrix-name-width,260px);max-width:var(--matrix-name-width,260px)}body.scheduleFocusMode .privateScheduleWorkspace>.programTabs{display:none}@media (max-width:700px){.privateScheduleToolbar .scheduleViewTabs{width:100%;overflow-x:auto}.privateScheduleDisplay{margin-left:0}.privateScheduleWorkspace .teacherStripLabel{display:none}.privateScheduleWorkspace .teacherStripChips{flex-basis:100%}.scheduleMatrixScroll .scheduleMatrixCorner,.scheduleMatrixScroll .scheduleMatrixRowHead,.scheduleWeekScroll .scheduleWeekTable thead th.scheduleWeekCorner,.scheduleWeekScroll .scheduleWeekRowHead{width:min(var(--matrix-name-width,260px), 46vw);min-width:min(var(--matrix-name-width,260px), 46vw);max-width:min(var(--matrix-name-width,260px), 46vw)}}.opticalModal{background:#fff;border-radius:18px;flex-direction:column;gap:12px;width:min(1080px,100%);max-height:calc(100dvh - 48px);padding:22px;display:flex;overflow-y:auto;box-shadow:0 24px 70px #140a153d}.opticalModal.wide{width:min(1240px,100%)}.opticalModal .adminModalHead{margin-bottom:0}.opticalModal .adminModalHead small{color:var(--muted);font-size:9px}.opticalModal .pdfImportActions{margin-top:auto}.opticalModal .mono,.opticalKeyInput,.opticalCell,.opticalRuler,.opticalFieldTable input[type=number]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.opticalKeyToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;display:flex}.opticalBookletTabs,.opticalSegment{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.opticalBookletTabs>span,.opticalSegment>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-right:3px;font-size:8px;font-weight:800}.opticalBookletTab{border:1px solid var(--line);color:#4c484e;background:#fff;border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.opticalBookletTab[aria-pressed=true]{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft)}.opticalBookletTab.add{color:var(--muted);border-style:dashed;font-weight:700}.opticalBookletTab.remove{color:#b42318}.opticalDot{background:#15803d;border-radius:50%;width:7px;height:7px}.opticalDot.bad{background:#b42318}.opticalSegment>div{border:1px solid var(--line);background:#fff;border-radius:8px;display:inline-flex;overflow:hidden}.opticalSegment button{color:var(--muted);background:0 0;border:0;padding:7px 10px;font-size:10px;font-weight:700}.opticalSegment button[aria-pressed=true]{color:#fff;background:var(--primary-strong)}.opticalKeyRows{border:1px solid var(--line);border-radius:12px;overflow:hidden}.opticalKeyRow{border-bottom:1px solid var(--line);grid-template-columns:130px minmax(0,1fr) 120px;align-items:start;gap:8px 14px;padding:12px 14px;display:grid}.opticalKeyRow:last-child{border-bottom:0}.opticalKeyRow.hasError{background:snow}.opticalKeySubject strong{font-size:11px;display:block}.opticalKeySubject span{color:var(--muted);font-size:9px}.opticalKeyBody{gap:8px;min-width:0;display:grid}.opticalKeyInput{border:1px solid var(--line);letter-spacing:.04em;border-radius:8px;outline:0;width:100%;height:34px;padding:0 9px;font-size:11px}.opticalKeyInput:focus{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.opticalKeyRow.hasError .opticalKeyInput{border-color:#fcc8c3}.opticalCells{flex-wrap:wrap;gap:5px 9px;display:flex}.opticalCellGroup{gap:2px;display:inline-flex}.opticalCell{border:1px solid var(--line);background:#fff;border-radius:5px;grid-template-rows:11px 1fr;place-items:center;width:22px;height:32px;padding:0;line-height:1;display:grid}.opticalCell i{color:var(--subtle);padding-top:2px;font-size:7px;font-style:normal}.opticalCell b{color:var(--ink);font-size:11px}.opticalCell:hover{border-color:var(--primary)}.opticalCell.cancelled{background:repeating-linear-gradient(135deg,#fff 0 4px,#fdebd3 4px 6px);border-color:#fcd9a4}.opticalCell.cancelled b{color:#b54708;text-decoration:line-through}.opticalCell.missing{background:#fef3f2;border-style:dashed;border-color:#fcc8c3}.opticalCell.missing b{color:#b42318}.opticalCell.invalid{background:#fef3f2;border-color:#b42318}.opticalKeyState{justify-items:start;display:grid}.opticalChip{border:1px solid var(--line);color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:9px;font-weight:800;display:inline-flex}.opticalChip.ok{color:#15803d;background:#effbf2;border-color:#bbe5c7}.opticalChip.warn{color:#b54708;background:#fffaeb;border-color:#fcd9a4}.opticalChip.bad{color:#b42318;background:#fef3f2;border-color:#fcc8c3}.opticalHint{color:var(--muted);margin:0;font-size:9px}.opticalFormatTop,.opticalImportTop{flex-wrap:wrap;align-items:end;gap:10px 16px;display:flex}.opticalField{gap:5px;display:grid}.opticalField>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:800}.opticalField input,.opticalField select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;height:36px;padding:0 9px;font-size:10px}.opticalField input.short{width:90px}.opticalRulerWrap{--optical-cw:10px;border:1px solid var(--line);overscroll-behavior-x:contain;background:#fff;border-radius:12px;overflow-x:auto}.opticalRuler{-webkit-user-select:none;user-select:none;width:max-content;padding:10px 14px 12px 0;font-size:11px;display:grid}.opticalGut{z-index:2;border-right:1px solid var(--line);color:var(--subtle);background:#fff;justify-content:flex-end;align-items:center;padding-right:9px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:8px;display:flex;position:sticky;left:0}.opticalBand{white-space:nowrap;border-radius:5px;align-items:center;gap:5px;height:22px;margin:0 1px 4px 0;padding:0 6px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:800;display:flex;overflow:hidden}.opticalBand em{opacity:.7;font-style:normal;font-weight:600}.opticalBand.number,.opticalSwatch.number{color:#1d4ed8;background:#dbe7fe}.opticalBand.name,.opticalSwatch.name{color:#0f766e;background:#d5f3ec}.opticalBand.class,.opticalSwatch.class{color:#92400e;background:#fdefc8}.opticalBand.booklet,.opticalSwatch.booklet{color:#c2410c;background:#ffe2cc}.opticalBand.section,.opticalSwatch.section{color:#86198f;background:#f7e1f8}.opticalBand.sectionAlt,.opticalSwatch.sectionAlt{color:#6b21a8;background:#ecdcf5}.opticalTick{height:20px;position:relative}.opticalTick:after{content:"";background:#e2dde4;width:1px;height:4px;position:absolute;bottom:2px;left:0}.opticalTick.five:after{background:#cfc8d2;height:7px}.opticalTick.ten:after{background:#9d94a1;height:11px}.opticalTick span{right:calc(100% - var(--optical-cw));color:var(--muted);font-size:8px;position:absolute;bottom:12px}.opticalChar{height:22px;color:var(--ink);text-align:center;line-height:22px}.opticalChar.number{background:#dbe7fe73}.opticalChar.name{background:#d5f3ec73}.opticalChar.class{background:#fdefc873}.opticalChar.booklet{background:#ffe2cc73}.opticalChar.section{background:#f7e1f873}.opticalChar.sectionAlt{background:#ecdcf573}.opticalChar.sp{color:#d4ccd6}.opticalChar.bad{color:#b42318;font-weight:800}.opticalChar.sel{box-shadow:inset 0 2px 0 var(--primary), inset 0 -2px 0 var(--primary);background:#c026d32e}.opticalChar.sel.selStart{box-shadow:inset 2px 2px 0 var(--primary), inset 0 -2px 0 var(--primary)}.opticalChar.sel.selEnd{box-shadow:inset -2px 2px 0 var(--primary), inset 0 -2px 0 var(--primary)}.opticalChar.sel.selStart.selEnd{box-shadow:inset 0 0 0 2px var(--primary)}.opticalAssignBar{background:var(--primary-soft);border:1px solid #efd3f1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;padding:9px 12px;font-size:10px;display:flex}.opticalAssignBar strong{color:var(--primary-dark)}.opticalAssignBar select{border:1px solid var(--line);background:#fff;border-radius:8px;height:34px;padding:0 8px;font-size:10px}.opticalFormatGrid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.opticalStack{gap:10px;display:grid}.opticalPanel{border:1px solid var(--line);background:#fff;border-radius:12px}.opticalPanelTitle{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;display:flex}.opticalPanelTitle h3{margin:0;font-size:11px}.opticalPanelTitle span{color:var(--muted);font-size:9px}.opticalTable{border-collapse:collapse;width:100%}.opticalTable th{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#fcfbfd;padding:8px 10px;font-size:8px;font-weight:800}.opticalTable td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 10px;font-size:10px}.opticalTable tr:last-child td{border-bottom:0}.opticalTable td small{color:var(--muted);font-size:8px;display:block}.opticalTable tr.muted td{color:var(--subtle)}.opticalTable tr.danger td{background:#fffbfb}.opticalTable .num{font-variant-numeric:tabular-nums}.opticalFieldTable input[type=number]{border:1px solid var(--line);border-radius:7px;width:62px;height:30px;padding:0 6px;font-size:10px}.opticalFieldTable select{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:200px;height:30px;padding:0 6px;font-size:9px}.opticalFieldTable .fieldName{white-space:nowrap;font-weight:800}.opticalSwatch{vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.opticalIconButton{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:#fff;border-radius:7px;place-items:center;display:grid}.opticalLine{display:block}.opticalOkNotice,.opticalInfoNotice{border-radius:9px;align-items:flex-start;gap:8px;padding:11px;display:flex}.opticalOkNotice{color:#14532d;background:#effbf2;border:1px solid #bbe5c7}.opticalInfoNotice{color:#1e3a8a;background:#eff5ff;border:1px solid #c3d6fb}.opticalOkNotice>div,.opticalInfoNotice>div{flex-direction:column;gap:3px;display:flex}.opticalOkNotice strong,.opticalInfoNotice strong{font-size:9px}.opticalOkNotice span,.opticalInfoNotice span{font-size:8px;line-height:1.5}.opticalInlineAction{align-self:flex-start;min-height:32px;margin-top:6px}.opticalInlineCheck{align-items:center;gap:6px;display:inline-flex}.opticalProblem{color:#b42318;font-size:8px;font-weight:700;display:block}.opticalWarn{color:#b54708;font-size:8px;font-weight:700;display:block}.opticalFine{color:#15803d;font-weight:700}.opticalSummary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.opticalSummary article{border:1px solid var(--line);background:#fafafa;border-radius:9px;flex-direction:column;gap:3px;padding:11px;display:flex}.opticalSummary span{color:var(--muted);font-size:7px}.opticalSummary strong{font-variant-numeric:tabular-nums;font-size:16px}.opticalSummary small{color:var(--muted);font-size:7px;font-weight:800}.opticalSummary .ok strong{color:#15803d}.opticalSummary .warn strong{color:#b54708}.opticalSummary .bad strong{color:#b42318}.opticalSummary .idle strong{color:var(--subtle)}.opticalFilterTabs{flex-wrap:wrap;gap:5px;display:flex}.opticalFilterTabs button{border:1px solid var(--line);color:#4c484e;background:#fff;border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex}.opticalFilterTabs button b{color:var(--muted);font-variant-numeric:tabular-nums}.opticalFilterTabs button[aria-pressed=true]{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft)}.opticalTriplet{font-variant-numeric:tabular-nums;gap:6px;display:inline-flex}.opticalTriplet b{color:#15803d}.opticalTriplet i{color:#b42318;font-style:normal}.opticalTriplet em{color:var(--subtle);font-style:normal}.opticalTriplet strong{text-align:right;min-width:40px}.opticalNetChange{color:#b54708;font-variant-numeric:tabular-nums;margin-top:3px;font-size:9px;font-weight:700;display:block}.opticalConfirm{color:#7a3306;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;align-items:flex-start;gap:9px;padding:11px;font-size:9px;line-height:1.5;display:flex}.opticalConfirm input{width:16px;height:16px;accent-color:var(--primary-strong);flex:none;margin-top:1px}.matchLabel.number-name-mismatch{color:#b54708}.studentMatchButton.number-name-mismatch{border-color:#f79009}.opticalStartPanel{background:#fffbff;border:1px dashed #efd3f1;border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px 14px;padding:12px;display:flex}.opticalStartPanel>div{flex-direction:column;flex:260px;gap:3px;display:flex}.opticalStartPanel strong{font-size:10px}.opticalStartPanel>div>span{color:var(--muted);font-size:9px;line-height:1.5}.opticalShift{align-items:center;gap:5px;display:inline-flex}.opticalShift .opticalIconButton{width:24px;height:24px;font-size:13px}.opticalPickTop{padding:10px 12px}.sourceModal{width:min(880px,100%)}.resultSourceGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.resultSourceCard{border:1px solid var(--line);min-height:118px;color:var(--ink);text-align:left;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:13px;display:flex;position:relative}.resultSourceCard>svg{color:var(--primary-strong)}.resultSourceCard strong{padding-right:18px;font-size:11px}.resultSourceCard span{color:var(--muted);font-size:9px;line-height:1.45}.resultSourceCard:hover:not(:disabled){border-color:#dfb5e2}.resultSourceCard[aria-checked=true]{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #c026d31f}.resultSourceCard:disabled{opacity:.5;cursor:not-allowed}.resultSourceCheck{color:#fff;background:var(--primary-strong);border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:10px;right:10px}.resultSourceSearch{border:1px solid var(--line);height:36px;color:var(--muted);border-radius:8px;align-items:center;gap:7px;margin:10px 12px 0;padding:0 10px;display:flex}.resultSourceSearch:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #fae8ff}.resultSourceSearch input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:10px}.resultSourceFormList{gap:5px;max-height:300px;padding:6px 12px 4px;display:grid;overflow-y:auto}.resultSourceGroup{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:8px 0 2px;font-size:8px;font-weight:800}.resultSourceForm{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:9px 11px;display:grid}.resultSourceForm strong{font-size:10px}.resultSourceForm span{color:var(--muted);grid-column:1;font-size:8px}.resultSourceForm svg{color:var(--primary-strong);grid-area:1/2/span 2;align-self:center}.resultSourceForm[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.resultSourceManage{padding:8px 12px 12px}.resultSourcePicker{gap:10px;display:grid}.examFormSource{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:12px;display:grid}.examFormSourceHead{flex-direction:column;gap:2px;display:flex}.examFormSourceHead span{color:var(--ink);font-size:10px;font-weight:800}.examFormSourceHead small{color:var(--muted);font-size:9px;line-height:1.45}.examFormSource .resultSourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.examFormSource .resultSourceCard{min-height:0}.examFormSource .resultSourceFormList{max-height:220px}.examSourceTag{color:var(--primary-dark);background:#fff;border-radius:999px;margin-left:4px;padding:1px 5px;font-size:7px;font-weight:800}@media (max-width:700px){.resultSourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.opticalKeyRow,.opticalFormatGrid{grid-template-columns:1fr}.opticalSummary{grid-template-columns:repeat(2,minmax(0,1fr))}}.privateScheduleGradeFilter{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.privateScheduleGradeFilter select{min-height:30px;padding:0 7px;font-size:11px}.scheduleImportModal{background:#fff;border-radius:16px;width:min(1440px,96vw);max-height:92dvh;padding:24px;overflow:auto;box-shadow:0 24px 80px #0003}.scheduleImportModal>p{color:var(--muted);font-size:13px}.scheduleImportToolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.scheduleImportToolbar label{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.scheduleImportToolbar input[type=file]{width:200px;font-size:11px}.scheduleImportToolbar small,.scheduleImportHint{color:var(--muted);font-size:12px}.scheduleImportToolbar a{overflow-wrap:anywhere;max-width:100%;color:var(--primary-strong);font-size:12px}.scheduleImportWarnings{background:#fff8e8;border-radius:8px;padding:12px 28px;font-size:12px}.scheduleImportTableScroll{border:1px solid var(--line);border-radius:10px;max-height:50dvh;overflow:auto}.scheduleImportTable{border-collapse:separate;border-spacing:0;width:100%;min-width:1100px}.scheduleImportTable th{background:var(--primary-soft);z-index:1;position:sticky;top:0}.scheduleImportTable th,.scheduleImportTable td{border-bottom:1px solid var(--line);text-align:left;padding:8px;font-size:12px}.scheduleImportTable input:not([type=checkbox]),.scheduleImportTable select{width:100%;min-width:100px;max-width:190px;min-height:32px;padding:4px;font-size:12px}.scheduleImportTable small{max-width:190px;color:var(--muted);margin-top:4px;font-size:10px;display:block}.scheduleImportTable .hasIssue td{background:#fff6f2}.scheduleImportTable td:last-child{min-width:160px;max-width:240px}.scheduleImportConfirm{align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.studentParentImportModal .staffImportPreview td input{border:1px solid var(--line);width:100%;min-width:90px;font:inherit;border-radius:7px;padding:5px 7px}.studentParentImportModal .staffImportPreview tr.importRowReview td{background:#fff7ed}.studentParentImportModal .staffImportPreview .iconButton{width:30px;height:30px}.classBulkCoach{border:1px solid var(--line);background:var(--surface,#faf8fc);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;display:flex}.classBulkCoach strong{margin-right:4px;font-size:12px}.classBulkCoach select{border:1px solid var(--line);font:inherit;border-radius:8px;min-width:0;max-width:100%;padding:6px 10px;font-size:12px}.classBulkCoach button{padding:7px 10px;font-size:12px}.importResultReport{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;gap:6px;padding:12px 14px;display:grid}.importResultReport strong{font-size:13px}.importResultReport span{color:#7f1d1d;font-size:12px}.importResultReport ul{max-height:180px;margin:4px 0 0;padding-left:18px;font-size:12px;overflow-y:auto}.importCoachPicker{gap:4px;font-size:12px;font-weight:600;display:grid}.importCoachPicker select{border:1px solid var(--line);font:inherit;border-radius:8px;padding:7px 10px}.classRosterSelectionBar{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;display:flex}.classRosterSelectionBar span{margin-right:auto;font-size:12px}.classRosterSelectionBar button{padding:7px 10px;font-size:12px}.testWorkshop{gap:16px;display:grid}.testWorkshop .tablePanel h2 small{color:var(--muted);margin-left:6px;font-size:11px;font-weight:700}.questionCrop{gap:10px;display:grid}.questionCropToolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.questionCropTools{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.questionCropTools button{color:#4c484e;background:#fff;border:0;padding:7px 12px;font-size:11px;font-weight:700}.questionCropTools button.active{background:var(--primary-strong);color:#fff}.questionCropHint{color:var(--muted);font-size:11px}.questionCropStage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;border:1px solid var(--line);border-radius:8px;width:fit-content;max-width:100%;position:relative;overflow:hidden}.questionCropStage img{max-width:100%;max-height:70dvh;display:block}.questionCropBox{border:2px solid var(--primary-strong);pointer-events:none;background:#9810a814;position:absolute}.questionCropMask{pointer-events:none;background:#ffffffeb;border:1px dashed #666;position:absolute}.questionCropBox.drawing,.questionCropMask.drawing{opacity:.7}.questionCropBox.warn{background:#f5b40024;border-color:#d49a00}.questionCropBox.warn .questionCropBadge{background:#b07d00}.questionCropNote{background:#9810a812;border-radius:8px;margin:0 0 8px;padding:8px 12px;font-size:13px}.questionCropNote.muted{color:var(--muted);background:#f3f2f4}.questionCropActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.omrRows{gap:8px;margin-top:12px;display:grid}.quickTestModal{max-width:560px}.examParts{gap:4px;max-width:640px;margin:12px 0;display:grid}.examPartRow{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);align-items:center;gap:10px;font-size:13px;display:grid}.examPartGroup{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;grid-column:1/-1;margin-top:10px;font-size:12px}.examPartRow input{width:80px}.examPartBank{color:var(--muted);font-size:12px}.examPartBank.lacking{color:#b42318;font-weight:700}.examPartBank.done{color:#067647;font-weight:700}.selectionReview{gap:14px;margin:10px 0 14px;display:grid}.selectionGroupHead{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.selectionGrid,.selectionPicker{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.selectionPicker{background:#f6f4f7;border-radius:8px;margin-top:8px;padding:10px}.selectionCard{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;gap:4px;margin:0;padding:6px;font-size:11px;display:grid;position:relative}.selectionCard img,.selectionNoImage{object-fit:contain;object-position:top left;background:#fff;width:100%;height:110px}.selectionCard.pick{cursor:pointer;font:inherit;font-size:11px}.selectionCard.pick:hover{border-color:var(--primary-strong)}.selectionCard figcaption{color:var(--muted);gap:2px;display:grid}.selectionActions{gap:10px;display:flex}.selectionNo{background:var(--primary-strong);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:4px;left:4px}.examPartRow.editable{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr) auto}.questionAnswerPaste{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.questionAnswerPaste input{flex:260px;min-width:0}.questionPendingSlot{color:var(--primary-strong);align-self:center;font-size:12px;font-weight:700}.questionPendingSlot.over{color:#b42318}.projectedTest{z-index:1000;background:var(--surface,#fff);grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:16px;display:grid;position:fixed;inset:0}.projectedTestBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.projectedTestStage{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:center;align-items:center;min-height:0;padding:24px 24px 24px 64px;display:flex;position:relative}.projectedTestStage img{object-fit:contain;max-width:100%;max-height:100%}.projectedTestNo{color:#222;font-size:28px;font-weight:800;position:absolute;top:20px;left:20px}.omrRow{border:1px solid var(--line);border-radius:8px;gap:8px;padding:10px 12px;display:grid}.omrRowSaved{opacity:.65}.omrRowHead{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.omrRowHead strong{overflow-wrap:anywhere}.omrRowControls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.omrRowControls select{min-width:0;max-width:100%}.omrRowProblem{color:#b42318;margin:0;font-size:12px}.omrUnclear{flex-wrap:wrap;gap:10px;display:flex}.omrUnclearItem{align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.omrUnclearItem button{min-height:0;padding:2px 8px}.questionDraft{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:14px;display:grid}.questionDraft .questionCropActions{grid-column:1/-1}.questionDraftPreview{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%}.questionDraftFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.questionDraftFields label,.testBuilder label{color:#4c484e;gap:4px;font-size:11px;font-weight:700;display:grid}.questionDraftFields input,.questionDraftFields select,.testBuilder input,.testBuilder select,.testWorkshopSearch{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:12px}.inlineInputs{grid-template-columns:1fr 1fr;gap:6px;display:grid}.questionGrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:10px;display:grid}.questionCard{border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;overflow:hidden}.questionCard.selected{border-color:var(--primary-strong);box-shadow:0 0 0 2px #9810a82e}.questionCard.hidden{opacity:.45}.questionCardImage{cursor:pointer;background:#fbfafb;border:0;place-items:center;min-height:110px;padding:8px;display:grid;position:relative}.questionCardImage img{object-fit:contain;max-width:100%;max-height:150px}.questionCardOrder{background:var(--primary-strong);color:#fff;border-radius:11px;place-items:center;min-width:22px;height:22px;font-size:11px;font-weight:800;display:grid;position:absolute;top:6px;left:6px}.questionCardMeta{gap:2px;padding:8px 10px;font-size:11px;display:grid}.questionCardMeta span{color:var(--muted)}.testWorkshopLink{color:var(--primary-dark);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:11px;font-weight:800}.testBuilder{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end;gap:10px;display:grid}.testBuilder .emptyPanelText,.testBuilder .questionCropActions{grid-column:1/-1}@media (max-width:720px){.questionDraft,.questionDraftFields,.testBuilder{grid-template-columns:1fr}}.questionCropBadge{background:var(--primary-strong);color:#fff;pointer-events:auto;border-radius:11px;align-items:center;gap:2px;min-width:22px;height:22px;padding:0 4px 0 7px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:-11px;left:-11px}.questionCropBadge button{color:#fff;cursor:pointer;background:#ffffff40;border:0;border-radius:8px;width:16px;height:16px;font-size:12px;line-height:1}.questionCropLabel{font-size:12px}.questionPageTags{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.questionPdfNav{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.bookImport{gap:14px;display:grid}.bookImportIntro{color:var(--muted);max-width:760px;margin:0;font-size:13px;line-height:1.5}.bookImportPage input,.bookImportPage select{border:1px solid var(--line);color:inherit;font:inherit;background:#fff;border-radius:6px}.bookImportPage input{padding:5px 8px}.bookImportPage input:focus,.bookImportPage select:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.bookImport h3 small{color:var(--muted);margin-left:8px;font-size:12px;font-weight:600}.bookImportRange{align-items:center;gap:6px;display:flex}.bookImportRange input{width:72px}.bookImportProgress{grid-template-columns:1fr auto;align-items:center;gap:6px 12px;display:grid}.bookImportProgress>div{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.bookImportProgress>div span{background:var(--primary);height:100%;transition:width .3s;display:block}.bookImportProgress small{color:var(--muted);grid-column:1;font-size:12px}.bookImportProgress button{grid-area:1/2/span 2}.bookImportSummary{flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:13px;display:flex}.bookImportSummary span{color:var(--muted)}.bookImportPages{gap:10px;max-height:70dvh;padding-right:4px;display:grid;overflow:auto}.bookImportPage{border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;grid-template-columns:96px 1fr;gap:12px;padding:10px;display:grid}.bookImportPage img{border:1px solid var(--line);background:#fff;border-radius:4px;width:96px}.bookImportPage.excluded{opacity:.5}.bookImportPage.saved{background:#f3fbf5;border-color:#9bd3a8}.bookImportPageBody{align-content:start;gap:8px;min-width:0;display:grid}.bookImportPageHead{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.bookImportPageHead span{color:var(--muted)}.bookImportPageHead label{margin-left:auto}.bookImportTopic{align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.bookImportTopic input{flex:1;min-width:0}.bookImportAnswers{flex-wrap:wrap;gap:6px;display:flex}.bookImportAnswers label{border:1px solid var(--line);border-radius:6px;align-items:center;gap:3px;padding:2px 4px;font-size:12px;font-weight:700;display:flex}.bookImportAnswers label.missing{background:#fff1f1;border-color:#e5484d}.bookImportAnswers select{border:0;min-height:0;padding:2px 4px;font-size:12px}.bookImportPaste{font-size:12px}.bookImportPage .bookImportStrip{border:1px solid var(--line);border-radius:4px;justify-self:start;width:auto;max-width:100%;max-height:44px}.bookImportWarning{color:#8a5a00;background:#fff7e6;border-radius:6px;margin:0;padding:6px 8px;font-size:12px}@media (max-width:640px){.bookImportPage{grid-template-columns:1fr}.bookImportPage img{width:120px}}.questionPendingList{gap:10px;display:grid}.questionPendingRow{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) 110px 110px;align-items:center;gap:10px;padding:8px;display:grid}.questionPendingRow img{object-fit:contain;max-width:100%;max-height:140px}.questionPendingRow label{color:#4c484e;gap:4px;font-size:11px;font-weight:700;display:grid}.questionPendingRow input,.questionPendingRow select,.questionFilters select,.questionCardActions select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:12px}.questionFilters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.questionFilterCheck{color:#4c484e;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.questionCardActions{justify-content:space-between;align-items:center;gap:6px;margin-top:4px;display:flex}.questionBulk{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;padding-bottom:12px}@media (max-width:720px){.questionPageTags,.questionBulk{grid-template-columns:1fr 1fr}.questionPendingRow{grid-template-columns:1fr}}.questionLines{gap:8px;margin:10px 0;display:grid}.questionLine{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr) 80px auto;align-items:center;gap:8px;display:grid}.questionLine select,.questionLine input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:12px}.questionLines>.secondaryButton{justify-self:start}.questionPrintOptions{grid-column:1/-1}@media (max-width:720px){.questionLine{grid-template-columns:1fr 1fr}}.matrixOffGrid{background:#fff8e6;border:1px solid #f0c36d;border-radius:8px;margin:8px 0;padding:8px 12px;font-size:13px}.matrixOffGrid summary{cursor:pointer;font-weight:700}.matrixOffGrid ul{margin:6px 0 0;padding-left:18px}.workshopResults{gap:8px;margin-top:16px;display:grid}.workshopResultsHeading{margin:8px 0 2px;font-size:13px}.questionStatStrip{flex-wrap:wrap;gap:4px;display:flex}.questionStat{border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:center;min-width:40px;padding:3px 4px;font-size:11px;display:inline-flex}.questionStat b{font-size:12px}.questionStat.low{background:#fde8e7;border-color:#f4b4ad}.questionStat.mid{background:#fff4d9;border-color:#f0d38a}.questionStat.high{background:#e3f6ea;border-color:#a6dcb8}.questionStat.none{color:var(--muted)}.workshopResultsTable{border-collapse:collapse;width:100%;font-size:13px}.workshopResultsTable th,.workshopResultsTable td{border-bottom:1px solid var(--line);text-align:left;padding:6px 8px}.workshopResultsTable td:nth-child(n+4),.workshopResultsTable th:nth-child(n+4){text-align:right}@media (max-width:640px){.workshopResultsTable th:nth-child(3),.workshopResultsTable td:nth-child(3){display:none}}.platformReportControls{gap:10px;margin-bottom:12px;display:grid}.platformReportChips{flex-wrap:wrap;gap:6px;display:flex}.platformReportChips button{border:1px solid var(--line);cursor:pointer;color:inherit;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.platformReportChips button b{color:var(--muted);margin-left:4px}.platformReportChips button.active{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.platformReportChips button.active b{color:#fff}.platformReportTools{flex-wrap:wrap;gap:8px;display:flex}.platformReportTools input{flex:260px;min-width:0}.platformReportScroll{overflow-x:auto}.platformReportTable{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}.platformReportTable th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px;font-size:11px}.platformReportTable td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 8px}.platformReportTable td small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.platformReportTable td a{color:inherit;text-decoration:none}.platformReportTable td a:hover strong{text-decoration:underline}.platformReportTable em{color:#b42318;font-style:normal;font-weight:700}.platformReportLicense{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.platformReportLicense.active{color:#067647;background:#e3f6ea}.platformReportLicense.demo{color:#8a5a00;background:#fff4d9}.platformReportLicense.closed{color:#b42318;background:#fde8e7}.platformReportFlag{background:#f6f1f7;border-radius:6px;margin:0 4px 4px 0;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.workshopTestList{gap:8px;margin-top:10px;display:grid}.workshopTestItem{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.workshopTestItem>div:first-child{gap:2px;min-width:0;display:grid}.workshopTestItem small{color:var(--muted);font-size:12px}.demoRequestFilter{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:10px;display:inline-flex}.demoRequestFilter input{width:14px;height:14px;accent-color:var(--primary)}.demoRequestList{gap:10px;margin-top:12px;display:grid}.demoRequest{border:1px solid var(--line);border-left:3px solid var(--line);background:var(--card);opacity:.72;border-radius:12px;padding:14px 16px}.demoRequest.new{border-left-color:var(--primary);opacity:1}.demoRequestTop{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.demoRequestTop strong{font-size:13px}.demoRequestOrg{color:var(--muted);align-items:center;gap:5px;margin-left:10px;font-size:10px;display:inline-flex}.demoRequestType{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-block}.demoRequestMeta{color:var(--muted);align-items:center;gap:10px;font-size:9px;display:flex}.demoRequestStatus{letter-spacing:.04em;background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 9px;font-size:9px;font-weight:800}.demoRequestStatus.yeni{background:color-mix(in srgb, var(--primary) 14%, transparent);border-color:color-mix(in srgb, var(--primary) 34%, var(--line));color:var(--primary-strong)}.demoRequestStatus.kapandi{opacity:.7}.demoRequestContact{flex-wrap:wrap;gap:8px 18px;margin-top:10px;display:flex}.demoRequestContact a{color:var(--primary-strong);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.demoRequestContact a:hover{text-decoration:underline}.demoRequestMessage{color:var(--muted);white-space:pre-wrap;margin:10px 0 0;font-size:11px;line-height:1.6}.demoRequestNote{border-left:2px solid var(--line);color:var(--muted);margin:8px 0 0;padding-left:10px;font-size:10px}.demoRequestActions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.demoRequestActions select{border:1px solid var(--line);background:var(--surface);height:28px;color:var(--ink);font:inherit;border-radius:8px;padding:0 8px;font-size:10px}.demoRequestButton{border-radius:8px;align-items:center;gap:6px;height:28px;padding:0 12px;font-size:10px;display:inline-flex}.demoRequestNoteEdit{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:10px;display:flex}.demoRequestNoteEdit textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;resize:vertical;border-radius:8px;flex:320px;padding:8px 10px;font-size:11px;line-height:1.5}.demoRequestNoteEdit textarea:focus{border-color:var(--primary);outline:none}
