.operations-page{min-height:100dvh;background:#f1f6f3;color:#172720}.operations-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px max(24px,calc((100vw - 1060px)/2));background:#fff;border-bottom:1px solid #dce8e1}.operations-header>div{display:flex;align-items:center;gap:12px}.operations-header img{width:36px;height:36px}.operations-header strong{font-size:20px}.operations-header span{color:#61736a}.operations-body{max-width:1060px;margin:0 auto;padding:28px 24px 50px;display:grid;gap:18px}.operations-card{background:#fff;border:1px solid #dce8e1;border-radius:16px;padding:24px;min-width:0}.operations-card h1,.operations-card h2,.operations-card h3{margin:0 0 14px}.operations-card h2{font-size:19px}.operations-card p{line-height:1.7}.operations-card label{display:block;margin:18px 0 8px;font-weight:500}.operations-card .ant-checkbox-wrapper{display:inline-flex}.operations-card input[type=datetime-local],.operations-card select{width:100%;max-width:460px;padding:10px;border:1px solid #b9cdc0;border-radius:9px;background:#fff;color:#172720;font:inherit}.operations-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.operations-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.operations-line h2{margin:0}.operations-line .operations-actions{margin-top:0}.operations-help{color:#566c60;font-size:13px;line-height:1.7}.operations-login{max-width:500px;width:100%;margin:12px auto}.operations-login>a{display:block;margin-top:18px}.operations-login>.ant-btn{margin-top:20px}.operations-tabs{display:flex;gap:8px;flex-wrap:wrap}.operations-tabs button{background:#fff;border:1px solid #cadbd1;border-radius:10px;padding:12px 22px;color:#355343;font:inherit;min-height:44px;cursor:pointer}.operations-tabs button[aria-current=page]{background:#147d58;color:#fff;border-color:#147d58}.operations-module{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid #e5eee8}.operations-module:last-child{border-bottom:0;padding-bottom:0}.operations-module strong,.operations-module>span:first-child{flex:1}.operations-module>span{color:#526d5e}.operations-preview{margin-top:20px;padding:22px;background:#f5f9f6;border-radius:12px}.operations-record{padding:18px 0;border-bottom:1px solid #e0ebe4;overflow-wrap:anywhere}.operations-record:last-child{border-bottom:0}.operations-record p{color:#5b7164;font-size:13px}.operations-secret{overflow-wrap:anywhere;font-family:monospace;padding:14px;background:#f0f5f2;border-radius:8px;margin:14px 0}.operations-recovery{display:grid;gap:10px;padding:16px 0}.operations-recovery code{font-size:15px;overflow-wrap:anywhere}.operations-paused{position:fixed;inset:0;z-index:1500;overflow:auto;background:#f1f6f3;display:grid;align-items:start;justify-items:center;padding:70px 24px}.operations-paused section{max-width:640px;width:100%;background:#fff;border-radius:18px;border:1px solid #dce8e1;padding:32px}.operations-paused img{width:44px;height:44px}.operations-paused h1{font-size:25px}.operations-paused p{line-height:1.8;color:#50695b}.operations-announcement{position:fixed;bottom:16px;right:20px;z-index:900;max-width:min(440px,calc(100vw - 40px));padding:10px 16px;border:1px solid #c9ddd0;border-radius:12px;background:#fff;box-shadow:0 4px 18px #183c2418}.operations-announcement summary{cursor:pointer}.operations-announcement p{white-space:pre-wrap;max-height:240px;overflow:auto}.operations-page .ant-alert-message{overflow-wrap:anywhere}@media(max-width:600px){.operations-header{padding:16px}.operations-header strong{font-size:17px}.operations-header span{font-size:12px}.operations-header>div{gap:8px}.operations-body{padding:18px 14px 32px;gap:14px}.operations-card{padding:18px}.operations-tabs{gap:6px}.operations-tabs button{padding:10px 12px;flex:1;white-space:nowrap}.operations-card input,.operations-card textarea,.operations-card select{font-size:16px}.operations-line{align-items:flex-start}.operations-paused{padding:35px 14px}.operations-paused section{padding:22px}.operations-actions .ant-btn{min-height:44px}.operations-announcement{bottom:76px}}.operations-fields{border:0;margin:0;padding:0;min-width:0;display:grid;gap:18px}@media(max-width:600px){.operations-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.home-page .operations-announcement{position:static;width:100%;max-width:none;margin:0 0 20px;box-shadow:none}.operations-header{position:sticky;top:0;z-index:30}.operations-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.operations-header-actions a{display:inline-flex;align-items:center;min-height:44px}.operations-tabs{position:sticky;top:81px;z-index:25;background:#f1f6f3;padding:6px 0}.operations-card input,.operations-card textarea,.operations-card select{scroll-margin-top:160px;scroll-margin-bottom:220px}.operations-card .ant-btn{min-height:44px}.operations-notice-editor h3{margin:20px 0 6px;font-size:15px}.operations-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.operations-preset-grid button{min-height:48px;padding:10px 12px;background:#f8fbf9;color:#294f3b;border:1px solid #c9dcd0;border-radius:10px;font:inherit;cursor:pointer}.operations-preset-grid button[aria-pressed=true]{background:#e1f4e8;border-color:#147d58;color:#125b3d}.operations-preset-grid button:disabled{opacity:.55;cursor:default}.operations-field-count{float:right;font-weight:400;color:#627769;font-size:12px}.operations-pause-presets{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px}.operations-switch-touch{display:inline-flex!important;align-items:center;justify-content:center;min-width:60px;min-height:44px;margin:0!important;padding:6px;flex-shrink:0}.operations-notice-editor .operations-module>div{flex:1}.operations-savebar{position:sticky;bottom:16px;z-index:20;box-shadow:0 5px 24px #183c2420}.operations-savebar:has(.operations-preview){position:static}.operations-page .ant-input-password{min-height:44px}.operations-page .ant-input:not(textarea){min-height:44px}.operations-page .operations-help{overflow-wrap:anywhere}@media(min-width:700px){.operations-notice-editor{padding:28px 32px}.operations-body{padding-top:20px}}@media(max-width:600px){.operations-header{position:static;gap:8px;align-items:flex-start}.operations-header-actions{gap:6px;justify-content:flex-end}.operations-header-actions a{font-size:13px}.operations-header-actions .ant-btn{min-height:44px}.operations-tabs{top:0;gap:6px;padding:8px 0}.operations-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.operations-savebar{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));padding:14px 16px;border-color:#bed7c8}.operations-savebar>.operations-line{gap:8px;width:100%}.operations-savebar>.operations-line>span{font-size:13px}.operations-savebar .operations-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.operations-savebar .operations-actions .ant-btn:last-child{grid-column:1/-1}.operations-page:has(.operations-savebar) .operations-body{padding-bottom:240px}.operations-savebar:has(.operations-preview),.operations-page:has(input:focus,textarea:focus,select:focus) .operations-savebar{position:static}.operations-page:has(input:focus,textarea:focus,select:focus) .operations-body{padding-bottom:32px}.operations-card select{min-height:44px}.operations-page .ant-modal{max-width:calc(100vw - 24px)}.operations-notice-editor .operations-module{align-items:center;gap:8px}}.operations-switch-touch{gap:10px}@media(pointer:coarse){.operations-header-actions .ant-btn{min-height:44px}}.saved-test-rosters{min-width:0}.test-roster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.test-roster-toolbar h2{color:#123e37;font-size:22px;margin:0 0 6px}.test-roster-toolbar p,.test-roster-hint{color:#687b73;margin:4px 0 16px}.test-roster-number{overflow-wrap:anywhere;white-space:normal}.test-roster-modal .ant-modal{top:24px;max-width:calc(100vw - 32px);padding-bottom:24px}.test-roster-modal .ant-modal-body{max-height:calc(100dvh - 180px);overflow:auto;padding-right:6px}.test-roster-form{display:flex;align-items:flex-end;gap:16px;margin-bottom:12px}.test-roster-form label{flex:1;max-width:520px;display:grid;gap:6px}.test-roster-preview h3{color:#123e37}.test-roster-preview .ant-collapse{margin:14px 0}.test-roster-preview .ant-alert{margin:10px 0}@media(max-width:900px){.test-roster-toolbar{align-items:flex-start;flex-direction:column}.test-roster-form{align-items:stretch;flex-direction:column}.test-roster-toolbar .ant-btn,.test-roster-form .ant-btn{min-height:42px}.test-roster-modal .ant-modal{top:12px;max-width:calc(100vw - 20px)}.test-roster-modal .ant-modal-body{max-height:calc(100dvh - 180px)}}.test-roster-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.test-roster-tablet-actions{display:none}.test-roster-actions-menu .ant-dropdown-menu-item{min-height:44px;min-width:140px}.test-roster-edit-modal .ant-modal{max-width:calc(100vw - 32px)}@media(max-width:1100px){.test-roster-desktop-actions{display:none}.test-roster-tablet-actions{display:block}.test-roster-row-actions .ant-btn,.saved-test-rosters .test-roster-toolbar .ant-btn,.saved-test-rosters>.ant-table-wrapper .ant-btn-link{min-height:44px;min-width:44px}.test-roster-edit-modal .ant-btn,.test-roster-edit-modal .ant-modal-close{min-height:44px;min-width:44px}.test-roster-actions-menu .ant-dropdown-menu-item:focus-visible{outline:2px solid #12a57a;outline-offset:-2px}}.test-roster-desktop-actions{display:contents}.test-roster-edit-modal .ant-btn-primary.ant-btn-dangerous:not(:disabled){background:#c94242;border-color:#c94242;box-shadow:none}.test-roster-edit-modal .ant-btn-primary.ant-btn-dangerous:not(:disabled):hover{background:#ae3030;border-color:#ae3030}@media(max-width:1100px){.test-roster-desktop-actions{display:none}}.test-roster-ready{margin:12px 0 20px}@media(max-width:600px){.test-roster-ready{flex-wrap:wrap}.test-roster-ready .ant-alert-actions{margin-inline-start:0}}.student-import-steps{margin:12px 0 28px}.student-list-import .ant-modal-container{border-radius:20px;padding:28px}.student-list-import .ant-modal-title{font-size:20px;letter-spacing:-.4px}.student-list-import .ant-modal-body{padding-right:2px;max-height:calc(100dvh - 230px)}.student-list-import .ant-btn{min-height:40px;border-radius:9px}.student-import-upload{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;border:1px dashed #b7d0c4;border-radius:14px;padding:28px 20px;background:#f8fbf9;margin:18px 0}.student-import-upload h3,.student-import-upload>p{width:100%;text-align:center;margin:0}.student-import-upload h3{font-size:19px;letter-spacing:-.3px;color:#234e3e}.student-import-upload>p,.student-import-upload>small{color:#6d8178;font-size:13px;line-height:1.8}.student-import-upload>small{width:100%;text-align:center}.student-import-upload-icon{font-size:28px;color:#38876a;width:100%;margin-bottom:2px}.student-import-upload.is-selected{border-style:solid;padding:12px 16px;justify-content:flex-start;background:#fbfcfb}.student-import-upload.is-selected>small{flex:1;min-width:200px;width:auto;text-align:left}.student-import-name{display:grid;gap:8px;max-width:440px;color:#4f6d5e;font-size:13px;margin:16px 0 20px}.student-import-name .ant-input{min-height:40px}.student-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e2eae5;border-radius:12px;margin:18px 0;background:#fcfdfc}.student-import-summary>div{padding:16px;text-align:center}.student-import-summary strong{display:block;font-size:26px;color:#244f3e;font-weight:600;font-variant-numeric:tabular-nums}.student-import-summary span{font-size:12px;color:#6f8178}.student-import-review .ant-collapse{margin-top:18px;background:#fbfcfb}.student-import-review .ant-select{width:100%}.student-import-sheets{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0;color:#6d8178}.student-import-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding-top:12px;border-top:1px solid #e7ede9}.student-import-footer>span{color:#708277;font-size:13px;line-height:1.6}.student-import-footer>div{display:flex;gap:8px;flex-shrink:0}.student-import-footer>div .ant-btn{margin-inline-start:0!important}.student-import-paste{margin:18px 0}.student-import-paste>.ant-btn{margin-top:12px}@media(max-width:640px){.student-list-import .ant-modal-container{padding:22px 18px;border-radius:16px}.student-import-steps{margin:12px 0 20px}.student-import-steps.ant-steps{flex-direction:row!important;gap:12px}.student-import-steps .ant-steps-item{padding-bottom:0!important}.student-import-steps .ant-steps-item-title{font-size:12px}.student-import-upload{padding:24px 12px}.student-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-import-summary>div{padding:12px}.student-import-footer{align-items:stretch;flex-direction:column;gap:8px}.student-import-footer>div{justify-content:flex-end}.student-import-footer .ant-btn{min-height:44px}.student-list-import .ant-modal-body{max-height:calc(100dvh - 255px)}}.desktop-shell,.desktop-shell-drawer{--shell-sidebar-width:232px;--shell-toolbar-height:64px;--shell-gutter:32px;--shell-sidebar:#dce8e2;--shell-workspace:#f4f6f5;--shell-topbar:#fbfcfb;--shell-selected:#f8fbf9;--shell-hover:#d2e1d8;--shell-pressed:#c7d9ce;--shell-ink:#203d33;--shell-secondary:#4b665c;--shell-accent:var(--brand-green-dark);--shell-line:#dfe7e1;--shell-control-radius:8px}.desktop-shell{min-height:100dvh;background:var(--shell-workspace);color:var(--brand-deep)}.desktop-shell__body{display:grid;grid-template-columns:var(--shell-sidebar-width) minmax(0,1fr);grid-template-rows:var(--shell-toolbar-height) minmax(0,1fr);min-height:100dvh;width:100%;max-width:none}.desktop-shell__brand-header{grid-column:1;grid-row:1;position:sticky;top:0;z-index:20;background:var(--shell-topbar);border-bottom:1px solid var(--shell-line)}.desktop-shell__brand{display:flex;align-items:center;gap:10px;width:100%;height:64px;padding:0 28px;border:0;background:transparent;color:var(--shell-ink);font:inherit;font-size:22px;line-height:1.3;text-align:left;letter-spacing:-.01em;cursor:pointer}.desktop-shell__brand img{width:40px;height:40px;object-fit:contain;flex-shrink:0}.desktop-shell__brand strong{font-weight:700}.desktop-shell__brand:hover{background:#f3f7f4}.desktop-shell__brand:active{background:#e7f0eb}.desktop-shell__toolbar{grid-column:2;grid-row:1;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--shell-gutter);height:64px;background:var(--shell-topbar);border-bottom:1px solid var(--shell-line)}.desktop-shell__toolbar .desktop-account-trigger{margin-left:auto}.desktop-shell__menu{display:none;align-items:center;gap:8px;min-height:44px;padding:8px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:14px;color:var(--shell-ink)}.desktop-shell__rail{grid-column:1;grid-row:2;min-width:0;background:var(--shell-sidebar)}.desktop-shell__sidebar{position:sticky;top:64px;height:calc(100dvh - 64px);display:flex;flex-direction:column;padding:20px 12px;color:var(--shell-ink);min-height:0}.desktop-shell__sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 4px 8px;scrollbar-width:thin}.desktop-shell__sidebar-scroll::-webkit-scrollbar{width:8px}.desktop-shell__sidebar-scroll::-webkit-scrollbar-thumb{background:var(--shell-secondary);border-radius:4px}.desktop-module-context>span{display:block;margin:0 12px 8px;font-size:12px;line-height:1.5;color:var(--shell-secondary)}.desktop-module-switcher{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 12px;border:0;border-radius:8px;background:var(--shell-hover,#d2e1d8);color:var(--shell-ink,#203d33);font:inherit;cursor:pointer}.desktop-module-switcher>strong{font-size:16px;font-weight:600;white-space:nowrap}.desktop-module-switcher>span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--shell-ink,#203d33)}.desktop-module-switcher .anticon{font-size:16px;color:var(--shell-secondary,#4b665c)}.desktop-module-switcher:hover,.desktop-module-switcher[aria-expanded=true]{background:var(--shell-pressed,#c7d9ce)}.desktop-module-switcher:active{background:#bfd3c6}.desktop-module-option{display:flex;align-items:center;justify-content:space-between;gap:24px;color:#203d33}.desktop-module-option .anticon{color:var(--brand-green-dark)}.desktop-module-dropdown .ant-dropdown-menu-item{font-size:14px;min-height:44px}.desktop-module-dropdown .ant-dropdown-menu-item:focus-visible{outline:2px solid var(--brand-green-dark);outline-offset:-2px}.desktop-shell__nav{display:grid;gap:4px;margin-top:24px}.desktop-shell__nav button{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--shell-ink);font:inherit;font-size:16px;font-weight:500;line-height:1.5;text-align:left;white-space:nowrap;cursor:pointer}.desktop-shell__nav .anticon{font-size:19px;color:var(--shell-secondary)}.desktop-shell__nav button[aria-current=page]{background:var(--shell-selected);font-weight:600}.desktop-shell__nav button[aria-current=page] .anticon{color:var(--shell-accent)}.desktop-shell__nav button:hover{background:var(--shell-hover)}.desktop-shell__nav button[aria-current=page]:hover{background:#f1f7f4}.desktop-shell__nav button:active{background:var(--shell-pressed)}.desktop-shell__nav button[aria-current=page]:active{background:#e7f0eb}.desktop-sidebar-footer{flex-shrink:0;padding:24px 16px 0;color:var(--shell-secondary);font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}.desktop-sidebar-footer>span{display:block}.desktop-sidebar-footer>div{display:flex;flex-direction:column;margin-top:4px}.desktop-shell__content{grid-column:2;grid-row:2;min-width:0;padding:28px var(--shell-gutter) 40px}.desktop-shell__content>*{min-width:0}.desktop-shell__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.desktop-shell__heading>div{min-width:0}.desktop-shell__heading h1{margin:0 0 8px;font-size:28px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.desktop-shell__heading p{margin:0;font-size:14px;line-height:1.6;color:#596b60}.desktop-shell__actions .ant-btn{min-height:44px}.desktop-shell button:focus-visible,.desktop-shell-drawer button:focus-visible{outline:2px solid var(--brand-green-dark);outline-offset:3px}.desktop-shell__brand:focus-visible{outline-offset:-3px}.desktop-shell__menu:hover{background:#edf3ef}.desktop-shell__menu:active{background:#e3ece6}.desktop-shell__avatar{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#eaf1ed;color:var(--brand-green-dark);font-size:13px;font-weight:500}.desktop-account-trigger{display:flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:#30483b;font:inherit;font-size:14px;line-height:1.5;cursor:pointer}.desktop-account-trigger__name{max-width:180px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.desktop-account-trigger>.anticon{font-size:11px;color:#637b6d}.desktop-account-trigger:hover,.desktop-account-trigger[aria-expanded=true]{background:#edf3ef}.desktop-account-trigger:active{background:#e3ece6}.desktop-account-dropdown .desktop-account-menu{min-width:240px;max-width:min(320px,calc(100vw - 32px));background:var(--surface);border:1px solid #dfe7e1;border-radius:10px;box-shadow:0 8px 24px #123f341f;overflow:hidden;color:var(--brand-deep)}.desktop-account-menu__identity{display:flex;flex-direction:column;gap:6px;padding:16px;border-bottom:1px solid #e6ece8}.desktop-account-menu__identity>span{font-size:12px;line-height:1.5;color:#617567}.desktop-account-menu__identity strong{font-size:14px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.desktop-account-dropdown .ant-dropdown-menu{box-shadow:none;border-radius:0;padding:4px}.desktop-account-dropdown .ant-dropdown-menu-item{font-size:14px;line-height:1.5;min-height:44px}.desktop-account-dropdown .ant-dropdown-menu-item:focus-visible{outline:2px solid var(--brand-green-dark);outline-offset:-2px}.desktop-shell-drawer .ant-drawer-body{background:var(--shell-sidebar);padding:20px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.desktop-shell-drawer .desktop-sidebar-footer{margin-top:auto}@media(max-width:1200px){.desktop-shell{--shell-gutter:28px}.desktop-shell__content{padding-top:24px}}@media(max-width:1000px){.desktop-shell__body{grid-template-columns:minmax(0,1fr)}.desktop-shell__brand-header,.desktop-shell__rail{display:none}.desktop-shell__toolbar,.desktop-shell__content{grid-column:1}.desktop-shell__menu{display:flex}}@media(max-width:650px){.desktop-shell{--shell-gutter:16px}.desktop-shell__toolbar{gap:12px}.desktop-account-trigger__name{max-width:120px}.desktop-shell__content{padding-top:24px}.desktop-shell__heading h1{font-size:26px}}.teacher-shell .ant-btn{min-height:44px}.teacher-shell .ant-card{box-shadow:none;border-color:var(--line);background:var(--surface)}.teacher-shell .teacher-first-use{min-height:0}.teacher-shell .teacher-first-use .ant-card-body{padding:32px;min-height:0}.teacher-shell .teacher-first-use__icon,.teacher-shell .teacher-kpi i,.teacher-shell .teacher-priority__icon{display:none}.teacher-shell .teacher-priority{grid-template-columns:minmax(0,1fr) auto;background:var(--surface);border-color:var(--line)}.teacher-shell .teacher-kpi{background:var(--surface)}.teacher-shell .teacher-work-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr)}.teacher-shell .teacher-dashboard-card{height:auto;min-height:280px}.teacher-meta{display:flex;flex-wrap:wrap;gap:8px 16px}.teacher-shell .teacher-import-tests li{padding:20px 0}.teacher-shell .teacher-import-heading h2{font-size:20px}.teacher-shell .teacher-import-heading p{margin:0}.teacher-record-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.teacher-record-tools select{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:inherit;color:var(--brand-deep)}.teacher-shell .teacher-kpis{gap:16px}.teacher-shell .teacher-kpi strong{font-size:32px}.teacher-shell .teacher-kpi span,.teacher-shell .teacher-kpi small{font-size:13px}.teacher-shell .roster-workspace,.teacher-shell .teacher-score-manager,.teacher-shell .analysis-panel{grid-template-columns:minmax(0,1fr);min-width:0}.teacher-shell .ant-card-body,.teacher-shell .ant-table-wrapper{min-width:0;max-width:100%}.teacher-shell .roster-stat-grid .ant-statistic-content-prefix,.teacher-shell .teacher-score-stats .ant-statistic-content-prefix,.teacher-shell .analysis-kpis i{display:none}.teacher-shell .is-result-focus{background:var(--brand-mint)}@media(max-width:1000px){.teacher-shell .teacher-work-grid{grid-template-columns:1fr}}.test-action-menu{min-width:240px;max-width:min(320px,calc(100vw - 32px));padding:0}.test-action-panel{background:#fff;border:1px solid #D5E3DC;border-radius:12px;box-shadow:0 8px 28px #1e31351c;overflow:hidden}.test-action-context{padding:14px 16px;background:#f5f9f7;display:grid;gap:5px;border-bottom:1px solid #E2ECE6}.test-action-context>span{font-size:13px;color:#53685d}.test-action-context>strong{font-size:15px;line-height:1.6;font-weight:500;color:#1e3135;max-width:288px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-action-panel .ant-dropdown-menu{box-shadow:none!important;padding:8px!important}.test-action-panel .ant-dropdown-menu-item{min-height:46px;padding:10px 12px!important;font-size:16px}.test-action-panel .ant-dropdown-menu-item:last-child{color:#53685d}.test-action-panel .ant-dropdown-menu-item-danger{color:#b73535}.test-action-sheet .ant-drawer-body{padding:16px 20px calc(20px + env(safe-area-inset-bottom))}.test-action-sheet .ant-drawer-body>p{margin:0 0 20px;color:#53685d;line-height:1.7;overflow-wrap:anywhere;font-size:16px}.test-action-sheet .ant-drawer-body>.ant-btn{display:flex;width:100%;min-height:48px;align-items:center;justify-content:center;margin-top:12px;border-radius:10px;font-size:16px}.capture-test-home .capture-home-test-row{border-radius:14px;transition:border-color .16s,box-shadow .16s,background .16s;padding-right:16px;gap:10px}.capture-test-home .capture-home-test-row:hover,.capture-test-home .capture-home-test-row:focus-within{border-color:#a4cabb;box-shadow:0 3px 12px #1e313508;background:#fafdfb}.capture-test-home .capture-home-test-open{padding:24px;min-height:110px;border-radius:14px;gap:24px;color:#1e3135}.capture-test-home .capture-home-test-open:hover{background:transparent}.capture-test-home .capture-home-test-open:active{background:#e9f4ed}.capture-test-home .capture-home-test-open:focus-visible{outline:2px solid #087D5C;outline-offset:3px}.capture-home-recent-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.capture-test-home .capture-home-test-info strong{font-size:20px;color:#1e3135}.capture-test-home .capture-home-test-status{margin:0;padding:3px 9px;background:#edf5f0;font-size:13px;line-height:1.5;color:#426355;flex-shrink:0}.capture-test-home .capture-home-recent-meta{color:#53685d;gap:6px 20px}.capture-test-home .capture-home-test-action{border:1px solid #C6DBD0;border-radius:9px;background:#f2f8f4;padding:10px 16px;min-height:46px;gap:8px;color:#087d5c;font-size:16px;white-space:nowrap}.capture-test-home .capture-home-test-more.ant-btn{border-left:1px solid #E1EAE5;border-radius:0 9px 9px 0;min-width:48px;min-height:48px;font-size:20px;margin:0}.capture-test-home .capture-home-test-more.ant-btn:hover{background:#eaf3ed}@media(max-width:600px){.capture-test-home .capture-home-test-row{padding-right:12px;gap:0;align-items:center}.capture-test-home .capture-home-test-open{padding:20px 16px;gap:16px;align-items:flex-start}.capture-test-home .capture-home-test-action{align-self:flex-start}.capture-home-recent-heading{gap:8px 12px}.capture-test-home .capture-home-recent-meta{display:grid;gap:5px}.capture-test-home .capture-home-test-info strong{font-size:19px}}@media(prefers-reduced-motion:reduce){.capture-test-home .capture-home-test-row{transition:none}}.capture-shell--home{display:flex;flex-direction:column}.capture-shell--home .capture-shell__topbar{width:min(1244px,100%)}.capture-shell--home .capture-shell__content{width:min(1244px,100%);padding-top:28px;padding-bottom:40px}.capture-shell--home .capture-shell__title{margin:0}.capture-shell--home .capture-shell__title h1{font-size:42px}.capture-shell--home .capture-shell__switch{border-color:#e0e9e4;color:#71857b;background:transparent;box-shadow:none}.capture-shell--home .capture-shell__navigation{margin-top:20px;padding-bottom:12px;border-bottom:1px solid rgba(28,74,62,.08);gap:12px}.capture-test-home{display:grid;gap:32px;margin-top:24px}.capture-test-home h2{margin:0 0 20px;font-size:24px;line-height:1.4;color:#1d3b31}.capture-home-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:28px}.capture-home-create-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:32px;text-align:left;border:1px solid #d7e4df;border-radius:16px;background:#fff;box-shadow:0 6px 20px #1945350a;cursor:pointer;color:#1d3b31;font:inherit;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s}.capture-home-create-grade{font-size:15px;line-height:1.6;color:#71857b}.capture-home-create-card>strong{margin-top:12px;font-size:24px;line-height:1.45}.capture-home-create-description{margin-top:14px;font-size:17px;line-height:1.7;color:#61786c;flex:1}.capture-home-create-action{display:flex;align-items:center;gap:12px;margin-top:32px;font-size:17px;color:#087657;font-weight:600}.capture-home-test-list{display:grid;gap:12px}.capture-home-test-row{display:flex;align-items:center;min-width:0;border:1px solid #d7e4df;border-radius:12px;background:#fff;padding-right:12px}.capture-home-continue .capture-home-test-row{border-color:#a7cfc0;background:#fafffc}.capture-home-test-main{min-width:0;flex:1}.capture-home-test-open{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:0;border-radius:12px;background:transparent;font:inherit;text-align:left;cursor:pointer}.capture-home-test-info{min-width:0;display:grid;gap:8px;overflow-wrap:anywhere}.capture-home-test-info strong{color:#1d3b31;font-size:19px;line-height:1.5}.capture-home-test-info>span{color:#61786c;font-size:15px;line-height:1.7}.capture-home-recent-meta{display:flex;flex-wrap:wrap;column-gap:20px;row-gap:4px}.capture-home-recent-meta time{white-space:nowrap}.capture-home-test-action{display:flex;align-items:center;gap:12px;flex-shrink:0;color:#087657;font-size:16px}.capture-home-test-status{display:inline-block;margin:-6px 24px 18px;padding:3px 9px;border-radius:6px;background:#f0f4f2;color:#61786c;font-size:14px;line-height:1.6}.capture-home-test-more.ant-btn{min-height:44px;min-width:44px;color:#71857b;font-size:22px}.capture-home-test-more.ant-btn:not(:disabled):hover{background:#f0f4f2}.capture-home-test-more.ant-btn:not(:disabled):active{background:#e5ebe7}.capture-home-test-more.ant-btn:focus-visible{outline:2px solid #287452;outline-offset:2px}.capture-delete-description{display:grid;gap:8px;overflow-wrap:anywhere}.capture-delete-description p{margin:8px 0 0}.capture-delete-sheet [role=dialog]{border-radius:16px 16px 0 0}.capture-delete-sheet .ant-drawer-body{padding:8px 16px calc(16px + env(safe-area-inset-bottom))}.capture-delete-sheet .ant-btn{display:flex;width:100%;min-height:48px;justify-content:center}.capture-delete-sheet .ant-drawer-close{min-width:44px;min-height:44px}.capture-delete-sheet button:focus-visible{outline:2px solid #287452;outline-offset:2px}.capture-home-empty{margin:0;padding:22px 0;border-top:1px solid rgba(28,74,62,.08);font-size:17px;color:#71857b}@media(hover:hover){.capture-home-create-card:hover{border-color:#0c9e70;background:#fcfefc;box-shadow:0 9px 24px #19453512;transform:translateY(-2px)}.capture-home-test-open:hover{background:#f0f8f4}}@media(max-width:900px){.capture-shell--home .capture-shell__content{padding:28px 24px 40px}.capture-home-create-grid{gap:24px}.capture-home-create-card{padding:26px}}@media(max-width:600px){.capture-shell--home .capture-shell__content{padding:20px 20px 32px}.capture-shell--home .capture-shell__title h1{font-size:32px}.capture-shell--home .capture-shell__navigation{margin-top:16px}.capture-test-home{gap:28px;margin-top:20px}.capture-home-create-grid{grid-template-columns:minmax(0,1fr);gap:20px}.capture-home-create-card{padding:24px}.capture-home-create-card>strong{font-size:22px}.capture-test-home h2{font-size:22px}.capture-home-test-open{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.capture-home-test-row{align-items:flex-start}.capture-home-test-more{margin-top:12px}.capture-home-test-status{margin-left:20px;margin-right:20px}}@media(prefers-reduced-motion:reduce){.capture-home-create-card{transition:none}.capture-home-create-card:hover{transform:none}}.capture-delete-menu{position:fixed!important;inset:var(--capture-menu-top) auto auto var(--capture-menu-left)!important;min-width:120px!important}.capture-delete-menu .ant-dropdown-menu-item{min-height:44px;display:flex;align-items:center}.capture-delete-confirm .ant-btn-primary.ant-btn-dangerous,.capture-delete-confirm .ant-btn-primary.ant-btn-dangerous:not(:disabled):hover{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff}.capture-delete-confirm .ant-btn-primary.ant-btn-dangerous:not(:disabled):active{filter:brightness(.9)}.capture-student-selection{padding-bottom:max(0px,env(safe-area-inset-bottom))}.capture-new-test.capture-new-test--students{margin-top:24px}.capture-new-test--students .capture-student-back.ant-btn{padding-inline:8px;border-color:transparent;background:transparent;box-shadow:none;color:#61786c}.capture-student-heading{margin:16px 0 20px}.capture-new-test--students .capture-student-heading h2{margin:0}.capture-student-project-context{padding:20px;margin-bottom:24px;border:1px solid rgba(28,74,62,.08);border-radius:12px;background:#f9fcfa}.capture-student-project-label{margin:0 0 12px;color:#61786c;font-size:15px;line-height:1.6}.capture-student-project-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.capture-student-project-row strong{min-width:0;color:#1d3b31;font-size:22px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.capture-student-project-row>span{color:#71857b;font-size:15px;line-height:1.6}.capture-student-project-row .ant-btn{flex-shrink:0;margin-left:auto;color:#526e62;border-color:#d7e4df;box-shadow:none}.capture-student-notice{margin:12px 0 0;color:#61786c;font-size:16px;line-height:1.7}.capture-student-mode{margin-bottom:24px}.capture-student-selection .ant-radio-button-wrapper{height:auto;min-height:48px;padding:8px 20px;font-size:16px;line-height:30px}.capture-student-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:24px}.capture-student-class.ant-checkbox-wrapper{display:flex;align-items:center;gap:16px;margin:0;padding:24px;min-height:96px;border:1px solid #d7e4df;border-radius:14px;background:#fff}.capture-student-class.ant-checkbox-wrapper-checked{border-color:#0c9e70;background:#eaf7f1}.capture-student-class .ant-checkbox+span{min-width:0;padding:0}.capture-student-row-info{display:grid;gap:6px;min-width:0}.capture-student-row-info strong{font-size:19px;line-height:1.5;color:#1d3b31;overflow-wrap:anywhere}.capture-student-row-info>span{color:#61786c;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.capture-student-filters{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px}.capture-student-filters select{min-width:180px;max-width:100%;min-height:48px;padding:10px 32px 10px 12px;border:1px solid #d7e4df;border-radius:10px;background:#fff;color:#1d3b31;font:inherit;font-size:16px}.capture-student-filters select:focus-visible{outline:3px solid rgba(10,141,101,.35);outline-offset:2px;border-color:#0c9e70}.capture-student-filters .ant-input-affix-wrapper{min-height:48px;flex:1;min-width:220px;font-size:16px}.capture-student-result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;color:#61786c;font-size:16px}.capture-student-result-actions>span{margin-right:auto}.capture-new-test .capture-student-result-actions .ant-btn{min-height:44px;padding-inline:10px;color:#61786c;font-size:15px}.capture-new-test .capture-student-result-actions .ant-btn:disabled{color:#aab8b1}.capture-student-list{list-style:none;margin:0;padding:0 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.capture-student-list li{min-width:0;border-bottom:1px solid rgba(28,74,62,.08)}.capture-student-list li>.ant-checkbox-wrapper{display:flex;align-items:center;gap:16px;width:100%;min-height:88px;padding:16px 12px}.capture-student-list .ant-checkbox+span{min-width:0;padding:0}.capture-student-list--review li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 12px;min-height:88px}.capture-student-review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.capture-student-review-heading h3{margin:0;font-size:22px;color:#1d3b31}.capture-student-empty,.capture-student-hint{color:#61786c;font-size:17px;line-height:1.7;margin:0;padding:24px 0}.capture-student-selection-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.capture-student-selection-summary p{margin:0;color:#526e62;font-size:17px;line-height:1.6}.capture-student-selection-summary strong{color:#1d3b31}.capture-student-actions{margin-top:20px}@media(hover:hover){.capture-student-class:hover{border-color:#80b49d}.capture-student-list li:hover{background:#f4fbf7}}@media(max-width:900px){.capture-student-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.capture-student-project-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.capture-student-project-row .ant-btn{grid-column:1 / -1;justify-self:start;margin-left:0}.capture-student-class-grid{grid-template-columns:minmax(0,1fr);gap:16px}.capture-student-class.ant-checkbox-wrapper{padding:20px}.capture-student-filters{flex-direction:column;align-items:stretch;gap:12px}.capture-student-filters .ant-input-affix-wrapper{width:100%;min-width:0}.capture-student-result-actions{gap:4px}.capture-student-result-actions>span{flex-basis:100%}.capture-student-review-heading{flex-wrap:wrap}.capture-student-selection-summary{justify-content:space-between}.capture-student-actions .capture-student-selection-summary .ant-btn{width:auto}}.capture-test-info{max-width:920px}.capture-new-test.capture-new-test--info{margin-top:16px}.capture-new-test--info .capture-student-back.ant-btn{padding-inline:8px;border-color:transparent;background:transparent;box-shadow:none;color:#61786c}.capture-new-test--info .capture-test-info h2{margin:12px 0 16px}.capture-test-info h3{margin:0 0 16px;color:#526e62;font-size:18px;line-height:1.5;font-weight:500}.capture-test-name,.capture-test-summary{padding:16px;border:1px solid rgba(28,74,62,.1);border-radius:16px;background:#fff}.capture-test-name-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.capture-test-name-heading h3{margin:0}.capture-test-name-heading .ant-btn{flex-shrink:0;color:#526e62}.capture-test-name-display,.capture-test-name-editor{display:flex;align-items:center;gap:16px}.capture-test-name-display p{min-width:0;margin:0;color:#1d3b31;font-size:24px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.capture-test-name-display .ant-btn,.capture-test-name-editor>.ant-btn{flex-shrink:0}.capture-test-name-editor .ant-input-affix-wrapper{min-width:0;min-height:48px;font-size:17px}.capture-test-name-error{color:#b4453f;font-size:16px;line-height:1.6;margin:12px 0 0}.capture-test-name-reset.ant-btn{margin-top:12px;padding-inline:0;color:#61786c}.capture-test-summary{margin-top:16px}.capture-test-summary h3{margin-bottom:12px}.capture-test-summary dl{display:grid;margin:0}.capture-test-summary dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:baseline;gap:16px;padding:4px 0;border-bottom:1px solid rgba(28,74,62,.07)}.capture-test-summary dl>div:first-child{padding-top:0}.capture-test-summary dl>div:last-child{padding-bottom:0;border-bottom:0}.capture-test-summary dt{color:#61786c;font-size:16px;line-height:1.7}.capture-test-summary dd{margin:0;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;color:#1d3b31;font-size:17px;line-height:1.7;overflow-wrap:anywhere}.capture-test-summary dd .ant-btn{color:#526e62;padding-inline:8px;margin-left:auto}.capture-test-info-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:16px;margin-top:16px}.capture-creation-error{margin-top:24px}.capture-test-info-roster{list-style:none;padding:0;margin:0}.capture-test-info-roster li{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid rgba(28,74,62,.08)}.capture-test-info-roster strong{color:#1d3b31;font-size:18px;line-height:1.5;overflow-wrap:anywhere}.capture-test-info-roster span{color:#61786c;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.capture-test-roster-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}.capture-test-roster-actions .ant-btn{min-height:48px;font-size:16px}@media(max-width:600px){.capture-test-name,.capture-test-summary{padding:16px}.capture-test-name-display{align-items:flex-start}.capture-test-name-display p{font-size:22px}.capture-test-name-editor{flex-wrap:wrap}.capture-test-name-editor .ant-input-affix-wrapper{flex-basis:100%}.capture-test-summary dl>div{grid-template-columns:80px minmax(0,1fr);gap:12px}.capture-test-summary dd .ant-btn{margin-left:0;padding-inline:0}.capture-test-info-actions{flex-direction:column}.capture-test-info-actions .ant-btn{width:100%}.capture-test-info-actions .ant-btn-primary{order:-1}}.capture-new-test{margin-top:20px}.capture-new-test h2{margin:20px 0;color:#1d3b31;font-size:24px;line-height:1.4}.capture-project-groups{display:grid;gap:32px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.capture-project-categories{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:4px 3px 8px;margin:-8px -3px 20px}.capture-new-test .capture-project-categories .ant-btn{flex:0 0 auto;padding-inline:16px;border:1px solid #d7e4df;border-radius:24px;color:#526e62;white-space:nowrap}.capture-new-test .capture-project-categories .ant-btn[aria-selected=true]{color:#087657;border-color:#0c9e70;background:#eaf7f1}.capture-project-categories .ant-btn:focus-visible{outline:3px solid rgba(10,141,101,.35);outline-offset:1px}.capture-project-group{scroll-margin-top:24px}.capture-project-group h3{margin:0 0 6px;color:#61786c;font-size:18px;font-weight:500}.capture-project-category-note{margin:0 0 20px;color:#71857b;font-size:14px;font-weight:400}.capture-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.capture-project-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:24px;border:1px solid #d7e4df;border-radius:14px;background:#fff;cursor:pointer;box-shadow:0 6px 20px #1945350a;transition:border-color .2s,background-color .2s,box-shadow .2s}.capture-project-card input{position:absolute;opacity:0;width:1px;height:1px}.capture-project-card{-webkit-tap-highlight-color:transparent}.capture-project-card__body{min-width:0;display:grid;gap:12px}.capture-project-card strong{color:#1d3b31;font-size:20px;line-height:1.5;overflow-wrap:anywhere}.capture-project-card__body>span{color:#61786c;font-size:16px;line-height:1.6}.capture-new-test--national .capture-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}.capture-new-test--national .capture-project-card{min-height:96px;padding:20px 22px}.capture-new-test--national .capture-project-card__body{gap:4px}.capture-new-test--national .capture-project-card strong{line-height:1.4}.capture-new-test--national .capture-project-card__body>span{line-height:1.4}.capture-new-test--national .capture-project-card--bmi{grid-column:1 / -1}.capture-project-card__check{width:22px;flex-shrink:0;color:#087657}.capture-project-card.is-selected{border-color:#0c9e70;background:#eaf7f1;box-shadow:0 6px 18px #0a704e14}.capture-project-card:has(input:focus-visible){outline:3px solid rgba(10,141,101,.35);outline-offset:3px}.capture-new-test-actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:20px;padding:16px 20px max(16px,env(safe-area-inset-bottom));border:1px solid #d7e4df;border-radius:12px;background:#fbfdfc;box-shadow:0 -4px 16px #1945350f}.capture-project-selection{min-width:0;margin:0;font-size:17px;line-height:1.6;color:#526e62;overflow-wrap:anywhere}.capture-project-selection strong{color:#1d3b31;font-weight:600}.capture-new-test-actions>.ant-btn{margin-left:auto}.capture-new-test .ant-btn{min-height:48px;height:auto;font-size:16px;white-space:normal}.capture-students-placeholder p{font-size:17px;line-height:1.8;color:#61786c}@media(hover:hover){.capture-project-card:hover{border-color:#80b49d;background:#f4fbf7}.capture-project-card.is-selected:hover{border-color:#0c9e70;background:#eaf7f1}}@media(max-width:900px){.capture-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.capture-project-grid{grid-template-columns:minmax(0,1fr);gap:16px}.capture-project-card{padding:22px}.capture-new-test h2{font-size:22px}.capture-new-test-actions{flex-direction:column;align-items:stretch;padding-inline:16px;gap:10px}.capture-new-test-actions .ant-btn{width:100%}}@media(max-width:600px){.capture-new-test--national .capture-project-grid{grid-template-columns:minmax(0,1fr)}.capture-new-test--national .capture-project-card{min-height:92px;padding:18px 22px}}@media(prefers-reduced-motion:reduce){.capture-project-card{transition:none}}.capture-workspace-open,.capture-workspace-open body{overflow:hidden;overscroll-behavior:none}.capture-workspace-open body{min-height:0;height:var(--capture-viewport-height,100dvh)}.capture-entry-workspace,.capture-workspace-drawer,.capture-status-sheet,.capture-workspace-open .ant-modal-confirm{--text-primary: #23352c;--text-secondary: #526259;--text-tertiary: #5b6b62;--surface-canvas: #f2f5f4;--surface-card: #ffffff;--surface-primary: var(--surface-card);--surface-metric: #f8faf9;--surface-selected: #e5eee9;--surface-key: #f6f8f7;--surface-pressed: #e5ebe7;--surface-hover: #eef3ef;--status-surface: #f3f4f5;--status-hover: #e9ecef;--status-pressed: #dfe4e8;--surface-active: #f1f8f4;--surface-active-segment: #eef6f1;--surface-error: #fbf7f6;--surface-disabled: #e6ebe8;--border-default: #d3ddd6;--border-interactive: #7e8981;--border-strong: var(--border-interactive);--border-focus: #287452;--accent: #125f3f;--accent-strong: #0c5135;--text-on-accent: #ffffff;--text-disabled: #5b6b62;--success: #246347;--danger: #9d3b31;--warning: #795620;--shadow-key: rgba(30,50,40,.025);--capture-ink: var(--text-primary);--capture-muted: var(--text-secondary);--capture-divider: rgba(32,55,46,.065);--capture-canvas: var(--surface-canvas);--capture-primary-surface: var(--surface-primary);--capture-metric-surface: var(--surface-metric);--capture-panel-radius: 24px;--capture-metric-radius: 20px;--capture-key-radius: 16px;--capture-space-sm: 8px;--capture-space-between: 12px;--capture-space-md: 16px;--capture-space-lg: 24px;--capture-space-xl: 32px;--capture-space-section: 40px}.capture-entry-workspace{height:100vh;height:100dvh;height:var(--capture-viewport-height,100dvh);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);display:flex;flex-direction:column;overflow:hidden;background:var(--capture-canvas);color:var(--capture-ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;outline:none}.capture-workspace-topbar{flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-height:64px;padding:8px 24px;border-bottom:1px solid var(--capture-divider)}.capture-entry-back.ant-btn{min-height:44px;min-width:44px;padding-inline:8px;color:var(--accent);font-weight:500;background:transparent;border:1px solid transparent;border-radius:8px}.capture-workspace-context{display:flex;align-items:center;gap:24px;min-width:0;margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary);overflow:hidden}.capture-context-range{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capture-workspace-context time{flex-shrink:0;color:var(--text-tertiary)}.capture-entry-progress{font-size:16px;font-weight:500;white-space:nowrap}.capture-entry-progress small{display:block;text-align:right;font-size:13px;font-weight:400;color:var(--capture-muted);line-height:1.4}.capture-entry-progress:has(.capture-completion-action){position:relative;min-width:120px}.capture-entry-progress:has(.capture-completion-action)>span{position:absolute;top:-6px;right:8px}.capture-entry-progress .capture-completion-action{position:absolute;top:16px;right:8px;display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 18px;color:var(--text-on-accent);background:var(--accent);font-weight:500;border-radius:8px;line-height:1.3}.capture-entry-progress:focus-visible .capture-completion-action{outline:2px solid var(--border-focus);outline-offset:2px}.capture-entry-progress:disabled .capture-completion-action{color:var(--text-disabled);background:var(--surface-disabled)}.capture-entry-progress:not(:disabled):hover .capture-completion-action{background:var(--accent-strong)}.capture-entry-progress:not(:disabled):active .capture-completion-action{background:var(--accent-strong)}.capture-entry-progress{height:44px;min-height:44px;min-width:44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;cursor:pointer;padding:2px 8px;line-height:1.2;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);font-family:inherit}.capture-entry-progress>span{display:flex;align-items:center;gap:8px}.capture-entry-progress .anticon,.capture-status-trigger .anticon{font-size:10px}.capture-status-trigger.ant-btn{min-height:44px;min-width:44px;padding-inline:8px;color:var(--text-secondary);flex-shrink:0;background:var(--status-surface);border:1px solid transparent;border-radius:8px;gap:6px}.capture-keypad-utilities .capture-status-trigger--makeup_pending.ant-btn{color:var(--warning)}.capture-status-trigger--exempt.ant-btn{color:var(--text-secondary)}.capture-entry-back.ant-btn:not(:disabled):hover,.capture-entry-progress:hover{background:var(--surface-hover);border-color:transparent}.capture-status-trigger.ant-btn:not(:disabled):hover{background:var(--status-hover);border-color:transparent}.capture-entry-back.ant-btn:not(:disabled):active,.capture-entry-progress:active{background:var(--surface-pressed);border-color:transparent}.capture-status-trigger.ant-btn:not(:disabled):active{background:var(--status-pressed);border-color:transparent}.capture-entry-progress:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.capture-status-menu{position:absolute;z-index:2;right:0;top:calc(100% + 4px);min-width:164px;padding:4px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-card);box-shadow:0 4px 16px var(--shadow-key)}.capture-status-menu .ant-btn{display:flex;width:100%;justify-content:flex-start;min-height:44px}.capture-progress-details p{margin:0;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:32px}.capture-progress-control{position:relative;justify-self:end}.capture-progress-details{position:absolute;top:calc(100% + 8px);right:0;z-index:5;width:180px;padding:8px 12px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-card);box-shadow:0 4px 16px var(--shadow-key);color:var(--text-primary);font-size:14px}.capture-progress-details strong{font-weight:500;font-variant-numeric:tabular-nums}.capture-status-menu--sheet{position:static;min-width:0;box-shadow:none;border:0;padding:0}.capture-status-sheet .ant-drawer-content{border-radius:16px 16px 0 0;background:var(--surface-card)}.capture-status-sheet .ant-drawer-body{padding:8px 16px calc(16px + env(safe-area-inset-bottom))}.capture-status-sheet .ant-drawer-close{min-width:44px;min-height:44px}.capture-status-sheet button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.capture-status-menu .ant-btn{color:var(--text-primary)}.capture-status-menu .ant-btn:hover{background:var(--surface-hover)}.capture-status-menu .ant-btn:active{background:var(--surface-pressed)}.capture-status-menu .ant-btn+.ant-btn{border-top:1px solid var(--border-default);border-radius:0}.capture-special-label{padding:2px 8px;border-radius:6px;background:var(--surface-key);color:var(--text-secondary)}.capture-special-label--makeup_pending{color:var(--warning)}.capture-roster-title{display:flex;align-items:center;gap:16px}.capture-roster-title small{color:var(--text-secondary);font-weight:400}.capture-progress-track{height:3px;flex:0 0 3px;background:var(--border-strong)}.capture-progress-track span{display:block;height:100%;background:var(--accent)}.capture-entry-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(176px,.205fr) minmax(0,.465fr) minmax(280px,.33fr);grid-template-areas:"roster student keypad";gap:var(--capture-space-lg);padding:var(--capture-space-lg)}.capture-score-editor{display:contents}.capture-entry-master,.capture-entry-detail,.capture-entry-keypad{min-width:0;min-height:0}.capture-entry-master{grid-area:roster;display:flex;flex-direction:column;padding:20px 12px 12px;overflow:hidden;background:var(--capture-primary-surface);border:1px solid var(--capture-divider);border-radius:var(--capture-panel-radius)}.capture-entry-master h3{display:flex;justify-content:space-between;margin:0 12px 20px;color:var(--text-secondary);font-size:16px;font-weight:500}.capture-entry-master h3 span{color:var(--text-tertiary);font-size:14px;font-weight:400;font-variant-numeric:tabular-nums}.capture-entry-roster-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin}.capture-entry-roster{list-style:none;padding:0;margin:0}.capture-entry-roster li+li{margin-top:4px}.capture-entry-roster button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;width:100%;padding:12px 10px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer;text-align:left;color:var(--text-secondary);font:inherit}.capture-entry-roster button.is-selected{background:var(--surface-selected);border-color:var(--border-default);color:var(--text-primary)}.capture-entry-roster-name{display:flex;align-items:center;gap:8px;min-width:0;font-size:17px;font-weight:400;overflow-wrap:anywhere}.capture-roster-marker{display:inline-flex;justify-content:center;flex-shrink:0;width:14px;font-size:12px;color:var(--success)}.capture-result-status{font-size:13px;color:var(--text-tertiary);flex-shrink:0}.capture-result-status--recorded{color:var(--success)}.capture-result-status--makeup_pending{color:var(--warning)}.capture-result-status--exempt{color:var(--text-tertiary)}.capture-entry-detail{grid-area:student;align-self:start;display:flex;flex-direction:column;justify-content:flex-start;padding:var(--capture-space-xl);overflow:hidden;background:var(--capture-primary-surface);border-radius:var(--capture-panel-radius);border:1px solid var(--capture-divider)}.capture-entry-project{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:var(--capture-space-xl);padding-bottom:var(--capture-space-lg);border-bottom:1px solid var(--capture-divider)}.capture-entry-project>div{min-width:0}.capture-entry-project h1{margin:0;font-size:30px;line-height:1.3;font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere}.capture-entry-project p{margin:12px 0 0;color:var(--capture-muted);font-size:14px;line-height:1.6}.capture-entry-student-identity{display:flex;align-items:center;justify-content:space-between;gap:8px}.capture-entry-student-identity h3{min-width:0;margin:0;font-size:40px;line-height:1.25;letter-spacing:-.025em;font-weight:700;overflow-wrap:anywhere}.capture-student-index{font-size:13px;color:var(--capture-muted);white-space:nowrap}.capture-athlete-context{display:contents}.capture-entry-detail--long-name .capture-athlete-context{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"athlete athlete" "metadata position";align-items:center;gap:8px;margin-bottom:32px}.capture-entry-detail--long-name .capture-entry-student-identity{display:contents}.capture-entry-detail--long-name .capture-entry-student-identity h3{grid-area:athlete}.capture-entry-detail--long-name .capture-entry-student-meta{grid-area:metadata;margin:0}.capture-entry-detail--long-name :is(.capture-student-index,.capture-entry-roster-trigger){grid-area:position}.capture-entry-student-meta{display:flex;flex-wrap:wrap;gap:4px 20px;margin:8px 0 32px;font-size:14px;line-height:1.5;color:var(--text-secondary);overflow-wrap:anywhere}.capture-student-number{display:inline-flex;gap:8px;min-width:0}.capture-student-number>span{color:var(--text-tertiary)}.capture-student-number b{font-variant-numeric:tabular-nums;font-weight:400}.capture-score-inputs{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:152px;padding:16px;border:1px solid var(--border-default);border-radius:var(--capture-metric-radius);background:var(--capture-metric-surface)}.capture-score-inputs:not(.capture-score-inputs--duration){flex-direction:row;align-items:baseline;gap:8px}.capture-value-field{min-width:80px;max-width:100%;min-height:100px;padding:4px 14px;border:0;border-radius:12px;background:transparent;color:var(--capture-ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}.capture-value-number{font-size:min(var(--capture-metric-font-size,clamp(58px,5vw,68px)),var(--capture-measurement-font-limit,1000px));line-height:1.1;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.045em;max-width:100%}.capture-value-field small{margin-top:6px;color:var(--text-tertiary);font-size:14px;line-height:1.4}.capture-score-unit{color:var(--text-secondary);font-size:20px;line-height:1.4;flex-shrink:0}.capture-duration-colon{color:var(--text-tertiary);font-size:54px;line-height:1;transform:translateY(-13px);font-weight:400}.capture-score-inputs--duration .capture-value-field{flex:0 1 120px;width:120px;min-width:0}.capture-score-editor:is([data-metric-state=editing],[data-metric-state=unsaved],[data-metric-state=modified]) .capture-score-inputs:not(.capture-score-inputs--duration){background:var(--surface-active);box-shadow:inset 0 -2px 0 var(--border-focus)}.capture-score-editor:is([data-metric-state=editing],[data-metric-state=unsaved],[data-metric-state=modified]) .capture-score-inputs--duration .capture-value-field.is-active{background:var(--surface-active-segment);box-shadow:inset 0 -2px 0 var(--border-focus);border-radius:4px}.capture-score-editor[data-metric-state=empty] .capture-value-number{color:var(--text-tertiary);font-weight:400}.capture-score-editor[data-metric-state=error] .capture-score-inputs{background:var(--surface-error)}.capture-entry-save-status{display:flex;align-items:center;justify-content:flex-end;min-height:44px;margin-top:16px;font-size:14px;line-height:1.5;color:var(--text-secondary)}.capture-entry-save-status{position:relative}.capture-score-feedback{position:absolute;inset-inline-start:0;display:flex;align-items:baseline;gap:8px;color:var(--text-primary);font-size:13px}.capture-score-feedback strong{font-size:26px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}.capture-score-feedback small{font-size:12px;color:var(--text-secondary)}.capture-score-unavailable{color:var(--text-secondary);font-size:13px}@media(max-width:999px),(orientation:portrait){.capture-score-feedback{font-size:12px;gap:6px}.capture-score-feedback strong{font-size:20px}}.capture-entry-save-status[data-save-status=saved]{color:var(--success)}.capture-entry-save-status[role=alert]{color:var(--danger)}.capture-entry-save-status button{font:inherit;color:inherit;background:none;border:0;padding:0 8px;text-decoration:underline;min-height:44px;min-width:44px;cursor:pointer}.capture-score-hint{color:var(--capture-muted);font-size:14px}.capture-entry-keypad{grid-area:keypad;align-self:start;height:min(100%,640px);display:flex;flex-direction:column;gap:16px;padding:16px;overflow:hidden;background:var(--capture-primary-surface);border:1px solid var(--capture-divider);border-radius:var(--capture-panel-radius)}.capture-entry-keypad--saved{height:min(100%,564px)}.capture-keypad-utilities{position:relative;display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap}.capture-keypad-utilities .ant-btn{min-height:44px;min-width:44px;padding-inline:8px;color:var(--text-secondary);font-size:14px}.capture-entry-student-navigation{display:flex;gap:0}.capture-keypad-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(44px,1fr));gap:12px}.capture-keypad-grid button{border:1px solid var(--border-interactive);border-radius:var(--capture-key-radius);min-width:44px;min-height:44px;background:var(--surface-key);box-shadow:0 1px 1px var(--shadow-key);color:var(--text-primary);font:inherit;font-size:32px;font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:background-color .09s,transform .09s;-webkit-tap-highlight-color:transparent}.capture-keypad-grid button.capture-keypad-utility{background:var(--surface-key);color:var(--text-secondary);font-size:24px;font-weight:400}.capture-keypad-grid button:active{background:var(--surface-pressed);transform:translateY(1px)}.capture-backspace-icon{width:28px;height:28px;vertical-align:middle}.capture-keypad-grid button:disabled{opacity:.45;cursor:not-allowed}.capture-score-action .ant-btn{width:100%;min-height:60px;border-radius:16px;font-size:19px;font-weight:600;box-shadow:none;transition:background-color .1s}.capture-score-action .ant-btn-primary:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.capture-score-action .ant-btn-primary:disabled{border-color:transparent;background:var(--surface-disabled);color:var(--text-disabled)}.capture-entry-workspace button:focus-visible,.capture-workspace-drawer button:focus-visible,.capture-workspace-open .ant-modal-confirm button:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}.capture-entry-roster-trigger.ant-btn{display:none;min-height:44px;min-width:44px;padding-inline:8px;color:var(--text-secondary);font-size:14px;flex-shrink:0;border:0;border-radius:0}.capture-workspace-drawer .ant-drawer-body{display:flex;flex-direction:column;overflow:hidden;padding:12px}.capture-workspace-drawer .ant-drawer-close,.capture-workspace-open .ant-modal-confirm .ant-btn,.capture-workspace-open .ant-modal-confirm .ant-modal-close{min-height:44px;min-width:44px}@media(hover:hover)and (pointer:fine){.capture-keypad-grid button:hover{background:var(--surface-hover)}.capture-score-action .ant-btn-primary:not(:disabled):hover{background:var(--accent-strong);border-color:var(--accent-strong)}.capture-entry-roster button:hover{background:var(--surface-hover)}}@media(max-width:999px),(orientation:portrait){.capture-entry-master{display:none}.capture-entry-layout{max-width:760px;width:100%;margin:0 auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"student" "keypad";grid-template-rows:auto minmax(0,1fr);padding:16px 24px;gap:16px}.capture-entry-detail{padding:20px 28px 8px}.capture-entry-detail{align-self:stretch}.capture-student-index{display:none}.capture-entry-project{margin-bottom:18px}.capture-entry-project h1{font-size:28px}.capture-entry-project p{margin-top:6px}.capture-entry-student-identity h3{font-size:38px}.capture-entry-student-meta{margin:4px 0 16px}.capture-entry-detail--long-name .capture-athlete-context{margin-bottom:16px}.capture-score-inputs{min-height:124px;padding:8px 16px}.capture-value-field{min-height:86px}.capture-value-number{--capture-metric-font-size: 68px}.capture-entry-save-status{margin-top:0}.capture-entry-roster-trigger.ant-btn{display:inline-flex}.capture-entry-keypad{align-self:stretch;height:auto;max-height:620px;padding:12px;gap:12px}.capture-entry-keypad--saved{align-self:start;height:calc(100% - 72px);max-height:548px}.capture-keypad-grid{gap:10px}}@media(max-width:600px){.capture-entry-progress:has(.capture-completion-action)>span{top:0}.capture-entry-progress .capture-completion-action{top:18px}.capture-workspace-topbar:has(.capture-completion-action) .capture-workspace-context{max-width:calc(100% - 124px)}.capture-workspace-topbar{grid-template-columns:auto minmax(0,1fr);gap:0 8px;padding:4px 12px;min-height:72px}.capture-workspace-context{grid-row:2;grid-column:1/-1;padding:0 8px;gap:16px;font-size:13px;line-height:1.5}.capture-entry-progress{font-size:14px;text-align:right}.capture-entry-progress small{font-size:12px}.capture-entry-back.ant-btn{font-size:14px}.capture-entry-layout{padding:10px 12px;gap:8px}.capture-entry-detail{padding:14px 20px 0;border-radius:20px}.capture-entry-project{gap:4px;margin-bottom:12px;padding-bottom:8px}.capture-entry-project h1{font-size:24px}.capture-entry-project p{display:none}.capture-entry-student-identity h3{font-size:34px}.capture-entry-student-meta{margin:4px 0 10px;font-size:14px}.capture-score-inputs{min-height:112px;padding:6px 10px;border-radius:16px}.capture-value-field{min-height:76px;padding:2px 10px}.capture-value-number{--capture-metric-font-size: 64px}.capture-duration-colon{font-size:44px}.capture-entry-save-status{font-size:13px}.capture-entry-keypad{gap:8px;padding:8px}.capture-keypad-grid{gap:6px}.capture-keypad-grid button{font-size:30px;border-radius:14px}.capture-score-action .ant-btn{min-height:52px;font-size:18px;border-radius:14px}.capture-entry-keypad--saved{height:calc(100% - 60px)}}@media(max-width:360px){.capture-entry-student-navigation .anticon{display:none}.capture-keypad-utilities{flex-wrap:nowrap}.capture-keypad-utilities .capture-entry-student-navigation .ant-btn{padding-inline:0}.capture-athlete-context{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"athlete athlete" "metadata position";align-items:center;gap:0 8px;margin-bottom:8px}.capture-entry-student-identity{display:contents}.capture-entry-student-identity h3{grid-area:athlete;font-size:clamp(26px,8.333vw,30px);line-height:1.08}.capture-entry-student-meta{grid-area:metadata;margin:0}.capture-entry-roster-trigger.ant-btn{grid-area:position;padding-inline:4px;font-size:12px}}@media(max-height:700px){.capture-entry-layout{padding-block:8px;gap:10px}.capture-entry-detail{padding:16px 20px 0}.capture-entry-project{margin-bottom:10px}.capture-entry-project p{margin-top:4px}.capture-entry-student-meta,.capture-entry-detail--long-name .capture-athlete-context{margin-bottom:8px}.capture-score-inputs{min-height:100px;padding:4px 10px}.capture-value-field{min-height:72px}.capture-value-number{--capture-metric-font-size: 56px}.capture-entry-keypad{gap:6px;padding-top:0}.capture-keypad-grid{gap:4px}.capture-keypad-utilities .ant-btn{padding-inline:6px}.capture-score-action .ant-btn{min-height:48px}}@media(max-height:600px)and (orientation:landscape)and (max-width:999px){.capture-entry-layout{max-width:none;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);grid-template-areas:"student keypad";grid-template-rows:minmax(0,1fr)}.capture-workspace-topbar{min-height:56px}.capture-entry-detail{justify-content:center;padding-bottom:8px}.capture-entry-project p{display:none}.capture-entry-project h1{font-size:24px}.capture-entry-student-identity h3{font-size:34px}}@media(max-height:680px)and (max-width:600px){.capture-workspace-topbar{min-height:64px;padding-block:0}.capture-entry-detail{padding:4px 12px 0}.capture-entry-layout{padding-block:4px}.capture-entry-project{margin-bottom:0;padding-bottom:0;border-bottom:0}.capture-entry-project h1{font-size:22px;line-height:1.1}.capture-entry-student-identity h3{font-size:clamp(26px,8.333vw,30px);line-height:1.08}.capture-entry-student-meta{margin:0;font-size:12px}.capture-score-inputs{min-height:56px;padding:4px}.capture-score-inputs:not(.capture-score-inputs--duration){flex-direction:row;gap:4px}.capture-value-field{min-height:48px;padding:0 6px}.capture-value-number{--capture-metric-font-size: 44px}.capture-score-inputs--duration .capture-value-field small{display:block;margin-top:0;font-size:10px;line-height:1}.capture-duration-colon{transform:translateY(-5px)}.capture-score-unit{font-size:18px}.capture-entry-save-status{min-height:16px;margin-top:0;font-size:12px;line-height:1.3}.capture-entry-keypad{padding:6px;gap:4px}.capture-entry-layout{gap:4px}.capture-athlete-context,.capture-entry-detail--long-name .capture-athlete-context{margin-bottom:0;gap:0 8px}.capture-entry-keypad--saved{height:calc(100% - 52px)}.capture-keypad-grid{min-height:188px}.capture-entry-roster-trigger.ant-btn:focus-visible{outline:0;box-shadow:inset 0 -2px 0 var(--border-focus)}}@media(prefers-reduced-motion:reduce){.capture-keypad-grid button,.capture-score-action .ant-btn{transition:none}}@media(max-width:600px){.capture-entry-workspace{container:capture-workspace / size}.capture-entry-keypad{display:grid;grid-template-rows:auto minmax(188px,1fr) auto}.capture-keypad-grid{min-height:188px}.capture-entry-layout{grid-template-rows:auto minmax(min-content,1fr);overflow-y:auto;overscroll-behavior:contain}.capture-entry-keypad,.capture-entry-keypad--saved{align-self:stretch;height:auto;min-height:min-content}.capture-progress-control{display:flex;grid-column:2;grid-row:1 / span 2;flex-direction:column;align-items:flex-end;gap:0;min-width:0!important;height:auto!important}.capture-progress-control>.capture-completion-action{position:static!important;min-height:44px!important;padding-inline:12px;border-radius:8px}.capture-progress-control .capture-entry-progress>span{transform:none!important}.capture-progress-control:has(.capture-completion-action) .capture-entry-progress{height:32px;min-height:32px}.capture-workspace-topbar:has(.capture-completion-action){min-height:88px}.capture-workspace-topbar:has(.capture-completion-action) .capture-workspace-context{max-width:none}.capture-workspace-context{grid-column:1}}@container capture-workspace (max-width:600px) and (max-height:740px){.capture-entry-layout{padding-block:6px;gap:6px}.capture-entry-detail{padding:6px 12px 0}.capture-entry-project{margin-bottom:4px;padding-bottom:4px}.capture-entry-project h1{font-size:22px;line-height:1.2}.capture-entry-student-identity h3{font-size:28px;line-height:1.15}.capture-entry-student-meta{margin:2px 0 6px;font-size:12px}.capture-entry-detail--long-name .capture-athlete-context{margin-bottom:6px;gap:4px}.capture-score-inputs{min-height:64px;padding:4px}.capture-value-field{min-height:56px;padding:0 6px}.capture-value-number{--capture-metric-font-size:46px}.capture-entry-save-status{min-height:28px;font-size:12px}.capture-entry-keypad{gap:6px}}@media(min-width:601px)and (max-width:1399px)and (hover:none)and (pointer:coarse){.capture-progress-control{display:flex;align-items:center;gap:12px;min-width:0!important;height:auto!important}.capture-progress-control .capture-entry-progress>span{transform:none!important}.capture-progress-control>.capture-completion-action{position:static!important;min-height:44px!important;flex-shrink:0}}.capture-score-editor--bmi .capture-entry-detail>*{flex-shrink:0}.capture-score-inputs.capture-score-inputs--bmi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;min-height:156px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.capture-score-editor.capture-score-editor--bmi[data-metric-state] .capture-score-inputs--bmi{background:transparent;box-shadow:none}.capture-bmi-field{min-width:0;display:flex}.capture-bmi-field .capture-value-field{width:100%;min-width:0;min-height:156px;gap:18px;padding:16px;justify-content:flex-start;border:1px solid var(--border-default);border-radius:16px;background:var(--surface-metric);text-align:left}.capture-bmi-field-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;color:var(--text-secondary);font-size:16px;line-height:1.5}.capture-bmi-field-heading>span:first-child{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px}.capture-bmi-field-heading small{margin:0;font-size:14px}.capture-bmi-active-label{visibility:hidden;flex-shrink:0;color:var(--accent);font-size:12px;font-weight:500}.capture-bmi-field .capture-value-number{--capture-metric-font-size: clamp(40px,5vw,64px);line-height:1.1}.capture-score-editor--bmi .capture-value-field.is-active{border-color:var(--border-focus);background:var(--surface-active);box-shadow:inset 0 0 0 1px var(--border-focus)}.capture-value-field.is-active .capture-bmi-active-label{visibility:visible}.capture-score-editor--bmi[data-metric-state=error] .capture-bmi-field .capture-value-field.is-active{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger);background:var(--surface-error)}.capture-score-editor--bmi .capture-entry-save-status{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:16px;min-height:0}.capture-bmi-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;min-height:80px;padding:16px;border-radius:14px;background:var(--surface-metric)}.capture-bmi-preview,.capture-score-editor--bmi .capture-score-feedback{position:static;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:10px;min-width:0;color:var(--text-primary);font-size:16px;line-height:1.4}.capture-bmi-preview{padding-right:12px}.capture-score-editor--bmi .capture-score-feedback{border-left:1px solid var(--border-default);padding-left:12px}.capture-bmi-preview strong,.capture-score-editor--bmi .capture-score-feedback strong{font-size:32px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums}.capture-bmi-score-value{display:inline-flex;align-items:baseline;gap:6px}.capture-score-editor--bmi .capture-score-feedback small{color:var(--text-secondary);font-size:14px}.capture-score-editor--bmi .capture-save-message{min-height:21px;text-align:right;font-size:14px}@media(hover:hover){.capture-bmi-field .capture-value-field:not(:disabled):not(.is-active):hover{border-color:var(--border-interactive);background:var(--surface-hover)}}@media(max-width:999px),(orientation:portrait){.capture-score-inputs.capture-score-inputs--bmi{min-height:132px;gap:12px}.capture-bmi-field .capture-value-field{min-height:132px;padding:12px 16px;gap:12px}.capture-score-editor--bmi .capture-entry-save-status{margin-top:12px;gap:4px}.capture-bmi-results{min-height:64px;padding:10px 16px}.capture-bmi-preview strong,.capture-score-editor--bmi .capture-score-feedback strong{font-size:30px}}@media(max-width:600px){.capture-score-inputs.capture-score-inputs--bmi{min-height:108px;gap:10px}.capture-bmi-field .capture-value-field{min-height:108px;padding:10px;gap:10px;border-radius:12px}.capture-bmi-field-heading{font-size:14px}.capture-bmi-field-heading small{font-size:12px}.capture-bmi-active-label{display:none}.capture-bmi-field .capture-value-number{--capture-metric-font-size: 40px}.capture-score-editor--bmi .capture-entry-save-status{margin-top:8px;gap:2px}.capture-bmi-results{min-height:56px;padding:8px;border-radius:10px}.capture-bmi-preview,.capture-score-editor--bmi .capture-score-feedback{gap:6px;font-size:14px}.capture-bmi-preview strong,.capture-score-editor--bmi .capture-score-feedback strong{font-size:26px}.capture-score-editor--bmi .capture-score-feedback small{font-size:12px}.capture-score-editor--bmi .capture-save-message{min-height:18px;font-size:12px}}@media(max-height:680px)and (max-width:600px){.capture-score-editor--bmi .capture-athlete-context{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"athlete position" "metadata metadata";gap:0 6px;margin-bottom:4px}.capture-score-editor--bmi .capture-entry-student-identity{display:contents}.capture-score-editor--bmi .capture-entry-student-identity h3{grid-area:athlete;font-size:26px;line-height:1.1}.capture-score-editor--bmi .capture-entry-roster-trigger{grid-area:position}.capture-score-editor--bmi .capture-entry-student-meta{grid-area:metadata;line-height:16px;font-size:12px;margin:0}.capture-score-inputs.capture-score-inputs--bmi{min-height:64px;gap:8px}.capture-bmi-field .capture-value-field{min-height:64px;padding:4px 8px;gap:0;border-radius:10px}.capture-bmi-field-heading{font-size:12px;line-height:18px}.capture-bmi-field .capture-value-number{--capture-metric-font-size: 32px}.capture-score-editor--bmi .capture-entry-save-status{margin-top:4px;gap:0}.capture-bmi-results{min-height:32px;padding:3px 8px;border-radius:8px}.capture-bmi-preview,.capture-score-editor--bmi .capture-score-feedback{font-size:12px;gap:6px}.capture-bmi-preview strong,.capture-score-editor--bmi .capture-score-feedback strong{font-size:20px}.capture-score-editor--bmi .capture-entry-save-status[data-save-status=idle]:not([role=alert]) .capture-save-message{display:none}.capture-score-editor--bmi .capture-score-action .ant-btn{min-height:44px}.capture-entry-layout:has(.capture-score-editor--bmi){overflow-y:auto;overscroll-behavior:contain}}@media(max-height:600px)and (orientation:landscape)and (max-width:999px){.capture-score-editor--bmi .capture-entry-detail{justify-content:flex-start;padding:12px 20px 8px;overflow-y:auto;overscroll-behavior:contain}.capture-score-editor--bmi .capture-entry-project{margin-bottom:8px;padding-bottom:8px}.capture-score-editor--bmi .capture-entry-student-identity h3{font-size:30px}.capture-score-editor--bmi .capture-entry-student-meta{margin:4px 0 8px}.capture-score-inputs.capture-score-inputs--bmi{min-height:88px;gap:12px}.capture-bmi-field .capture-value-field{min-height:88px;padding:8px;gap:4px;border-radius:12px}.capture-bmi-field-heading{font-size:14px}.capture-bmi-field-heading small{font-size:12px}.capture-bmi-active-label{display:none}.capture-bmi-field .capture-value-number{--capture-metric-font-size: 40px}.capture-score-editor--bmi .capture-entry-save-status{margin-top:8px;gap:2px}.capture-bmi-results{min-height:44px;padding:6px 8px;border-radius:10px}.capture-bmi-preview,.capture-score-editor--bmi .capture-score-feedback{gap:6px;font-size:14px}.capture-bmi-preview strong,.capture-score-editor--bmi .capture-score-feedback strong{font-size:24px}.capture-score-editor--bmi .capture-save-message{min-height:18px;font-size:12px}}.capture-completed-page .capture-shell__title{display:none}.capture-completed-overview{max-width:960px;margin-top:8px;color:#23352c}.capture-completed-overview h1{font-size:40px;line-height:1.35;margin:24px 0 12px;overflow-wrap:anywhere}.capture-completed-meta{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:8px;align-items:center;color:#526259;font-size:16px}.capture-completed-meta time{white-space:nowrap}.capture-completed-label{color:#526259}.capture-completed-overview dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:0;margin:48px 0 0}.capture-completed-overview dl>div{min-width:0}.capture-completed-overview dt{color:#526259;font-size:15px;line-height:1.5}.capture-completed-overview dd{margin:10px 0 0;font-size:40px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.capture-completed-overview .ant-btn{min-height:44px}@media(max-width:600px){.capture-completed-overview h1{font-size:32px}.capture-completed-meta{column-gap:16px;font-size:15px}.capture-completed-overview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;margin-top:36px}.capture-completed-overview dd{font-size:36px}}.completed-student-results{margin-top:48px}.completed-student-results h2{font-size:24px;margin:0 0 20px;line-height:1.4}.completed-result-tools{display:flex;align-items:center;gap:12px;margin-bottom:20px}.completed-result-tools .ant-input-affix-wrapper{max-width:360px;min-height:44px}.completed-result-tools select{min-width:120px;height:44px;border:1px solid #d9d9d9;border-radius:10px;padding:0 12px;font:inherit;font-size:16px;color:#23352c}.completed-result-tools select:focus-visible{outline:2px solid #287452;outline-offset:2px}.completed-result-tools>span:last-child{color:#526259;white-space:nowrap}.completed-result-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:16px}.completed-result-table th,.completed-result-table td{padding:16px 10px;text-align:left;border-bottom:1px solid #e0e7e3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.completed-result-table thead th{color:#526259;font-weight:400;font-size:15px}.completed-result-table tbody th{font-weight:600}.result-col-sequence{width:64px}.result-col-number{width:170px}.result-col-measurement{width:165px}.result-col-score{width:90px}.result-col-status{width:100px}.completed-result-measurement{font-weight:500}.completed-result-status{color:#526259;white-space:nowrap}.completed-result-status--recorded{color:#125f3f}.completed-result-status--makeup_pending{color:#855b18}.completed-result-anomaly{display:block;margin-top:6px;color:#855b18;font-size:13px}.completed-result-notice,.completed-result-empty{color:#526259;font-size:15px}.completed-result-list{display:none}.completed-result-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:900px){.completed-result-table{display:none}.completed-result-list{display:block;list-style:none;margin:0;padding:0}.completed-result-list li{padding:20px 0;border-bottom:1px solid #e0e7e3}.completed-result-person{display:flex;align-items:baseline;gap:10px}.completed-result-person strong{flex:1;min-width:0;overflow-wrap:anywhere;font-size:20px}.completed-result-sequence{color:#526259;font-size:14px;min-width:20px}.completed-result-score{white-space:nowrap;font-size:18px;font-weight:500}.completed-result-list p{color:#526259;font-size:15px;margin:8px 0 14px;overflow-wrap:anywhere}.completed-result-reading{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.completed-result-reading strong{font-size:20px;font-weight:500;overflow-wrap:anywhere}}@media(max-width:600px){.completed-student-results{margin-top:36px}.completed-result-tools{flex-wrap:wrap;gap:10px}.completed-result-tools .ant-input-affix-wrapper{max-width:none;width:100%}.completed-result-tools select{flex:1;min-width:0}}.completed-result-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.completed-result-heading h1{min-width:0;flex:1}.completed-result-heading>.ant-btn{flex-shrink:0;min-width:84px;min-height:44px;margin-top:12px}@media(max-width:600px){.completed-result-heading{gap:12px}.completed-result-heading>.ant-btn{min-width:76px}}.completed-export-menu{position:fixed!important;inset:var(--export-menu-top) auto auto var(--export-menu-left)!important;min-width:216px!important;max-width:calc(100vw - 16px)}.completed-export-menu .ant-dropdown-menu-item{display:flex;align-items:center;min-height:44px}.completed-result-actions{flex-shrink:0}.completed-management-link{color:#526259;line-height:1.7;margin-top:24px}.completed-management-link .ant-btn{height:auto;white-space:normal;padding-inline:4px}@media(max-width:600px){.completed-result-heading{flex-wrap:wrap}.completed-result-heading h1{flex-basis:100%;margin-bottom:0}.completed-result-actions{width:100%}}.completed-bmi-measurements{display:block;margin-top:6px;font-size:14px;line-height:1.6;font-weight:400;color:#53685d;white-space:normal}.capture-completed-page .capture-completed-overview{max-width:none;width:100%;margin:0;color:#1e3135}.capture-completed-page .capture-result-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.capture-completed-page .capture-result-toolbar .ant-btn{min-height:46px;min-width:100px;border-radius:9px;font-size:16px}.capture-result-toolbar>.ant-btn{color:#087d5c;border-color:#c6dbd0;background:#fff}.capture-completed-page .capture-result-export .ant-btn:not(:disabled){background:#087d5c;border-color:#087d5c;color:#fff;box-shadow:none}.capture-completed-page .capture-result-export .ant-btn:not(:disabled):hover{background:#066448;border-color:#066448}.capture-result-summary{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid #DCE7E1;border-radius:16px;overflow:hidden;background:#fff}.capture-result-identity{padding:28px;min-width:0}.capture-result-labels{display:flex;gap:12px;align-items:center;font-size:14px;color:#53685d;margin-bottom:12px}.capture-result-labels .ant-tag{border:0;border-radius:6px;background:#e6f4ec;color:#087d5c;font-size:14px;padding:3px 10px;margin:0}.capture-completed-page .capture-result-identity h1{font-size:30px;margin:0 0 16px;line-height:1.4;color:#1e3135}.capture-result-context{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:16px;color:#354f44;line-height:1.7}.capture-result-context>span,.capture-result-context>time{display:flex;align-items:baseline;gap:8px;min-width:0;overflow-wrap:anywhere}.capture-result-context .anticon{color:#628172}.capture-result-test-name{display:flex;align-items:baseline;gap:8px;font-size:14px!important;line-height:1.7;color:#53685d;margin:16px 0 0;overflow-wrap:anywhere}.capture-completed-page .capture-result-summary dl{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:24px 0;margin:0;padding:28px;background:#f6faf8;border-left:1px solid #E2ECE6}.capture-result-summary dl>div{padding:0 20px;min-width:0;border-left:1px solid #DCE7E1}.capture-result-summary dl>div:nth-child(odd){padding-left:0;border:0}.capture-completed-page .capture-result-summary dt{font-size:14px;color:#53685d}.capture-completed-page .capture-result-summary dd{font-size:32px;margin:8px 0 0;line-height:1.2;font-weight:600;color:#1e3135}.capture-result-summary dd small{font-size:14px;font-weight:400;color:#53685d;margin-left:8px}.capture-completed-page .capture-result-summary dl>div:nth-child(2) dd{color:#087d5c}.capture-result-support{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 4px;margin:4px 0 8px;font-size:14px;color:#53685d}.capture-result-support>details{min-width:0;flex:1}.capture-result-support summary{cursor:pointer;min-height:46px;line-height:46px;color:#53685d}.capture-result-support>.ant-btn{min-height:46px;font-size:14px;color:#087d5c;padding-inline:8px}.capture-result-support .roster-capture-history{padding:12px 16px;background:#edf4f0;border:1px solid #DCE7E1;border-radius:10px;line-height:1.7;overflow-wrap:anywhere}.capture-result-support .roster-capture-history p{margin:6px 0}.capture-completed-page .completed-student-results{margin-top:0;padding:28px;border:1px solid #DCE7E1;border-radius:16px;background:#fff;min-width:0}.capture-completed-page .completed-student-results h2{font-size:23px;color:#1e3135;margin-bottom:20px}.capture-completed-page .completed-result-tools{padding:14px;background:#f5f8f6;border:1px solid #E4ECE7;border-radius:10px;gap:12px}.capture-completed-page .completed-result-tools .ant-input-affix-wrapper{background:#fff;border-radius:8px}.capture-completed-page .completed-result-table thead{background:#f5f8f6}.capture-completed-page .completed-result-table thead th{font-size:14px;padding-block:12px}.capture-completed-page .completed-result-table tbody tr:hover{background:#f7fbf8}.capture-completed-page .completed-result-status{display:inline-block;font-size:14px;padding:3px 8px;border-radius:5px;background:#f1f5f3}.capture-completed-page .completed-result-status--recorded{background:#eaf5ee;color:#087d5c}.capture-completed-page .completed-result-status--makeup_pending{background:#fbf2df;color:#805e20}.capture-correction-dialog .ant-modal-title{font-size:21px;color:#1e3135}.capture-correction-dialog .ant-modal-container{border-radius:16px;padding:24px}.correction-test-context{display:grid;gap:6px;padding:16px;margin:18px 0;background:#f1f7f4;border:1px solid #DCE7E1;border-radius:10px;color:#53685d;font-size:14px;overflow-wrap:anywhere}.correction-test-context strong{font-size:18px;color:#1e3135}.capture-correction-dialog p{line-height:1.7;font-size:16px;color:#354f44}.capture-correction-dialog .correction-retained-note{color:#53685d;font-size:14px}.correction-reason-field{display:grid;gap:10px;font-size:16px;margin:20px 0 24px;color:#1e3135}.capture-correction-dialog .ant-modal-footer{border-top:1px solid #E2ECE6;padding-top:16px}.capture-correction-dialog .ant-btn{min-height:46px;font-size:16px;border-radius:9px}@media(max-width:1100px){.capture-result-summary{grid-template-columns:1fr}.capture-completed-page .capture-result-summary dl{grid-template-columns:repeat(4,minmax(0,1fr));border-left:0;border-top:1px solid #E2ECE6;padding:22px 24px;gap:0}.capture-result-summary dl>div:nth-child(odd){padding-left:20px;border-left:1px solid #DCE7E1}.capture-result-summary dl>div:first-child{padding-left:0;border:0}.capture-completed-page .capture-result-identity h1{font-size:28px}.capture-result-identity{padding:24px}}@media(max-width:640px){.capture-completed-page .capture-result-toolbar{gap:12px;margin-bottom:20px}.capture-completed-actions{width:100%;justify-content:flex-end}.capture-completed-page .capture-result-toolbar .ant-btn{min-height:48px}.capture-result-summary{border-radius:12px}.capture-result-identity{padding:20px}.capture-completed-page .capture-result-identity h1{font-size:26px}.capture-result-context{flex-direction:column;gap:8px}.capture-completed-page .capture-result-summary dl{grid-template-columns:1fr 1fr;gap:20px 0;padding:20px}.capture-result-summary dl>div:nth-child(odd){padding-left:0;border-left:0}.capture-completed-page .capture-result-summary dd{font-size:30px}.capture-result-support{flex-direction:column;gap:0}.capture-result-support>details{width:100%}.capture-completed-page .completed-student-results{padding:20px 16px;border-radius:12px}.capture-completed-page .completed-result-tools{padding:10px}.capture-completed-page .completed-result-list li:last-child{border:0}.capture-correction-dialog .ant-modal-container{padding:20px}.capture-correction-dialog .ant-modal-body{max-height:calc(100dvh - 220px);overflow:auto}}.grade-overview .gp-project-select.ant-select{width:340px;max-width:100%;min-width:0;flex-shrink:0;text-align:left}.gp-project-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;line-height:1.5}.gp-project-option>strong{font-size:14px;font-weight:500;white-space:normal;overflow-wrap:anywhere;min-width:0}.gp-option-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;flex-shrink:0}.gp-tag{display:inline-flex;align-items:center;white-space:nowrap;font-size:12px;line-height:1.5;padding:2px 7px;border-radius:5px;color:#5f7368;background:#eff3f0;font-weight:400}.gp-project-menu.ant-select-dropdown{padding:7px;border-radius:12px;border:1px solid #E1E9E3;box-shadow:0 8px 26px #244a361a}.gp-project-menu .ant-select-item-option{padding:11px 10px;border-radius:7px;min-height:44px}.gp-project-menu.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:#edf5ef;color:#254d3b;font-weight:400}.gp-project-menu.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background:#f3f7f4}.gp-project-menu.ant-select-dropdown .ant-select-item-option-selected .gp-tag{background:#e2eee6}.gp-project-menu .ant-select-item-option-state{margin-left:10px}.gp-inline-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:#62796b}.gp-inline-meta>span{display:inline-flex;align-items:center;gap:5px}.gp-stats{display:flex;gap:7px 14px;flex-wrap:wrap;color:#62796b;font-size:13px;line-height:1.7}.gp-muted{color:#62796b;font-size:12px}@media(max-width:650px){.grade-overview .gp-project-select.ant-select{width:100%}.gp-project-option{gap:7px}.gp-project-option>strong{font-size:13px}.gp-tag{font-size:12px;padding:2px 5px}}.gp-option-meta{max-width:60%}.gp-option-check{font-size:12px;color:#2c7350;margin-left:3px}.gc-workspace{display:grid;gap:18px;color:#29493c}.gc-project-picker{display:flex;justify-content:space-between;align-items:center;gap:20px}.gc-project-picker h2{font-size:16px;margin:0}.gc-project-picker p{font-size:13px;color:#62796b;margin:7px 0 0}.gc-project-picker>.ant-select{width:300px;flex-shrink:0}.gc-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}.gc-grid>.go-panel{min-width:0;padding:24px}.gc-class-panel>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding-bottom:18px;border-bottom:1px solid #E3EBE5}.gc-grid h2{font-size:22px;margin:7px 0;line-height:1.45;overflow-wrap:anywhere}.gc-grid p{font-size:13px;color:#62796b;line-height:1.7}.gc-eyebrow{font-size:12px;color:#62796b}.gc-reference{text-align:right}.gc-reference>span{display:block;font-size:13px}.gc-reference strong{display:block;font-size:27px;font-weight:600;margin:6px 0;font-variant-numeric:tabular-nums}.gc-reference strong small{font-size:12px;font-weight:400}.gc-reference>small{font-size:12px;color:#62796b}.gc-chart-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#62796b;margin:16px 0 8px}.gc-chart-label span{display:flex;align-items:center;gap:6px}.gc-chart-label i{height:12px;border-left:1px dashed #62796B}.gc-row-grid,.gc-class-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(90px,1.2fr) 66px 18px;gap:12px;align-items:center;padding:12px 10px;border:1px solid transparent}.gc-average-axis{padding-top:5px;padding-bottom:10px}.gc-ticks{display:flex;justify-content:space-between;font-size:11px;color:#64796d;position:relative;height:16px}.gc-ticks>span{position:absolute;transform:translate(-50%);white-space:nowrap}.gc-ticks>span:nth-child(1){left:0;transform:none}.gc-ticks>span:nth-child(2){left:25%}.gc-ticks>span:nth-child(3){left:50%}.gc-ticks>span:nth-child(4){left:75%}.gc-ticks>span:nth-child(5){right:0;transform:none}.gc-class-list{display:grid;gap:7px;max-height:390px;overflow:auto;padding:2px;scrollbar-gutter:stable}.gc-class-row{width:100%;border-radius:10px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;min-width:0}.gc-class-row:hover{background:#f6f9f7;border-color:#d4e3d9}.gc-class-row[aria-pressed=true]{background:#f1f7f3;border-color:#b6cfc0;box-shadow:none}.gc-class-name{min-width:0}.gc-class-name strong{font-size:14px;font-weight:500;display:block;line-height:1.5;overflow-wrap:anywhere}.gc-class-name small{display:block;font-size:12px;color:#62796b;margin-top:5px}.gc-selected-mark{font-size:14px;color:#2d7c53}.gc-bar{height:9px;border-radius:6px;background:#e9f0eb;position:relative}.gc-bar>i{height:100%;display:block;border-radius:6px}.gc-bar>em{position:absolute;height:25px;top:-8px;border-left:1px dashed #506D5A;pointer-events:none}.gc-class-row>b{font-size:17px;text-align:right;font-variant-numeric:tabular-nums}.gc-class-row>b>small{font-size:12px;font-weight:400;margin-left:3px}.gc-class-row>.anticon{font-size:10px;color:#63816c;justify-self:end}.gc-note{margin:14px 0 0!important}.gc-unresolved{border-top:1px solid #DBE6DF;padding-top:10px;margin-top:6px}.gc-unresolved>p{font-size:12px;margin:6px 10px;line-height:1.7}.gc-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.grade-overview .gc-detail>header{display:block}.grade-overview .gc-detail>header h2{font-size:21px;margin:6px 0}.grade-overview .gc-detail>header p{margin:6px 0}.gc-detail-title,.gc-list-title{scroll-margin-top:84px}.gc-detail-title:focus-visible,.gc-list-title:focus-visible{outline:2px solid #147C6B;outline-offset:5px;border-radius:3px}.gc-selected-score{padding-top:16px;border-top:1px solid #E3EBE5;margin-top:16px}.gc-selected-score>div>span{font-size:13px;color:#62796b}.gc-selected-score strong{font-size:30px;font-weight:600;display:block;margin:5px 0 8px;font-variant-numeric:tabular-nums}.gc-selected-score strong small{font-size:13px;font-weight:400;color:#62796b}.gc-difference{font-size:13px;color:#667a6d;display:block;line-height:1.6}.gc-participants{margin:10px 0 18px!important}.gc-detail h3{font-size:16px;margin:0 0 6px}.gc-band-caption{margin:0 0 16px;font-size:13px}.gc-distribution-scale,.gc-band-row{display:grid;grid-template-columns:minmax(112px,1.1fr) minmax(70px,1fr) 88px;gap:12px;align-items:center;border:1px solid transparent;padding:10px 8px}.gc-distribution-scale{padding-top:0;padding-bottom:7px;color:#62796b;font-size:11px}.gc-distribution-scale>span:last-child{text-align:right}.gc-bands{display:grid;gap:6px}.gc-band-row{width:100%;border-radius:8px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.gc-band-row:not(:disabled):hover{background:#f1f7f3;border-color:#d0e1d6}.gc-band-row:disabled{cursor:default}.gc-band-row>strong{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:400;line-height:1.6}.gc-band-row>strong i{width:7px;height:7px;flex-shrink:0;border-radius:2px}.gc-band-track{display:block;height:12px;border-radius:4px;background:linear-gradient(to right,transparent calc(25% - 1px),#DDE6DF 25%,transparent calc(25% + 1px),transparent calc(50% - 1px),#DDE6DF 50%,transparent calc(50% + 1px),transparent calc(75% - 1px),#DDE6DF 75%,transparent calc(75% + 1px)),#f0f4f1;overflow:hidden}.gc-band-track>i{display:block;height:100%;border-radius:4px}.gc-band-value{text-align:right;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.gc-band-value b{font-size:17px;font-weight:600;margin-right:2px}.gc-band-value small{font-size:12px;color:#62796b}.gc-no-scores{margin:22px 0}.gc-detail footer{border-top:1px solid #E3EBE5;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px}.gc-detail footer>span{font-size:12px;color:#62796b}.gc-detail .ant-btn{height:34px;font-size:13px;border-radius:8px;color:#365e45;border-color:#c6ddce;background:#f5faf7}.gc-detail .ant-btn:hover{background:#eaf4ee;border-color:#83ad91}.gc-detail .gc-return-list{font-size:12px;height:30px;background:transparent}.gc-workspace button:focus-visible{outline:2px solid #147C6B;outline-offset:3px}.gc-workspace button:active{background:#e6f0ea}.gc-workspace button{transition:background .15s,border-color .15s}.gc-announcement{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}@media(max-width:1200px){.gc-grid{grid-template-columns:1fr}.gc-class-list{max-height:320px}}@media(max-width:650px){.gc-project-picker{align-items:stretch;flex-direction:column}.gc-project-picker>.ant-select{width:100%}.gc-grid>.go-panel{padding:20px 16px}.gc-class-panel>header{grid-template-columns:1fr;gap:8px}.gc-reference{text-align:left}.gc-row-grid,.gc-class-row{grid-template-columns:minmax(80px,1fr) minmax(45px,.8fr) 49px 14px;gap:8px;padding:12px 5px}.gc-class-row>b{font-size:15px}.gc-detail footer>span{display:none}.gc-detail footer{justify-content:flex-end}.gc-distribution-scale,.gc-band-row{grid-template-columns:minmax(95px,1fr) minmax(40px,.8fr) 70px;gap:7px;padding-inline:3px}.gc-band-row>strong{font-size:12px;gap:5px}.gc-band-value b{font-size:15px}.gc-band-value small{font-size:11px}.gc-chart-label{flex-wrap:wrap}.gc-reference strong{font-size:25px}.gc-unresolved>p{margin-inline:5px}}@media(prefers-reduced-motion:reduce){.gc-workspace button{transition:none}}.grade-overview--compare .go-toolbar{padding:12px 20px}.grade-overview--compare .go-cohort-badge{min-height:46px;min-width:62px;padding:8px;font-size:18px}.grade-overview--compare .go-scope-heading{gap:14px}.grade-overview--compare .go-scope-heading h2{font-size:16px;margin-bottom:6px;line-height:1.4}.grade-overview--compare .go-filters .ant-radio-button-wrapper{height:32px;line-height:30px}.grade-overview--compare .go-filters .ant-radio-group{padding:3px}.grade-overview--compare .go-view-title small{display:none}.grade-overview--compare .go-view-title{font-size:13px;color:#62796b}.grade-overview--compare .go-actions .ant-btn{height:36px;font-size:13px}.grade-overview--compare .go-actions .ant-btn-primary{background:transparent;color:#557461;border-color:#d4e2d8;box-shadow:none}.grade-overview--compare .go-scope-meta{font-size:12px}.grade-overview--compare{gap:16px}.gc-class-list .gc-average-axis{position:sticky;top:0;z-index:2;background:#fff;margin-bottom:2px}@media(max-width:650px){.gc-ticks>span:nth-child(2),.gc-ticks>span:nth-child(3),.gc-ticks>span:nth-child(4){visibility:hidden}.gc-distribution-scale,.gc-band-row{grid-template-columns:minmax(85px,1fr) minmax(60px,.8fr) 67px}}.gc-detail-toolbar{float:right;margin:0 0 8px 12px}.gc-detail-toolbar>.gc-eyebrow{display:none}.gc-selected-score{clear:both;padding-top:12px;margin-top:12px}.gc-participants{margin:8px 0 14px!important}.gc-band-caption{margin-bottom:10px}.gc-band-row{padding-block:6px}.gc-distribution-scale{padding-bottom:5px}.gc-distribution-scale .gc-ticks>span:last-child{visibility:visible}@media(max-width:650px){.gc-detail-toolbar{float:none;justify-content:flex-end;margin:0 0 10px}}.gc-detail-toolbar{display:none}@media(max-width:1200px){.gc-detail-toolbar{display:flex}}.gc-selected-score{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.gc-selected-score .gc-participants{display:flex;flex-direction:column;text-align:right;gap:3px;flex-shrink:0;margin:0!important}.gc-selected-score strong{margin-bottom:4px}.gc-difference{font-size:12px}.gc-detail footer{justify-content:flex-end}.gc-band-value{display:flex;align-items:baseline;justify-content:flex-end;gap:2px}.gc-band-value small{min-width:38px;margin-left:8px}.gc-class-panel>header .gp-tag{font-size:12px}.grade-overview .gc-detail>header .gc-detail-project{display:none}.gc-reference>small{display:block}.gc-average-axis .gc-ticks>span:nth-child(2),.gc-average-axis .gc-ticks>span:nth-child(4){display:none}@media(max-width:1280px){.gc-grid{grid-template-columns:1fr}.gc-detail-toolbar{display:flex}.grade-overview .gc-detail>header .gc-detail-project{display:flex}.gc-class-list{max-height:320px}}.gc-row-status{display:grid;place-items:center;width:18px;height:22px;justify-self:end;color:#63816c;font-size:10px}.gc-class-row[aria-pressed=true]:hover{background:#ebf4ee;border-color:#94b69f}.gf-workspace{display:grid;gap:22px;color:#29493c}.gf-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.gf-picker-heading>div:first-child{display:flex;gap:16px;align-items:baseline}.gf-picker-heading h2{font-size:16px;margin:0}.gf-picker-heading span:not(.ant-select-selection-item){font-size:12px;color:#7e8d83}.gf-picker-heading>.ant-select{width:270px;flex-shrink:0}.gf-shortlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gf-shortlist button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 22px;border:1px solid #E0E9E3;background:#fafcfb;border-radius:12px;text-align:left;font:inherit;color:inherit;cursor:pointer}.gf-shortlist button[aria-pressed=true]{border-color:#6ca78b;background:#edf6f0;box-shadow:inset 0 0 0 1px #6ca78b}.gf-shortlist strong{font-size:16px}.gf-shortlist span small{font-size:12px;color:#7b8e81;display:block;margin-top:5px}.gf-shortlist b{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.gf-shortlist b small{font-size:12px;font-weight:400;margin-left:2px}.grade-overview .gf-study{padding:26px 30px}.gf-study-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:22px;border-bottom:1px solid #E9EEE9}.gf-eyebrow{font-size:12px;color:#7a8b80}.gf-study-heading h2{font-size:26px;margin:7px 0 8px;line-height:1.3}.gf-study-heading p{font-size:13px;color:#7a8b80;margin:0}.gf-average{text-align:right}.gf-average>span{font-size:12px;color:#7b8a80;display:block}.gf-average strong{display:block;font-size:30px;font-weight:600;margin:5px 0 1px;line-height:1.2;font-variant-numeric:tabular-nums}.gf-average strong small{font-size:13px;font-weight:400;color:#7f8b84}.gf-average .ant-btn{padding:3px 0;height:auto;font-size:13px}.gf-study-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;padding:24px 0}.gf-study-grid h3{font-size:16px;margin:0 0 7px}.gf-caption{font-size:12px;color:#829087;line-height:1.7;margin:0}.gf-student-distribution{min-width:0}.gf-band-chart{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.gf-band-chart button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:8px 5px 10px;border-radius:9px;text-align:center;min-width:0}.gf-band-chart button:hover{background:#f0f5f2}.gf-band-count{display:block;font-size:11px;color:#7d8b81}.gf-band-count b{font-size:20px;font-weight:600;color:#29493c;margin-right:3px}.gf-band-track{display:flex;align-items:end;justify-content:center;height:105px;border-bottom:1px solid #E4EBE6;margin-top:12px}.gf-band-track i{display:block;min-width:30px;width:48%;max-width:58px;border-radius:4px 4px 0 0}.gf-band-chart strong{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:400;margin-top:12px;white-space:nowrap}.gf-band-chart strong i{height:6px;width:6px;border-radius:2px}.gf-band-chart button>small{display:block;font-size:11px;color:#87948b;margin-top:5px}.gf-class-list{display:grid;gap:5px;margin-top:15px;max-height:235px;overflow:auto}.gf-class-row{display:grid;grid-template-columns:minmax(100px,1.05fr) minmax(55px,1fr) 68px 12px;align-items:center;gap:15px;border:0;border-radius:8px;background:transparent;font:inherit;color:inherit;padding:11px 8px;text-align:left;cursor:pointer;width:100%}.gf-class-row:hover{background:#f1f6f3}.gf-class-name strong{font-size:13px;font-weight:500;display:block;line-height:1.5;overflow-wrap:anywhere}.gf-class-name small{font-size:11px;color:#849288;display:block;margin-top:4px}.gf-class-track{height:6px;background:#edf1ee;border-radius:6px;overflow:hidden}.gf-class-track i{display:block;height:100%;border-radius:6px}.gf-class-row>b{font-size:15px;text-align:right;white-space:nowrap}.gf-row-arrow{font-size:20px;color:#879e8f}.gf-class-note{display:block;font-size:11px;color:#88968c;margin-top:10px}.gf-study-footer{border-top:1px solid #E9EEE9;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding-top:16px}.gf-study-footer>span{font-size:12px;color:#859287}.gf-study-footer .ant-btn{height:34px;font-size:13px}.gf-workspace button:focus-visible{outline:2px solid #147C6B;outline-offset:3px}.gf-matrix-scroll{overflow:auto;max-height:470px;border:1px solid #E2EAE4;border-radius:10px}.gf-matrix{border-collapse:separate;border-spacing:0;width:100%;color:#29493c}.gf-matrix th,.gf-matrix td{min-width:130px;padding:10px;border-right:1px solid #E8EEE9;border-bottom:1px solid #E8EEE9;text-align:center;font-size:13px}.gf-matrix tr>th:first-child{position:sticky;left:0;background:#f5f8f6;z-index:1;text-align:left;min-width:160px;max-width:210px;overflow-wrap:anywhere}.gf-matrix thead th{position:sticky;top:0;background:#f5f8f6;z-index:2}.gf-matrix thead tr>th:first-child{z-index:3}.gf-matrix button{border:0;border-radius:8px;width:100%;min-height:60px;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:8px}.gf-matrix small{display:block;font-size:11px;color:#7e8d82;margin-top:6px}.gf-matrix button:hover{box-shadow:inset 0 0 0 1px #92b4a0}.gf-matrix button:disabled{cursor:default}.grade-overview--focus .go-toolbar{padding:16px 22px;gap:18px}.grade-overview--focus .go-cohort-badge{min-width:62px;min-height:54px}.grade-overview--focus .go-scope-heading h2{font-size:16px}.grade-overview--focus .go-filters{margin:0;min-height:38px}.grade-overview--focus .go-view-title{font-size:13px;color:#7a8b80}.grade-overview--focus .go-view-title small{display:none}.grade-overview--focus .go-actions .ant-btn{height:36px;font-size:13px}.grade-overview--focus .go-actions .ant-btn-primary{background:transparent;color:#557461;border-color:#d4e2d8;box-shadow:none}.grade-overview--focus .go-scope-meta{font-size:12px}.grade-overview--focus{gap:18px}.gf-all-modal .ant-modal-body{overflow:auto}@media(max-width:1200px){.gf-study-grid{gap:26px}.gf-picker-heading>div:first-child{display:block}.gf-picker-heading>div:first-child>span{display:block;margin-top:6px}}@media(max-width:1000px){.gf-study-grid{grid-template-columns:1fr}.gf-class-distribution{border-top:1px solid #E8EEE9;padding-top:20px}.gf-class-list{max-height:300px}.gf-shortlist button{padding:15px}.gf-shortlist b{font-size:20px}}@media(max-width:650px){.gf-picker-heading{align-items:stretch;flex-direction:column;gap:12px}.gf-picker-heading>.ant-select{width:100%}.gf-shortlist{grid-template-columns:1fr;gap:8px}.gf-shortlist button{padding:12px 16px}.gf-shortlist span small{display:inline;margin-left:10px}.grade-overview .gf-study{padding:20px 16px}.gf-study-heading h2{font-size:22px}.gf-average strong{font-size:24px}.gf-study-heading{gap:12px}.gf-study-grid{padding:22px 0}.gf-class-row{gap:8px;grid-template-columns:minmax(90px,1fr) minmax(25px,.7fr) 60px 10px}.gf-study-footer>span{display:none}.gf-band-chart{gap:3px}.gf-band-chart strong{font-size:10px}.gf-band-chart button{padding:8px 0}.grade-overview--focus .go-toolbar{padding:16px}}.grade-overview--focus .go-toolbar{padding:12px 20px}.grade-overview--focus .go-cohort-badge{min-height:46px;min-width:62px;padding:8px;font-size:18px}.grade-overview--focus .go-scope-heading{gap:14px}.grade-overview--focus .go-scope-heading h2{margin-bottom:6px;line-height:1.4}.grade-overview--focus .go-filters .ant-radio-button-wrapper{height:32px;line-height:30px}.grade-overview--focus .go-filters .ant-radio-group{padding:3px}.grade-overview--focus .gf-workspace{gap:16px}.grade-overview--focus .gf-picker-heading{margin-bottom:10px}.grade-overview--focus .gf-shortlist button{padding:12px 20px}.grade-overview--focus .gf-study{padding:20px 26px}.grade-overview--focus .gf-study-heading{padding-bottom:14px}.grade-overview--focus .gf-study-heading h2{margin:5px 0 7px}.grade-overview--focus .gf-average strong{font-size:28px}.grade-overview--focus .gf-study-grid{padding:18px 0;gap:34px}.grade-overview--focus .gf-band-chart{margin-top:10px}.grade-overview--focus .gf-band-track{height:76px;margin-top:8px}.grade-overview--focus .gf-class-list{margin-top:10px;gap:2px;max-height:195px}.grade-overview--focus .gf-class-row{padding:6px 8px}.grade-overview--focus .gf-class-note{margin-top:8px}.grade-overview--focus .gf-study-footer{padding-top:12px}@media(max-width:1100px){.grade-overview--focus .gf-study-grid{grid-template-columns:1fr}.grade-overview--focus .gf-class-list{max-height:280px}.grade-overview--focus .gf-class-distribution{padding-top:18px;border-top:1px solid #E8EEE9}}.gf-matrix-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#7e8c82;margin:4px 0 18px}.gf-matrix-legend span{display:flex;align-items:center;gap:6px}.gf-matrix-legend i{width:7px;height:7px;border-radius:2px}.gf-shortlist button{transition:background .15s,border-color .15s,box-shadow .15s}.gf-shortlist button:hover{border-color:#8fb39e;background:#f1f7f3}.gf-shortlist button:active{background:#e5f0e9}.gf-chosen-mark{font-size:14px;color:#257a58;margin-left:9px;vertical-align:middle}.gf-shortlist strong{display:flex;align-items:center;line-height:1.5}.gf-shortlist span small,.gf-picker-heading>div:first-child>span,.gf-eyebrow,.gf-study-heading p,.gf-caption,.gf-class-name small,.gf-class-note,.gf-study-footer>span,.gf-matrix-legend,.gf-band-count,.gf-band-chart button>small{color:#62796b}.gf-study-heading .gf-average>span,.gf-average strong small{color:#667b6e}.gf-study-heading .gf-view-students{height:32px;padding:4px 11px;font-size:13px;border-radius:8px;border-color:#c9ddd0;background:#f5faf7;color:#315e43;margin-top:6px;box-shadow:none}.gf-study-heading .gf-view-students:hover{border-color:#7aa58b;background:#eaf4ee;color:#254d36}.gf-study-heading .gf-view-students:active{background:#dfede4}.gf-view-students>.anticon{font-size:10px;margin-left:3px}.gf-class-row{border:1px solid transparent;transition:background .15s,border-color .15s}.gf-class-row:hover{border-color:#d0e0d5;background:#f2f7f4}.gf-class-row:active{background:#e6f0ea}.gf-class-name strong{font-size:14px}.gf-class-name small,.gf-class-note{font-size:12px}.gf-class-row .gf-row-arrow{font-size:11px;color:#698473;justify-self:end}.gf-band-chart button{border:1px solid transparent;transition:background .15s,border-color .15s}.gf-band-chart button:not(:disabled):hover{border-color:#d2e1d7;background:#f2f7f4}.gf-band-chart button:not(:disabled):active{background:#e6f0ea}.gf-band-chart button:disabled{cursor:default;background:transparent}.gf-band-chart strong{font-size:12px;white-space:normal;min-height:32px;line-height:1.4;align-items:start}.gf-band-chart strong i{flex-shrink:0;margin-top:5px}.gf-band-chart button>small{margin-top:0;font-size:12px}.gf-study-footer .ant-btn{border-radius:8px;border-color:#caddd0;color:#365e45}.gf-study-footer .ant-btn:hover{background:#eff6f2;border-color:#8daf99}.gf-matrix-scroll:focus-visible{outline:2px solid #147C6B;outline-offset:3px}@media(prefers-reduced-motion:reduce){.gf-workspace button{transition:none}}@media(max-width:650px){.gf-band-chart strong{font-size:10px}.gf-band-chart button>small{font-size:11px}.gf-study-heading .gf-average strong{font-size:24px}.gf-study-heading .gf-view-students{font-size:12px;padding-inline:8px}.gf-class-name strong{font-size:13px}}.gf-shortlist b>.gf-card-max{display:block;font-size:11px;font-weight:400;color:#62796b;margin-top:5px}.gf-class-row{grid-template-columns:minmax(100px,1fr) minmax(45px,.9fr) 105px 12px}.gf-class-row>b>small{font-size:12px;font-weight:400;color:#62796b}.gf-shortlist b{font-size:22px}.gf-matrix td b{font-size:13px;font-weight:500}@media(max-width:650px){.gf-class-row{grid-template-columns:minmax(85px,1fr) minmax(15px,.5fr) 94px 10px;gap:7px}.gf-shortlist b{font-size:21px}}.gg-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}.gg-actions .ant-btn{height:30px;padding:3px 10px;font-size:12px;border-radius:7px}.gg-input-label{display:block;margin:10px 0;font-weight:500}.gg-input-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.gg-input-row .ant-input-number{width:180px}.gg-dialog p{font-size:13px;color:#62796b;line-height:1.8}.gg-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.gg-outcome{border:1px solid #D7E7DE;border-radius:12px;background:#f3f9f5;padding:18px;text-align:left;color:#245d46;font:inherit;cursor:pointer}.gg-outcome>span{display:block;font-size:12px;line-height:1.7}.gg-outcome>span:first-child{font-size:14px;font-weight:500;display:flex;gap:7px;align-items:center}.gg-outcome i{width:7px;height:7px;background:currentColor;border-radius:50%}.gg-outcome strong{display:block;font-size:32px;font-weight:600;margin:12px 0}.gg-outcome strong small{font-size:13px;font-weight:400;margin-left:4px}.gg-outcome.gg-below{background:#fcf6ee;border-color:#e8d9c8;color:#995722}.gg-outcome:not(:disabled):hover{box-shadow:inset 0 0 0 1px currentColor}.gg-outcome:disabled{cursor:default}.gg-exclusions,.gg-empty{font-size:12px;line-height:1.8;color:#62796b;margin:14px 0 0}.gg-class-row:disabled{cursor:default;background:transparent}.gg-class-row:disabled:hover{border-color:transparent}.gg-view .gf-class-list{max-height:220px}.gg-view .gf-class-row>b{font-size:14px}.gg-view .gf-class-row{grid-template-columns:minmax(100px,1fr) minmax(30px,.7fr) 105px 12px}@media(max-width:650px){.gg-outcomes{gap:10px}.gg-outcome{padding:14px 10px}.gg-outcome>span{font-size:11px}.gg-view .gf-class-row{grid-template-columns:minmax(80px,1fr) minmax(15px,.4fr) 100px 10px;gap:7px}.gg-actions{max-width:180px}}.gg-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.gg-header-actions .gg-actions{margin-top:6px}.gg-header-actions>.gf-view-students{flex-shrink:0}.gg-header-actions .gg-actions .ant-btn{height:32px}.gg-class-row:disabled>.gf-row-arrow{visibility:hidden}.gf-shortlist button{padding:13px 18px}.gf-shortlist button>span{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}.gf-shortlist button>span>small{margin:0}.gf-shortlist strong{font-size:14px}.gf-study-heading h2.gp-inline-meta{font-size:22px;color:#29493c;gap:12px;margin-top:0}.gf-picker-heading>div:first-child{gap:12px}.gf-study-footer{justify-content:flex-end;gap:10px}.gf-study-footer>.ant-btn:first-child{margin-right:auto}.gf-class-distribution .gf-caption{margin-bottom:8px}.grade-overview .go-toolbar{padding:24px 26px;background:linear-gradient(110deg,#fff 55%,#eef6f1);border:1px solid #DCE8E0;border-radius:18px;align-items:center}.go-scope-heading{display:flex;align-items:center;gap:20px;min-width:0}.go-cohort-badge{display:grid;place-items:center;min-width:92px;min-height:70px;border-radius:16px;background:#e7f1eb;color:#2b6550;font-size:20px;font-weight:600;padding:10px}.go-scope-heading h2{font-size:20px;line-height:1.55;margin:0 0 10px;font-weight:600}.go-scope-meta{display:flex;flex-wrap:wrap;gap:10px 20px;color:#687d71;font-size:13px}.go-scope-meta .anticon{margin-right:7px}.grade-overview .go-filters{padding:0 4px;justify-content:space-between}.go-view-title{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:600}.go-view-title small{font-size:12px;font-weight:400;color:#7a8c80}.grade-overview .go-filters .ant-radio-group{border-radius:13px;padding:4px;background:#e9f0eb;border:1px solid #DFE8E1;gap:2px}.grade-overview .go-filters .ant-radio-button-wrapper{background:transparent;border:0!important;border-radius:9px;padding-inline:18px;color:#607267}.grade-overview .go-filters .ant-radio-button-wrapper:before{display:none}.grade-overview .go-filters .ant-radio-button-wrapper-checked{background:#fff!important;color:#234d3b!important;box-shadow:0 2px 7px #244e2910}.go-filters .ant-radio-button-wrapper .anticon{margin-right:7px}.grade-overview .go-projects{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.grade-overview .go-project{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;padding:20px;border:1px solid #E2EAE4;border-radius:14px;background:#fbfdfc;transition:box-shadow .15s,border-color .15s}.grade-overview .go-project:hover{border-color:#a5c6b3;box-shadow:0 5px 18px #1e4c2710;background:#fff}.go-event-icon{display:grid;place-items:center;width:42px;height:42px;background:#eaf2ed;border-radius:12px;color:#638771;font-size:21px}.grade-overview .go-project-label strong{font-size:18px;font-weight:600}.go-project-meta{display:flex;flex-wrap:wrap;gap:6px 11px;align-items:center;font-size:12px;color:#77887d;margin-top:9px}.go-sex-pill{display:inline-flex;gap:4px;align-items:center;padding:3px 7px;border-radius:6px}.go-sex-pill.male{color:#2878f0;background:#edf4ff}.go-sex-pill.female{color:#d84674;background:#fff0f5}.grade-overview .go-project-value{font-size:inherit;display:block;align-self:start}.grade-overview .go-project-value>small{font-size:11px;display:block;margin-bottom:5px;color:#7c8e82}.go-project-value strong{font-size:26px;font-weight:600}.go-project-value em{font-style:normal;font-weight:400;font-size:12px;color:#7c8e82}.go-project-bottom{grid-column:1/-1;display:flex;gap:12px;align-items:center;margin-top:2px}.grade-overview .go-project-track{display:block;flex:1;height:9px;background:#eaf0ec}.grade-overview .go-project-track i{transition:none}.go-ratio{font-size:12px;color:#6d8073;min-width:46px;text-align:right}.go-project-bottom>.anticon{font-size:10px;color:#7b9585}.go-score-legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;margin-top:17px;font-size:12px;color:#718477}.go-score-legend>span{display:flex;align-items:center;gap:6px}.go-score-legend i{width:8px;height:8px;display:block;border-radius:3px}.go-score-legend small{font-size:11px;margin-left:auto}.grade-overview .go-hist-track i{width:65%;border-radius:6px 6px 0 0}.grade-overview .go-histogram button:hover i{filter:brightness(.92)}.go-picker-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 18px}.go-picker-summary h3{font-size:18px;margin:0 0 6px}.go-picker-summary p,.go-picker-foot{font-size:13px;color:#7a897e;line-height:1.7;margin:0}.go-picker-summary>strong{white-space:nowrap;font-size:14px;font-weight:400}.go-picker-summary b{font-size:27px;color:#147c6b;margin:0 5px}.go-picker-summary small{font-size:13px;color:#7a897e}.go-picker-tools{display:grid;grid-template-columns:minmax(200px,1.5fr) 165px minmax(180px,1fr);gap:12px;margin-bottom:14px}.go-picker-batch{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0 16px;border-bottom:1px solid #E5ECE7}.go-picker-batch>.ant-btn:last-child{margin-left:auto}.go-picker-project strong{font-size:15px;display:block}.go-picker-project small{font-size:11px;color:#839086;display:block;max-width:225px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:6px}.go-picker .ant-table{font-size:13px}.go-picker .ant-table-row-selected>td{background:#f0f7f3!important}.go-picker-foot{padding-top:8px}.go-selection-modal .go-picker .ant-table-wrapper{margin-top:3px}.go-help{display:grid;gap:18px}.go-help section{padding:18px 20px;border:1px solid #E1EBE4;border-radius:12px;background:#f8fbf9}.go-help h3{font-size:17px;margin:0 0 9px}.go-help p{font-size:14px;line-height:1.9;color:#697d6e;margin:0}.go-help summary{cursor:pointer;color:#147c6b;padding:14px 0}.go-help details p{padding:10px 0;border-top:1px solid #E5ECE7}.go-selection-modal .ant-modal-body:has(.go-picker){max-height:calc(100dvh - 270px)}@media(max-width:1200px){.grade-overview .go-toolbar{align-items:flex-start;flex-direction:column}.go-actions{align-self:flex-end}.go-project-meta{gap:5px}.go-scope-heading h2{font-size:19px}}@media(max-width:800px){.grade-overview .go-projects{grid-template-columns:1fr}.go-picker-tools{grid-template-columns:1fr 1fr}.go-picker-tools>.ant-input-affix-wrapper{grid-column:1/-1}.go-view-title small{display:none}.grade-overview .go-toolbar{padding:18px}.go-cohort-badge{min-width:70px;font-size:16px}.go-scope-heading{gap:12px}.grade-overview .go-filters{gap:10px}.go-score-legend small{width:100%;margin:0}.grade-overview .go-project{padding:16px;gap:10px}.grade-overview .go-project-value strong{font-size:23px}}.grade-overview .go-project{grid-template-columns:minmax(0,1fr) auto;padding:22px 24px;gap:15px}.grade-overview .go-project-label strong{font-size:20px;letter-spacing:-.02em}.grade-overview .go-project-meta{margin-top:10px}.grade-overview .go-project-value strong{font-size:28px}.go-science-chart{position:relative;margin:36px 4px 10px 0;padding-left:36px}.go-chart-unit{position:absolute;left:0;top:-21px;font-size:11px;color:#7b8c81}.go-chart-axis{position:absolute;left:0;top:0;width:28px;height:180px;pointer-events:none}.go-chart-axis span{position:absolute;right:4px;transform:translateY(-50%);font-size:11px;color:#87978c;font-variant-numeric:tabular-nums}.go-chart-grid{position:absolute;left:36px;right:0;top:0;height:180px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.go-chart-grid i{display:block;border-top:1px dashed #DFE7E1}.go-chart-grid i:last-child{border-top-style:solid}.grade-overview .go-science-chart .go-histogram{margin-top:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;z-index:1}.grade-overview .go-science-chart .go-hist-track{height:180px;margin:0;border:0}.grade-overview .go-science-chart .go-hist-track>i{position:relative;width:clamp(26px,53%,70px);max-width:100%;border-radius:5px 5px 0 0}.grade-overview .go-science-chart .go-hist-track strong{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding-bottom:8px;white-space:nowrap;font-size:18px;font-weight:600;color:#29483b}.go-bin-label{display:flex;justify-content:center;align-items:center;gap:5px;font-size:11px;white-space:nowrap;margin-top:15px;color:#536b5d}.go-bin-label i{display:inline-block;width:6px;height:6px;border-radius:2px}.grade-overview .go-histogram button>.go-bin-percent{font-size:12px;color:#839287;margin-top:7px}.go-attention .go-auto-label{font-size:11px;line-height:1.8;white-space:nowrap;color:#819185}.go-attention-rule{font-size:12px;margin-top:18px;line-height:1.8;color:#73867a}.go-attention-rule summary{cursor:pointer;color:#547962}.go-attention-rule p{font-size:12px}.grade-overview .go-attention button strong{font-size:18px;line-height:1.6}.grade-overview .go-attention button p{font-size:13px;line-height:1.85}.grade-overview .go-panel:has(.go-science-chart)>header{padding-bottom:6px}.grade-overview .go-science-chart button:focus-visible{outline:2px solid #147C6B;border-radius:6px}.grade-overview .go-science-chart button:hover{background:#f4f8f5;border-radius:6px}@media(max-width:650px){.grade-overview .go-project{padding:18px;grid-template-columns:minmax(0,1fr) auto}.grade-overview .go-project-label strong{font-size:18px}.go-bin-label{font-size:9px;white-space:normal;line-height:1.5;min-height:28px}.go-bin-label i{flex-shrink:0}.grade-overview .go-science-chart .go-histogram{gap:6px}.go-science-chart{padding-left:26px}.go-chart-grid{left:26px}.go-chart-axis{width:20px}.grade-overview .go-project-value strong{font-size:24px}.go-attention header{flex-wrap:wrap}}.grade-overview .go-sex-pill.male,.grade-overview .go-sex-pill.female,.grade-overview .go-sex-pill{color:#68796f;background:#edf1ee;padding:3px 8px;font-size:12px}.desktop-shell--grade .go-help-entry{font-size:12px;color:#7d8b82;padding:4px 0;height:auto;min-height:28px}.desktop-shell--grade .go-help-entry:hover{color:#416653!important;background:transparent!important}.grade-overview .go-actions{margin-left:auto;justify-content:flex-end}.grade-overview .go-attention>button.go-focus-card{position:relative;padding:20px 20px 16px;margin-top:18px;background:#f7faf8;display:flex;flex-direction:column;gap:0;border-color:#e2eae4}.grade-overview .go-focus-card>span:first-child{font-size:12px;color:#7b897f;margin-bottom:9px}.grade-overview .go-focus-card>strong{font-size:19px;line-height:1.6;font-weight:600}.go-focus-score{display:flex;gap:6px;align-items:baseline;margin-top:17px;color:#244838}.go-focus-score b{font-size:34px;line-height:1.2;font-weight:600;letter-spacing:-.03em}.go-focus-score em{font-size:14px;font-style:normal;color:#77897b}.go-focus-score small{font-size:12px;color:#859287;margin-left:auto}.go-focus-context{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:#738477;line-height:1.8}.go-focus-caption{font-size:12px;color:#8a968d;margin-top:8px;line-height:1.7}.go-focus-link{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:12px;color:#4d7560;margin-top:15px;padding-top:12px;border-top:1px solid #E4ECE6;width:100%}.go-focus-link>.anticon{font-size:10px}.grade-overview .go-missing-card>strong b{font-size:27px;margin-right:4px}.go-completeness-note{font-size:12px;color:#8b978e;padding:20px 3px;line-height:1.8}.grade-overview .go-focus-card:hover{border-color:#b4cbbb!important;background:#f3f8f5!important}@media(max-width:1200px){.grade-overview .go-actions{align-self:flex-end;margin-left:auto}}@media(max-width:650px){.go-focus-score b{font-size:29px}.go-focus-context{font-size:12px}.grade-overview .go-focus-card>strong{font-size:18px}}.desktop-shell--grade .go-help-entry{padding:7px 11px;height:32px;min-height:32px;border-radius:8px;border:1px solid #DBE5DE;background:#f7faf8;color:#6b8071;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.desktop-shell--grade .go-help-entry:hover{background:#eaf3ed!important;border-color:#a2bbaa!important;color:#315c42!important}.desktop-shell--grade .go-help-entry:active{background:#ddebe1!important;transform:translateY(1px)}.desktop-shell--grade .go-help-entry:focus-visible{outline:2px solid #538A67;outline-offset:3px}.desktop-shell--grade .go-help-entry[aria-expanded=true]{border-color:#92b19d;background:#eaf3ed}.grade-overview .go-top-grid{align-items:start}.grade-overview .go-distribution>header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:22px;row-gap:7px;align-items:start}.go-distribution>header>div:first-child{grid-column:1;grid-row:1/3}.grade-overview .go-distribution .go-average{grid-column:2;grid-row:2}.grade-overview .go-distribution .go-all-results{grid-column:2;grid-row:1;height:30px;min-height:30px;border-color:#dce7df;border-radius:7px;font-size:12px;color:#557662;background:#f8fbf9;padding:3px 9px;justify-self:end}.grade-overview .go-distribution .go-all-results:hover{background:#edf5ef;border-color:#a0bfa9}.grade-overview .go-distribution .go-science-chart{margin-top:30px;margin-bottom:0}.grade-overview .go-distribution .go-note{margin-top:12px;font-size:12px;color:#8a988f}.grade-overview .go-score-legend{margin-top:16px;gap:10px 20px}.go-score-legend>b{font-size:12px;color:#718477;font-weight:500;margin-right:2px}.grade-overview .go-attention>button.go-focus-card{margin-top:14px;padding:17px 18px 14px;border-radius:12px;background:linear-gradient(115deg,#f9fcfa,#f1f7f3);transition:border-color .15s,box-shadow .15s,transform .15s}.grade-overview .go-attention>button.go-focus-card:hover{border-color:#9ebaa8!important;box-shadow:0 5px 15px #23452c0b;transform:translateY(-1px)}.grade-overview .go-attention>button.go-focus-card:active{transform:translateY(0);box-shadow:none}.grade-overview .go-focus-card>span:first-child{margin-bottom:7px;font-size:11px;letter-spacing:.02em}.grade-overview .go-focus-score{margin-top:12px}.grade-overview .go-focus-score b{font-size:31px}.grade-overview .go-focus-context{margin-top:9px;line-height:1.65}.grade-overview .go-focus-link{margin-top:11px;padding-top:10px;font-weight:500}.grade-overview .go-missing-card>strong{font-size:17px}.grade-overview .go-missing-card>strong b{font-size:25px}.grade-overview .go-completeness-note{padding-bottom:0}.grade-overview .go-project-panel>header h2{line-height:1.5}@media(max-width:650px){.grade-overview .go-distribution>header{column-gap:12px}.grade-overview .go-distribution>header p{font-size:12px}.grade-overview .go-score-legend{gap:10px 13px}.go-score-legend>b{width:100%}}.grade-overview .go-science-chart .go-histogram>button{border-radius:8px;transition:background .15s;outline-offset:2px}.grade-overview .go-science-chart .go-histogram>button.is-hovered{background:#edf4ef}.grade-overview .go-science-chart .go-histogram>button.is-hovered .go-hist-track>i{filter:brightness(1.04);box-shadow:0 0 0 3px #ffffffb3,0 0 0 4px #d8e5dc}.go-chart-tooltip .ant-tooltip-container{padding:0;border:1px solid #DFE8E2;border-radius:11px;box-shadow:0 6px 24px #193d2a18;overflow:hidden}.go-chart-tip{min-width:180px;padding:15px 17px;color:#294335}.go-chart-tip header{font-size:13px;display:flex;align-items:center;gap:7px}.go-chart-tip header i{width:8px;height:8px;border-radius:3px}.go-chart-tip>div{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-top:13px}.go-chart-tip strong{font-size:26px;font-weight:600}.go-chart-tip small{font-size:12px;font-weight:400;margin-left:4px;color:#6a7e70}.go-chart-tip>div>span{font-size:12px;color:#6a7e70}.go-chart-tip footer{border-top:1px solid #E6EDE8;margin-top:10px;padding-top:9px;font-size:11px;color:#829188}.go-score-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;background:#f3f8f5;border:1px solid #E0EBE3;border-radius:13px;padding:18px 22px;gap:22px;margin-bottom:23px}.go-score-summary>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;color:#6c8072}.go-score-summary>div+div{border-left:1px solid #DAE6DD;padding-left:22px}.go-score-summary strong{font-size:27px;font-weight:600;color:#274b37;margin-left:auto}.go-score-summary small{font-size:12px;font-weight:400;margin-left:4px;color:#6c8072}.go-range-dot{display:block;width:9px;height:9px;border-radius:3px}.go-scores-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.go-scores-toolbar>.ant-input-affix-wrapper{max-width:310px}.go-score-person strong{display:block;font-size:14px;font-weight:550}.go-score-person small{display:block;font-size:11px;color:#7b8e80;margin-top:6px;overflow-wrap:anywhere}.go-score-total>strong{font-size:23px;color:#2c5140;font-weight:600}.go-score-total>small{font-size:12px;margin-left:4px;color:#7c8d81}.go-score-total>span{display:block;font-size:11px;color:#778d7d}.go-score-dates{font-size:13px;line-height:1.7}.go-score-dates small{display:block;color:#8b7966;font-size:12px}.go-scores-modal .ant-table{font-size:13px}.go-scores-modal .ant-table-thead>tr>th{font-size:12px;color:#6b7f70}.go-scores-modal .ant-table-tbody>tr>td{padding:14px 12px}.go-score-breakdown{display:grid;gap:0;padding:4px 12px}.go-score-breakdown>div{display:grid;grid-template-columns:minmax(110px,1fr) 110px 120px 1fr auto;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #E2EAE4;font-size:12px}.go-score-breakdown strong{font-weight:550}.go-score-breakdown small{font-size:11px;color:#7a8b7f}.go-scores-note{font-size:12px;color:#829286;line-height:1.8;margin:12px 0 0}@media(max-width:650px){.go-score-summary{padding:14px;gap:12px}.go-score-summary>div{display:block;font-size:11px}.go-score-summary>div+div{padding-left:10px}.go-score-summary strong{display:block;font-size:23px;margin:7px 0 0}.go-score-summary .go-range-dot{margin-bottom:7px}.go-scores-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.go-scores-toolbar>.ant-input-affix-wrapper{max-width:none}.go-score-breakdown>div{grid-template-columns:1fr 1fr}.go-score-breakdown>div .ant-btn{justify-self:start}}.go-scores-modal .ant-modal-container{display:flex;flex-direction:column;max-height:calc(100dvh - 32px)}.go-scores-modal .ant-modal-header,.go-scores-modal .ant-modal-footer{flex-shrink:0}.go-scores-modal .ant-modal-body{flex:1;min-height:0;max-height:none;overflow-y:auto}.go-help-entry .go-help-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:#e9f0eb;color:#4e705b;line-height:1;overflow:hidden}.go-help-entry .go-help-mark svg{display:block;width:16px;height:16px;flex-shrink:0}.go-help-entry .ant-btn-icon{display:flex;align-items:center;margin-inline-end:6px}.go-project-search{display:flex;gap:10px;align-items:center;max-width:500px;width:65%}.go-project-search>.ant-input-affix-wrapper{flex:1}.go-project-search>.ant-select{min-width:120px}.go-raw-value{font-size:15px;font-weight:550;color:#355140}.go-project-score{font-size:21px;font-weight:600;white-space:nowrap}.go-project-score small{font-size:12px;font-weight:400;color:#7f9184}.go-result-state{background:#f0f4f1;border:0;color:#6f8175;font-size:11px}.go-project-modal .ant-table-cell{vertical-align:middle}.go-project-modal .go-score-summary>div:first-child strong{font-size:30px}@media(max-width:650px){.go-project-search{width:100%;max-width:none}.go-project-search>.ant-select{min-width:100px}}.go-project-search>.ant-select{min-width:156px}.grade-overview header.go-toolbar{padding:12px 20px;gap:18px}.grade-overview .go-toolbar .go-cohort-badge{min-height:46px;min-width:62px;padding:8px;font-size:18px}.grade-overview .go-toolbar .go-scope-heading{gap:14px}.grade-overview .go-toolbar .go-scope-heading h2{font-size:16px;margin-bottom:6px;line-height:1.4}.grade-overview .go-toolbar .go-scope-meta{font-size:12px}.grade-overview .go-toolbar .go-actions .ant-btn{height:36px;font-size:13px}.grade-overview .go-toolbar .go-actions .ant-btn-primary{background:transparent;color:#557461;border-color:#d4e2d8;box-shadow:none}.grade-overview .go-project-panel>header{align-items:center;flex-wrap:wrap}.grade-overview .go-focus-card>strong.gp-inline-meta{display:flex;gap:10px;font-size:17px;color:#29493c}.grade-overview .go-project-panel .go-score-legend{margin-top:14px}.grade-overview .go-view-title{font-size:13px;font-weight:400;color:#62796b}.grade-overview .go-project-panel .go-body-link>.gp-inline-meta{color:inherit;font-size:14px}.grade-overview{--go-green:#147C6B;--go-ink:#243E36;color:var(--go-ink);display:grid;gap:20px;min-width:0;padding-bottom:24px}.go-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.go-toolbar strong{font-size:18px;line-height:1.6}.go-toolbar p,.go-panel header p,.go-note{color:#62766d;font-size:14px;line-height:1.7;margin:8px 0 0}.go-actions{display:flex;gap:8px;flex-shrink:0}.go-welcome{background:#fff;border:1px solid #DEE9E3;border-radius:18px;text-align:center;padding:64px 20px}.go-welcome-icon{font-size:40px;color:var(--go-green)}.go-welcome h2{font-size:26px;font-weight:600}.go-welcome p{line-height:1.9;color:#62766d;margin:16px 0 24px}.go-filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.go-filters>label{margin-left:auto;display:flex;gap:10px;align-items:center}.go-filters .ant-select{min-width:180px}.go-top-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:20px}.go-panel{background:#fff;border:1px solid #DEE9E3;border-radius:18px;padding:26px;min-width:0}.go-panel header{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.go-panel h2{margin:0;font-size:20px;font-weight:600}.go-average{text-align:right;flex-shrink:0}.go-average>span{font-size:13px;color:#62766d}.go-average strong{display:block;font-size:32px;font-weight:600;line-height:1.5}.go-average small{font-size:14px;margin-left:5px;font-weight:400}.go-no-composite{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:190px;gap:8px}.go-no-composite>.anticon{font-size:32px;color:#8ca99b}.go-no-composite h3{margin:12px 0 0;font-size:18px;font-weight:500}.go-no-composite p{color:#62766d;line-height:1.7}.go-histogram{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin-top:28px}.go-histogram button{background:none;border:none;cursor:pointer;font:inherit;color:inherit;min-width:0;padding:0}.go-histogram strong{display:block;font-weight:600;font-size:18px}.go-histogram strong small{font-size:12px;margin-left:3px;font-weight:400}.go-histogram button>small{display:block;font-size:12px;margin-top:9px;white-space:nowrap}.go-hist-track{height:130px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #DEE9E3;margin-top:10px}.go-hist-track i{width:65%;background:#72b6a2;border-radius:5px 5px 0 0;min-height:0}.go-attention>button{position:relative;display:block;background:#f3f8f5;border:1px solid #E1ECE5;border-radius:12px;text-align:left;width:100%;color:inherit;cursor:pointer;padding:18px 28px 14px 16px;margin-top:18px;font:inherit}.go-attention button>span:first-child{display:block;font-size:12px;color:#62766d;margin-bottom:8px}.go-attention button strong{font-size:18px;line-height:1.5}.go-attention p{font-size:14px;line-height:1.8;color:#62766d}.go-attention button>.anticon{position:absolute;right:12px;top:24px}.go-projects{margin-top:12px}.go-project{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(100px,1.3fr) minmax(120px,auto);gap:20px;align-items:center;padding:18px 0;border:0;border-bottom:1px solid #EDF2EE;background:none;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.go-project-label strong{display:block;font-size:16px;font-weight:550}.go-project-label small{display:block;font-size:13px;color:#62766d;margin-top:5px}.go-project-track{height:11px;background:#eef4f0;border-radius:5px;overflow:hidden}.go-project-track i{display:block;height:100%;background:#7abaa5;border-radius:5px}.go-project-value{text-align:right;font-size:23px;white-space:nowrap;font-weight:600}.go-project-value small{font-size:13px;font-weight:400;color:#62766d}.go-project-value>.anticon{font-size:12px;margin-left:10px;color:#8b9c94}.go-body-link{background:#f7faf8;border:0;border-radius:9px;padding:14px 16px;margin-top:12px;width:100%;display:flex;justify-content:space-between;gap:16px;cursor:pointer;font:inherit;color:inherit}.go-body-link span{color:var(--go-green);font-size:14px}.go-form{display:grid;gap:20px}.go-form h3{margin:0;font-size:20px}.go-form label{display:grid;gap:8px}.go-form .ant-select{width:100%;min-width:0}.go-form p{margin:0;color:#62766d;line-height:1.8}.go-form fieldset{margin:0;padding:14px;border:1px solid #DEE9E3;border-radius:10px;min-width:0}.go-form legend{font-size:16px;padding:0 7px}.go-form fieldset .ant-radio-wrapper{display:inline-flex;margin-bottom:12px}.go-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.go-drawer-footer{display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap}.go-drawer-footer>span{margin-right:auto;font-size:13px;color:#62766d}.go-test-list{display:grid;gap:10px}.go-form .go-test-choice{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #DEE9E3;border-radius:12px;cursor:pointer}.go-test-choice>span{min-width:0}.go-test-choice strong{display:block;font-size:16px;overflow-wrap:anywhere}.go-test-choice small{display:block;margin-top:7px;font-size:13px;color:#62766d;line-height:1.6;overflow-wrap:anywhere}.go-number{display:block;font-size:12px;color:#62766d;overflow-wrap:anywhere}.go-loading{padding:50px;display:flex;gap:12px}.grade-overview button:focus-visible{outline:2px solid #147C6B;outline-offset:3px}.grade-overview button:hover .go-project-track i{background:#358f76}@media(max-width:1100px){.go-top-grid{grid-template-columns:1fr}.go-attention{display:grid;grid-template-columns:1fr 1fr;gap:14px}.go-attention>header{grid-column:1/-1}.go-attention>button{margin-top:0}.go-toolbar{align-items:flex-start}}@media(max-width:650px){.grade-overview{gap:14px}.go-toolbar{flex-direction:column;gap:8px}.go-toolbar strong{font-size:16px}.go-toolbar p{font-size:13px}.go-panel{padding:18px;border-radius:13px}.go-attention{display:block}.go-attention>button{margin-top:14px}.go-project{grid-template-columns:1fr auto;gap:12px;padding:16px 0}.go-project-track{grid-row:2;grid-column:1/-1}.go-project-value{font-size:20px}.go-project-label{min-width:0}.go-project-label strong{overflow-wrap:anywhere}.go-histogram{gap:7px}.go-histogram button>small{font-size:10px}.go-body-link{flex-direction:column;gap:8px}.go-filters>label{margin-left:0}.go-panel header{gap:10px}.go-average strong{font-size:26px}.go-date-grid{grid-template-columns:1fr}.go-welcome{padding:40px 16px}.go-drawer-footer>span{width:100%;margin:0}.go-filters .ant-radio-button-wrapper{padding-inline:14px}}.go-start-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.go-import-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.go-import-heading h3{margin:0;font-size:22px}.go-import-heading p{font-size:14px;color:#62766d;line-height:1.8}.go-import-heading>.ant-btn{flex-shrink:0}.go-import-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:24px;margin-top:24px;align-items:start}.go-file-button{height:auto;white-space:normal;text-align:left;overflow-wrap:anywhere;max-width:100%;padding:0}.go-import-preview{padding:22px;background:#f5f9f6;border:1px solid #DDE9E1;border-radius:14px;min-width:0}.go-import-preview h3{font-size:18px;overflow-wrap:anywhere;margin-top:0}.go-import-preview dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px 12px;line-height:1.8}.go-import-preview dt{color:#62766d}.go-import-preview dd{margin:0;overflow-wrap:anywhere}.go-import-preview .ant-alert{margin-bottom:15px}.go-import-preview>p{overflow-wrap:anywhere}@media(max-width:650px){.go-import-grid{grid-template-columns:1fr}.go-import-heading{display:block}.go-actions{flex-wrap:wrap}.go-start-actions{flex-direction:column}}.go-filters .ant-radio-group{display:inline-flex;align-items:center}.go-filters .ant-radio-button-wrapper{display:inline-flex;align-items:center;margin:0;gap:0}.go-centered-modal{max-width:calc(100vw - 64px);padding-bottom:0}.go-centered-modal .ant-modal-container{padding:28px 32px 22px;border-radius:20px}.go-centered-modal .ant-modal-body{max-height:calc(100dvh - 270px);overflow-y:auto;overscroll-behavior:contain;padding:8px 2px 2px}.go-centered-modal .ant-modal-footer{border-top:1px solid #E6EEE9;margin-top:22px;padding-top:18px}.go-modal-title>span{display:block;font-size:12px;font-weight:500;color:#648276;margin-bottom:7px;letter-spacing:.08em}.go-modal-title h2{font-size:25px;line-height:1.4;font-weight:600;color:#203d32;margin:0}.go-modal-title p{font-size:14px;color:#687b72;font-weight:400;margin:9px 0 12px;line-height:1.7}.go-upload-zone{margin:12px 0 18px;border:1px dashed #9FC8B6;border-radius:16px;background:#f6faf8;min-height:270px;padding:30px 20px;text-align:center}.go-upload-symbol{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 15px;border-radius:18px;background:#e7f2ec;color:#147c6b;font-size:27px}.go-upload-zone h3{font-size:21px;margin:0;font-weight:550}.go-upload-zone p{font-size:14px;color:#687b72;margin:12px 0 22px}.go-import-flow{display:flex;justify-content:center;gap:25px;color:#6c7e74;font-size:13px;margin-top:24px}.go-modal-hint{font-size:13px;color:#718078;margin:16px 0 0;line-height:1.8}.go-import-modal .go-import-grid{margin-top:4px}.go-import-modal .go-import-heading h3{font-size:17px}.go-import-modal .go-import-heading{margin:4px 0 18px}.go-import-modal .go-import-preview{padding:22px;min-height:230px}.go-import-modal .go-import-grid .ant-table{font-size:14px}.go-stepper{display:flex;align-items:center;gap:18px;color:#7c8b83;margin:4px 0 25px;font-size:14px}.go-stepper .is-current{color:#147c6b;font-weight:600}.go-stepper i{width:42px;height:1px;background:#d5e3da}.go-basic-fields{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:20px}.go-selection-form{gap:22px}.go-selection-form fieldset{padding:0;border:0}.go-selection-form legend{padding:0;margin-bottom:11px}.go-selection-form fieldset .ant-radio-group{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}.go-selection-form fieldset .ant-radio-wrapper{display:flex;align-items:center;margin:0;padding:15px;border:1px solid #DDE7E0;border-radius:12px;background:#fff}.go-selection-form fieldset .ant-radio-wrapper-checked{background:#f0f7f3;border-color:#7cae98}.go-selection-form fieldset .ant-radio-wrapper strong{display:block;font-weight:550;font-size:16px}.go-selection-form fieldset .ant-radio-wrapper small{display:block;font-size:12px;color:#718078;margin-top:5px}.go-selection-form fieldset>p{font-size:13px;margin-top:10px}.go-range-preview{padding:15px 18px;border-radius:12px;background:#f1f6f3;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.go-range-preview>strong{font-size:26px;color:#147c6b}.go-range-preview>span{font-size:14px;color:#425d4d}.go-range-preview>small{font-size:12px;color:#718078;margin-left:auto}.go-selection-modal .go-test-list{max-height:360px;overflow:auto;padding:2px}.go-selection-modal .go-form h3{font-size:17px}@media(max-width:650px){.go-centered-modal{max-width:calc(100vw - 24px)}.go-centered-modal .ant-modal-container{padding:20px 16px}.go-centered-modal .ant-modal-body{max-height:calc(100dvh - 280px)}.go-basic-fields,.go-selection-form fieldset .ant-radio-group{grid-template-columns:1fr}.go-import-flow{gap:12px;flex-wrap:wrap}.go-range-preview>small{margin-left:0;width:100%}.go-modal-title h2{font-size:21px}}@media(min-width:651px)and (max-width:1100px){.grade-overview .go-attention{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.grade-overview .go-attention>header{grid-column:1/-1;min-width:0}.grade-overview .go-attention>button.go-focus-card{margin-top:0;min-width:0;height:100%}.grade-overview .go-attention>.go-completeness-note{margin:0;padding:16px 0;min-width:0}}.go-detail-scroll{max-height:calc(100dvh - 300px);overflow:auto;padding:2px}.go-centered-modal .ant-modal-body:has(>.go-detail-scroll){overflow:hidden}.gf-empty-distribution{padding:45px 16px;text-align:center;background:#f7faf8;border-radius:10px;color:#62796b}.go-histogram button:disabled{cursor:default}.go-histogram button:disabled:hover{background:transparent}.admin-roster-modal .ant-modal{max-width:calc(100vw - 48px);top:32px;padding-bottom:24px}.admin-roster-modal .ant-modal-body{max-height:calc(100dvh - 200px);overflow:auto;overscroll-behavior:contain;padding-right:6px}.admin-roster-modal .ant-modal-title{color:#174c3b}.admin-roster-modal .ant-alert{margin:10px 0}.admin-file-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-file-actions input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.admin-file-actions span,.admin-muted,.admin-repreview small{color:#62716b;font-size:13px}.admin-sheets{margin:14px 0}.admin-sheets small{display:block;color:#62716b;margin-top:6px}.admin-summary{display:flex;gap:8px;flex-direction:column;margin:16px 0 8px}.admin-summary strong{color:#174c3b;font-size:18px}.admin-roster-modal .ant-checkbox-wrapper{margin:12px 12px 4px 0}.admin-roster-modal td{overflow-wrap:anywhere}.admin-repreview{display:flex;gap:12px;align-items:center;margin-top:16px}.formal-toolbar-actions,.formal-roster-toolbar{flex-wrap:wrap}.teacher-students-page{min-width:0;color:var(--brand-deep)}.teacher-students-tabs{display:flex;gap:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.teacher-students-tabs .ant-btn{position:relative;min-width:96px;min-height:48px;padding:0 8px;border:0;border-radius:0;background:transparent;color:#527066;font-size:15px;box-shadow:none}.teacher-students-tabs .ant-btn[aria-selected=true]{background:transparent;color:var(--brand-deep);font-weight:600}.teacher-students-tabs .ant-btn[aria-selected=true]:after{content:"";position:absolute;height:2px;background:var(--brand-green);bottom:-1px;left:0;right:0}.teacher-students-tabs .ant-btn:hover{background:#edf3ef;color:var(--brand-deep)}.teacher-students-tabs .ant-btn:active{background:#e2ede6}.teacher-students-tabs .ant-btn:focus-visible{outline:2px solid var(--brand-green);outline-offset:-3px}.teacher-students-page .teacher-roster-summary{display:flex;gap:32px;margin:0 0 20px;flex-wrap:wrap}.teacher-roster-summary span{display:flex;align-items:baseline;gap:10px;color:#527066;font-size:13px}.teacher-roster-summary strong{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;color:#203d33}.teacher-roster-summary .teacher-roster-pending{display:flex;align-items:baseline;gap:10px;padding:0 8px;color:#527066;font-size:13px;min-height:44px}.teacher-students-page .roster-toolbar{margin-bottom:20px;align-items:center}.teacher-students-page .roster-toolbar h4{margin:0;font-size:20px}.teacher-students-page .roster-filters{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(160px,1fr) 130px 140px 150px;gap:12px;margin-bottom:16px}.teacher-students-page .roster-filters .ant-select{width:100%;min-width:0}.teacher-students-page .roster-filters select{width:100%;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:inherit;font-size:14px;color:var(--brand-deep)}.teacher-students-page .roster-filters select:hover{border-color:#9eb7a9}.teacher-students-page .roster-filters select:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.teacher-students-page .roster-table-card .ant-card-body{padding:24px}.teacher-students-page .ant-table-row{cursor:default}.teacher-students-page .ant-table-cell{overflow-wrap:anywhere}.teacher-students-page .teacher-roster-number{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.teacher-students-page .teacher-roster-student{color:var(--brand-green-dark);font-weight:500;padding:0;min-height:44px;text-align:left;white-space:normal;height:auto;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#91b49e}.teacher-students-page .teacher-roster-student:hover{color:var(--brand-deep);text-decoration-color:currentColor;background:#f1f7f3}.teacher-students-page .teacher-roster-student:active{background:#e5efe8;color:var(--brand-deep)}.teacher-students-page .teacher-roster-student:focus-visible{outline:2px solid var(--brand-green);outline-offset:3px}.teacher-students-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:20px}.teacher-students-toolbar h2{font-size:20px;margin:0 0 4px}.teacher-students-toolbar>div>span,.teacher-students-secondary{font-size:13px;color:#527066}.teacher-students-actions{display:flex;gap:12px}.teacher-classes-surface{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.teacher-class-search{max-width:400px;margin-bottom:20px}.teacher-class-name{display:grid;gap:4px}.teacher-class-name small{font-size:12px;color:#527066;overflow-wrap:anywhere}.teacher-student-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.teacher-student-detail-heading h2{font-size:26px;margin:0 0 8px;overflow-wrap:anywhere}.teacher-student-detail-heading span{color:#527066;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.teacher-student-number{display:flex;align-items:baseline;gap:8px;margin-top:8px;min-width:0}.teacher-student-number>.ant-typography{min-width:0;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;color:var(--brand-deep)}.teacher-student-detail .teacher-student-class-list{list-style:none;padding:0;margin:8px 0 24px}.teacher-student-class-list li{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}.teacher-student-class-list small{display:flex;gap:12px;flex-wrap:wrap;color:#527066}.teacher-student-class-list strong,.teacher-student-class-list .teacher-student-class-id{overflow-wrap:anywhere}.teacher-class-protection{min-width:0}.teacher-class-protection summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#527066;list-style:none}.teacher-class-protection summary:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.teacher-class-protection[open] summary .anticon{transform:rotate(180deg)}.teacher-class-protection p{margin:0 0 8px;line-height:1.6;font-size:13px;color:#527066}.teacher-student-facts{margin:24px 0}.teacher-student-facts>div{display:grid;grid-template-columns:96px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.teacher-student-facts dt{color:#527066}.teacher-student-facts dd{margin:0;overflow-wrap:anywhere}.teacher-student-facts dd p{margin:0 0 8px}.teacher-student-facts dd small{display:block;color:#527066;font-size:12px}.teacher-student-history{padding:0;list-style:none}.teacher-student-history li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.teacher-student-history li>div{display:grid;gap:6px;min-width:0}.teacher-student-history span{font-size:13px;color:#527066}.teacher-student-history .teacher-history-measurement{font-size:16px;color:var(--brand-deep);font-variant-numeric:tabular-nums}.teacher-students-page .ant-table-thead>tr>th{background:#f3f5f4;color:#527066;font-weight:500;font-size:13px;height:56px;padding:12px 16px}.teacher-students-page .ant-table-tbody>tr>td{height:60px;padding:8px 16px;font-size:14px;line-height:22px;border-bottom-color:var(--line);background:#fff;vertical-align:middle}.teacher-students-page .ant-table-tbody>tr:hover>td,.teacher-students-page .ant-table-tbody .ant-table-cell-row-hover{background:#f6faf7!important}.teacher-students-page .roster-bulk-table .ant-table-row-selected>td{background:#e5f0e9!important}.teacher-students-page .roster-bulk-table .ant-table-row-selected:hover>td,.teacher-students-page .roster-bulk-table .ant-table-row-selected .ant-table-cell-row-hover{background:#dcebe1!important}.teacher-students-page .roster-bulk-actions{background:#eff6f1;padding:12px 16px;border-radius:8px}.teacher-profile-complete{font-size:13px;color:#527066}.teacher-roster-row-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.teacher-roster-row-actions .ant-btn{min-height:44px}.teacher-roster-row-actions .ant-btn-icon-only{width:44px;min-width:44px}.teacher-roster-row-actions .teacher-view-profile{padding:0 8px;color:var(--brand-deep);font-size:14px;gap:8px}.teacher-student-row-menu{position:fixed;width:168px;z-index:1050;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #203d331f}.teacher-student-row-menu .ant-menu{border:0!important;background:transparent}.teacher-student-row-menu .ant-menu-item{min-height:44px;height:44px;margin:0!important;width:100%!important;font-size:14px}.teacher-student-row-menu .ant-menu-item:focus-visible{outline:2px solid var(--brand-green);outline-offset:-2px}.teacher-student-delete-confirm .ant-btn{min-height:44px;min-width:64px}.teacher-student-delete-confirm .ant-btn[aria-label=删除]{background:#c2413a!important;border-color:#c2413a!important;color:#fff!important;box-shadow:none}.teacher-student-delete-confirm .ant-btn[aria-label=删除]:hover{background:#c2413a!important;filter:brightness(.95)}.teacher-student-delete-confirm .ant-btn[aria-label=删除]:active{background:#c2413a!important;filter:brightness(.9)}.teacher-student-delete-confirm .ant-btn:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.teacher-students-page .ant-btn:focus-visible,.teacher-student-detail .ant-btn:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.teacher-class-id-details{font-size:12px;color:#527066;line-height:20px}.teacher-class-id-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;min-height:24px;width:fit-content}.teacher-class-id-details summary:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.teacher-class-id-details small{overflow-wrap:anywhere}.teacher-class-id-details[open] summary .anticon{transform:rotate(180deg)}.teacher-student-detail .ant-drawer-header{padding:20px 24px;border-bottom-color:var(--line)}.teacher-student-detail .ant-drawer-body{padding:24px;overflow-y:auto;overscroll-behavior:contain}.teacher-student-detail h3{font-size:15px;font-weight:600;line-height:24px;margin:24px 0 12px;color:var(--brand-deep)}.teacher-student-detail-heading>div{min-width:0;flex:1}.teacher-student-detail-heading>.ant-btn{flex-shrink:0;min-height:44px}.teacher-student-facts>div{padding:14px 0;font-size:14px}.teacher-student-history li{padding:16px 0;line-height:22px}.teacher-student-class-list strong,.teacher-student-history strong{font-weight:500}.teacher-students-page .ant-table-pagination{margin:20px 0 0!important}@media(max-width:1250px){.teacher-students-page .roster-filters{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 130px}.teacher-students-page .roster-filters>*:nth-child(4),.teacher-students-page .roster-filters>*:nth-child(5){grid-row:2}}@media(max-width:760px){.teacher-students-page .roster-filters{grid-template-columns:1fr 1fr}.teacher-students-actions{flex-wrap:wrap}.teacher-classes-surface{padding:16px}.teacher-student-detail-heading{flex-wrap:wrap}}.teacher-class-picker{margin:16px 0;display:grid;gap:8px}.teacher-class-picker>label{display:grid;gap:8px}.teacher-class-review-list{display:block;max-height:50vh;overflow:auto;margin:16px 0}.teacher-class-review-list>section{padding:12px 0;border-bottom:1px solid #e3e9e5}.teacher-class-facts p{margin:8px 0}.teacher-class-facts ul{padding-left:20px;overflow-wrap:anywhere}.teacher-roster-export-scopes{display:grid;gap:16px;margin:16px 0}.teacher-classes-surface .ant-table-cell:last-child{white-space:nowrap}.teacher-classes-surface .ant-table-cell:last-child .ant-btn{padding-inline:6px}.desktop-shell--student-roster .desktop-shell__content{padding-top:24px}.desktop-shell--student-roster .desktop-shell__heading{margin-bottom:16px}.desktop-shell--student-roster .desktop-shell__heading h1{margin:0}.formal-roster{min-width:0;color:var(--brand-deep);font-size:16px;line-height:1.6;--roster-secondary:#53685d}.formal-roster-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.formal-roster-toolbar>.ant-input-affix-wrapper{width:360px;max-width:55%;min-height:44px;border-radius:10px;background:#fff}.formal-toolbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.formal-roster .ant-btn{min-height:44px;font-size:16px;border-radius:9px}.formal-roster .ant-btn-primary{box-shadow:none}.formal-roster-body{display:grid;grid-template-columns:208px minmax(0,1fr);gap:24px;padding:24px;background:#fff;border:1px solid #e4ebe6;border-radius:16px;align-items:start}.formal-mobile-scope-trigger.ant-btn{display:none}.formal-roster-sidebar{min-width:0;border-right:1px solid #e9eeea;padding-right:24px}.formal-sidebar-label{display:block;font-size:14px;color:var(--roster-secondary);margin-bottom:8px}.formal-roster-sidebar>.ant-select{width:100%;min-height:44px}.formal-sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 8px;font-size:14px;color:var(--roster-secondary)}.formal-sidebar-heading .ant-btn{font-size:14px;padding-inline:8px}.formal-class-list{display:grid;gap:4px}.formal-class-list button,.formal-extra-scopes button,.formal-cohort-pending{border:0;background:transparent;border-radius:8px;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:8px;width:100%;font:inherit;color:#3c594c;cursor:pointer;min-height:44px}.formal-class-list button[aria-current=page],.formal-extra-scopes button[aria-current=page],.formal-cohort-pending[aria-current=page],.formal-archive-scope[aria-current=page]{background:#e5efe7;color:#087d5c;font-weight:600}.formal-class-list button:hover,.formal-extra-scopes button:hover,.formal-cohort-pending:hover,.formal-archive-scope:hover{background:#edf3ee}.formal-roster button:focus-visible{outline:2px solid #087d5c;outline-offset:2px}.formal-class-list small{font-size:14px;color:var(--roster-secondary);margin-left:8px}.formal-class-list button>span:last-child,.formal-extra-scopes button>span,.formal-cohort-pending>span,.formal-archive-scope span:last-child{font-size:14px;color:var(--roster-secondary);font-variant-numeric:tabular-nums}.formal-extra-scopes{border-top:1px solid var(--line);padding-top:12px;margin-top:16px;display:grid;gap:2px}.formal-global-label{border-top:1px solid var(--line);margin:16px 0 4px;padding-top:12px;font-size:14px;color:var(--roster-secondary)}.formal-sidebar-empty{font-size:14px;line-height:1.7;color:var(--roster-secondary);margin:8px 10px 16px}.formal-archive-scope{margin-top:16px;border:0;border-top:1px solid var(--line);padding:16px 10px 10px;width:100%;display:flex;align-items:center;gap:8px;background:transparent;color:var(--roster-secondary);cursor:pointer;font:inherit;min-height:44px}.formal-archive-scope span:last-child{margin-left:auto}.formal-roster-main{min-width:0}.formal-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;min-height:54px}.formal-list-heading h2{font-size:22px;line-height:1.5;font-weight:600;margin:0;overflow-wrap:anywhere}.formal-list-heading p{margin:4px 0 0;color:var(--roster-secondary);font-size:14px}.formal-list-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.formal-roster-main>.ant-alert{margin-bottom:16px}.formal-roster .ant-table{background:transparent;font-size:16px}.formal-roster .ant-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.formal-roster .ant-table-thead>tr>th{font-size:15px;font-weight:600;color:var(--roster-secondary);background:#f4f7f5;padding:12px}.formal-roster .ant-table-tbody>tr>td{padding:6px 12px;height:56px;border-color:#e8eeea;font-size:16px}.formal-roster .ant-table-cell.formal-student-action-cell{overflow:visible;text-overflow:clip;text-align:center}.formal-student-view.ant-btn{color:#087d5c;min-height:44px;min-width:80px;padding:4px 8px;white-space:nowrap}.formal-student-number{font-variant-numeric:tabular-nums;font-size:16px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:26px}.formal-student-number:focus-visible{outline:2px solid #087d5c;outline-offset:2px}.formal-student-open.ant-btn{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:#087d5c}.formal-pending-text{color:#826020;font-size:14px}.formal-muted{color:var(--roster-secondary,#53685d);font-size:14px;line-height:1.7}.formal-roster .ant-table-pagination{min-height:44px;margin:16px 0 0;align-items:center}.formal-roster .ant-pagination-item,.formal-roster .ant-pagination-prev,.formal-roster .ant-pagination-next{min-width:44px;height:44px;line-height:42px}.formal-roster .ant-pagination-total-text{font-size:14px;line-height:44px;height:44px}.formal-roster .ant-table-row-selected>td{background:#edf7f1!important}.formal-roster-loading{display:flex;gap:16px;align-items:center;min-height:120px;color:#53685d;font-size:16px}.formal-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;background:#f0f7f3;border:1px solid #d7e8df;border-radius:10px;margin-bottom:16px}.formal-bulk-toolbar>span{font-size:16px;color:#3c594c;margin-right:4px}.formal-bulk-toolbar .ant-btn{font-size:14px;border-radius:8px}.formal-bulk-field{display:grid;gap:8px;margin:18px 0;color:#53685d;font-size:16px}.formal-bulk-field .ant-select,.formal-bulk-field .ant-input-number{width:100%}.formal-bulk-dialog .ant-table{margin-top:20px}.formal-bulk-dialog .ant-table-cell{overflow-wrap:anywhere}.formal-roster-drawer,.formal-roster-dialog{font-size:16px;line-height:1.6;color:var(--brand-deep)}.formal-roster-drawer .ant-btn,.formal-roster-dialog .ant-btn{min-height:44px;font-size:16px}.formal-roster-drawer .ant-drawer-title,.formal-roster-dialog .ant-modal-title{font-size:20px}.formal-roster-drawer .ant-drawer-close,.formal-roster-dialog .ant-modal-close{width:44px;height:44px}.formal-roster-drawer .ant-btn:focus-visible,.formal-roster-dialog .ant-btn:focus-visible{outline:2px solid #087d5c;outline-offset:2px}.formal-student-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.formal-student-detail-header h2{font-size:26px;line-height:1.5;margin:0;overflow-wrap:anywhere}.formal-student-detail-number{display:flex;gap:12px;align-items:flex-start;margin:12px 0 24px;color:#53685d;font-size:16px}.formal-student-detail-number .ant-typography{overflow-wrap:anywhere;min-width:0;font-variant-numeric:tabular-nums}.formal-student-facts{margin:0;display:grid;gap:18px}.formal-student-facts>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px}.formal-student-facts dt{font-size:16px;color:#53685d}.formal-student-facts dd{margin:0;font-size:16px;overflow-wrap:anywhere}.formal-student-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.formal-student-history{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.formal-student-history h3,.formal-student-management h3{font-size:18px;font-weight:600;margin:0 0 16px}.formal-student-history ul{list-style:none;padding:0;margin:0}.formal-student-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.formal-student-history li>div{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.formal-student-history li span{font-size:14px;color:#53685d}.formal-student-management{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.formal-student-management>.ant-btn{margin:0 10px 8px 0}.formal-class-management{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.formal-roster-dialog .ant-modal{top:24px;padding-bottom:24px}.formal-roster-dialog .ant-modal-container{max-height:calc(100dvh - 48px);display:flex;flex-direction:column}.formal-roster-dialog .ant-modal-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}.formal-roster-dialog .ant-modal-footer,.formal-roster-dialog .ant-modal-header{flex-shrink:0}.formal-roster-dialog .ant-form{margin-top:20px}.formal-roster-dialog .ant-form-item{margin-bottom:16px}.formal-roster-dialog .ant-input,.formal-roster-dialog .ant-input-number,.formal-roster-dialog .ant-select-single{min-height:44px;font-size:16px}.formal-roster-dialog .ant-checkbox-wrapper{display:flex;align-items:center;min-height:44px;font-size:16px}.formal-roster-dialog .ant-alert{margin:12px 0}.formal-roster-dialog .ant-btn-dangerous.ant-btn-primary{background:#b73535;border-color:#b73535}.formal-dialog-person{display:grid;gap:5px;border-bottom:1px solid var(--line);padding-bottom:14px;overflow-wrap:anywhere}.formal-dialog-person span{font-size:16px;color:#53685d}.formal-number-preview{background:#eef5ef;color:#365b46;border-radius:6px;padding:10px 12px;font-size:14px;margin:-8px 0 18px}.formal-dialog-note{font-size:14px;line-height:1.7;color:#53685d;overflow-wrap:anywhere}.formal-readonly-number{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;padding:4px 0}.formal-management-menu .ant-dropdown-menu-item,.formal-tools-menu .ant-dropdown-menu-item{min-height:44px;padding:10px 12px;font-size:16px}.formal-management-menu .ant-dropdown-menu,.formal-tools-menu .ant-dropdown-menu{min-width:200px}@media(max-width:1380px){.formal-roster-body{grid-template-columns:192px minmax(0,1fr);gap:20px}.formal-roster-sidebar{padding-right:16px}}@media(max-width:1100px){.formal-roster-toolbar{flex-wrap:wrap;gap:12px}.formal-roster-toolbar>.ant-input-affix-wrapper{width:100%;max-width:none}.formal-roster-body{padding:20px;grid-template-columns:172px minmax(0,1fr);gap:18px}.formal-roster-sidebar{padding-right:12px}.formal-list-heading{align-items:flex-start;flex-wrap:wrap}.formal-list-actions{justify-content:flex-start}.formal-roster .ant-table-tbody>tr>td{padding:6px 8px}}@media(max-width:640px){.formal-roster-body{display:block;padding:16px;border-radius:12px}.formal-mobile-scope-trigger.ant-btn{display:flex;width:100%;justify-content:flex-start;margin-bottom:20px}.formal-roster-sidebar{display:none;border-right:0;border-bottom:1px solid #e6eee8;padding:0 0 16px;margin-bottom:20px}.formal-roster-body--scopes-open .formal-roster-sidebar{display:block}.formal-roster-sidebar>.ant-select{max-width:220px}.formal-sidebar-heading{margin:16px 0 8px}.formal-class-list{display:flex;overflow-x:auto;padding-bottom:4px}.formal-class-list button{width:auto;flex-shrink:0;gap:16px}.formal-extra-scopes{grid-template-columns:1fr;margin-top:12px;padding-top:12px}.formal-global-label{margin:12px 0 4px;padding-top:12px}.formal-cohort-pending,.formal-archive-scope{display:flex;width:100%;gap:12px;padding:8px 10px;margin:0;min-height:44px;border:0}.formal-toolbar-actions{width:100%;flex-wrap:wrap;gap:8px}.formal-toolbar-actions .ant-btn{padding-inline:12px}.formal-list-heading{gap:12px}.formal-list-heading h2{font-size:22px}.formal-roster .ant-table-tbody>tr>td{height:56px}.formal-bulk-toolbar{padding:10px;gap:6px}.formal-roster-drawer .ant-drawer-content-wrapper{max-width:100vw}.formal-roster .ant-pagination{flex-wrap:wrap}}.formal-mobile-student{display:grid;gap:2px;min-width:0;white-space:normal}.formal-mobile-student-name{font-size:16px;line-height:24px;overflow-wrap:anywhere}.formal-mobile-student .formal-student-number,.formal-mobile-student-context{font-size:14px;line-height:22px;color:#53685d;overflow-wrap:anywhere;white-space:normal}.formal-roster .ant-btn-primary:not(:disabled),.formal-roster-drawer .ant-btn-primary:not(:disabled),.formal-roster-dialog .ant-btn-primary:not(:disabled){background:#087d5c;border-color:#087d5c;color:#fff;box-shadow:none}.formal-roster .ant-btn-primary:not(:disabled):hover,.formal-roster-drawer .ant-btn-primary:not(:disabled):hover,.formal-roster-dialog .ant-btn-primary:not(:disabled):hover{background:#066448!important;border-color:#066448}.formal-roster-dialog .ant-btn-dangerous.ant-btn-primary:not(:disabled){background:#b73535;border-color:#b73535}.formal-roster-dialog .ant-btn-dangerous.ant-btn-primary:not(:disabled):hover{background:#992b2b!important;border-color:#992b2b}@media(max-width:640px){.formal-roster .ant-table-tbody>tr>td{height:68px;vertical-align:middle}.formal-roster .ant-table-thead>tr>th{padding-inline:8px}.formal-mobile-student .formal-student-number{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.formal-roster-sidebar>.ant-btn{height:auto;white-space:normal;width:100%;text-align:left;padding:8px 0;font-size:14px}.formal-roster .ant-empty-description{font-size:16px;color:#53685d;line-height:1.7}.formal-roster-drawer .ant-drawer-body{background:#f3f7f5;padding:24px;display:flex;flex-direction:column;gap:20px;color:#1e3135;font-size:16px}.roster-profile-card,.formal-roster-drawer .formal-student-history,.formal-roster-drawer .formal-student-management{background:#fff;border:1px solid #DCE7E1;border-radius:16px;padding:22px;margin:0;box-shadow:0 2px 6px #1e313504}.formal-roster-drawer .formal-student-detail-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:12px}.formal-roster-drawer .formal-student-detail-header h2{font-size:24px;line-height:1.4;margin:0;overflow-wrap:anywhere}.roster-profile-avatar{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:#e4f2eb;color:#087d5c;font-size:22px;font-weight:600}.formal-roster-drawer .formal-student-detail-number{background:#f4f8f6;border-radius:10px;padding:12px;display:flex;align-items:baseline;gap:10px;margin-bottom:18px;overflow-wrap:anywhere}.formal-roster-drawer .formal-student-detail-number>span:first-child{color:#53685d;flex-shrink:0;font-size:14px}.formal-roster-drawer .formal-student-detail-number .ant-typography{min-width:0;font-size:16px;font-variant-numeric:tabular-nums}.formal-roster-drawer .formal-student-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 20px}.formal-roster-drawer .formal-student-facts>div{display:block;margin:0;min-width:0}.formal-roster-drawer .formal-student-facts>div:nth-child(n+3){grid-column:1/-1}.formal-roster-drawer .formal-student-facts dt{font-size:14px;color:#53685d;margin-bottom:4px}.formal-roster-drawer .formal-student-facts dd{margin:0;font-size:16px;color:#1e3135;overflow-wrap:anywhere}.formal-roster-drawer .formal-student-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}.formal-roster-drawer .formal-muted{font-size:14px;line-height:1.7;margin-bottom:0;color:#53685d}.formal-roster-drawer .ant-btn{min-height:44px;border-radius:9px;font-size:16px}.formal-roster-drawer h3{font-size:18px;margin:0 0 16px;color:#1e3135}.roster-profile-section-heading h3{display:flex;align-items:center;justify-content:space-between;gap:12px}.roster-profile-section-heading h3 span{font-size:14px;color:#53685d;font-weight:400}.formal-roster-drawer .formal-student-history ul{padding:0;margin:0;list-style:none}.formal-roster-drawer .formal-student-history li{padding:16px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid #E6EEE9}.formal-roster-drawer .formal-student-history li:first-child{padding-top:0}.formal-roster-drawer .formal-student-history li>div{min-width:0;display:grid;gap:6px;flex:1;overflow-wrap:anywhere}.formal-roster-drawer .formal-student-history li>div>strong{font-size:16px}.formal-roster-drawer .formal-student-history .roster-history-result{color:#087d5c;font-size:20px;line-height:1.4;font-variant-numeric:tabular-nums}.formal-roster-drawer .formal-student-history li>.ant-btn{flex-shrink:0;padding-inline:8px}.formal-roster-drawer .formal-student-history>.ant-btn{margin-top:12px;width:100%;background:#f3f7f5;color:#087d5c}.formal-roster-drawer .formal-student-management{order:3;background:#fafcfb;box-shadow:none}.formal-roster-drawer .formal-student-management h3{font-size:16px}.roster-edit-dialog .ant-modal{top:0}.roster-edit-dialog .ant-modal-container{padding:24px;border-radius:18px}.roster-edit-dialog .ant-modal-title{font-size:20px;color:#1e3135}.roster-edit-dialog .formal-dialog-person{background:#f1f7f4;border:1px solid #DCE7E1;border-radius:12px;padding:16px;margin-top:18px;gap:6px}.roster-edit-dialog .formal-dialog-person strong{font-size:18px;color:#1e3135}.roster-edit-dialog .formal-dialog-person small{font-size:14px;line-height:1.6;color:#53685d}.roster-edit-dialog .ant-form-item-label>label{font-size:16px;font-weight:500}.roster-edit-dialog .ant-modal-footer{padding-top:16px;border-top:1px solid #E6EEE9}.roster-edit-dialog .ant-modal-footer .ant-btn{min-height:44px;min-width:88px;border-radius:9px;font-size:16px}.roster-edit-dialog textarea{resize:vertical}@media(max-width:640px){.formal-roster-drawer .ant-drawer-body{padding:16px;gap:16px}.roster-profile-card,.formal-roster-drawer .formal-student-history,.formal-roster-drawer .formal-student-management{padding:16px;border-radius:12px}.formal-roster-drawer .formal-student-detail-number{flex-wrap:wrap;gap:4px 10px}.roster-edit-dialog .ant-modal-container{padding:20px}.roster-edit-dialog .ant-modal{max-width:calc(100vw - 24px)}}.overview-screen{font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;color:#223444;display:grid;gap:20px;min-width:0;padding:0}.overview-screen *{box-sizing:border-box}.os-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}.os-heading{min-width:0}.os-toolbar h1{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.4;margin:0 0 10px}.os-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:14px;color:#667888;line-height:1.5}.os-context>span:first-child{color:#4f6576;overflow-wrap:anywhere}.os-context>i{width:3px;height:3px;border-radius:50%;background:#aab4bd}.os-year{color:#87949f}.os-scope{display:flex;align-items:center;gap:12px;flex-shrink:0;color:#5c6d7c;font-size:14px}.os-scope .ant-select{width:240px;max-width:100%}.os-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:20px;min-width:0;align-items:stretch}.os-panel{background:#fff;border:1px solid #E1E7ED;border-radius:18px;padding:24px;min-width:0;box-shadow:0 3px 18px #1a304a03;display:flex;flex-direction:column;min-height:390px}.os-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;min-width:0}.os-panel-heading h2{font-size:19px;font-weight:600;line-height:1.5;margin:0}.os-panel-heading p{color:#718292;font-size:13px;margin:5px 0 0;line-height:1.6;overflow-wrap:anywhere}.os-switch{display:flex;gap:3px;background:#f1f4f7;padding:4px;border-radius:9px}.os-switch button{font:inherit;font-size:14px;color:#667888;background:none;border:0;border-radius:6px;padding:7px 13px;min-height:36px;cursor:pointer}.os-switch button[aria-pressed=true]{background:#fff;color:#294b67;box-shadow:0 1px 4px #243b5310}.os-rows{display:grid;gap:10px}.os-row{font:inherit;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 16px;text-align:left;background:#fafbfd;border:1px solid #E7EDF3;border-radius:10px;padding:12px 14px;width:100%;cursor:pointer}.os-row:disabled{opacity:1;cursor:default;color:inherit}.os-row:not(:disabled):hover{background:#f1f6fb;border-color:#b7cde1}.os-row-name{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-width:0}.os-row-name strong{font-size:15px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.os-row-name small{font-size:12px;color:#7e8b97;white-space:nowrap;line-height:1.9}.os-row-value{font-size:22px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.15}.os-row-value small{font-size:12px;font-weight:400;color:#7a8895;margin-left:4px}.os-row-value .anticon{font-size:10px;color:#8b9cab;margin-left:9px}.os-track{grid-column:1 / -1;height:13px;border-radius:4px;background:#eaf0f5;display:flex;overflow:hidden}.os-track i{display:block;height:100%;transition:opacity .15s}.os-axis{display:flex;justify-content:space-between;font-size:11px;color:#82909e;margin:10px 15px 0}.os-chart-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-top:12px;color:#738392;font-size:12px}.os-pagination{display:flex;align-items:center;gap:8px}.os-pagination .ant-btn{min-width:36px;min-height:36px}.os-pagination>span{white-space:nowrap;font-size:13px}.os-composition-content{display:flex;align-items:center;justify-content:center;gap:24px;flex:1}.os-ring{position:relative;width:230px;max-width:48%;aspect-ratio:1;flex-shrink:0}.os-ring svg{display:block;width:100%;height:100%;overflow:visible}.os-ring circle{transition:opacity .16s,stroke-width .16s}.os-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none}.os-ring-center>span{font-size:13px;color:#7c8b99}.os-ring-center strong{font-size:46px;line-height:1.15;letter-spacing:-.04em;font-weight:600;font-variant-numeric:tabular-nums}.os-ring-center small{font-size:13px;font-weight:400;margin-left:5px;color:#7c8b99}.os-legend{display:grid;gap:10px;min-width:150px;max-width:210px;flex:1}.os-legend button{font:inherit;border:1px solid #E4EAF0;border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:7px;background:#fff;text-align:left;cursor:pointer;color:#273d50;min-height:82px}.os-legend button>span{font-size:14px;display:flex;align-items:center;gap:7px;grid-column:1 / -1}.os-legend i{width:7px;height:7px;border-radius:50%;flex-shrink:0}.os-legend strong{font-size:27px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.os-legend small{font-size:12px;font-weight:400;color:#7b8c9b;margin-left:4px}.os-legend em{font-size:14px;color:#7b8c9b;font-style:normal;align-self:center;text-align:right}.os-legend button:hover,.os-legend button.is-active{border-color:var(--gender-color);background:color-mix(in srgb,var(--gender-color) 6%,white)}.os-highlight{font-size:12px;color:#7d8d9b;text-align:center;min-height:20px;margin-top:16px;line-height:1.7}.os-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:#6b7f8e;min-width:0}.os-foot-facts{display:flex;flex-wrap:wrap;gap:6px 16px;line-height:1.7}.os-exceptions{color:#94723f;font-size:12px}.os-footer-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.os-footer .ant-btn{font-size:14px;min-height:44px;height:auto;white-space:normal}.os-method{max-width:340px;font-size:14px;line-height:1.8;color:#536a7d}.os-method p{margin:0 0 9px}.os-loading{padding:36px;display:flex;gap:12px}.os-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#6e8394;min-height:220px;text-align:center;font-size:15px}.os-empty p{font-size:13px;line-height:1.8}.os-zero{font-size:52px;color:#8b9ba8}.os-zero small{font-size:14px;margin-left:6px}.overview-screen button:focus-visible{outline:2px solid #3B82C4;outline-offset:3px}.os-grid.is-single{grid-template-columns:1fr}.is-single .os-composition-content{flex:0;gap:50px;min-height:260px}.is-single .os-ring{width:240px}.is-single .os-legend{max-width:230px}.is-single .os-panel{min-height:380px}.os-panel .ant-btn{white-space:normal;height:auto}@media(min-width:1051px)and (max-height:800px){.overview-screen{gap:16px}.os-panel{padding:20px;min-height:350px}.os-panel-heading{margin-bottom:16px}.os-row{padding:10px 12px;gap:8px}.os-rows{gap:8px}.os-ring{width:210px}.os-highlight{margin-top:12px}}@media(max-width:1100px){.os-composition-content{flex-direction:column;gap:12px}.os-ring{max-width:100%;width:210px}.os-legend{display:flex;flex-wrap:wrap;max-width:none;width:100%;gap:8px}.os-legend button{flex:1;min-width:120px;padding:10px;min-height:78px}.os-panel{padding:20px}.os-grid{gap:16px}.os-toolbar h1{font-size:24px}.os-scope .ant-select{width:210px}}@media(max-width:760px){.overview-screen{gap:18px}.os-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.os-toolbar h1{font-size:24px;margin-bottom:8px}.os-context{font-size:13px;gap:7px 10px}.os-scope{width:100%;font-size:13px}.os-scope .ant-select{flex:1;width:auto;min-width:0}.os-grid{grid-template-columns:1fr;gap:16px}.os-panel{padding:20px;min-height:0}.os-panel-heading h2{font-size:18px}.os-row{padding:12px;gap:10px}.os-row-name strong{font-size:15px}.os-row-value{font-size:22px}.os-chart-bottom{flex-wrap:wrap}.os-composition-content,.is-single .os-composition-content{flex-direction:column;gap:16px;min-height:0}.os-ring,.is-single .os-ring{width:230px;max-width:100%}.os-legend,.is-single .os-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:340px;flex:none}.os-legend button{min-width:0;padding:12px;min-height:86px}.os-legend strong{font-size:28px}.os-legend em{font-size:13px}.os-footer{align-items:flex-start;flex-direction:column;gap:10px}.os-footer-actions{width:100%;justify-content:space-between}.os-footer .ant-btn{font-size:13px}.is-single .os-panel{min-height:0}.os-year{display:none}}@media(prefers-reduced-motion:reduce){.overview-screen *{transition:none!important;scroll-behavior:auto}}.overview-screen{gap:18px}.os-toolbar{min-height:64px}.os-context{display:flex;gap:24px;align-items:center}.os-greeting{display:flex;align-items:center;gap:12px;min-width:0}.os-greeting-mark{width:44px;height:44px;flex-shrink:0;border-radius:14px;background:#efeff7;color:#9a855e;display:flex;align-items:center;justify-content:center}.os-greeting-mark svg{width:26px;height:26px}.os-greeting-copy{font-size:25px;line-height:1.5;color:#304152;overflow-wrap:anywhere}.os-greeting-word{font-weight:400;color:#7b8396}.os-greeting strong{font-weight:600;color:#3e4862}.os-context time{display:flex;flex-direction:column;gap:5px;border-left:1px solid #DDE2E9;padding-left:24px;white-space:nowrap}.os-context time>strong{font-size:17px;font-weight:550;color:#526077}.os-context time>span{display:flex;align-items:center;gap:8px;font-size:12px;color:#9299a7}.os-context time i{width:3px;height:3px;border-radius:50%;background:#b0b6c0}.os-panel{min-height:335px;padding:22px}.os-panel-heading{margin-bottom:16px}.os-panel-heading h2{font-size:19px}.os-share-key{font-size:12px;color:#8b94a2;line-height:1.6;margin-bottom:10px}.os-row{padding:12px 14px;gap:8px 14px;border:1px solid #E8EAF0;background:#fcfcfe;border-radius:11px}.os-row:hover:not(:disabled){background:#f5f5fb;border-color:#c4c7e1}.os-track{height:11px;background:#eff0f5}.os-row-share{grid-column:1 / -1;text-align:right;color:#9299a8;font-size:11px;line-height:1.4}.os-row-value{font-size:23px}.os-chart-bottom{min-height:0;margin-top:8px;justify-content:flex-end}.os-chart-bottom:has(.os-hidden-fact:only-child){display:none}.os-hidden-fact{display:none}.os-ring{width:210px}.os-ring-center strong{font-size:43px}.os-legend button{border-color:#e7e8f1;border-radius:12px;min-height:80px}.os-legend button>span{color:#777f92}.os-legend strong{color:#46516b}.os-highlight{font-size:11px;margin-top:12px}.os-record-summary{display:flex;align-items:center;gap:24px;padding:20px 24px;background:#fff;border:1px solid #E1E7ED;border-radius:17px;min-width:0}.os-record-title{display:flex;align-items:center;gap:12px;flex-shrink:0}.os-record-symbol{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f0f0f8;color:#7772b6;font-size:19px}.os-record-title h2{font-size:17px;font-weight:600;margin:0}.os-record-title p{font-size:12px;color:#8b95a4;margin:6px 0 0}.os-record-total{padding:0 24px 0 0;border-right:1px solid #E7EBF0;flex-shrink:0;display:flex;flex-direction:column;gap:8px}.os-record-total>strong{font-size:32px;font-weight:600;color:#394861;line-height:1.1;font-variant-numeric:tabular-nums}.os-record-total small{font-size:12px;font-weight:400;margin-left:6px;color:#8692a1}.os-record-total>span{font-size:11px;color:#8b95a4}.os-record-types{display:flex;gap:24px;flex:1;min-width:0}.os-record-type{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}.os-record-type>span{display:flex;align-items:center;gap:7px;font-size:13px;color:#6f7c8f}.os-record-type>span i{width:6px;height:6px;border-radius:50%;flex-shrink:0}.os-record-type>strong{font-size:23px;font-weight:600;color:#47516a;white-space:nowrap}.os-record-type small{font-size:12px;font-weight:400;margin-left:4px;color:#8995a4}.os-record-meter{grid-column:1 / -1;height:4px;background:#f0f1f5;border-radius:3px;overflow:hidden}.os-record-meter i{display:block;height:100%;border-radius:3px}.os-record-empty{color:#8c96a3;font-size:13px;line-height:1.8;margin:0}.os-open-records{flex-shrink:0;min-height:40px;font-size:13px}.os-footer,.os-footer .ant-btn{min-height:40px}.os-record-summary .ant-btn{height:auto;white-space:normal}.is-single .os-panel{min-height:325px}.is-single .os-composition-content{min-height:210px}.is-single .os-ring{width:210px}@media(min-width:1051px)and (max-height:800px){.overview-screen{gap:14px}.os-panel{padding:18px;min-height:300px}.os-panel-heading{margin-bottom:10px}.os-panel-heading p{font-size:12px}.os-ring{width:175px}.os-ring-center strong{font-size:38px}.os-highlight{margin-top:8px}.os-row{padding:10px 12px;gap:7px}.os-share-key{font-size:11px;margin-bottom:8px}.os-record-summary{padding:16px 18px;gap:18px}.os-record-symbol{display:none}.os-record-title h2{font-size:16px}.os-record-types{gap:16px}.os-record-type>span{font-size:12px}.os-record-total>strong{font-size:28px}.is-single .os-panel{min-height:290px}.is-single .os-ring{width:180px}.is-single .os-composition-content{min-height:185px}}@media(max-width:1200px){.os-record-summary{flex-wrap:wrap;gap:16px}.os-record-types{flex-basis:45%}.os-record-total{padding-right:16px}.os-record-title{gap:8px}.os-record-title h2{font-size:16px}.os-record-symbol{display:none}}@media(max-width:760px){.os-context{width:100%;gap:14px}.os-greeting{gap:10px;flex:1;min-width:0}.os-greeting-mark{display:none}.os-greeting-copy{font-size:23px}.os-context time{padding-left:14px;gap:5px}.os-context time>strong{font-size:15px}.os-context time>span{font-size:11px;gap:5px}.os-toolbar{min-height:0;gap:16px}.os-panel{min-height:0;padding:20px}.os-share-key{font-size:11px}.os-ring{width:220px}.os-record-summary{padding:20px;gap:20px;display:grid;grid-template-columns:1fr auto}.os-record-title{grid-column:1}.os-record-title p{font-size:11px}.os-record-total{border:0;padding:0;grid-column:2;grid-row:1;text-align:right}.os-record-total>strong{font-size:28px}.os-record-total>span{font-size:10px}.os-record-types{grid-column:1 / -1;display:grid;grid-template-columns:1fr;gap:16px}.os-record-type>span{font-size:14px}.os-open-records{grid-column:1 / -1;width:100%}.os-footer{font-size:12px}.is-single .os-panel{min-height:0}.is-single .os-ring{width:220px}.os-record-empty{font-size:13px}.os-row-share{font-size:11px}}.os-greeting-copy{margin:0;font-weight:400}.os-context time>span{gap:0;display:flex;align-items:center}.os-date-year{margin-left:10px;padding-left:10px;border-left:1px solid #DCE1E9}.os-student-facts{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap}.os-student-facts>span+span{padding-left:16px;border-left:1px solid #DCE1E9}.os-exceptions{display:flex;flex-wrap:wrap;gap:6px 14px}.os-record-total .os-record-sources{display:flex;align-items:center;gap:14px;white-space:nowrap}.os-record-sources>span{display:inline-flex;align-items:baseline;gap:5px}.os-record-sources b{font-size:12px;font-weight:500;color:#65738a}.os-gender-symbol{display:inline-flex;align-items:center;justify-content:center;font-size:19px;line-height:1;width:20px;flex-shrink:0}.os-legend button>span{gap:8px}@media(min-width:1051px)and (min-height:700px){.overview-screen{height:calc(100dvh - 144px);display:flex;flex-direction:column}.os-toolbar,.os-record-summary,.os-footer{flex-shrink:0}.os-grid{flex:1;min-height:0}.os-panel{min-height:0}.os-distribution .os-rows{margin-top:auto;margin-bottom:auto}.os-distribution .os-share-key{margin-bottom:16px}.os-grid.is-single .os-composition-content{flex:1}.os-ring{width:clamp(210px,27vh,265px)}.os-highlight{margin-top:18px}.os-row{padding:16px}.os-record-summary{padding-top:23px;padding-bottom:23px}}@media(min-width:1051px)and (min-height:700px)and (max-height:800px){.os-row{padding:12px}.os-ring{width:190px}.os-highlight{margin-top:10px}.os-record-summary{padding-top:16px;padding-bottom:16px}.os-distribution .os-share-key{margin-bottom:8px}}@media(max-width:760px){.os-date-year{margin-left:7px;padding-left:7px}.os-student-facts{gap:10px}.os-student-facts>span+span{padding-left:10px}.os-record-total .os-record-sources{gap:8px}.os-record-sources b{font-size:11px}.os-gender-symbol{font-size:18px;width:18px}}.os-return-all.ant-btn{min-height:44px;padding:9px 16px;border-radius:10px;font-size:15px;font-weight:500;box-shadow:0 3px 8px #147c6b18}.os-record-type>span{line-height:1.6}.os-record-types{align-items:center}@media(min-width:1051px){.os-grid.is-single .os-composition-content{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:6%;align-items:center;justify-content:normal;padding:0 3%;min-height:0}.os-grid.is-single .os-ring{width:clamp(230px,29vh,300px);max-width:100%;justify-self:center}.os-grid.is-single .os-legend{width:100%;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;flex:none}.os-grid.is-single .os-legend button{min-height:165px;padding:22px 24px;gap:16px;border-radius:15px;background:#fbfcfe}.os-grid.is-single .os-legend button>span{font-size:17px}.os-grid.is-single .os-gender-symbol{font-size:24px;width:24px}.os-grid.is-single .os-legend strong{font-size:42px}.os-grid.is-single .os-legend small{font-size:15px}.os-grid.is-single .os-legend em{font-size:19px}.os-grid.is-single .os-legend button.is-active,.os-grid.is-single .os-legend button:hover{background:color-mix(in srgb,var(--gender-color) 6%,white)}}@media(min-width:1051px)and (max-height:800px){.os-grid.is-single .os-ring{width:210px}.os-grid.is-single .os-legend button{min-height:140px;padding:18px}.os-grid.is-single .os-legend strong{font-size:36px}.os-grid.is-single .os-composition-content{gap:4%;padding:0 2%}}@media(min-width:761px)and (max-width:1050px){.os-grid.is-single .os-composition-content{flex-direction:row;justify-content:space-around;gap:24px}.os-grid.is-single .os-legend{max-width:340px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1}.os-grid.is-single .os-ring{width:230px;max-width:40%}}@media(max-width:760px){.os-return-all.ant-btn{min-height:44px;padding:8px 12px;font-size:13px}.os-composition .os-panel-heading{gap:12px}.os-composition .os-panel-heading>div{min-width:0}.os-return-all{flex-shrink:0}.os-grid.is-single .os-composition-content{gap:20px}.os-grid.is-single .os-legend{max-width:100%}}@media(min-width:1051px){.os-grid.is-single .os-legend:has(>button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.os-grid.is-single .os-legend:has(>button:nth-child(3)) button{padding:18px 12px}.os-grid.is-single .os-legend:has(>button:nth-child(3)) button>span{font-size:15px}}@media(max-width:1050px){.os-grid.is-single .os-composition-content{flex:none;min-height:0}.os-grid.is-single .os-panel-heading,.os-grid.is-single .os-highlight{flex-shrink:0}}.os-distribution:has(.os-rows){display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;row-gap:10px;align-content:stretch}.os-distribution .os-share-key{margin:0!important;line-height:1.6}.os-distribution .os-rows{min-height:0;margin:0!important;overflow-y:auto;overflow-x:hidden;align-content:start;gap:10px;padding:3px;scrollbar-gutter:stable}.os-distribution .os-row{padding:12px 14px;gap:7px 14px;flex-shrink:0}.os-distribution .os-chart-bottom{margin:0;padding:10px 3px 0;min-height:46px;border-top:1px solid #E7EDF2;align-items:center;justify-content:flex-end;position:relative}.os-distribution .os-chart-bottom:has(.os-hidden-fact:only-child){display:none}.os-distribution .os-pagination{gap:10px;flex-shrink:0}.os-distribution .os-pagination .ant-btn{width:36px;height:36px;min-height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.os-distribution .os-pagination>span{min-width:42px;text-align:center;color:#607588;font-variant-numeric:tabular-nums}@media(max-width:1050px){.os-distribution:has(.os-rows){grid-template-rows:auto auto auto auto}.os-distribution .os-rows{overflow:visible;scrollbar-gutter:auto}.os-distribution .os-chart-bottom{min-height:46px}}.os-distribution>.os-panel-heading{margin-bottom:2px}.os-distribution .os-row{padding:10px 14px;gap:4px 14px}.os-distribution .os-rows{gap:8px}.os-distribution .os-row:focus-visible{outline-offset:-2px}.teaching-analysis{min-width:0;max-width:1500px;color:var(--brand-deep,#163f32)}.analysis-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.analysis-eyebrow{color:#568274;font-size:13px;letter-spacing:.08em;margin:0 0 8px}.analysis-intro h2{font-size:26px;line-height:1.4;margin:0 0 8px;letter-spacing:-.02em}.analysis-intro p:last-child{color:#697b72;margin:0;line-height:1.8}.analysis-intro>.ant-btn{flex-shrink:0}.analysis-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:22px;background:#fff;border:1px solid #e0e9e3;border-radius:14px}.analysis-filters label,.analysis-project-heading label,.analysis-stage-selectors label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#526b5e;min-width:0}.analysis-filters .ant-select{width:100%;min-width:0}.analysis-filters input[type=date]{width:100%;min-width:0;box-sizing:border-box;min-height:34px;border:1px solid #d8e2dc;border-radius:6px;background:#fff;padding:5px 10px;color:#214737;font:inherit}.analysis-filter-wide{grid-column:1/-1}.analysis-scope-note,.analysis-data-note{font-size:13px;color:#687b70;line-height:1.85;margin:14px 0}.analysis-issues{background:#fffaf0;border:1px solid #f0dfb8;border-radius:10px;padding:12px 16px;margin:14px 0;color:#745b27}.analysis-issues summary{cursor:pointer;min-height:30px;line-height:30px}.analysis-issues ul{padding:0;list-style:none;max-height:240px;overflow:auto}.analysis-issues li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #efe4c9}.analysis-issues li>.ant-btn{flex-shrink:0}.analysis-project-heading{display:flex;align-items:end;gap:16px;margin:12px 0 22px}.analysis-project-heading label{flex:1;max-width:700px}.analysis-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.analysis-metric{min-width:0;min-height:135px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:10px;padding:20px;background:#fff;border:1px solid #e0e9e3;border-radius:12px;color:#1a4432;font:inherit}.analysis-metric:disabled{opacity:1;cursor:default}.analysis-metric>span{font-size:13px;color:#667d6f}.analysis-metric strong{font-size:25px;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.analysis-metric small{color:#79887f;font-size:12px;line-height:1.6}.analysis-metric.is-action{cursor:pointer;border-color:#b8d3c5}.analysis-metric.is-action:hover{background:#f0f7f3}.analysis-panel{min-width:0;background:#fff;border:1px solid #e0e9e3;border-radius:14px;padding:24px;margin-bottom:22px}.analysis-panel h3{font-size:19px;margin:0 0 8px}.analysis-panel h3 small{font-size:13px;font-weight:400;color:#77867c;margin-left:8px}.analysis-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.analysis-panel-heading p{font-size:13px;color:#738177;line-height:1.8;margin:0}.analysis-panel-heading>.ant-select{width:400px;max-width:100%}.analysis-target{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;color:#617668}.analysis-target .ant-input-number{width:90px}.analysis-distribution{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.analysis-distribution>button{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:16px;text-align:left;font:inherit;border:1px solid #e4ece7;background:#f8fbf9;color:#3d5b4a;border-radius:10px;cursor:pointer}.analysis-distribution>button:hover,.analysis-distribution>button.is-selected{background:#eaf4ee;border-color:#76a58b}.analysis-distribution strong{font-size:25px;color:#214b37}.analysis-distribution small{font-size:12px;color:#78877d}.analysis-bar-track{display:block;height:7px;background:#e5ede7;border-radius:5px;overflow:hidden}.analysis-bar-track>span{display:block;height:100%;background:#408966;border-radius:5px}.analysis-distribution>button:nth-child(3) .analysis-bar-track>span{background:#a8ad6b}.analysis-distribution>button:nth-child(4) .analysis-bar-track>span{background:#c48b64}.analysis-list-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.analysis-list-filters>.ant-select{min-width:260px;max-width:700px;flex:1}.analysis-person-query{max-width:250px}.teaching-analysis td small{display:block;line-height:1.8;color:#738478;font-size:12px;overflow-wrap:anywhere}.analysis-number{font-variant-numeric:tabular-nums}.analysis-name.ant-btn{padding:0;height:auto;text-align:left;max-width:100%;white-space:normal}.analysis-stage-selectors{display:grid;grid-template-columns:1fr 20px 1fr 1fr;align-items:center;gap:14px;margin:20px 0}.analysis-stage-selectors .ant-select{width:100%}.analysis-combination-select{width:100%;margin:12px 0}.analysis-loading{display:flex;gap:12px;padding:60px 0;justify-content:center;color:#6a7b70}.teaching-analysis>.ant-alert{margin-bottom:16px}.teaching-analysis .ant-table-wrapper{min-width:0;max-width:100%}.teaching-analysis .ant-tabs-nav{margin-bottom:22px}.teaching-analysis .ant-tabs-tab{padding:13px 0}.teaching-analysis button:focus-visible{outline:2px solid #3c8c63;outline-offset:3px}@media(max-width:1100px){.analysis-filters,.analysis-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-intro h2{font-size:23px}.analysis-stage-selectors{grid-template-columns:1fr}.analysis-stage-selectors>.anticon{display:none}}@media(max-width:600px){.analysis-intro{flex-direction:column;align-items:flex-start;gap:12px}.analysis-intro h2{font-size:22px}.analysis-filters{padding:16px;gap:14px 10px}.analysis-panel{padding:17px}.analysis-panel-heading{flex-direction:column;align-items:stretch;gap:14px}.analysis-distribution{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-metrics{gap:10px}.analysis-metric{min-height:125px;padding:15px}.analysis-metric strong{font-size:22px}.analysis-intro>.ant-btn,.analysis-target .ant-input-number,.teaching-analysis .ant-select-selector{min-height:40px}.analysis-list-filters>.ant-select{min-width:0;flex-basis:100%}.analysis-person-query{max-width:100%}.analysis-project-heading{align-items:flex-start;flex-direction:column}.analysis-project-heading label{width:100%}.teaching-analysis .ant-btn{min-height:40px}.teaching-analysis .ant-tabs-tab+.ant-tabs-tab{margin-left:22px}.analysis-issues li{align-items:flex-start}.analysis-target{justify-content:space-between}}.teaching-analysis{--analysis-ink:#23372e;--analysis-muted:#52665b;--analysis-line:#e1e8e3;--analysis-accent:#087b56;--analysis-canvas:#f5f7f6;--analysis-radius:16px;max-width:none;color:var(--analysis-ink);font-size:16px}.desktop-shell__content:has(>.teaching-analysis){background:#f5f7f6}.desktop-shell__content:has(>.teaching-analysis)>.desktop-shell__heading{margin-bottom:18px}.analysis-workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.analysis-system-switch{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--analysis-line);border-radius:12px;background:#eaf0ec}.analysis-system-switch button{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--analysis-muted);font:inherit;font-size:16px;cursor:pointer}.analysis-system-switch button[aria-pressed=true]{background:#fff;border-color:#dce5df;color:#086d4e;font-weight:600;box-shadow:0 1px 3px #183c2410}.analysis-system-switch button:hover{color:#086d4e}.teaching-analysis .ant-btn{min-height:44px;height:auto;font-size:14px}.teaching-analysis .ant-select{font-size:16px;min-height:44px}.teaching-analysis .ant-input,.teaching-analysis .ant-input-affix-wrapper,.teaching-analysis .ant-input-number{min-height:44px;font-size:16px}.analysis-filters{grid-template-columns:minmax(180px,1.6fr) minmax(145px,1fr) minmax(145px,1fr) auto;align-items:end;gap:12px 16px;padding:0;border:0;background:transparent;border-radius:0;margin-bottom:12px}.analysis-filters label,.analysis-project-heading label,.analysis-stage-selectors label{font-size:14px;color:var(--analysis-muted);gap:6px}.analysis-filters input[type=date]{min-height:44px;border-radius:8px;border-color:#d4ded7;font-size:16px}.analysis-filters .analysis-filter-advanced{display:none}.analysis-filters.is-expanded .analysis-filter-advanced{display:flex;order:2}.analysis-filter-toggle{align-self:end}.analysis-filter-summary{grid-column:1/-1;font-size:14px;line-height:1.6;color:var(--analysis-muted)}.analysis-filters.is-expanded{padding:16px;background:#fff;border:1px solid var(--analysis-line);border-radius:12px}.analysis-filter-wide{order:3}.analysis-method{font-size:14px;color:var(--analysis-muted);margin-bottom:8px}.analysis-method summary{cursor:pointer;display:list-item;width:fit-content;min-height:44px;line-height:44px}.analysis-scope-note,.analysis-data-note{color:var(--analysis-muted);font-size:14px;line-height:1.7}.analysis-scope-note{margin:0 0 14px;max-width:1000px}.teaching-analysis .ant-tabs-nav{margin-bottom:18px}.teaching-analysis .ant-tabs-tab{font-size:16px;padding:12px 0}.analysis-project-heading{margin:4px 0 18px}.analysis-metrics{gap:18px;margin-bottom:20px}.analysis-metric{min-height:144px;padding:22px;border-color:var(--analysis-line);border-radius:var(--analysis-radius);gap:10px;color:var(--analysis-ink);box-shadow:0 2px 8px #20362c03}.analysis-metric>span{color:var(--analysis-muted);font-size:16px}.analysis-metric strong{font-size:30px;font-weight:650;line-height:1.25;letter-spacing:-.025em}.analysis-metric small{color:var(--analysis-muted);font-size:14px}.analysis-panel{padding:24px;border-color:var(--analysis-line);border-radius:var(--analysis-radius);margin-bottom:20px;box-shadow:0 2px 8px #20362c03}.analysis-panel h3{font-size:20px;font-weight:600;color:var(--analysis-ink)}.analysis-panel-heading p,.analysis-target{color:var(--analysis-muted);font-size:14px}.analysis-distribution>button{background:#f8faf9;border-color:var(--analysis-line);border-radius:12px}.analysis-distribution>button>span:not(.analysis-bar-track){font-size:16px}.analysis-distribution small,.teaching-analysis td small{font-size:14px;color:var(--analysis-muted)}.analysis-distribution strong{font-size:28px}.analysis-name.ant-btn{min-height:44px;font-size:16px}.teaching-analysis .ant-table{font-size:16px}.analysis-empty{padding:44px 24px;background:#fff;border:1px solid var(--analysis-line);border-radius:var(--analysis-radius);margin-top:16px;text-align:center}.analysis-empty .ant-empty-description{color:var(--analysis-muted);font-size:16px}.analysis-empty>div:last-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:20px}.analysis-empty-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border-radius:8px;color:#087651;background:#edf6f0;font-size:14px}@media(max-width:1100px){.analysis-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.analysis-filters>.analysis-filter-class{grid-column:1/-1}.analysis-filter-toggle{justify-self:start}.analysis-workspace-toolbar{flex-wrap:wrap}}@media(max-width:600px){.analysis-system-switch{width:100%;flex-wrap:nowrap;gap:2px}.analysis-system-switch button{flex:1;padding:8px 6px;font-size:14px}.analysis-workspace-toolbar{gap:10px;margin-bottom:16px}.analysis-workspace-toolbar>.ant-btn{margin-left:auto}.analysis-filters{gap:12px}.analysis-filters.is-expanded{padding:12px}.analysis-panel{padding:16px}.analysis-metrics{gap:12px}.analysis-metric{min-height:144px;padding:16px}.analysis-metric strong{font-size:26px}.analysis-metric>span{font-size:14px}.analysis-empty{padding:28px 14px}}@media(max-width:600px){.teaching-analysis .ant-tabs-tab{min-height:44px;font-size:14px}.teaching-analysis .ant-tabs-tab+.ant-tabs-tab{margin-left:12px}}.desktop-shell:has(.teaching-analysis){--shell-sidebar:#fff;--shell-workspace:#f5f7f6;--shell-selected:#edf7f0;--shell-hover:#f0f5f2;--shell-pressed:#e4eee8}.desktop-shell:has(.teaching-analysis) .desktop-shell__rail{border-right:1px solid #e6ebe7}.desktop-shell:has(.teaching-analysis) .desktop-module-context>span{color:#52665b}.desktop-shell:has(.teaching-analysis) .desktop-module-switcher{background:#f3f6f4}.desktop-shell:has(.teaching-analysis) .desktop-shell__nav button[aria-current=page]{color:#087651}.teaching-analysis{--analysis-radius:18px}.teaching-analysis .analysis-workspace-toolbar{margin-bottom:12px}.analysis-workspace>.ant-tabs{margin-bottom:8px}.analysis-workspace>.ant-tabs .ant-tabs-nav{margin-bottom:8px}.analysis-workspace>.ant-tabs .ant-tabs-nav:before{border-color:#e2e9e4}.analysis-workspace>.ant-tabs .ant-tabs-tab{padding:10px 0 14px}.teaching-analysis .analysis-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:4px 0 18px}.analysis-filters>.analysis-filter-class{flex:0 1 250px;min-width:180px}.analysis-filters>.analysis-filter-project{flex:1 1 300px;min-width:180px;max-width:520px}.analysis-filters>.analysis-filter-toggle{margin-left:auto}.analysis-filters>.analysis-filter-summary{flex-basis:100%;font-size:13px;color:#52665b}.analysis-filters .analysis-filter-advanced{flex:1 1 180px}.analysis-filters.is-expanded>.analysis-filter-class{flex:1 1 200px}.analysis-filters.is-expanded .analysis-filter-wide{flex-basis:100%}.teaching-analysis .analysis-method{display:none}.teaching-analysis .analysis-method.is-visible{display:block}.analysis-metrics{gap:16px;margin-bottom:20px}.teaching-analysis .analysis-metric{min-height:124px;padding:20px 22px;gap:8px;border-color:#e3eae5;box-shadow:none}.teaching-analysis .analysis-metric>span{font-size:14px}.teaching-analysis .analysis-metric strong{font-size:32px;font-weight:650;line-height:1.15;color:#193a2c}.teaching-analysis .analysis-metric small{font-size:13px;line-height:1.5;color:#52665b}.analysis-chart-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:20px;margin-bottom:20px}.analysis-chart-grid>.analysis-panel{margin:0;padding:24px;min-width:0;overflow:hidden}.analysis-chart-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:22px}.analysis-chart-heading h3{margin:0 0 8px;font-size:19px;line-height:1.4}.analysis-chart-heading>div>span{font-size:14px;color:#52665b}.analysis-chart-caption{margin-left:14px;padding-left:14px;border-left:1px solid #dce5df}.analysis-chart-unit{font-size:13px;color:#52665b}.analysis-column-chart{display:flex;height:242px;gap:12px;margin-top:16px}.analysis-chart-axis{flex:0 0 22px;display:flex;flex-direction:column;justify-content:space-between;height:180px;transform:translateY(-7px);color:#64736b;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.analysis-chart-plot{position:relative;min-width:0;flex:1}.analysis-chart-gridlines{position:absolute;inset:0 0 auto;height:180px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.analysis-chart-gridlines i{width:100%;border-top:1px dashed #e5ebe7}.analysis-chart-gridlines i:last-child{border-top-style:solid}.analysis-chart-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative;height:100%}.analysis-chart-column{display:flex;flex-direction:column;align-items:center;padding:0;border:0;border-radius:8px;background:transparent;font:inherit;min-width:0;color:#52665b;cursor:pointer}.analysis-column-space{display:flex;align-items:end;width:100%;height:180px;justify-content:center;padding-top:12px}.analysis-column-bar{position:relative;width:clamp(28px,65%,72px);min-height:2px;background:#199b6b;border-radius:8px 8px 0 0;transition:opacity .15s}.analysis-chart-column:nth-child(2) .analysis-column-bar{background:#8bb7e1}.analysis-chart-column:nth-child(3) .analysis-column-bar{background:#b3a6d5}.analysis-chart-column:nth-child(4) .analysis-column-bar{background:#e8b27d}.analysis-column-bar strong{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);font-size:16px;font-weight:600;color:#253e31;line-height:1}.analysis-column-label{font-size:13px;line-height:1.5;margin-top:12px;text-align:center}.analysis-chart-column>small{margin-top:3px;font-size:12px;color:#52665b}.analysis-chart-column:hover .analysis-column-bar{opacity:.75}.analysis-chart-column.is-selected .analysis-column-label{color:#087651;font-weight:600;text-decoration:underline;text-underline-offset:4px}.analysis-chart-footnote{margin-top:16px;color:#52665b;font-size:13px;line-height:1.6}.analysis-goal-card{background:#fbfdfb}.analysis-goal-card .analysis-chart-heading{margin-bottom:0}.analysis-goal-card .analysis-target{gap:8px;font-size:13px}.analysis-goal-card .analysis-target .ant-input-number{width:74px;min-height:44px}.analysis-ring{position:relative;width:204px;max-width:100%;margin:0 auto;aspect-ratio:1}.analysis-ring svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.analysis-ring circle{fill:none;stroke-width:15}.analysis-ring-track{stroke:#e7efe9}.analysis-ring-progress{stroke:#159465;stroke-linecap:round}.analysis-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.analysis-ring strong{color:#153d2b;font-size:42px;font-weight:650;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.analysis-ring strong small{font-size:20px;font-weight:500;margin-left:3px}.analysis-ring>div>span{font-size:14px;color:#52665b}.analysis-goal-legend{display:grid;grid-template-columns:1fr 1fr;gap:14px}.analysis-goal-legend button{display:flex;flex-direction:column;gap:8px;padding:10px 12px;min-height:64px;border:1px solid #e4ebe6;border-radius:12px;background:#fff;color:#52665b;text-align:left;font:inherit;cursor:pointer}.analysis-goal-legend button>span{display:flex;align-items:center;gap:7px;font-size:13px}.analysis-goal-legend i{width:7px;height:7px;border-radius:50%;background:#159465}.analysis-goal-legend button:nth-child(2) i{background:#aebdb3}.analysis-goal-legend strong{font-size:22px;color:#1e3b2c;font-variant-numeric:tabular-nums;line-height:1}.analysis-goal-legend strong small{font-size:12px;font-weight:400;color:#52665b}.analysis-goal-legend button:hover{border-color:#8fb99e}.analysis-goal-legend button:disabled{cursor:default}.analysis-goal-card .analysis-chart-footnote{text-align:center}.analysis-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border:1px solid #e1e8e3;border-radius:14px;background:#fff;margin-bottom:20px}.analysis-list-toolbar>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.analysis-list-toolbar strong{font-size:16px;font-weight:600}.analysis-list-toolbar span{color:#52665b;font-size:14px}@media(min-width:1101px){.desktop-shell__content:has(>.teaching-analysis)>.desktop-shell__heading{margin-bottom:14px}.teaching-analysis .analysis-workspace-toolbar{margin-top:-53px;margin-left:180px;justify-content:flex-end;min-height:50px;gap:16px;margin-bottom:12px}.analysis-system-switch{margin-right:auto;margin-left:auto}}@media(max-width:1100px){.analysis-chart-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:16px}.analysis-chart-grid>.analysis-panel{padding:20px}.analysis-chart-columns{gap:8px}.analysis-column-label{font-size:12px}}@media(max-width:700px){.analysis-chart-grid{grid-template-columns:minmax(0,1fr)}.teaching-analysis .analysis-workspace-toolbar{margin:0 0 12px}.analysis-filters>.analysis-filter-class,.analysis-filters>.analysis-filter-project{flex:1 1 calc(50% - 12px);min-width:140px}.analysis-filters>.analysis-filter-toggle{margin-left:0}.analysis-filters>.analysis-filter-summary{font-size:12px}.analysis-metrics{gap:12px}.teaching-analysis .analysis-metric{min-height:120px;padding:16px}.teaching-analysis .analysis-metric strong{font-size:28px}.analysis-chart-column .analysis-column-label{font-size:12px}.analysis-ring{width:190px}.analysis-list-toolbar{padding:16px}}@media(prefers-reduced-motion:reduce){.analysis-column-bar{transition:none}}.analysis-column-space{padding-top:0}.desktop-shell__content:has(>.teaching-analysis){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-auto-rows:max-content;align-content:start;column-gap:24px;row-gap:18px;width:100%;max-width:1760px;margin-inline:auto;background:#f6f8f7}.desktop-shell__content:has(>.teaching-analysis)>.desktop-shell__heading{grid-column:1;grid-row:1;align-self:center;margin:0}.desktop-shell__content:has(>.teaching-analysis)>.desktop-shell__heading h1{margin:0;color:#20382c;font-size:28px;font-weight:650;line-height:1.35;letter-spacing:-.02em}.teaching-analysis{display:contents;--analysis-radius:16px;--analysis-card-padding:24px;--analysis-card-gap:20px;--analysis-line:#e1e8e3;--analysis-muted:#52665b}.teaching-analysis>.analysis-workspace,.teaching-analysis>.analysis-loading,.teaching-analysis>.ant-alert{grid-column:1/-1;min-width:0}.teaching-analysis>.ant-alert{margin:0}.teaching-analysis .analysis-workspace-toolbar{grid-column:2;grid-row:1;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:10px;min-height:44px;margin:0}.teaching-analysis .analysis-system-select.ant-select{width:218px;min-height:44px;font-size:14px;color:#384d41}.teaching-analysis .analysis-workspace-toolbar>.ant-btn{min-height:44px;padding-inline:13px;border-color:#dce4df;border-radius:8px;background:#fff;color:#41574a;font-size:14px;box-shadow:none}.analysis-workspace>.ant-tabs{margin:0 0 16px}.analysis-workspace>.ant-tabs .ant-tabs-nav{margin:0}.analysis-workspace>.ant-tabs .ant-tabs-nav:before{border-color:#e0e7e2}.analysis-workspace>.ant-tabs .ant-tabs-nav-list{gap:28px}.analysis-workspace>.ant-tabs .ant-tabs-tab{min-height:44px;padding:10px 0 13px;font-size:15px;font-weight:500}.analysis-workspace>.ant-tabs .ant-tabs-tab-active{font-weight:600}.analysis-workspace>.ant-tabs .ant-tabs-ink-bar{height:2px}.teaching-analysis .analysis-filters{gap:12px 14px;align-items:end;margin:0 0 20px}.analysis-filters>.analysis-filter-class{flex:0 1 260px;min-width:180px}.analysis-filters>.analysis-filter-project{flex:0 1 460px;min-width:220px;max-width:none}.analysis-filters>.analysis-filter-toggle{margin-left:0}.analysis-filters label{font-size:13px;line-height:1.5;gap:6px;color:#52665b}.analysis-filters .ant-select{min-height:44px;font-size:15px}.analysis-filters>.ant-btn{min-height:44px;padding-inline:14px;font-size:14px;border-color:#dce4df;border-radius:8px;color:#41574a;box-shadow:none}.analysis-filters>.analysis-filter-summary{flex-basis:100%;margin-top:0;font-size:13px;line-height:1.6;color:#5b6e61}.analysis-filters.is-expanded{padding:18px;border:1px solid var(--analysis-line);border-radius:12px;background:#fff}.analysis-filters.is-expanded .analysis-filter-advanced{flex:1 1 190px}.analysis-metrics{gap:16px;margin-bottom:var(--analysis-card-gap)}.teaching-analysis .analysis-metric{padding:20px;border:1px solid var(--analysis-line);border-radius:var(--analysis-radius);background:#fff;box-shadow:none}.teaching-analysis .analysis-metric>span{color:#52665b;font-size:14px;font-weight:450}.teaching-analysis .analysis-metric strong{color:#203c2e;font-weight:650}.teaching-analysis .analysis-metric small{color:#586c5f;font-size:13px;line-height:1.6}.teaching-analysis .analysis-panel{padding:var(--analysis-card-padding);border:1px solid var(--analysis-line);border-radius:var(--analysis-radius);background:#fff;box-shadow:none;margin-bottom:var(--analysis-card-gap)}.analysis-chart-grid{gap:var(--analysis-card-gap);margin-bottom:var(--analysis-card-gap)}.analysis-chart-grid>.analysis-panel{margin-bottom:0;padding:var(--analysis-card-padding)}.teaching-analysis .analysis-panel h3{color:#243d30;font-size:19px;font-weight:600;line-height:1.45}.analysis-list-toolbar{margin-bottom:var(--analysis-card-gap);padding:18px 22px;border-color:var(--analysis-line);border-radius:var(--analysis-radius);box-shadow:none}@media(min-width:1800px){.desktop-shell__content:has(>.teaching-analysis){padding-inline:40px}}@media(max-width:1100px){.desktop-shell__content:has(>.teaching-analysis){column-gap:18px;row-gap:16px}.teaching-analysis{--analysis-card-padding:20px;--analysis-card-gap:16px}.analysis-filters>.analysis-filter-class{flex:1 1 210px}.analysis-filters>.analysis-filter-project{flex:1.5 1 280px}.analysis-chart-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}}@media(max-width:700px){.desktop-shell__content:has(>.teaching-analysis){grid-template-columns:minmax(0,1fr);row-gap:14px}.desktop-shell__content:has(>.teaching-analysis)>.desktop-shell__heading{grid-column:1;grid-row:auto}.desktop-shell__content:has(>.teaching-analysis)>.desktop-shell__heading h1{font-size:25px}.teaching-analysis .analysis-workspace-toolbar{grid-column:1;grid-row:auto;justify-content:flex-end;width:100%;gap:10px}.teaching-analysis .analysis-system-select.ant-select{flex:0 1 218px;min-width:0;width:218px}.analysis-workspace>.ant-tabs{margin-bottom:14px}.analysis-workspace>.ant-tabs .ant-tabs-nav-list{gap:18px}.analysis-workspace>.ant-tabs .ant-tabs-tab{font-size:14px;padding-block:9px 12px}.analysis-filters>.analysis-filter-class,.analysis-filters>.analysis-filter-project{flex:1 1 calc(50% - 14px);min-width:130px}.teaching-analysis .analysis-filters{gap:10px 12px;margin-bottom:16px}.analysis-filters.is-expanded{padding:14px}.analysis-chart-grid{grid-template-columns:minmax(0,1fr)}.teaching-analysis{--analysis-card-padding:18px;--analysis-card-gap:16px}.teaching-analysis .analysis-metric,.analysis-list-toolbar{padding:16px}}@media(max-width:360px){.teaching-analysis .analysis-system-select.ant-select{flex:1;width:auto;font-size:13px}.teaching-analysis .analysis-workspace-toolbar>.ant-btn{padding-inline:10px;font-size:13px}.analysis-workspace>.ant-tabs .ant-tabs-nav-list{gap:12px}.analysis-filters>.analysis-filter-class,.analysis-filters>.analysis-filter-project{flex-basis:100%;min-width:0}}.analysis-project-metrics{gap:16px}.project-metric{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px;min-width:0;min-height:160px;padding:22px;margin:0;border:1px solid #e0e8e3;border-radius:16px;background:#fff;text-align:left;font:inherit;color:#223e30}.project-metric-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#52685b;font-size:14px;font-weight:500;line-height:1.5}.project-metric-value{display:flex;align-items:baseline;gap:7px;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(28px,2.5vw,38px);font-weight:650;line-height:1.15;letter-spacing:-.035em}.project-metric-unit{font-size:14px;font-weight:450;letter-spacing:0;color:#66796d;margin-left:2px}.project-metric-denominator{font-size:20px;font-weight:450;letter-spacing:-.01em;color:#7a8a80;white-space:nowrap}.project-metric-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:auto;color:#6a7b70;font-size:12px;line-height:1.6}.project-metric-target{background:#f4faf6;border-color:#d6e8dc;cursor:pointer}.project-metric-target:hover:not(:disabled){border-color:#8eba9e;background:#edf7f0}.project-metric-target:disabled{cursor:default;opacity:1}.project-metric-link{font-size:11px;color:#207b55;font-weight:450;white-space:nowrap}.analysis-project-charts{grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);align-items:stretch}.analysis-project-charts>.analysis-panel{padding:26px;border-color:#e0e8e3}.analysis-project-charts .analysis-chart-heading{align-items:start;margin-bottom:20px}.analysis-project-charts .analysis-chart-heading h3{margin:0 0 5px;font-size:18px;font-weight:600;letter-spacing:-.01em}.analysis-project-charts .analysis-chart-heading>div>span{color:#7a8a80;font-size:12px}.project-chart-sample{display:flex;align-items:baseline;gap:5px;padding:5px 9px;border-radius:6px;background:#f4f7f5;font-size:12px;line-height:1.5;color:#6c7e71;white-space:nowrap}.project-chart-sample strong{color:#3d5948;font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.analysis-project-charts .analysis-distribution-card{display:flex;flex-direction:column;gap:0}.analysis-project-charts .analysis-column-chart{width:100%;max-width:700px;flex-shrink:0;height:278px;margin:0 auto;padding-top:30px;gap:14px}.analysis-project-charts .analysis-chart-axis{position:relative;transform:none;flex-basis:23px;height:200px;color:#849087;font-size:11px}.analysis-project-charts .analysis-chart-axis>span{position:absolute;left:0;right:0;transform:translateY(-50%)}.analysis-project-charts .analysis-chart-gridlines{height:200px}.analysis-project-charts .analysis-chart-gridlines i{border-color:#e9eeeb;border-top-style:solid}.analysis-project-charts .analysis-chart-columns{gap:12px}.analysis-project-charts .analysis-chart-column{--bucket-color:#16845b;position:relative;border-radius:8px;transition:background .16s}.analysis-project-charts .analysis-chart-column:nth-child(2){--bucket-color:#79a9bc}.analysis-project-charts .analysis-chart-column:nth-child(3){--bucket-color:#a59aba}.analysis-project-charts .analysis-chart-column:nth-child(4){--bucket-color:#d2a271}.analysis-project-charts .analysis-column-space{flex-shrink:0;height:200px;padding:0}.analysis-project-charts .analysis-chart-column .analysis-column-bar{width:clamp(32px,54%,72px);border-radius:6px 6px 2px 2px;background:var(--bucket-color);transition:filter .16s}.analysis-project-charts .analysis-column-bar strong{bottom:calc(100% + 11px);display:flex;align-items:baseline;gap:3px;font-size:18px;font-weight:600;color:#2e4939}.analysis-project-charts .analysis-column-bar strong small{color:#849087;font-size:10px;font-weight:400}.analysis-project-charts .analysis-column-label{display:flex;align-items:center;justify-content:center;gap:5px;padding-inline:2px;margin-top:14px;color:#50665a;font-size:12px;line-height:1.6}.analysis-project-charts .analysis-column-label i{width:6px;height:6px;flex-shrink:0;border-radius:2px;background:var(--bucket-color)}.analysis-project-charts .analysis-chart-column>small{margin-top:2px;color:#7a8a80;font-size:12px;font-variant-numeric:tabular-nums}.analysis-project-charts .analysis-chart-column:hover,.analysis-project-charts .analysis-chart-column:focus-visible{background:#f1f6f3}.analysis-project-charts .analysis-chart-column:hover .analysis-column-bar{opacity:1;filter:brightness(.93)}.analysis-project-charts .analysis-chart-column.is-selected{background:#edf5ef;box-shadow:inset 0 0 0 1px #bdd5c5}.analysis-project-charts .analysis-chart-column.is-selected .analysis-column-label{text-decoration:none;color:#126a47;font-weight:600}.analysis-project-charts .analysis-chart-footnote{margin-top:19px;color:#7a8a80;font-size:12px;line-height:1.6}.analysis-project-charts .analysis-goal-card{display:flex;flex-direction:column;gap:0;background:#fff}.analysis-project-charts .analysis-goal-card .analysis-chart-heading{align-items:center;gap:8px;margin-bottom:22px}.analysis-project-charts .analysis-goal-card h3{margin:0}.analysis-project-charts .analysis-target{gap:8px;font-size:12px;color:#6a7e70}.analysis-project-charts .analysis-target .ant-input-number{width:76px;border-radius:8px;border-color:#dce5df;background:#fafcfb;font-size:15px}.project-goal-summary{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px}.project-goal-summary>span:first-child{grid-column:1/-1;font-size:13px;color:#687d6e}.project-goal-summary strong{font-size:46px;letter-spacing:-.04em;font-weight:650;line-height:1.1;color:#17724f;font-variant-numeric:tabular-nums}.project-goal-summary strong small{margin-left:3px;font-size:22px;font-weight:450}.project-goal-summary>span:last-child{font-size:12px;color:#718577}.project-goal-track{display:flex;width:100%;height:14px;flex-shrink:0;margin-top:20px;border-radius:5px;background:#edf1ee;overflow:hidden}.project-goal-track button{display:block;flex-shrink:0;min-width:0;height:100%;padding:0;border:0;border-radius:0;cursor:pointer;transition:filter .16s}.project-goal-reached{background:#22865d}.project-goal-below{background:#dce5df}.project-goal-track button:hover{filter:brightness(.9)}.project-goal-track button:focus-visible{outline-offset:-3px}.analysis-project-charts .analysis-goal-legend{gap:0;margin-top:22px;padding-top:18px;border-top:1px solid #ebefec}.analysis-project-charts .analysis-goal-legend button{min-width:0;gap:8px;padding:4px 0;border:0;border-radius:0;background:transparent}.analysis-project-charts .analysis-goal-legend button+button{border-left:1px solid #e7ede9;padding-left:22px}.analysis-project-charts .analysis-goal-legend button>span{font-size:12px;color:#63796b}.analysis-project-charts .analysis-goal-legend i{width:6px;height:6px;background:#22865d;border-radius:2px}.analysis-project-charts .analysis-goal-legend button:nth-child(2) i{background:#b6c6ba}.analysis-project-charts .analysis-goal-legend strong{font-size:26px;font-weight:600;color:#2b4837}.analysis-project-charts .analysis-goal-legend strong small{font-size:12px;color:#7a8a80}.analysis-project-charts .analysis-goal-legend button>small{font-size:12px;color:#819086;font-variant-numeric:tabular-nums}.analysis-project-charts .analysis-goal-legend button:hover:not(:disabled) strong{color:#087b56;text-decoration:underline;text-underline-offset:4px}.analysis-project-charts .analysis-goal-card .analysis-chart-footnote{margin-top:auto;padding-top:22px}.project-chart-tooltip-container{padding:12px 14px;border-radius:8px;box-shadow:0 4px 12px #15352420;background:#263d30;font-size:12px;line-height:1.7}.project-chart-tooltip-container strong,.project-chart-tooltip-container span,.project-chart-tooltip-container small{display:block}.project-chart-tooltip-container small{margin-top:5px;color:#c8d8ce;font-size:11px}@media(min-width:1800px){.analysis-project-charts{grid-template-columns:minmax(0,1.9fr) minmax(360px,1fr)}.project-metric{padding:24px}}@media(min-width:1101px)and (max-width:1300px){.project-metric{padding:20px 18px}.project-metric-value{font-size:30px}.project-metric-link{display:none}.analysis-project-charts{grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr)}}@media(max-width:1100px){.project-metric{min-height:150px;padding:22px}.project-metric-value{font-size:34px}.analysis-project-charts{grid-template-columns:minmax(0,1.5fr) minmax(295px,1fr)}.analysis-project-charts>.analysis-panel{padding:20px}.analysis-project-charts .analysis-chart-columns{gap:6px}}@media(max-width:900px){.analysis-project-charts{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.project-metric{padding:16px;min-height:144px}.project-metric-value{font-size:27px;gap:4px}.project-metric-denominator{font-size:16px}.project-metric-unit{font-size:12px}.project-metric-link{display:none}.project-metric-note{font-size:11px}.analysis-project-charts>.analysis-panel{padding:18px}}@media(prefers-reduced-motion:reduce){.analysis-project-charts .analysis-chart-column,.analysis-project-charts .analysis-column-bar,.project-goal-track button{transition:none}}.desktop-shell__content:has(>.teaching-analysis),.project-chart-tooltip{--analysis-accent:#147C6B;--analysis-ink:#1E3135;--analysis-muted:#61727A;--analysis-canvas:#F5F7F8;--analysis-surface:#FFFFFF;--analysis-line:#E0E8E8;--analysis-emphasis:#EDF6F2;--analysis-bucket-full:#167D70;--analysis-bucket-high:#5F9DA2;--analysis-bucket-mid:#CAA36D;--analysis-bucket-low:#C77768;--analysis-neutral:#DCE4E5}.teaching-analysis{--analysis-accent:#147C6B;--analysis-ink:#1E3135;--analysis-muted:#61727A;--analysis-canvas:#F5F7F8;--analysis-line:#E0E8E8;color:var(--analysis-ink)}.desktop-shell__content:has(>.teaching-analysis){background:var(--analysis-canvas)}.desktop-shell__content:has(>.teaching-analysis)>.desktop-shell__heading h1{color:var(--analysis-ink)}.desktop-shell:has(.teaching-analysis){--shell-workspace:#F5F7F8;--shell-selected:#EDF6F2;--shell-hover:#EDF6F2}.desktop-shell:has(.teaching-analysis) .desktop-shell__nav button[aria-current=page]{color:#147c6b}.teaching-analysis .analysis-workspace-toolbar>.ant-btn,.teaching-analysis .analysis-system-select.ant-select,.analysis-filters>.ant-btn{color:var(--analysis-ink);border-color:var(--analysis-line);background:var(--analysis-surface)}.teaching-analysis .analysis-workspace-toolbar>.ant-btn:hover,.analysis-filters>.ant-btn:hover{color:var(--analysis-accent);border-color:var(--analysis-accent);background:var(--analysis-emphasis)}.analysis-workspace>.ant-tabs .ant-tabs-nav:before{border-color:var(--analysis-line)}.analysis-filters label,.analysis-filters>.analysis-filter-summary,.analysis-scope-note,.analysis-data-note,.analysis-panel-heading p,.analysis-target,.teaching-analysis td small{color:var(--analysis-muted)}.analysis-filters input[type=date]{color:var(--analysis-ink);border-color:var(--analysis-line)}.analysis-filters input[type=date]:focus-visible{outline:2px solid var(--analysis-accent);outline-offset:2px}.analysis-filters input[type=date]:hover{border-color:var(--analysis-accent)}.teaching-analysis .analysis-panel,.teaching-analysis .analysis-metric,.project-metric,.analysis-list-toolbar,.analysis-empty{border-color:var(--analysis-line);background:var(--analysis-surface);color:var(--analysis-ink)}.teaching-analysis .analysis-panel h3,.teaching-analysis .analysis-metric strong,.project-metric-value,.analysis-list-toolbar strong{color:var(--analysis-ink)}.teaching-analysis .analysis-metric>span,.teaching-analysis .analysis-metric small,.project-metric-label,.project-metric-unit,.project-metric-denominator,.project-metric-note,.analysis-list-toolbar span{color:var(--analysis-muted)}.project-metric-target{background:var(--analysis-surface);border-color:var(--analysis-line)}.project-metric-target .project-metric-value,.project-metric-link{color:var(--analysis-accent)}.project-metric-target:hover:not(:disabled),.teaching-analysis .analysis-metric.is-action:hover{background:var(--analysis-surface);border-color:var(--analysis-accent)}.project-metric-target:hover:not(:disabled) .project-metric-link{text-decoration:underline;text-underline-offset:3px}.teaching-analysis button:focus-visible{outline-color:var(--analysis-accent)}.analysis-project-charts>.analysis-panel{border-color:var(--analysis-line)}.analysis-project-charts .analysis-chart-heading>div>span,.project-chart-sample,.analysis-project-charts .analysis-chart-axis,.analysis-project-charts .analysis-column-label,.analysis-project-charts .analysis-chart-column>small,.analysis-project-charts .analysis-column-bar strong small,.analysis-project-charts .analysis-chart-footnote{color:var(--analysis-muted)}.project-chart-sample{background:var(--analysis-canvas)}.project-chart-sample strong,.analysis-project-charts .analysis-column-bar strong{color:var(--analysis-ink)}.analysis-project-charts .analysis-chart-column{--bucket-color:var(--analysis-bucket-full)}.analysis-project-charts .analysis-chart-column:nth-child(2){--bucket-color:var(--analysis-bucket-high)}.analysis-project-charts .analysis-chart-column:nth-child(3){--bucket-color:var(--analysis-bucket-mid)}.analysis-project-charts .analysis-chart-column:nth-child(4){--bucket-color:var(--analysis-bucket-low)}.analysis-project-charts .analysis-chart-column .analysis-column-bar{background:var(--bucket-color);width:clamp(32px,54%,76px)}.analysis-project-charts .analysis-chart-column:hover,.analysis-project-charts .analysis-chart-column:focus-visible{background:var(--analysis-canvas)}.analysis-project-charts .analysis-chart-column.is-selected{background:var(--analysis-canvas);box-shadow:inset 0 -3px 0 var(--bucket-color)}.analysis-project-charts .analysis-chart-column.is-selected .analysis-column-label{color:var(--analysis-ink)}.analysis-project-charts .analysis-chart-column:focus-visible{outline-color:var(--analysis-accent)}.analysis-project-charts .analysis-chart-gridlines i{border-color:var(--analysis-line)}.analysis-project-charts .analysis-column-chart{max-width:760px;height:258px;padding-top:28px}.analysis-project-charts .analysis-chart-axis,.analysis-project-charts .analysis-chart-gridlines,.analysis-project-charts .analysis-column-space{height:180px}.analysis-project-charts .analysis-target,.project-goal-summary>span:first-child,.project-goal-summary>span:last-child{color:var(--analysis-muted)}.analysis-project-charts .analysis-target .ant-input-number{background:var(--analysis-surface);border-color:var(--analysis-line)}.analysis-project-charts .analysis-target .ant-input-number:hover,.analysis-project-charts .analysis-target .ant-input-number-focused{border-color:var(--analysis-accent)}.project-goal-summary strong{color:var(--analysis-accent)}.project-goal-track{background:var(--analysis-neutral)}.project-goal-reached{background:var(--analysis-accent)}.project-goal-below{background:var(--analysis-neutral)}.analysis-project-charts .analysis-goal-legend{margin-top:20px;padding-top:20px;border-color:var(--analysis-line)}.analysis-project-charts .analysis-goal-legend button+button{border-color:var(--analysis-line)}.analysis-project-charts .analysis-goal-legend button>span,.analysis-project-charts .analysis-goal-legend strong small,.analysis-project-charts .analysis-goal-legend button>small{color:var(--analysis-muted)}.analysis-project-charts .analysis-goal-legend strong{color:var(--analysis-ink)}.analysis-project-charts .analysis-goal-legend i{background:var(--analysis-accent)}.analysis-project-charts .analysis-goal-legend button:nth-child(2) i{background:#a9b8bc}.analysis-project-charts .analysis-goal-legend button:hover:not(:disabled) strong{color:var(--analysis-accent)}.analysis-project-charts .analysis-goal-card .analysis-chart-footnote{margin-top:auto;padding-top:18px}.analysis-empty-link{color:var(--analysis-accent);background:var(--analysis-emphasis)}.project-chart-tooltip-container{background:var(--analysis-ink);color:#fff;box-shadow:0 3px 10px #1e31351a}.project-chart-tooltip-container small{color:#dde8e7}.project-tooltip-swatch{display:inline-block;vertical-align:baseline;width:7px;height:7px;margin-right:6px;border-radius:2px;background:var(--analysis-bucket-full)}.project-tooltip-swatch--1{background:var(--analysis-bucket-high)}.project-tooltip-swatch--2{background:var(--analysis-bucket-mid)}.project-tooltip-swatch--3{background:var(--analysis-bucket-low)}@media(min-width:1101px){.analysis-project-charts .analysis-goal-legend{flex:1;align-items:center}}.analysis-project-charts .analysis-target .ant-input-number-input{min-height:42px}.analysis-project-charts .analysis-goal-legend button:disabled{opacity:.65}.analysis-project-charts .analysis-goal-legend button:focus-visible{border-radius:6px;outline:2px solid var(--analysis-accent);outline-offset:4px}.project-metric-link{font-size:12px}.analysis-list-toolbar [role=status]{line-height:1.65}.analysis-distribution-card,.project-chart-tooltip{--analysis-bucket-full:#009E73;--analysis-bucket-high:#0072B2;--analysis-bucket-mid:#E69F00;--analysis-bucket-low:#CC79A7}.teaching-analysis>.analysis-workspace{overflow-anchor:none}.analysis-workspace>.ant-tabs .ant-tabs-nav{width:fit-content;max-width:100%;padding:4px;background:#edf2f0;border:1px solid var(--analysis-line);border-radius:12px}.analysis-workspace>.ant-tabs .ant-tabs-nav:before{display:none}.analysis-workspace>.ant-tabs .ant-tabs-nav-list{gap:4px}.analysis-workspace>.ant-tabs .ant-tabs-tab{min-height:44px;padding:9px 20px;margin:0;border:1px solid transparent;border-radius:8px;transition:background .15s,color .15s}.analysis-workspace>.ant-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:0}.analysis-workspace>.ant-tabs .ant-tabs-tab:hover{background:#f6f9f7}.analysis-workspace>.ant-tabs .ant-tabs-tab-active{background:#fff;border-color:#d5e3dc;box-shadow:0 1px 2px #1e313508}.analysis-workspace>.ant-tabs .ant-tabs-tab-active:hover{background:#fff}.analysis-workspace>.ant-tabs .ant-tabs-tab-btn:focus-visible{outline:2px solid var(--analysis-accent);outline-offset:3px;border-radius:3px}.analysis-workspace>.ant-tabs .ant-tabs-ink-bar{display:none}@media(max-width:700px){.analysis-workspace>.ant-tabs .ant-tabs-tab{padding-inline:10px}}@media(prefers-reduced-motion:reduce){.analysis-workspace>.ant-tabs .ant-tabs-tab{transition:none}}@media(max-width:360px){.analysis-workspace>.ant-tabs .ant-tabs-nav-list{gap:2px}.analysis-workspace>.ant-tabs .ant-tabs-tab{padding-inline:5px}}.project-metric-value:has(>span.project-metric-unit:nth-child(2)):has(>span.project-metric-unit:nth-child(4)){gap:5px}.project-sample-note{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.project-sample-note>span{display:flex;flex-direction:column;gap:2px}.project-sample-note>span+span{border-left:1px solid var(--analysis-line);padding-left:12px}.project-sample-note strong{color:var(--analysis-ink);font-size:14px;font-weight:550;line-height:1.5;font-variant-numeric:tabular-nums}.project-median-note{display:flex;justify-content:space-between;gap:8px;width:100%}.project-median-note strong{color:var(--analysis-ink);font-size:13px;font-weight:500;white-space:nowrap}.analysis-project-charts .analysis-goal-legend{gap:12px;padding-top:0;border-top:0;align-items:center}.analysis-project-charts .analysis-goal-legend button,.analysis-project-charts .analysis-goal-legend button+button{display:grid;grid-template-columns:1fr auto;align-content:center;align-items:baseline;gap:12px 6px;min-height:108px;padding:14px;border:1px solid var(--analysis-line);border-radius:12px;background:#f8faf9}.analysis-project-charts .analysis-goal-legend button>span{grid-column:1/-1;font-size:13px;font-weight:500}.analysis-project-charts .analysis-goal-legend strong{font-size:30px;font-weight:600;white-space:nowrap}.analysis-project-charts .analysis-goal-legend button:first-child strong{color:var(--analysis-accent)}.analysis-project-charts .analysis-goal-legend button>small{justify-self:end;font-size:12px;white-space:nowrap}.analysis-project-charts .analysis-goal-legend button:hover:not(:disabled){border-color:#abc9bd;background:#f1f7f4}.analysis-project-charts .analysis-goal-legend button:hover:not(:disabled) strong{text-decoration:none}@media(max-width:1300px){.analysis-project-charts .analysis-goal-legend button,.analysis-project-charts .analysis-goal-legend button+button{padding:12px}}.analysis-project-control{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}.analysis-project-control>.ant-select{flex:1 1 220px;min-width:0}.analysis-max-score{flex:0 0 auto;color:var(--analysis-muted);font-size:13px;line-height:1.6;white-space:nowrap}.analysis-max-score strong{color:var(--analysis-ink);font-weight:600;font-variant-numeric:tabular-nums}.analysis-project-field-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 12px;min-width:0}.analysis-project-field-heading .analysis-max-score{display:inline-flex;flex-direction:row;align-items:baseline;gap:0;min-height:0;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--analysis-muted);font-size:12px;line-height:1.5;cursor:default}.analysis-max-score-label,.analysis-max-score-value{font-size:inherit;line-height:inherit;font-weight:400}.analysis-project-field-heading .analysis-max-score strong{color:var(--analysis-ink);font-size:inherit;font-weight:500}.student-results{min-width:0;color:var(--analysis-ink)}.student-context-bar{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(300px,1.2fr) auto;align-items:end;gap:14px;margin:4px 0 8px}.student-context-bar>label,.student-filter-fields>label{display:flex;flex-direction:column;gap:6px;color:var(--analysis-muted);font-size:13px}.student-context-bar .ant-select,.student-filter-fields .ant-select{width:100%}.student-filter-button{align-self:end}.student-option{display:flex;flex-direction:column;line-height:1.45;overflow:hidden}.student-option strong{font-weight:600;color:var(--analysis-ink);overflow:hidden;text-overflow:ellipsis}.student-option small{font-size:12px;color:var(--analysis-muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.student-context-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;color:var(--analysis-muted);font-size:13px;line-height:1.6}.student-context-summary>.ant-btn{min-height:36px;padding-inline:8px;flex-shrink:0}.student-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.student-method-popover{max-width:360px;color:var(--analysis-muted);line-height:1.7}.student-method-popover p{margin:0 0 8px}.student-method-popover p:last-child{margin-bottom:0}.student-filter-fields{display:grid;gap:18px;margin-bottom:18px}.student-filter-fields input[type=date]{min-height:44px;padding:0 12px;border:1px solid var(--analysis-line);border-radius:8px;color:var(--analysis-ink);background:#fff;font:inherit}.student-identity-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0 18px;border-bottom:1px solid var(--analysis-line);margin-bottom:18px}.student-identity-row h2{margin:0 0 5px;font-size:25px;font-weight:650;letter-spacing:-.02em}.student-identity-row p{margin:0;color:var(--analysis-muted);font-size:14px;font-variant-numeric:tabular-nums}.student-identity-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-identity-summary span{display:inline-flex;align-items:baseline;gap:6px;padding:8px 12px;border-radius:9px;background:#fff;border:1px solid var(--analysis-line);color:var(--analysis-muted);font-size:12px}.student-identity-summary strong{font-size:16px;color:var(--analysis-ink);font-variant-numeric:tabular-nums}.student-profile-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:18px;margin-bottom:18px}.student-profile-card,.student-insight-card,.student-project-list-card{min-width:0;background:#fff;border:1px solid var(--analysis-line);border-radius:16px;box-shadow:0 2px 8px #20362c05}.student-profile-card,.student-insight-card{padding:22px}.student-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.student-card-heading h3{margin:0 0 6px;font-size:20px;font-weight:620;color:var(--analysis-ink)}.student-card-heading p{margin:0;color:var(--analysis-muted);font-size:13px;line-height:1.65}.student-card-heading>span{flex-shrink:0;color:var(--analysis-muted);font-size:13px}.student-profile-scale{display:grid;grid-template-columns:1fr 1fr 1fr;margin:0 104px 5px 150px;color:var(--analysis-muted);font-size:10px}.student-profile-scale span:nth-child(2){text-align:center}.student-profile-scale span:last-child{text-align:right}.student-profile-list{display:grid;gap:2px}.student-profile-row{display:grid;grid-template-columns:140px minmax(120px,1fr) 94px;align-items:center;gap:12px;min-width:0;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.student-profile-row:hover{background:#f5f9f7}.student-profile-row:focus-visible{outline:2px solid var(--analysis-accent);outline-offset:1px}.student-profile-name{min-width:0;display:flex;flex-direction:column;gap:2px}.student-profile-name strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-profile-name small{font-size:11px;color:var(--analysis-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-profile-plot{position:relative;height:8px;border-radius:5px;background:#e7efeb;overflow:visible}.student-profile-fill{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--analysis-accent)}.student-profile-row.is-attention .student-profile-fill{background:#c48235}.student-profile-row.is-data .student-profile-plot{background:repeating-linear-gradient(90deg,#e5e9e7 0 6px,#f8faf9 6px 10px)}.student-profile-dot{position:absolute;top:50%;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--analysis-accent);transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0d6f5e44}.student-profile-row.is-attention .student-profile-dot{background:#c48235;box-shadow:0 0 0 1px #9b5b1844}.student-profile-target{position:absolute;top:-5px;bottom:-5px;width:2px;border-radius:2px;background:#324c55;transform:translate(-50%)}.student-profile-target:after{content:"";position:absolute;top:-2px;left:-2px;width:6px;height:3px;border-radius:2px;background:#324c55}.student-profile-empty{position:absolute;inset:0;border-radius:5px;background:repeating-linear-gradient(90deg,#e5e9e7 0 6px,#f8faf9 6px 10px)}.student-profile-score{text-align:right;color:var(--analysis-ink);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.student-profile-note{margin:14px 0 0;padding-top:13px;border-top:1px solid var(--analysis-line);color:var(--analysis-muted);font-size:12px;line-height:1.65}.student-compact-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.student-compact-metrics button,.student-compact-metrics>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:11px;border:1px solid var(--analysis-line);border-radius:10px;background:#f8faf9;color:inherit;text-align:left;font:inherit}.student-compact-metrics button{cursor:pointer}.student-compact-metrics button:hover{border-color:#abc9bd;background:#f1f7f4}.student-compact-metrics span{color:var(--analysis-muted);font-size:11px}.student-compact-metrics strong{font-size:20px;font-weight:620;font-variant-numeric:tabular-nums}.student-compact-metrics small{font-size:11px;font-weight:400;color:var(--analysis-muted)}.student-insight-section{padding:12px 0;border-top:1px solid var(--analysis-line)}.student-insight-section h4{margin:0 0 7px;font-size:13px;font-weight:600}.student-insight-section p{margin:0;color:var(--analysis-muted);font-size:12px;line-height:1.65}.student-insight-tags,.student-insight-links{display:flex;flex-wrap:wrap;gap:5px}.student-insight-tags .ant-btn{min-height:34px;padding:5px 9px;border:1px solid var(--analysis-line);border-radius:8px;background:#f8faf9;color:var(--analysis-ink)}.student-insight-tags small{margin-left:7px;color:var(--analysis-accent)}.student-insight-links{flex-direction:column;align-items:flex-start}.student-insight-links .ant-btn{min-height:30px;height:auto;padding:2px 0;white-space:normal;text-align:left}.student-change-summary{margin:12px 0 0;padding:11px 12px;border-radius:9px;background:#edf6f2;color:var(--analysis-muted);font-size:12px;line-height:1.6}.student-project-list-card{padding:22px;margin-bottom:18px}.student-category-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.student-category-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 13px;border:1px solid var(--analysis-line);border-radius:9px;background:#fff;color:var(--analysis-muted);font:inherit;font-size:13px;cursor:pointer}.student-category-tabs button[aria-pressed=true]{border-color:#abc9bd;background:#edf6f2;color:var(--analysis-accent);font-weight:600}.student-category-tabs small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e8efec;color:inherit;font-size:11px}.student-project-list{min-width:0;border-top:1px solid var(--analysis-line)}.student-project-list-head,.student-project-item{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(125px,.8fr) minmax(210px,1.35fr) minmax(150px,.85fr);gap:18px;align-items:center}.student-project-list-head{padding:12px 14px;color:var(--analysis-muted);font-size:12px;background:#f8faf9}.student-project-item{padding:15px 14px;border-bottom:1px solid var(--analysis-line)}.student-project-item>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.student-project-item>div:first-child .ant-btn{min-height:28px;height:auto;padding:0;font-weight:600;white-space:normal;text-align:left}.student-project-item strong{font-size:14px;font-weight:600;color:var(--analysis-ink);font-variant-numeric:tabular-nums}.student-project-item small{color:var(--analysis-muted);font-size:11px;line-height:1.55;overflow-wrap:anywhere}.student-project-item>div:last-child{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px}.student-project-item>div:last-child .ant-btn{min-height:32px;padding-inline:4px}.student-list-score>span{display:block;width:100%;max-width:105px;height:5px;border-radius:4px;background:#e7efeb;overflow:hidden}.student-list-score>span i{display:block;height:100%;border-radius:4px;background:var(--analysis-accent)}.student-positive{color:var(--analysis-accent)!important}.student-warning{color:#a55e20!important}.student-muted{color:var(--analysis-muted)}.student-empty{padding:42px 20px;text-align:center;background:#fff;border:1px solid var(--analysis-line);border-radius:16px}.student-empty>p{color:var(--analysis-muted)}.student-empty>div{display:flex;justify-content:center;align-items:center;gap:14px}.student-empty a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;background:var(--analysis-accent);color:#fff}.student-project-drawer .ant-drawer-title{display:flex;flex-direction:column;gap:3px}.student-project-drawer .ant-drawer-title>small{display:block;color:var(--analysis-muted);font-size:11px;font-weight:400;line-height:1.5}.student-drawer-current{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-drawer-current>div,.student-reference-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:15px;border:1px solid var(--analysis-line);border-radius:11px;background:#f8faf9}.student-drawer-current span,.student-reference-grid span{color:var(--analysis-muted);font-size:12px}.student-drawer-current strong,.student-reference-grid strong{font-size:21px;font-weight:620;font-variant-numeric:tabular-nums}.student-drawer-current strong small{display:inline;font-size:12px;font-weight:400;color:var(--analysis-muted)}.student-drawer-current small,.student-reference-grid small{font-size:11px;color:var(--analysis-muted);line-height:1.55}.student-target{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.student-target .ant-input-number{width:88px}.student-target .ant-btn{min-height:34px;padding-inline:5px}.student-drawer-note{margin:9px 0 20px;color:var(--analysis-muted);font-size:12px}.student-drawer-section{padding:20px 0;border-top:1px solid var(--analysis-line)}.student-drawer-heading h3{margin:0 0 5px;font-size:17px}.student-drawer-heading p{margin:0 0 14px;color:var(--analysis-muted);font-size:12px}.student-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.student-history-chart{height:170px;padding:8px 10px 0;border:1px solid var(--analysis-line);border-radius:11px;background:#f8faf9}.student-history-chart svg{width:100%;height:130px;overflow:visible}.student-chart-axis{stroke:#cfdcd6;stroke-width:.6}.student-chart-line{fill:none;stroke:var(--analysis-accent);stroke-width:1.6;vector-effect:non-scaling-stroke}.student-chart-point{fill:var(--analysis-accent);stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.student-history-axis{display:flex;justify-content:space-between;color:var(--analysis-muted);font-size:10px}.student-history-empty{display:flex;align-items:center;justify-content:center;min-height:100px;padding:18px;border:1px dashed var(--analysis-line);border-radius:11px;background:#f8faf9;color:var(--analysis-muted);font-size:12px;text-align:center}.student-history-list{margin-top:12px;border-top:1px solid var(--analysis-line)}.student-history-list article{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(90px,.7fr) minmax(80px,.65fr) auto;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--analysis-line)}.student-history-list article>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.student-history-list article>div:last-child{align-items:flex-end}.student-history-list span,.student-history-list small{color:var(--analysis-muted);font-size:11px;overflow-wrap:anywhere}.student-history-list strong{font-size:13px;font-weight:600}.student-history-list .ant-btn{min-height:32px;padding-inline:3px}@media(max-width:1100px){.student-profile-grid{grid-template-columns:1fr}.student-insight-card{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.student-insight-card>.student-card-heading,.student-compact-metrics,.student-change-summary{grid-column:1/-1}.student-profile-scale{margin-right:94px}.student-project-list-head,.student-project-item{grid-template-columns:minmax(165px,1fr) minmax(115px,.7fr) minmax(190px,1.15fr) minmax(140px,.75fr);gap:12px}.student-context-bar{grid-template-columns:1fr 1.2fr auto}}@media(max-width:760px){.student-context-bar{grid-template-columns:1fr 1fr}.student-filter-button{grid-column:1/-1;width:max-content}.student-identity-row{align-items:flex-start;flex-direction:column;gap:12px}.student-profile-row{grid-template-columns:122px minmax(100px,1fr) 82px}.student-profile-scale{margin-left:130px;margin-right:88px}.student-insight-card{display:block}.student-project-list-head{display:none}.student-project-list{border-top:0}.student-project-item{grid-template-columns:1fr 1fr;gap:13px;padding:15px;border:1px solid var(--analysis-line);border-radius:12px;margin-bottom:10px;background:#fff}.student-project-item>div:nth-child(3),.student-project-item>div:nth-child(4){padding-top:11px;border-top:1px solid var(--analysis-line)}.student-drawer-current{grid-template-columns:1fr}.student-project-drawer .ant-drawer-content-wrapper{width:100%!important}.student-history-list article{grid-template-columns:1fr 1fr}.student-history-list article>div:last-child{align-items:flex-start}}@media(max-width:520px){.student-context-bar{grid-template-columns:1fr}.student-filter-button{grid-column:auto;width:100%}.student-context-summary{align-items:flex-start}.student-context-summary>.ant-btn{font-size:0}.student-context-summary>.ant-btn .anticon{font-size:14px}.student-identity-row h2{font-size:22px}.student-identity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.student-identity-summary span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px}.student-profile-card,.student-insight-card,.student-project-list-card{padding:16px;border-radius:14px}.student-card-heading{flex-direction:column;gap:7px}.student-profile-scale{display:none}.student-profile-row{grid-template-columns:112px minmax(90px,1fr);gap:10px;padding:10px 2px}.student-profile-score{grid-column:2;text-align:left;font-size:12px}.student-compact-metrics{gap:6px}.student-compact-metrics button{padding:9px}.student-project-item{grid-template-columns:1fr}.student-project-item>div:nth-child(2){padding-top:11px;border-top:1px solid var(--analysis-line)}.student-project-item>div:nth-child(4){flex-direction:row}.student-category-tabs{display:grid;grid-template-columns:1fr 1fr}.student-category-tabs button{justify-content:space-between}.student-reference-grid{grid-template-columns:1fr}.student-history-list article{grid-template-columns:1fr}.student-history-list article>div+div{padding-top:6px;border-top:1px dashed var(--analysis-line)}}@media(prefers-reduced-motion:reduce){.student-profile-row{scroll-behavior:auto}}.student-person-switch.ant-btn{display:flex;align-items:center;gap:12px;height:auto;min-height:68px;padding:10px 16px;border:1px solid #DBE7E1;border-radius:14px;background:#fff;text-align:left;white-space:normal;width:100%}.student-person-switch.ant-btn:hover{background:#f8fbf9;border-color:#87b4a2}.student-person-switch .student-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 38px;height:38px;border-radius:12px;background:#edf5f1;color:#147c6b;font-size:20px}.student-person-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.student-person-text strong{font-size:18px;font-weight:600;color:#1e3135;overflow-wrap:anywhere;line-height:1.4}.student-person-text small{font-size:12px;color:#61727a;overflow-wrap:anywhere;line-height:1.5;font-variant-numeric:tabular-nums}.student-switch-label{display:flex;align-items:center;gap:6px;color:#147c6b;font-size:12px;flex-shrink:0}.student-context-bar{grid-template-columns:minmax(210px,.8fr) minmax(300px,1.5fr) auto;align-items:center;margin:8px 0 2px}.student-context-summary{min-height:36px;margin:0 0 14px;font-size:12px}.student-context-summary>.ant-btn{font-size:12px}.student-finder,.student-project-drawer,.student-filter-drawer{--analysis-ink:#1E3135;--analysis-muted:#61727A;--analysis-line:#E0E8E8;--analysis-accent:#147C6B}.student-finder .ant-modal-title{font-size:21px;margin-bottom:18px}.student-finder .ant-input-affix-wrapper{min-height:48px;border-radius:12px;font-size:16px}.student-finder-meta{display:flex;justify-content:space-between;padding:16px 3px 10px;color:#61727a;font-size:12px}.student-finder-list{max-height:420px;overflow:auto;padding:3px 2px}.student-finder-list>button{display:flex;align-items:center;gap:12px;min-height:68px;width:100%;padding:12px;border:0;border-bottom:1px solid #EDF1EF;background:#fff;text-align:left;font:inherit;color:#1e3135;border-radius:10px;cursor:pointer}.student-finder-list>button:hover{background:#f5f9f7}.student-finder-list>button[aria-pressed=true]{background:#edf6f2}.student-finder-list>button>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.student-finder-list strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}.student-finder-list small{font-size:12px;color:#61727a;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.student-finder-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 36px;height:36px;border-radius:11px;background:#e6efea;color:#39745d;font-size:12px}.student-finder-empty{padding:25px 12px;color:#61727a;font-size:14px;line-height:1.7;text-align:center}.student-performance-story{padding:28px;background:#fff;border:1px solid #E0E8E8;border-radius:22px;box-shadow:0 4px 22px #254f3b04;margin-top:4px}.student-story-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.student-story-eyebrow{color:#147c6b;font-size:12px;font-weight:600;letter-spacing:.1em}.student-story-heading h2{margin:8px 0;font-size:26px;line-height:1.4;letter-spacing:-.025em;font-weight:620;color:#1e3135}.student-story-heading p{margin:0;color:#61727a;font-size:14px;line-height:1.75}.student-story-count{display:flex;flex-direction:column;gap:3px;text-align:right;flex-shrink:0}.student-story-count strong{font-size:38px;font-weight:600;color:#147c6b;line-height:1.1;font-variant-numeric:tabular-nums}.student-story-count span{font-size:12px;color:#61727a}.student-performance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px}.student-performance-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;padding:20px;border:1px solid #E1E8E5;border-radius:17px;background:linear-gradient(145deg,#fafcfb,#f3f7f5);color:#1e3135;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.student-performance-card:hover{border-color:#8bbca8;box-shadow:0 4px 16px #183f3010}.student-performance-card:focus-visible{outline:2px solid #147C6B;outline-offset:3px}.student-performance-card.is-reached{background:linear-gradient(145deg,#f7fcf9,#edf6f0)}.student-performance-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}.student-performance-card-top strong{font-weight:600}.student-performance-card-top>.anticon{font-size:10px;color:#61727a}.student-performance-card-main{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:82px}.student-raw-value{font-size:27px;line-height:1.4;font-weight:620;letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.student-score-medallion{position:relative;width:76px;height:76px;flex:0 0 76px;display:flex;align-items:center;justify-content:center}.student-score-medallion svg{position:absolute;inset:0;transform:rotate(-90deg)}.student-score-medallion circle{fill:none;stroke:#dde8e2;stroke-width:3}.student-score-medallion circle+circle{stroke:#147c6b;stroke-linecap:round}.student-score-medallion>span{display:flex;align-items:center;flex-direction:column;gap:1px}.student-score-medallion strong{font-size:21px;font-weight:600;color:#147c6b}.student-score-medallion small{font-size:9px;color:#61727a}.student-card-change{display:flex;gap:6px;align-items:baseline;color:#61727a;font-size:12px;line-height:1.65}.student-card-change.is-positive{color:#147c6b}.student-card-change>.anticon{font-size:11px}.student-card-goal{padding-top:11px;border-top:1px solid #DDE7E1;color:#50665b;font-size:12px;line-height:1.7;display:flex;align-items:baseline;gap:5px}.student-card-date{font-size:10px;color:#61727a;font-variant-numeric:tabular-nums}.student-plain-state{font-size:12px;color:#61727a}.student-performance-cards.is-spotlight .student-performance-card{padding:24px}.student-performance-cards.is-spotlight .student-raw-value{font-size:34px}.student-story-insights{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:22px;margin-top:22px;border-top:1px solid #E0E8E8}.student-story-insights>div>span{color:#61727a;font-size:12px;display:flex;align-items:center;gap:7px}.student-story-insights p{margin:7px 0 0;font-size:13px;line-height:1.9}.student-story-insights button{border:0;padding:0;background:none;font:inherit;color:#1e3135;cursor:pointer;text-align:left}.student-story-insights button:hover{color:#147c6b}.student-story-insights strong{font-weight:600;color:#147c6b}.student-start-state{display:flex;align-items:center;gap:24px;padding:24px;border-radius:17px;background:linear-gradient(125deg,#edf6f0,#f7faf8)}.student-start-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 72px;height:72px;border:1px solid #D4E4DB;border-radius:24px;color:#578773;background:#fff9;font-size:29px}.student-start-state h3{margin:0 0 7px;font-weight:600;font-size:19px}.student-start-state p{margin:0;color:#61727a;font-size:13px;line-height:1.75}.student-start-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:15px}.student-start-actions>a{display:flex;align-items:center;gap:8px;min-height:44px;color:#147c6b;font-size:13px}.student-waiting-projects{margin-top:20px}.student-waiting-projects>span{font-size:12px;color:#61727a}.student-waiting-projects>span small{margin-left:6px}.student-waiting-projects>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.student-waiting-projects button{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 13px;border:1px solid #E0E8E8;border-radius:10px;background:#fafbfb;font:inherit;font-size:13px;color:#1e3135;cursor:pointer}.student-waiting-projects button small{color:#61727a;font-size:11px}.student-waiting-projects button>.anticon{font-size:9px;color:#61727a}.student-detail-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 2px;color:#61727a;font-size:13px}@media(max-width:1000px){.student-context-bar{grid-template-columns:1fr auto}.student-context-bar>label{grid-column:1/-1}.student-story-heading h2{font-size:24px}}@media(max-width:600px){.student-context-bar{grid-template-columns:1fr}.student-context-bar>label{grid-column:auto}.student-filter-button{width:100%}.student-performance-story{padding:18px;border-radius:17px}.student-story-heading{gap:12px}.student-story-heading h2{font-size:21px}.student-story-count strong{font-size:30px}.student-performance-cards{grid-template-columns:1fr}.student-story-insights{grid-template-columns:1fr;gap:16px}.student-start-state{padding:18px;flex-direction:column;align-items:flex-start;gap:14px}.student-start-symbol{width:48px;height:48px;flex-basis:48px;border-radius:16px;font-size:22px}.student-person-switch.ant-btn{padding:10px}.student-switch-label{font-size:11px}.student-person-text strong{font-size:16px}.student-context-summary>.ant-btn{font-size:12px}.student-waiting-projects>div{display:grid;grid-template-columns:1fr}.student-waiting-projects button{justify-content:space-between}}@media(prefers-reduced-motion:reduce){.student-performance-card{transition:none}}.student-performance-review .student-story-heading{margin-bottom:24px}.student-performance-review .student-story-heading h2{margin:0 0 7px;font-size:24px;font-weight:600;letter-spacing:-.02em}.student-overall-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(330px,1.05fr);gap:30px;margin-bottom:28px}.student-overall-chart{min-width:0;padding:20px;border:1px solid #E0E9E4;border-radius:18px;background:linear-gradient(150deg,#f5faf7,#fcfdfc)}.student-overall-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.student-overall-chart-heading h3,.student-feedback-heading h3{margin:0;font-size:16px;font-weight:600}.student-overall-chart-heading>span,.student-feedback-heading>span{font-size:12px;color:#61727a}.student-overall-chart>svg{display:block;width:100%;height:330px;margin:7px auto 0;max-width:520px;overflow:visible}.student-radar-grid{fill:none;stroke:#d8e5de;stroke-width:1}.student-radar-spoke{stroke:#e0e9e4;stroke-width:1}.student-radar-area{fill:#147c6b20;stroke:#147c6b;stroke-width:2;stroke-linejoin:round}.student-radar-dot{fill:#147c6b;stroke:#fff;stroke-width:2}.student-radar-missing{fill:#fff;stroke:#a8bab0;stroke-width:1.5}.student-radar-label{fill:#1e3135;font-size:13px;font-weight:550}.student-radar-value{fill:#61727a;font-size:11px;font-variant-numeric:tabular-nums}.student-radar-item{cursor:pointer;outline:none}.student-radar-item:hover text,.student-radar-item:focus-visible text{fill:#147c6b;text-decoration:underline}.student-radar-item:focus-visible circle{stroke:#1e3135;stroke-width:3}.student-overall-chart>p,.student-overall-mini-list>p{font-size:12px;line-height:1.7;color:#61727a;margin:7px 0 0;text-align:center}.student-overall-feedback{min-width:0;padding:4px 0}.student-feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.student-feedback-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.student-feedback-metrics>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding-right:12px;min-width:0}.student-feedback-metrics>div+div{border-left:1px solid #E0E8E8;padding-left:16px}.student-feedback-metrics span{font-size:12px;color:#61727a}.student-feedback-metrics strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;font-size:29px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3;color:#1e3135}.student-feedback-metrics small{font-size:11px;font-weight:400;color:#61727a}.student-evidence-feedback{border-top:1px solid #E6ECE8;padding-top:14px;margin-top:14px}.student-evidence-feedback h4{margin:0 0 8px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px}.student-evidence-feedback h4 small{font-size:11px;color:#61727a;font-weight:400}.student-evidence-feedback>button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:45px;padding:7px 0;border:0;background:transparent;color:#1e3135;font:inherit;text-align:left;cursor:pointer}.student-evidence-feedback>button:hover{background:#f8fbf9}.student-evidence-feedback>button>span{display:flex;flex-direction:column;gap:4px;font-size:12px;flex:1;min-width:0}.student-evidence-feedback>button small{font-size:10px;color:#61727a}.student-evidence-feedback>button strong{flex:1;font-size:12px;font-weight:500;line-height:1.7;text-align:right;min-width:0}.student-evidence-feedback>p{font-size:12px;color:#61727a;margin:0;line-height:1.8}.student-feedback-more.ant-btn{float:right;font-size:12px;min-height:36px;padding-inline:0}.student-single-project-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #E6ECE8;padding-top:24px;margin-bottom:16px}.student-single-project-heading h3{margin:0;font-size:17px;font-weight:600}.student-single-project-heading h3 small{font-size:12px;font-weight:400;color:#61727a;margin-left:8px}.student-single-project-heading>span{font-size:12px;color:#61727a}.student-performance-review .student-performance-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.student-performance-review .student-performance-cards.is-spotlight{grid-template-columns:repeat(2,minmax(0,1fr))}.student-performance-review .student-performance-cards.is-spotlight:has(>button:only-child){grid-template-columns:minmax(0,1fr);max-width:620px}.student-performance-review .student-performance-card,.student-performance-review .student-performance-card.is-reached{position:relative;padding:21px 22px 16px;background:#fff;border-color:#e2e9e5;border-radius:18px;gap:12px;box-shadow:0 2px 10px #254f3b04;transition:box-shadow .15s,border-color .15s}.student-performance-review .student-performance-card:hover{border-color:#9dbcaf;box-shadow:0 6px 20px #244b3710}.student-performance-review .student-performance-card.is-reached:before{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;background:#147c6b;border-radius:0 0 3px 3px;opacity:.6}.student-performance-review .student-performance-card-top{font-size:14px}.student-performance-review .student-performance-card-main{min-height:95px;gap:10px}.student-performance-review .student-raw-value{font-size:28px;letter-spacing:-.025em}.student-performance-review .student-score-medallion{width:86px;height:86px;flex-basis:86px;border-radius:50%;background:#f7faf8}.student-performance-review .student-score-medallion circle{stroke:#e1eae5;stroke-width:3}.student-performance-review .student-score-medallion circle+circle{stroke:#147c6b;stroke-width:3.3}.student-performance-review .student-score-medallion strong{font-size:25px;font-weight:600;line-height:1.2;color:#1e3135;display:flex;align-items:baseline;gap:2px}.student-score-medallion em{font-size:11px;font-style:normal;font-weight:400;color:#61727a}.student-performance-review .student-score-medallion small{font-size:9px;letter-spacing:.02em}.student-performance-review .student-card-change{font-size:12px;background:#f5f7f6;border-radius:7px;padding:7px 9px;line-height:1.6;gap:7px}.student-performance-review .student-card-change.is-positive{background:#edf6f1}.student-change-indicator{width:5px;height:5px;flex:0 0 5px;background:#93a19a;border-radius:50%;align-self:center}.is-positive .student-change-indicator{background:#147c6b}.student-performance-review .student-card-goal{padding-top:10px;font-size:12px;color:#50665b;border-color:#e9eeeb}.student-performance-review .student-card-date{font-size:10px;color:#61727a}.student-projects-more.ant-btn{display:block;margin:18px auto 0}.student-records-disclosure.ant-btn{display:flex;justify-content:space-between;align-items:center;min-height:76px;margin:18px 0 0;padding:16px 22px;border:1px solid #E0E8E8;border-radius:15px;background:#fff;text-align:left;white-space:normal}.student-records-disclosure>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.student-records-disclosure strong{font-size:15px;font-weight:600;color:#1e3135}.student-records-disclosure small{font-size:12px;color:#61727a}.student-records-disclosure>span:last-child{display:flex;align-items:center;gap:12px;color:#147c6b;font-size:13px}.student-disclosure-chevron{display:block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}.student-disclosure-chevron.is-open{transform:rotate(225deg);margin-top:3px}.student-performance-review+.student-records-disclosure+.student-project-list-card{margin-top:12px}.student-overall-mini-list{padding:20px 8px}.student-overall-mini-list>button{display:grid;grid-template-columns:1fr auto;gap:10px;width:100%;padding:13px 0;border:0;background:none;color:#1e3135;font:inherit;font-size:13px;text-align:left;cursor:pointer}.student-overall-mini-list strong{font-size:12px;font-weight:600}.student-overall-mini-track{display:block;grid-column:1/-1;height:5px;background:#dfeae3;border-radius:5px}.student-overall-mini-track i{display:block;height:100%;background:#147c6b;border-radius:5px}.student-overall-no-score{padding:42px 10px;color:#61727a;text-align:center;font-size:13px;line-height:1.8}@media(min-width:1600px){.student-performance-review .student-performance-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1150px){.student-overall-layout{grid-template-columns:1fr;gap:22px}.student-overall-chart>svg{height:280px}.student-performance-review .student-performance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.student-performance-review .student-performance-cards,.student-performance-review .student-performance-cards.is-spotlight{grid-template-columns:1fr}.student-overall-chart{padding:15px 12px}.student-overall-chart>svg{height:auto;min-height:220px}.student-performance-review .student-story-heading h2{font-size:21px}.student-feedback-metrics{gap:10px}.student-feedback-metrics>div+div{padding-left:10px}.student-feedback-metrics strong{font-size:24px}.student-single-project-heading{gap:10px}.student-single-project-heading>span{font-size:11px}.student-performance-review .student-performance-card{padding:18px}.student-performance-review .student-raw-value{font-size:28px}.student-records-disclosure.ant-btn{padding:15px}.student-overall-layout{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.student-performance-review .student-performance-card{transition:none}}.student-results{font-size:16px;line-height:1.65}.student-results .ant-btn,.student-results .ant-select{font-size:16px}.student-results .ant-btn{min-height:46px}.student-context-bar>label{font-size:16px}.student-person-text strong{font-size:21px}.student-person-text small,.student-switch-label{font-size:15px}.student-context-summary,.student-context-summary>.ant-btn,.student-active-filters .ant-tag{font-size:15px}.student-performance-review .student-story-heading h2{font-size:28px}.student-performance-review .student-story-heading p{font-size:17px}.student-overall-chart-heading h3,.student-feedback-heading h3{font-size:21px}.student-overall-chart-heading>span,.student-feedback-heading>span{font-size:15px}.student-overall-chart{background:#f7faf8;padding:24px;border-radius:20px;align-self:start}.student-overall-chart>svg{width:100%;height:340px;max-width:560px;margin:14px auto 4px}.student-radar-grid{stroke:#dce8e1}.student-radar-grid:last-of-type{stroke:#bbcfc1}.student-radar-area{fill:#147c6b26;stroke-width:2.5}.student-radar-label{font-size:16px;font-weight:550;fill:#30453b}.student-radar-item:hover text,.student-radar-item:focus-visible text,.student-radar-item.is-active text{fill:#0b6a58;text-decoration:none;font-weight:650}.student-radar-hit{fill:transparent;stroke:none}.student-radar-halo{fill:#147c6b1a;stroke:#147c6b44;stroke-width:1.5}.student-radar-active-line{stroke:#147c6b;stroke-width:2;stroke-dasharray:3 4}.student-radar-projects{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px}.student-radar-projects button{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;min-height:68px;padding:10px 12px;border:1px solid #E1EAE4;border-radius:11px;background:#fff;color:#1e3135;font:inherit;text-align:left;cursor:pointer}.student-radar-projects button>span{display:flex;align-items:center;gap:7px;font-size:15px;line-height:1.4}.student-radar-projects i{display:block;flex:0 0 6px;height:6px;border-radius:50%;background:#8eb5a5}.student-radar-projects strong{font-size:17px;font-weight:600;padding-left:13px;line-height:1.4;font-variant-numeric:tabular-nums}.student-radar-projects button.is-active,.student-radar-projects button:hover{border-color:#86ad99;background:#eaf4ee;box-shadow:inset 0 0 0 1px #86ad9933}.student-radar-projects button.is-active i{background:#147c6b}.student-radar-projects button:focus-visible{outline:2px solid #147C6B;outline-offset:3px}.student-overall-chart>p,.student-overall-mini-list>p,.student-overall-mini-list>button,.student-overall-mini-list strong,.student-overall-no-score{font-size:15px}.student-feedback-metrics span{font-size:16px}.student-feedback-metrics strong{font-size:34px}.student-feedback-metrics small{font-size:15px}.student-evidence-feedback h4{font-size:18px}.student-evidence-feedback h4 small{font-size:14px}.student-evidence-feedback>button{padding:12px 0;gap:18px}.student-evidence-feedback>button>span,.student-evidence-feedback>button strong,.student-evidence-feedback>p{font-size:16px}.student-evidence-feedback>button small{font-size:14px}.student-feedback-more.ant-btn{font-size:16px}.student-single-project-heading h3{font-size:22px}.student-single-project-heading h3 small,.student-single-project-heading>span{font-size:15px}.student-performance-review .student-performance-card-top{font-size:18px}.student-performance-review .student-performance-card{padding:24px}.student-performance-review .student-raw-value{font-size:32px}.student-performance-review .student-card-change,.student-performance-review .student-card-goal{font-size:16px}.student-performance-review .student-card-date{font-size:14px}.student-performance-review .student-score-medallion{width:96px;height:96px;flex-basis:96px}.student-performance-review .student-score-medallion strong{font-size:28px}.student-score-medallion em{font-size:14px}.student-performance-review .student-score-medallion small{font-size:12px}.student-start-state h3{font-size:23px}.student-start-state p,.student-start-actions>a,.student-waiting-projects>span,.student-waiting-projects button{font-size:16px}.student-waiting-projects button small{font-size:14px}.student-records-disclosure strong{font-size:19px}.student-records-disclosure small,.student-records-disclosure>span:last-child{font-size:16px}.student-project-list-card .student-card-heading h3{font-size:22px}.student-project-list-card .student-card-heading p,.student-project-list-card .student-card-heading>span,.student-category-tabs button{font-size:16px}.student-project-list-head,.student-project-item strong,.student-project-item>div .ant-btn{font-size:16px}.student-project-item small,.student-category-tabs small{font-size:14px}.student-readable-overlay{--analysis-ink:#1E3135;--analysis-muted:#52665B;--analysis-line:#DDE6E1;--analysis-accent:#147C6B;color:#1e3135}.student-readable-overlay .ant-modal-container{padding:26px;border-radius:20px}.student-readable-overlay .ant-modal-body{max-height:calc(100dvh - 220px);overflow:auto;padding-right:6px;overscroll-behavior:contain}.student-readable-overlay .ant-modal-close{width:44px;height:44px;top:18px;right:18px}.student-dialog-title{display:flex;flex-direction:column;gap:6px;padding-right:42px;margin-bottom:20px}.student-dialog-title strong{font-size:25px;font-weight:600}.student-dialog-title span{font-size:15px;font-weight:400;color:#52665b;line-height:1.6}.student-readable-overlay .ant-btn{min-height:46px;height:auto;font-size:16px;border-radius:9px}.student-readable-overlay .ant-select,.student-readable-overlay .ant-input-number{min-height:46px;width:100%;font-size:16px}.student-readable-overlay .ant-select-content,.student-readable-overlay .ant-select-selection-item{font-size:16px}.student-filter-group{padding:20px 0;border-top:1px solid #E3EBE6}.student-filter-group:first-child{border-top:0;padding-top:0}.student-filter-group-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.student-filter-group-heading h3{margin:0;font-size:20px;font-weight:600}.student-filter-group-heading p{margin:5px 0 0;color:#52665b;font-size:15px}.student-filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:15px}.student-filter-pair label,.student-filter-test-picker{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:500}.student-filter-pair input{width:100%;min-height:48px;border:1px solid #D9E3DC;border-radius:9px;padding:0 12px;font:inherit;color:#1e3135;background:#fff}.student-filter-group .ant-radio-group{display:flex;flex-wrap:wrap;gap:8px}.student-filter-group .ant-radio-button-wrapper{height:auto;min-height:46px;line-height:26px;padding:10px 18px;font-size:16px;border-radius:9px;border:1px solid #D9E3DC}.student-filter-group .ant-radio-button-wrapper:before{display:none}.student-score-mode.ant-radio-group{display:grid;grid-template-columns:1fr 1fr;gap:14px}.student-score-mode .ant-radio-wrapper{display:flex;align-items:flex-start;margin:0;padding:17px;border:1px solid #DEE7E1;border-radius:12px;background:#fafcfa}.student-score-mode .ant-radio-wrapper-checked{border-color:#80ad96;background:#eff7f1}.student-score-mode .ant-radio{margin-top:4px}.student-score-mode strong{display:block;font-size:16px;font-weight:550}.student-score-mode .ant-radio-wrapper>span:last-child>span{display:block;font-size:15px;color:#52665b;line-height:1.7;margin-top:6px}.student-filter-hint,.student-filter-test-picker small{font-size:14px;color:#52665b;margin:10px 0 0}.student-filter-test-picker{margin-top:16px}.student-filter-group .ant-alert{margin-top:12px;font-size:16px}.student-filter-footer,.student-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid #E0E8E8;margin-top:12px}.student-filter-footer>div,.student-detail-footer>div{display:flex;gap:10px}.student-detail-footer>span{font-size:14px;color:#52665b}.student-detail-project-nav{display:flex;align-items:center;gap:12px;margin-bottom:20px}.student-detail-project-nav .ant-select{flex:1;min-width:0}.student-detail-project-nav>.ant-btn{flex-shrink:0}.student-project-dialog .student-drawer-current{gap:14px}.student-project-dialog .student-drawer-current>div{padding:20px}.student-project-dialog .student-drawer-current span,.student-project-dialog .student-reference-grid span{font-size:16px}.student-project-dialog .student-drawer-current strong,.student-project-dialog .student-reference-grid strong{font-size:30px}.student-project-dialog .student-drawer-current strong small{font-size:16px}.student-project-dialog .student-drawer-current small,.student-project-dialog .student-reference-grid small{font-size:15px}.student-project-dialog .student-target{font-size:16px}.student-project-dialog .student-target .ant-input-number{width:100px}.student-project-dialog .student-target .ant-input-number-input{min-height:44px;font-size:18px}.student-project-dialog .student-drawer-note{font-size:15px;line-height:1.7;margin:12px 0 20px}.student-project-dialog .student-drawer-heading h3{font-size:21px}.student-project-dialog .student-drawer-heading p{font-size:16px;line-height:1.7}.student-project-dialog .student-history-chart{height:auto;min-height:200px}.student-project-dialog .student-history-chart svg{height:auto;min-height:160px}.student-project-dialog .student-history-axis,.student-project-dialog .student-history-empty{font-size:15px}.student-project-dialog .student-history-list article{grid-template-columns:minmax(220px,1.4fr) minmax(120px,.8fr) minmax(110px,.7fr) auto;gap:18px;padding:18px 4px}.student-project-dialog .student-history-list strong{font-size:17px}.student-project-dialog .student-history-list span,.student-project-dialog .student-history-list small,.student-project-dialog .ant-tag{font-size:14px}@media(max-width:1500px){.student-performance-review .student-performance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.student-overall-layout{grid-template-columns:1fr 1fr;gap:24px}.student-evidence-feedback>button{align-items:flex-start;gap:8px;flex-direction:column}.student-evidence-feedback>button strong{text-align:left}.student-overall-chart{padding:20px}}@media(max-width:1150px){.student-overall-layout{grid-template-columns:1fr}.student-evidence-feedback>button{flex-direction:row;align-items:center}.student-evidence-feedback>button strong{text-align:right}.student-readable-overlay .ant-modal-body{max-height:calc(100dvh - 240px)}}@media(max-width:650px){.student-context-bar>label,.student-switch-label,.student-person-text small,.student-context-summary{font-size:15px}.student-performance-review .student-performance-cards,.student-performance-review .student-performance-cards.is-spotlight{grid-template-columns:1fr}.student-performance-review .student-performance-card{padding:20px}.student-performance-review .student-raw-value{font-size:30px}.student-performance-review .student-score-medallion{width:88px;height:88px;flex-basis:88px}.student-feedback-metrics{grid-template-columns:1fr;gap:12px}.student-feedback-metrics>div,.student-feedback-metrics>div+div{padding:0;border:0;flex-direction:row;align-items:baseline;justify-content:space-between}.student-feedback-metrics strong{font-size:28px}.student-evidence-feedback>button{flex-direction:column;gap:8px}.student-evidence-feedback>button strong{text-align:left}.student-radar-projects{grid-template-columns:1fr}.student-single-project-heading{align-items:flex-start;flex-direction:column;gap:7px}.student-overall-chart>svg{height:auto;min-height:240px}.student-performance-review .student-story-heading h2{font-size:24px}.student-readable-overlay .ant-modal-container{padding:18px;border-radius:14px}.student-dialog-title strong{font-size:22px}.student-readable-overlay .ant-modal-body{max-height:calc(100dvh - 240px)}.student-filter-pair,.student-score-mode.ant-radio-group{grid-template-columns:1fr}.student-filter-footer,.student-detail-footer{align-items:stretch;flex-direction:column;gap:10px}.student-filter-footer>div,.student-detail-footer>div{justify-content:flex-end;flex-wrap:wrap}.student-detail-project-nav{gap:7px;flex-wrap:wrap}.student-detail-project-nav .ant-select{order:-1;flex-basis:100%;margin-bottom:4px}.student-detail-project-nav>.ant-btn{flex:1}.student-project-dialog .student-drawer-current,.student-project-dialog .student-reference-grid{grid-template-columns:1fr}.student-project-dialog .student-history-list article{grid-template-columns:1fr 1fr;gap:14px}.student-project-dialog .student-history-list article>div:first-child{grid-column:1/-1}.student-project-dialog .student-history-list article>div:last-child{grid-column:1/-1;align-items:flex-start}.student-overall-chart-heading{align-items:flex-start;flex-direction:column;gap:7px}.student-evidence-feedback h4{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.student-radar-item,.student-radar-projects button{transition:none}}.student-finder .student-finder-list strong{font-size:18px}.student-finder .student-finder-list small,.student-finder-meta{font-size:15px}.student-finder .ant-modal-title{font-size:24px}.student-method-popover{font-size:16px;max-width:420px}.student-readable-overlay .ant-modal-container{display:flex;flex-direction:column;max-height:calc(100dvh - 48px)}.student-readable-overlay .ant-modal-body{flex:1;min-height:0;max-height:none;overflow:auto}.student-readable-overlay .ant-modal-header,.student-readable-overlay .ant-modal-footer{flex-shrink:0}@media(max-width:380px){.student-performance-review .student-performance-card-main{flex-wrap:wrap}.student-performance-review .student-score-medallion{width:80px;height:80px;flex-basis:80px}.student-readable-overlay .ant-modal-container{max-height:calc(100dvh - 24px)}}.student-history-context{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 8px 0;color:#61727a;font-size:13px}.student-history-context strong{font-size:14px;font-weight:500;color:#394f44;background:#f2f6f4;border-radius:6px;padding:5px 9px}.student-history-scale-note{margin:0 8px 8px;color:#61727a;font-size:13px;line-height:1.6}.student-history-tick{font-family:system-ui,sans-serif}@media(max-width:650px){.student-history-context{align-items:flex-start;flex-direction:column}.student-history-scale-note{font-size:12px}}.student-performance-review .student-score-medallion{background:var(--student-score-tint,#F7FAF8)}.student-performance-review .student-score-medallion circle+circle{stroke:var(--student-score-color,#147C6B)}.student-performance-review .student-score-medallion strong{color:var(--student-score-ink,#1E3135)}.student-performance-review .student-performance-card.is-reached:before{background:var(--student-score-color,#147C6B)}.student-score-color-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin:-2px 0 18px;color:#52665b;font-size:14px}.student-score-color-legend>span{display:flex;align-items:center;gap:7px}.student-score-color-legend i{width:8px;height:8px;border-radius:50%}.student-evidence-feedback>button strong.student-change-badge{display:inline-flex;flex:0 1 auto;justify-content:center;align-items:center;gap:8px;min-width:112px;padding:8px 12px;border-radius:9px;font-weight:550;font-size:15px;line-height:1.5;background:#f2f5f3;color:#52665b}.student-change-badge i{display:block;flex:0 0 6px;height:6px;border-radius:50%;background:currentColor}.student-evidence-feedback>button strong.student-change-badge.is-improved{background:#eaf6ef;color:#087453}.student-evidence-feedback>button strong.student-change-badge.is-declined{background:#fff5e7;color:#8f5d20}.student-evidence-feedback>button strong.student-change-badge.is-same{background:#edf3f7;color:#4a6578}.student-overall-chart{background:#fff;border-color:#e1e8e4;box-shadow:0 3px 20px #163c2b04}.student-overall-chart>svg{background:radial-gradient(ellipse at center,#f7fbf8,#fff 72%);border-radius:16px;height:350px;margin-top:16px}.student-radar-grid{stroke:#dbe6df;stroke-width:1;fill:revert-layer}.student-radar-spoke{stroke:#d9e5dd;stroke-width:1;stroke-dasharray:3 5}.student-radar-area{stroke:#147c6b;stroke-width:2.5;stroke-linejoin:round;filter:drop-shadow(0 3px 4px #147C6B15)}.student-radar-dot{stroke:#fff;stroke-width:2.5}.student-radar-halo{fill:#147c6b12;stroke:#147c6b66;stroke-width:1}.student-radar-label{font-size:15px;font-weight:550;fill:#394f44}.student-radar-item.is-active .student-radar-label{fill:#147c6b}.student-radar-readout{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:48px;background:#f4f8f5;border:1px solid #E3ECE6;border-radius:10px;padding:10px 13px;margin:3px 0 12px;font-size:15px;color:#52665b}.student-radar-readout strong{font-size:17px;font-weight:600;color:#1e3135;font-variant-numeric:tabular-nums}.student-radar-projects button{border-color:#e5ece7;background:#fff}.student-radar-projects button.is-active{background:#ecf6f0;border-color:#77a78f;box-shadow:inset 0 0 0 1px #77a78f33}.student-filter-panel .student-dialog-title{margin-bottom:18px}.student-filter-panel .student-filter-group{padding:22px 0}.student-filter-preview{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#eff6f2;border:1px solid #DCE9E1;border-radius:12px;font-size:15px;margin-bottom:6px}.student-filter-preview>span{color:#52665b;flex-shrink:0}.student-filter-preview>strong{font-weight:550;color:#20583f;overflow-wrap:anywhere}.student-filter-panel .student-filter-group-heading h3{display:flex;align-items:center;gap:10px;font-size:19px}.student-filter-step{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;border-radius:8px;background:#eef4f0;font-size:13px;color:#39745d;font-variant-numeric:tabular-nums}.student-filter-group-heading>small{font-size:14px;color:#61727a}.student-filter-mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.student-filter-mode-cards>button{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;text-align:left;font:inherit;padding:18px 42px 18px 18px;border:1px solid #DDE6E0;border-radius:13px;background:#fff;color:#1e3135;cursor:pointer}.student-filter-mode-cards strong{font-size:17px;font-weight:600}.student-filter-mode-cards span{font-size:15px;color:#52665b;line-height:1.7}.student-filter-mode-cards>button[aria-pressed=true]{background:#eff7f2;border-color:#7eac92;box-shadow:inset 0 0 0 1px #7eac9222}.student-filter-mode-cards i{position:absolute;right:17px;top:21px;width:16px;height:16px;border:1px solid #C3D3C8;border-radius:50%}.student-filter-mode-cards>button[aria-pressed=true] i{border:5px solid #147C6B;background:#fff}.student-filter-advanced-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:2px 0;border:0;background:none;font:inherit;text-align:left;color:#1e3135;cursor:pointer;min-height:50px}.student-filter-advanced-toggle>span:first-child{display:flex;flex-direction:column;gap:5px}.student-filter-advanced-toggle strong{font-size:17px;font-weight:550}.student-filter-advanced-toggle small{font-size:14px;color:#61727a}.student-filter-advanced-toggle>span:last-child{font-size:15px;color:#147c6b}.student-filter-advanced-body{padding-top:18px}.student-filter-advanced-body>label{display:flex;flex-direction:column;gap:12px;font-size:16px}.student-test-picker{margin-top:18px;padding:16px;border:1px solid #DDE6E0;border-radius:13px;background:#fafcfa}.student-test-picker .ant-input-affix-wrapper{min-height:46px;font-size:16px;background:#fff;border-radius:9px}.student-test-picker-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px;color:#52665b;padding:8px 0}.student-test-picker-toolbar>div{display:flex;gap:2px}.student-test-picker-toolbar .ant-btn{font-size:14px;padding:4px 7px;min-height:38px}.student-test-choices{max-height:276px;overflow:auto;padding:0 5px 0 0;overscroll-behavior:contain;scrollbar-gutter:stable}.student-test-date{display:flex;align-items:center;gap:7px;color:#61727a;font-size:14px;padding:12px 3px 8px;font-variant-numeric:tabular-nums}.student-test-choices .ant-checkbox-wrapper{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 7px;padding:13px;border:1px solid #E0E8E2;border-radius:10px;background:#fff}.student-test-choices .ant-checkbox-wrapper-checked{background:#eff7f2;border-color:#9fc1ab}.student-test-choices .ant-checkbox+span{flex:1;min-width:0}.student-test-choice-main{display:flex;flex-direction:column;gap:7px}.student-test-choice-main>strong{font-size:16px;font-weight:550;line-height:1.5}.student-test-choice-main>span{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;color:#61727a;font-size:14px;line-height:1.6}.student-test-choice-main small{padding:1px 7px;background:#edf2ef;border-radius:5px;font-size:12px;color:#52665b}.student-test-picker-hint,.student-test-picker-empty{font-size:14px;line-height:1.7;color:#61727a;margin:10px 0 0}.student-project-dialog .student-history-refined{background:#fff;border:1px solid #E2EAE4;border-radius:14px;padding:18px 16px 8px;min-height:0}.student-history-readout{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:0 8px 4px}.student-history-readout>div{display:flex;flex-direction:column;gap:5px}.student-history-readout span{font-size:14px;color:#61727a}.student-history-readout strong{font-size:23px;font-weight:600;letter-spacing:-.02em;color:#1e3135}.student-history-readout>small{font-size:13px;color:#61727a}.student-project-dialog .student-history-refined svg{display:block;width:100%;height:auto;min-height:0;margin-top:4px;overflow:visible}.student-history-grid{stroke:#e4ebe6;stroke-width:1;stroke-dasharray:3 5}.student-history-tick{fill:#61727a;font-size:13px;font-variant-numeric:tabular-nums}.student-history-stroke{fill:none;stroke:#147c6b;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.student-history-crosshair{stroke:#8ab5a0;stroke-width:1;stroke-dasharray:3 4}.student-history-point{fill:#147c6b;stroke:#fff;stroke-width:2}.student-history-point-halo{fill:#147c6b18;stroke:#147c6b33;stroke-width:1}.student-history-refined svg g[role=button]{cursor:pointer}.student-history-refined svg g[role=button]:focus-visible{outline:none}.student-history-refined svg g[role=button]:focus-visible .student-history-point{stroke:#1e3135;stroke-width:3}@media(max-width:650px){.student-filter-mode-cards{grid-template-columns:1fr}.student-filter-preview{align-items:flex-start;flex-direction:column;gap:4px}.student-filter-mode-cards>button{padding:15px 40px 15px 15px}.student-test-picker{padding:12px}.student-test-picker-toolbar{align-items:flex-start;flex-wrap:wrap}.student-radar-readout{font-size:14px}.student-radar-readout strong{font-size:16px}.student-overall-chart>svg{height:auto;min-height:240px}.student-history-readout{align-items:flex-start;flex-direction:column;gap:8px}.student-history-readout strong{font-size:21px}.student-project-dialog .student-history-refined{padding:14px 8px 6px}.student-evidence-feedback>button strong.student-change-badge{align-self:flex-start;min-width:0;font-size:15px}.student-score-color-legend{gap:10px 16px}}.trend-workspace{--trend-ink:#1E3135;--trend-muted:#52665B;--trend-border:#E0E8E8;--trend-brand:#147C6B;color:var(--trend-ink);font-size:16px;min-width:0}.trend-workspace *,.trend-dialog *{box-sizing:border-box}.trend-workspace h3,.trend-dialog h3{font-size:18px;font-weight:650;line-height:1.5;margin:0}.trend-workspace button,.trend-dialog button{font:inherit}.trend-workspace button:focus-visible,.trend-dialog button:focus-visible,.trend-workspace [role=button]:focus-visible{outline:3px solid #0072B2;outline-offset:3px}.trend-context-bar{display:grid;grid-template-columns:minmax(200px,1fr) minmax(260px,1.35fr) auto;gap:16px;align-items:end;padding:4px 0 0}.trend-workspace label,.trend-dialog label:not(.ant-radio-button-wrapper){display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:550;min-width:0}.trend-dialog .ant-radio-group{display:flex;flex-wrap:wrap;gap:4px 0}.trend-advanced-toggle{border:0;border-top:1px solid #E0E8E8;display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 0 8px;background:#fff;color:#1e3135;text-align:left;cursor:pointer}.trend-advanced-toggle>span:first-child{display:flex;flex-direction:column;gap:5px}.trend-advanced-toggle strong{font-size:18px;font-weight:650}.trend-advanced-toggle small{font-size:14px;color:#52665b}.trend-workspace .ant-select,.trend-dialog .ant-select{width:100%;min-width:0;font-weight:400}.trend-context-bar>.ant-btn{height:46px}.trend-context-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--trend-muted);font-size:14px;margin:10px 0 16px}.trend-context-summary>.ant-btn{font-size:14px}.trend-method{max-width:min(360px,78vw);font-size:15px;line-height:1.7}.trend-method p{margin:8px 0}.trend-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 16px}.trend-active-filters .ant-tag{font-size:14px;white-space:normal;overflow-wrap:anywhere}.trend-card{border:1px solid var(--trend-border);border-radius:18px;background:#fff;padding:24px;min-width:0}.trend-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.trend-card-heading p{margin:5px 0 0;color:var(--trend-muted);font-size:14px;line-height:1.6}.trend-stage-card{margin-bottom:20px}.trend-stage-selectors{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:14px;align-items:end}.trend-stage-selectors label>span{display:flex;align-items:center;gap:8px}.trend-before-dot,.trend-after-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#0072b2}.trend-after-dot{background:#147c6b}.trend-person-select{display:grid!important;grid-template-columns:auto minmax(180px,320px);align-items:center;justify-content:start;margin-top:18px;gap:16px!important}.trend-workspace>.ant-alert{margin:16px 0}.trend-metrics{display:grid;grid-template-columns:.95fr 1.3fr 1.2fr;gap:16px;margin-bottom:20px}.trend-metric{text-align:left;border:1px solid var(--trend-border);border-radius:16px;background:#fff;min-width:0;padding:20px;display:flex;flex-direction:column;gap:8px;color:var(--trend-ink)}button.trend-metric{cursor:pointer;transition:border-color .15s,box-shadow .15s}button.trend-metric:hover{border-color:#147c6b;box-shadow:0 4px 16px #147c6b0d}.trend-metric>span{font-size:15px;color:var(--trend-muted)}.trend-metric>strong{font-size:34px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.4}.trend-metric strong small{font-size:14px;font-weight:400}.trend-metric p{font-size:14px;color:var(--trend-muted);margin:2px 0 0;line-height:1.5}.trend-metric>small{font-size:14px;color:var(--trend-brand)}.trend-two-values{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:3px 0 4px}.trend-two-values>div{display:flex;flex-direction:column;gap:3px;min-width:0}.trend-two-values>div+div{border-left:1px solid #E0E8E8;padding-left:16px}.trend-two-values small{font-size:13px;color:var(--trend-muted)}.trend-two-values strong{font-size:24px;white-space:nowrap;line-height:1.5;font-weight:650;font-variant-numeric:tabular-nums}.trend-charts{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:20px;margin-bottom:20px;align-items:stretch}.trend-chart-card .trend-card-heading{align-items:center;margin-bottom:16px}.trend-segment{display:flex;border:1px solid var(--trend-border);border-radius:10px;padding:3px;background:#f5f8f7;flex-shrink:0}.trend-segment button{border:0;border-radius:7px;background:none;padding:7px 10px;font-size:14px;color:var(--trend-muted);cursor:pointer;white-space:nowrap;min-height:36px}.trend-segment button[aria-pressed=true]{background:#fff;color:#147c6b;box-shadow:0 1px 4px #1e313512;font-weight:600}.trend-segment button:disabled{opacity:.5;cursor:default}.trend-chart-readout{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#f3f8f5;border-radius:12px;padding:14px 16px;min-height:84px}.trend-chart-readout>div{display:flex;flex-direction:column;gap:4px}.trend-chart-readout span{font-size:14px;color:var(--trend-muted)}.trend-chart-readout strong{font-size:25px;font-weight:650;font-variant-numeric:tabular-nums}.trend-chart-readout>span{font-size:15px;font-weight:550;color:var(--trend-ink);text-align:right}.trend-chart-scroll svg{width:100%;display:block;height:auto;min-width:360px;overflow:visible}.trend-chart-scroll{overflow-x:auto;margin:8px -10px 0}.trend-axis{font-size:15px;fill:#52665b}.trend-grid{stroke:#e2eae6;stroke-width:1;stroke-dasharray:3 5}.trend-connection{stroke:#147c6b;stroke-width:3;stroke-linecap:round}.trend-point-label{font-size:16px;fill:#1e3135}.trend-chart-note,.trend-distribution-note{font-size:14px!important;color:var(--trend-muted);line-height:1.7;margin:6px 0 0}.trend-stacked-bar{height:16px;background:#f1f5f2;border-radius:8px;display:flex;gap:3px;overflow:hidden;margin:4px 0 22px}.trend-distribution-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trend-distribution-grid button{border:1px solid transparent;text-align:left;border-radius:12px;padding:15px;display:grid;grid-template-columns:1fr auto;gap:7px;color:var(--trend-ink);cursor:pointer;min-height:102px}.trend-distribution-grid button:hover,.trend-distribution-grid button.is-selected{border-color:#147c6b}.trend-distribution-grid button>span{grid-column:1/-1;font-size:15px;display:flex;gap:7px;align-items:center}.trend-distribution-grid button i{width:8px;height:8px;border-radius:50%}.trend-distribution-grid button strong{font-size:27px;font-weight:650;line-height:1.3}.trend-distribution-grid button strong small{font-size:14px;font-weight:400}.trend-distribution-grid button>small{font-size:14px;color:var(--trend-muted);align-self:end;padding-bottom:4px}.trend-distribution-note{margin-top:18px}.trend-unpaired-note{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 22px;border:1px solid #E0E8E8;border-radius:14px;background:#f6f9f7;text-align:left;margin:18px 0;color:var(--trend-ink);cursor:pointer}.trend-unpaired-note>span:first-child{display:flex;flex-direction:column;gap:5px}.trend-unpaired-note strong{font-size:16px;font-weight:600}.trend-unpaired-note small{font-size:14px;color:var(--trend-muted)}.trend-unpaired-note>span:last-child{font-size:15px;color:var(--trend-brand);white-space:nowrap}.trend-disclosure.ant-btn{height:auto;min-height:76px;padding:16px 22px;justify-content:space-between;border-radius:14px;box-shadow:none}.trend-disclosure.ant-btn>span:first-child{display:flex;align-items:center;gap:16px}.trend-disclosure strong{font-size:17px;font-weight:600}.trend-disclosure small{font-size:14px;font-weight:400;color:var(--trend-muted)}.trend-details{margin-top:16px}.trend-details .trend-card-heading{align-items:center}.trend-details .ant-input-affix-wrapper{width:min(260px,50%)}.trend-list-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.trend-list-tabs button{border:1px solid #E0E8E8;color:#52665b;background:#fff;border-radius:9px;min-height:42px;padding:8px 13px;font-size:14px;cursor:pointer;display:flex;gap:8px;align-items:center}.trend-list-tabs button[aria-pressed=true]{background:#edf6f2;color:#147c6b;border-color:#9bcabb}.trend-list-tabs button small{font:inherit;font-variant-numeric:tabular-nums}.trend-pair-list article{display:grid;grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) minmax(110px,1fr) minmax(160px,1.4fr) auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid #EDF1EF}.trend-pair-list article>div,.trend-unpaired-list article>div{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0}.trend-pair-list article strong{font-size:16px;font-weight:550;line-height:1.5}.trend-pair-list article small,.trend-unpaired-list article small{font-size:14px;color:var(--trend-muted);overflow-wrap:anywhere;line-height:1.5}.trend-student .ant-btn{padding:0;height:auto;font-size:17px;font-weight:600;white-space:normal;text-align:left}.trend-pair-change .ant-tag{font-size:14px;line-height:26px;margin:0}.trend-pair-list article>.ant-btn{font-size:14px}.trend-unpaired-list article{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:20px;padding:20px 0;border-bottom:1px solid #EDF1EF}.trend-unpaired-list .ant-btn{padding:0;height:30px;font-size:14px}.trend-details .ant-pagination{margin-top:20px;justify-content:flex-end}.trend-footnote{font-size:14px;color:var(--trend-muted);line-height:1.7;margin:20px 0 0}.trend-data-issues{border:1px solid #E0E8E8;border-radius:12px;padding:14px 18px;margin:0 0 16px;font-size:14px;background:#fff}.trend-data-issues summary{cursor:pointer;color:#52665b}.trend-data-issues p{margin:8px 0;line-height:1.7}.trend-data-issues .ant-btn{font-size:14px}.trend-empty{text-align:center;padding:44px 20px}.trend-empty>.ant-btn{margin:6px}.trend-dialog .ant-modal-container{padding:24px}.trend-dialog .ant-modal-header{margin-bottom:0;padding-right:24px}.trend-dialog-title{display:flex;flex-direction:column;gap:6px;line-height:1.5}.trend-dialog-title strong{font-size:21px;font-weight:650}.trend-dialog-title span{font-size:14px;font-weight:400;color:#52665b;overflow-wrap:anywhere}.trend-dialog-body{max-height:min(62vh,660px);overflow-y:auto;overscroll-behavior:contain;padding:6px 8px 0 0;margin:18px -8px 18px 0;font-size:16px}.trend-filter-group{padding:18px 0;border-top:1px solid #E0E8E8}.trend-filter-group:first-child{border-top:0;padding-top:0}.trend-filter-group h3{margin-bottom:14px}.trend-filter-group>label+label{margin-top:14px}.trend-filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0}.trend-filter-pair label+label{margin:0}.trend-filter-pair input{width:100%;min-height:46px;border:1px solid #D8E3DF;border-radius:9px;background:#fff;padding:8px 12px;font:inherit;font-weight:400;min-width:0;color:#1e3135}.trend-filter-group p,.trend-dialog-body>p{font-size:14px;line-height:1.7;color:#52665b;margin:10px 0 0}.trend-dialog-footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.trend-dialog-footer>div{display:flex;gap:10px}.trend-dialog .ant-btn{min-height:42px;height:auto}.trend-record-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trend-record-pair section{border:1px solid #E0E8E8;background:#f7faf8;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}.trend-record-pair section>span{font-size:15px;color:#52665b}.trend-record-pair strong{font-size:28px;color:#1e3135;font-weight:650}.trend-record-pair small{font-size:14px;color:#52665b;overflow-wrap:anywhere;line-height:1.6}.trend-record-pair .ant-btn{margin-top:auto}.trend-person-change{margin-top:20px;padding:20px;background:#edf6f2;border-radius:14px}.trend-person-change>strong{font-size:20px;margin-left:10px;color:#1e3135}.trend-person-change p{margin:8px 0 0;color:#52665b}.trend-page-intro{margin:0 0 22px}.trend-page-intro h2{font-size:23px;font-weight:650;line-height:1.5;margin:0 0 6px;color:#1e3135}.trend-page-intro p{margin:0;color:#52665b;font-size:15px;line-height:1.7}.trend-change-metrics{grid-template-columns:1.25fr 1fr 1fr;margin-bottom:10px}.trend-change-metrics .trend-metric:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.trend-change-metrics .trend-main-change>strong{font-size:26px;line-height:1.5;font-weight:650}.trend-change-metrics .trend-score-delta{font-size:28px;line-height:1.5;font-weight:650}.trend-cohort-note{display:flex;align-items:center;flex-wrap:wrap;gap:0 12px;margin:0 0 18px;font-size:14px;color:#52665b;line-height:1.7}.trend-cohort-note .ant-btn{padding:0;height:auto;font-size:14px}.trend-comparison-message{display:flex;flex-direction:column;gap:5px;padding:0 0 18px;border-bottom:1px solid #E7EEEB}.trend-comparison-message strong{font-size:24px;color:#1e3135;font-weight:650;line-height:1.6}.trend-comparison-message span{font-size:14px;color:#52665b}.trend-bars{margin-top:20px}.trend-bar-row{padding:18px;border-radius:13px;background:#f5f8fa;margin-bottom:14px}.trend-bar-row.is-later{background:#f0f7f3}.trend-bar-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.trend-bar-label>span{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:15px;font-weight:550;color:#1e3135}.trend-bar-label i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#0072b2}.trend-bar-label small{font-size:14px;font-weight:400;color:#52665b;margin-left:4px}.trend-bar-label strong{font-size:25px;font-weight:650;white-space:nowrap;line-height:1.5;font-variant-numeric:tabular-nums}.trend-bar-track{position:relative;height:21px;border-radius:6px;background:#e5edf1}.trend-bar-fill{display:block;position:absolute;height:100%;background:#0072b2;border-radius:5px;min-width:0}.trend-bar-grid{position:absolute;height:100%;width:1px;background:#fff;opacity:.85;top:0}.trend-bar-zero{position:absolute;top:-3px;bottom:-3px;border-left:1px solid #859D94;z-index:1}.trend-bar-zero-point{position:absolute;top:6px;width:9px;height:9px;border-radius:50%;background:#0072b2;transform:translate(-50%);z-index:2}.trend-bar-row.is-later .trend-bar-label i,.trend-bar-row.is-later .trend-bar-fill,.trend-bar-row.is-later .trend-bar-zero-point{background:#147c6b}.trend-bar-row.is-later .trend-bar-track{background:#dfece6}.trend-bar-axis{position:relative;margin:0 18px;height:26px;color:#52665b;font-size:14px;font-variant-numeric:tabular-nums}.trend-bar-axis span{position:absolute;top:0;white-space:nowrap}.trend-comparison-footer{border-top:1px solid #E7EEEB;padding-top:14px;display:flex;flex-direction:column;gap:7px;color:#52665b;font-size:14px;line-height:1.7;margin-top:10px}.trend-comparison-footer small{font-size:14px}.trend-help-steps{display:flex;flex-direction:column;gap:22px;margin:0 0 24px}.trend-help-steps section{display:flex;gap:14px;align-items:flex-start}.trend-help-steps b{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:9px;background:#edf6f2;color:#147c6b;font-size:16px}.trend-help-dialog p{color:#52665b;font-size:15px;line-height:1.8;margin:7px 0 0}.trend-help-dialog .trend-dialog-body{max-height:min(68vh,680px)}.trend-help-dialog h3{font-size:17px;line-height:1.7}.trend-help-fair{padding:18px;border-radius:12px;background:#f5f8f6;margin-bottom:24px}.trend-help-boundaries dl{margin:12px 0 0}.trend-help-boundaries dl>div{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:12px;border-bottom:1px solid #E7EEEB;line-height:1.8;font-size:15px}.trend-help-boundaries dt{font-weight:600}.trend-help-boundaries dd{margin:0;color:#52665b}.trend-help-boundaries .is-current{background:#edf6f2;border-radius:9px;color:#147c6b;border:0}@media(min-width:1500px){.trend-two-values strong{font-size:28px}.trend-card{padding:28px}}@media(max-width:1100px){.trend-charts{grid-template-columns:1fr}.trend-distribution-grid{grid-template-columns:repeat(4,1fr)}.trend-metrics{grid-template-columns:1fr 1.2fr 1.1fr;gap:12px}.trend-two-values{gap:9px}.trend-two-values>div+div{padding-left:9px}.trend-two-values strong{font-size:20px}.trend-metric{padding:16px}.trend-pair-list article{gap:12px;grid-template-columns:1fr 1fr 1fr 1.4fr}.trend-pair-list article>.ant-btn{grid-column:4;justify-self:start}.trend-pair-change{grid-row:span 2}.trend-pair-list article>.ant-btn{grid-column:1;grid-row:2}}@media(max-width:760px){.trend-context-bar{grid-template-columns:1fr 1fr;gap:12px}.trend-context-bar>.ant-btn{grid-column:1/-1;justify-self:start}.trend-card{padding:20px}.trend-metrics{grid-template-columns:1fr 1fr}.trend-metric:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px}.trend-metric:first-child>strong{grid-column:2;grid-row:1/3}.trend-metric:first-child>small{grid-column:1/-1}.trend-two-values strong{font-size:22px}.trend-stage-card .trend-card-heading{flex-wrap:wrap}.trend-stage-selectors{gap:10px;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}.trend-distribution-grid{grid-template-columns:1fr 1fr}.trend-pair-list article{grid-template-columns:1fr 1fr;gap:14px}.trend-pair-list article .trend-student{grid-column:1}.trend-pair-list article>.ant-btn{grid-column:2;grid-row:1;justify-self:end}.trend-pair-list article>div:nth-child(2){grid-column:1;grid-row:2}.trend-pair-list article>div:nth-child(3){grid-column:2;grid-row:2}.trend-pair-change{grid-column:1/-1;grid-row:3;display:grid!important;grid-template-columns:auto 1fr;align-items:center!important;gap:7px 12px!important}.trend-pair-change small{grid-column:1/-1}.trend-disclosure.ant-btn>span:first-child{flex-direction:column;gap:4px;align-items:flex-start}.trend-unpaired-list article{grid-template-columns:1fr 1fr;gap:14px}.trend-unpaired-list article>div:first-child{grid-column:1/-1}}@media(max-width:480px){.trend-context-bar{grid-template-columns:1fr}.trend-context-bar>.ant-btn{grid-column:auto;justify-self:stretch}.trend-context-summary{align-items:flex-start;gap:6px}.trend-context-summary>span{max-width:65%;line-height:1.8}.trend-card{padding:18px;border-radius:14px}.trend-stage-selectors{grid-template-columns:1fr auto}.trend-stage-selectors>label{grid-column:1}.trend-stage-selectors>.trend-swap{grid-column:2;grid-row:1/3;align-self:center}.trend-person-select{grid-template-columns:1fr!important;gap:8px!important;margin-top:16px}.trend-metrics{grid-template-columns:1fr}.trend-metric:first-child{grid-column:auto}.trend-two-values strong{font-size:27px}.trend-chart-card .trend-card-heading{align-items:flex-start;flex-direction:column;gap:12px}.trend-chart-readout{flex-direction:column;align-items:flex-start;gap:6px}.trend-chart-readout>span{text-align:left}.trend-distribution-grid{gap:10px}.trend-distribution-grid button{padding:13px}.trend-unpaired-note{padding:16px;align-items:flex-start}.trend-unpaired-note small{line-height:1.7}.trend-details .trend-card-heading{flex-direction:column;align-items:stretch}.trend-details .ant-input-affix-wrapper{width:100%}.trend-dialog .ant-modal-container{padding:20px 16px}.trend-dialog-title strong{font-size:20px}.trend-filter-pair,.trend-record-pair{grid-template-columns:1fr;gap:14px}.trend-dialog .ant-radio-button-wrapper{padding-inline:10px;font-size:14px}.trend-dialog-footer{gap:4px}.trend-dialog-footer>div{gap:6px}.trend-dialog .ant-btn{padding-inline:12px;font-size:15px}.trend-person-change>strong{display:block;margin:10px 0 0}}@media(max-width:760px){.trend-change-metrics .trend-metric:first-child{grid-column:1/-1}.trend-change-metrics .trend-main-change>strong{font-size:25px}}@media(max-width:480px){.trend-page-intro h2{font-size:21px}.trend-change-metrics .trend-metric:first-child{grid-column:auto}.trend-change-metrics .trend-main-change>strong,.trend-change-metrics .trend-score-delta{font-size:25px}.trend-bar-label{flex-wrap:wrap;gap:6px}.trend-bar-label>span{width:100%}.trend-bar-label strong{font-size:24px}.trend-bar-row{padding:16px}.trend-bar-axis{margin-inline:16px}.trend-help-boundaries dl>div{grid-template-columns:1fr;gap:3px}}.trend-chart-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.trend-score-maximum{font-size:14px;white-space:nowrap;color:#52665b}.trend-score-maximum strong{font-size:16px;font-weight:600;color:#1e3135}.trend-distribution-grid.has-3,.trend-distribution-grid.has-2{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-distribution-grid.has-3>button:first-child{grid-column:1/-1}.trend-details h3{scroll-margin-top:90px}.trend-details h3:focus{outline:2px solid #147C6B;outline-offset:5px;border-radius:3px}@media(max-width:480px){.trend-chart-actions{justify-content:flex-start;gap:10px}}.combination-workspace{--combo-ink:#1e3135;--combo-muted:#52665b;--combo-border:#e1e9e5;color:var(--combo-ink);font-size:16px;min-width:0}.combination-workspace *,.combination-dialog *{box-sizing:border-box}.combination-workspace h3,.combination-dialog h3{font-size:18px;font-weight:650;line-height:1.5;margin:0}.combination-workspace button,.combination-dialog button{font:inherit}.combination-workspace button:focus-visible,.combination-dialog button:focus-visible,.combination-students h3:focus-visible{outline:3px solid #0072b2;outline-offset:3px}.combination-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:2px 0 20px}.combination-intro h2{font-size:24px;font-weight:650;line-height:1.5;margin:0 0 5px;letter-spacing:-.3px}.combination-intro p{margin:0;color:#52665b;font-size:15px;line-height:1.7}.combination-intro>.ant-btn{flex-shrink:0;font-size:14px;color:#52665b}.combination-controls{background:#fff;border:1px solid #e1e9e5;border-radius:18px;padding:20px 24px;margin-bottom:18px}.combination-control-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.combination-control-top>span{font-size:14px;color:#52665b}.combination-mode{display:inline-flex;border-radius:10px;background:#f0f4f2;padding:4px;gap:4px}.combination-mode button{border:0;background:none;color:#52665b;font-size:15px;border-radius:7px;min-height:38px;padding:7px 20px;cursor:pointer}.combination-mode button[aria-pressed=true]{background:#fff;color:#147c6b;font-weight:600;box-shadow:0 1px 5px #163e2d14}.combination-context{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) auto;gap:18px;align-items:end}.combination-context>label,.combination-dialog label:not(.ant-radio-button-wrapper):not(.ant-radio-wrapper):not(.ant-checkbox-wrapper){display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:550;color:#52665b}.combination-workspace .ant-select,.combination-dialog .ant-select{width:100%;min-width:0;font-weight:400}.combination-context>.ant-btn{height:46px}.combination-range-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:#52665b;padding:12px 0 16px;line-height:1.7}.combination-tags{display:flex;flex-wrap:wrap;gap:5px}.combination-tags .ant-tag{margin:0;font-size:13px;white-space:normal}.combination-configuration{border-top:1px solid #e1e9e5;padding-top:14px}.combination-configuration-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.combination-configuration-heading>strong{font-size:14px;font-weight:550;color:#52665b}.combination-configuration-heading>.ant-btn{font-size:14px;min-height:36px}.combination-plan{display:grid;gap:12px}.combination-plan-gender{display:flex;align-items:center;gap:16px;min-width:0}.combination-plan-gender-label{font-size:14px;color:#52665b;flex-shrink:0;min-width:28px}.combination-plan-gender>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;min-width:0}.combination-plan-gender button{min-width:0;text-align:left;border:1px dashed #cbd9d1;background:#fafcfb;color:#52665b;border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:6px;cursor:pointer}.combination-plan-gender button.is-chosen{background:#f4f9f6;border:1px solid #e0ece5;color:#1e3135}.combination-plan-gender button:hover{border-color:#66a18c}.combination-plan-gender button>small{grid-column:1/-1;font-size:12px;color:#61736a}.combination-plan-gender button>span{font-size:15px;font-weight:550;overflow-wrap:anywhere}.combination-plan-gender button>strong{font-size:13px;font-weight:500;color:#147c6b;white-space:nowrap}.combination-plan.is-grade8 .combination-plan-gender>div{display:flex;flex-wrap:wrap;gap:8px}.combination-plan.is-grade8 button{display:flex;gap:8px;padding:7px 11px;align-items:center;border-radius:7px}.combination-plan.is-grade8 button>span{font-size:14px;font-weight:400}.combination-plan.is-grade8 button>small{color:#94662e}.combination-custom-summary{font-size:14px;line-height:1.8;margin:0;color:#52665b}.combination-workspace>.ant-alert{margin-bottom:16px}.combination-attention{font-size:14px;padding:12px 16px;background:#fff6e9;border-radius:10px;color:#845827}.combination-issues{margin:12px 0 18px;color:#52665b;font-size:14px;line-height:1.8}.combination-issues summary{cursor:pointer}.combination-issues p{margin:6px 0}.combination-empty{text-align:center;border:1px solid #e1e9e5;border-radius:18px;background:#fff;padding:34px 16px}.combination-cohort{display:flex;gap:0;margin:6px 0 18px;border:1px solid #e1e9e5;border-radius:14px;background:#fff}.combination-cohort button{flex:1;display:flex;align-items:baseline;justify-content:center;gap:18px;padding:17px 20px;border:0;background:none;color:#1e3135;cursor:pointer;min-width:0}.combination-cohort button+button{border-left:1px solid #e1e9e5}.combination-cohort button>span{font-size:14px;color:#52665b}.combination-cohort button>strong{font-size:27px;font-weight:650;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums}.combination-cohort button small{font-size:14px;font-weight:400}.combination-cohort button.has-pending>strong{color:#94662e}.combination-cohort button:hover{background:#f5f9f6}.combination-overview{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.65fr);gap:18px;margin-bottom:24px;align-items:start}.combination-overview.is-custom{grid-template-columns:1fr}.combination-total-card,.combination-completion-card{background:#fff;border:1px solid #e1e9e5;border-radius:18px;padding:24px;min-width:0}.combination-total-card{background:linear-gradient(135deg,#f4fbf7,#fff 70%)}.combination-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;min-width:0}.combination-section-heading>span{font-size:13px;color:#52665b;white-space:nowrap}.combination-section-heading h3>small{font-size:14px;font-weight:400;color:#52665b;margin-left:6px}.combination-section-heading p{font-size:14px;color:#52665b;margin:4px 0 0;line-height:1.6}.combination-total-card .combination-section-heading{align-items:flex-start;flex-wrap:wrap;gap:6px}.combination-total-main{padding:0 0 16px}.combination-total-number{display:flex;align-items:baseline;gap:9px;font-variant-numeric:tabular-nums}.combination-total-number>strong{font-size:48px;line-height:1.25;font-weight:650;letter-spacing:-1px;color:#147c6b}.combination-total-number>span{font-size:16px;color:#52665b}.combination-total-scale{height:6px;background:#e4eee8;border-radius:4px;overflow:hidden;margin:15px 0 10px}.combination-total-scale>span{display:block;height:100%;border-radius:4px;background:#52977e}.combination-total-main p{font-size:13px;color:#52665b;margin:0;line-height:1.7}.combination-total-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 0;border-top:1px solid #e1e9e5}.combination-total-facts>div{display:flex;flex-direction:column;gap:6px}.combination-total-facts>div+div{border-left:1px solid #e1e9e5;padding-left:16px}.combination-total-facts span{font-size:13px;color:#52665b}.combination-total-facts strong{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.combination-total-facts small{font-size:13px;font-weight:400;color:#52665b}.combination-total-card .combination-total-link{padding:0;color:#147c6b;font-size:14px;min-height:34px!important;height:auto}.combination-date-note{display:flex;flex-direction:column;gap:5px;border-top:1px solid #e1e9e5;padding-top:14px;margin-top:12px;font-size:12px;color:#61736a;line-height:1.7}.combination-date-note small{font-size:12px}.combination-total-empty{font-size:14px;line-height:1.8;color:#52665b}.combination-completion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.combination-completion-tile{display:flex;align-items:center;gap:14px;padding:15px;border:1px solid #e6ece8;border-radius:12px;background:#fff;text-align:left;cursor:pointer;color:#1e3135;min-width:0}.combination-completion-tile:hover{border-color:#76a58b;background:#f9fcfa}.combination-completion-ring{height:54px;width:54px;flex:0 0 54px;border-radius:50%;background:conic-gradient(#66a18c 0 var(--completion),#edf2ef var(--completion) 100%);display:grid;place-items:center}.combination-completion-ring>span{height:44px;width:44px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#38755f}.combination-completion-ring strong{font-size:17px;font-weight:600}.combination-completion-ring small{font-size:11px;font-weight:400}.combination-completion-ring .anticon{font-size:20px}.combination-completion-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.combination-completion-copy>strong{font-size:15px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.combination-completion-copy>span{font-size:13px;color:#52665b}.combination-completion-copy>span>b{font-weight:600;color:#1e3135}.combination-completion-copy>small{font-size:12px;line-height:1.6;color:#94662e}.is-complete .combination-completion-copy>small{color:#38755f}.combination-students{margin:0 0 20px}.combination-students>.combination-section-heading{margin-bottom:14px}.combination-students>.combination-section-heading>.ant-input-affix-wrapper{max-width:270px}.combination-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.combination-list-toolbar>span{font-size:13px;color:#52665b}.combination-list-tabs{display:flex;flex-wrap:wrap;gap:8px}.combination-list-tabs>button{border:1px solid transparent;background:none;color:#52665b;padding:7px 12px;min-height:38px;font-size:14px;cursor:pointer;border-radius:8px}.combination-list-tabs>button[aria-pressed=true]{background:#e4f0e9;color:#147c6b;font-weight:600}.combination-person-list{border:1px solid #e1e9e5;border-radius:16px;overflow:hidden;background:#fff}.combination-person-row{display:grid;grid-template-columns:170px minmax(0,1fr) 116px 90px;gap:24px;align-items:center;padding:22px 24px;min-width:0}.combination-person-row+.combination-person-row{border-top:1px solid #e1e9e5}.combination-person-identity{display:flex;flex-direction:column;gap:5px;min-width:0}.combination-person-identity>strong{font-size:17px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.combination-person-identity>span{font-size:12px;color:#61736a;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.combination-person-identity>small{font-size:12px;color:#38755f}.combination-person-identity>small.is-pending{color:#94662e}.combination-score-profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:14px;min-width:0}.combination-profile-item{display:flex;flex-direction:column;gap:9px;min-width:0}.combination-profile-item>span{font-size:12px;line-height:1.5;color:#52665b;overflow-wrap:anywhere;min-height:18px}.combination-profile-track{background:#edf2ef;border-radius:4px;height:5px;overflow:hidden}.combination-profile-track>i{display:block;border-radius:4px;background:#66a18c;height:100%}.combination-profile-item>strong{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.5;min-height:26px}.combination-profile-item small{font-size:12px;font-weight:400;color:#61736a}.combination-row-total{display:flex;flex-direction:column;gap:5px;border-left:1px solid #e1e9e5;padding-left:22px}.combination-row-total>span{font-size:12px;color:#52665b;white-space:nowrap}.combination-row-total>strong{font-size:25px;color:#147c6b;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.combination-row-total>strong>small{font-size:12px;font-weight:400;color:#52665b}.combination-row-total>strong.is-unavailable{font-size:16px;color:#94662e}.combination-row-total>small{font-size:12px;line-height:1.5;color:#94662e}.combination-person-row>.combination-detail-button{padding:0;color:#52665b;font-size:13px;flex-direction:row-reverse;min-width:0}.combination-person-row:not(:has(.combination-row-total)){grid-template-columns:170px minmax(0,1fr) 90px}.combination-students>.ant-pagination{justify-content:center;margin-top:20px}.combination-dialog .ant-modal-container{padding:24px!important;border-radius:20px!important}.combination-dialog .ant-modal-title{font-size:20px;line-height:1.6;padding-right:32px;font-weight:650}.combination-dialog-body{max-height:65vh;max-height:65dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:14px 6px 10px 0;scrollbar-gutter:stable}.combination-dialog-body p{font-size:15px;line-height:1.8;color:#52665b}.combination-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px}.combination-footer>div{display:flex;gap:10px}.combination-footer .ant-btn+.ant-btn{margin-inline-start:0!important}.combination-filter-group{display:flex;flex-direction:column;gap:14px;padding:16px 0;border-bottom:1px solid #e1e9e5}.combination-filter-group p{margin:0}.combination-filter-group .ant-radio-group{display:flex;flex-wrap:wrap}.combination-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.combination-dialog input[type=date]{height:46px;width:100%;min-width:0;border:1px solid #d4dfd9;border-radius:8px;padding:8px;font:inherit;color:#1e3135;background:#fff}.combination-advanced{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:16px;border:0;background:none;padding:20px 0;color:#1e3135;cursor:pointer}.combination-advanced>span:first-child{display:flex;flex-direction:column;gap:6px}.combination-advanced small{font-size:14px;color:#52665b}.combination-picker-intro{padding:0 0 18px;border-bottom:1px solid #e1e9e5;margin-bottom:18px}.combination-picker-intro>strong{font-size:18px;font-weight:600}.combination-picker-intro p{margin:8px 0}.combination-picker-intro>span{display:inline-block;background:#edf7f1;border-radius:6px;padding:5px 9px;font-size:13px;color:#38755f}.combination-picker-gender>h3{margin:20px 0 12px}.combination-slot{padding:15px 0;border-bottom:1px solid #edf2ef}.combination-slot-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.combination-slot-title>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf4f0;color:#38755f;font-size:13px;flex-shrink:0}.combination-slot-title>h3{font-size:16px;font-weight:600}.combination-slot-title>small{font-size:13px;color:#61736a;margin-left:auto;white-space:nowrap}.combination-project-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.combination-project-options .ant-radio-wrapper,.combination-project-options .ant-checkbox-wrapper{border:1px solid #e1e9e5;background:#fff;border-radius:10px;padding:13px 15px;display:flex;align-items:center;margin:0;min-width:0;line-height:1.5}.combination-project-options .ant-radio-wrapper-checked,.combination-project-options .ant-checkbox-wrapper-checked{background:#f0f8f3;border-color:#66a18c}.combination-project-options strong{display:block;font-size:16px;font-weight:550}.combination-project-options small{display:block;margin-top:5px;font-size:13px;color:#61736a;line-height:1.7;overflow-wrap:anywhere}.combination-custom-options{margin-top:18px}.combination-slot-unavailable{font-size:14px;color:#94662e;background:#fff8ed;padding:12px 16px;border-radius:8px}.combination-stale{padding:16px;background:#fff7ed;border-radius:10px;margin:12px 0;font-size:15px}.combination-stale p{font-size:14px;margin:6px 0}.combination-caution{font-size:14px!important;color:#94662e!important}.combination-detail-person{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 22px}.combination-detail-person h3{font-size:22px}.combination-detail-person span{display:block;font-size:13px;color:#61736a;margin-top:4px;overflow-wrap:anywhere}.combination-score-explanation{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;background:#f5f9f6;border-radius:14px;padding:22px;margin-bottom:26px;align-items:start}.combination-explanation-title{display:flex;flex-direction:column;gap:8px}.combination-explanation-title>span{font-size:14px;color:#52665b}.combination-explanation-title>strong{font-size:38px;font-weight:650;color:#147c6b;line-height:1.4;font-variant-numeric:tabular-nums}.combination-explanation-title>strong>small{font-size:14px;font-weight:400;color:#52665b}.combination-explanation-title p{margin:0;font-size:13px}.combination-contributions h3{font-size:15px;margin-bottom:14px}.combination-contribution{display:grid;grid-template-columns:minmax(80px,.9fr) minmax(50px,1fr) 65px;gap:10px;align-items:center;margin-bottom:12px;font-size:13px}.combination-contribution>span{color:#52665b}.combination-contribution>div{height:7px;border-radius:5px;overflow:hidden;background:#e3ece6}.combination-contribution i{display:block;height:100%;border-radius:5px;background:#66a18c}.combination-contribution>strong{font-size:14px;text-align:right;font-weight:600}.combination-contribution small{font-size:12px;font-weight:400;color:#61736a}.combination-base-bonus{display:flex;flex-wrap:wrap;gap:12px 20px;border-top:1px solid #dbe6de;padding-top:12px;font-size:13px;color:#52665b}.combination-base-bonus strong{margin-left:4px;color:#1e3135;font-weight:550}.combination-needs-attention h3{font-size:16px;margin-bottom:12px}.combination-needs-attention>div{display:grid;grid-template-columns:1fr auto;gap:6px 12px;border-bottom:1px solid #e0e8e2;padding:10px 0}.combination-needs-attention strong{font-size:14px;font-weight:550}.combination-needs-attention span{font-size:13px;color:#94662e}.combination-needs-attention p{grid-column:1/-1;font-size:13px;margin:0}.combination-source-list{border:1px solid #e1e9e5;border-radius:12px;overflow:hidden}.combination-source-list article{display:grid;grid-template-columns:200px minmax(0,1fr) auto;align-items:center;gap:24px;padding:18px}.combination-source-list article+article{border-top:1px solid #e1e9e5}.combination-source-measurement{display:flex;flex-direction:column;gap:6px}.combination-source-measurement>strong{font-size:14px;font-weight:550;color:#52665b}.combination-source-measurement>span{font-size:20px;font-weight:600}.combination-source-measurement>small{font-size:13px;color:#61736a}.combination-source-context{display:flex;flex-direction:column;gap:4px;min-width:0}.combination-source-context strong{font-size:14px;font-weight:550}.combination-source-context span{font-size:14px;color:#52665b;overflow-wrap:anywhere}.combination-source-context small,.combination-source-context p{font-size:12px;color:#61736a;margin:0}.combination-source-list .ant-btn{font-size:13px}.combination-detail-date{font-size:13px!important;margin-bottom:0}.combination-help-lead{margin-top:0;font-size:16px!important;color:#1e3135!important}.combination-help ol{list-style:none;counter-reset:steps;margin:20px 0;padding:0}.combination-help li{counter-increment:steps;position:relative;padding:0 0 20px 42px}.combination-help li:before{content:counter(steps);position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#edf5f0;color:#147c6b;font-size:14px}.combination-help li h3{font-size:17px}.combination-help li p{margin:7px 0 0}.combination-help-note{background:#f6f8f7;padding:18px;border-radius:12px}.combination-help-note h3{font-size:16px}.combination-help-note p{font-size:14px;margin-bottom:0}@media(min-width:1700px){.combination-completion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.combination-overview{grid-template-columns:minmax(300px,.7fr) minmax(0,1.8fr)}}@media(max-width:1200px){.combination-overview{grid-template-columns:minmax(270px,.85fr) minmax(0,1.3fr)}.combination-completion-grid{grid-template-columns:1fr}.combination-person-row:has(.combination-row-total){grid-template-columns:150px minmax(0,1fr) 90px;gap:18px}.combination-person-row>.combination-detail-button{grid-column:1;grid-row:2;justify-content:start}.combination-score-profile{grid-column:2;grid-row:1/3;grid-template-columns:repeat(3,minmax(0,1fr))}.combination-row-total{grid-column:3;grid-row:1/3;padding-left:14px}.combination-person-row:not(:has(.combination-row-total)){grid-template-columns:150px minmax(0,1fr)}.combination-person-row:not(:has(.combination-row-total)) .combination-score-profile{grid-column:2}}@media(max-width:900px){.combination-intro h2{font-size:22px}.combination-overview{grid-template-columns:1fr}.combination-completion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combination-total-card{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:center}.combination-total-card .combination-section-heading{grid-column:1/-1}.combination-total-facts{border-top:0;padding:10px 0}.combination-total-main{grid-column:1;grid-row:2/4}.combination-total-link{justify-self:start}.combination-date-note{grid-column:1/-1;margin-top:4px}.combination-source-list article{grid-template-columns:170px minmax(0,1fr);gap:12px}.combination-source-list .ant-btn{grid-column:2;justify-self:start}.combination-controls{padding:18px}.combination-context{gap:12px}.combination-control-top>span{font-size:13px}.combination-score-explanation{grid-template-columns:160px minmax(0,1fr);gap:20px}.combination-plan-gender>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.combination-intro{align-items:flex-start;gap:10px}.combination-intro h2{font-size:20px}.combination-intro p{font-size:14px}.combination-intro>.ant-btn{font-size:13px;padding:4px;min-height:32px!important}.combination-intro>.ant-btn .anticon{display:none}.combination-controls{padding:16px;border-radius:14px}.combination-control-top{flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:16px}.combination-mode{width:100%}.combination-mode button{flex:1;padding-inline:12px}.combination-context{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.combination-context>label:first-child{grid-column:1/-1}.combination-context>.ant-btn{height:46px}.combination-configuration-heading>strong{font-size:13px}.combination-configuration-heading>.ant-btn{font-size:13px;padding-inline:10px}.combination-plan-gender{flex-direction:column;align-items:stretch;gap:8px}.combination-plan-gender-label{font-size:13px}.combination-plan-gender button{padding:10px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.combination-plan-gender button>span{font-size:14px}.combination-plan-gender button>strong{font-size:12px}.combination-plan.is-grade8 button{flex-direction:row;align-items:center;padding:5px 8px}.combination-plan.is-grade8 button>span{font-size:12px}.combination-plan.is-grade8 button>small{font-size:11px}.combination-cohort button{flex-direction:column;align-items:center;gap:5px;padding:13px 6px}.combination-cohort button>span{font-size:12px;white-space:nowrap}.combination-cohort button>strong{font-size:25px}.combination-cohort button small{font-size:12px}.combination-total-card,.combination-completion-card{padding:18px;border-radius:14px}.combination-total-card{display:block}.combination-total-card .combination-section-heading{display:flex}.combination-total-number>strong{font-size:43px}.combination-total-facts{border-top:1px solid #e1e9e5;padding:14px 0}.combination-completion-grid{grid-template-columns:1fr;gap:8px}.combination-completion-tile{padding:13px;gap:14px}.combination-completion-ring{height:48px;width:48px;flex-basis:48px}.combination-completion-ring>span{height:39px;width:39px}.combination-completion-copy>strong{font-size:15px}.combination-section-heading{gap:10px}.combination-section-heading h3{font-size:17px}.combination-section-heading>span{font-size:12px}.combination-section-heading p{font-size:13px}.combination-students>.combination-section-heading{flex-wrap:wrap}.combination-students>.combination-section-heading>.ant-input-affix-wrapper{max-width:100%;width:100%}.combination-list-toolbar{flex-direction:column;align-items:stretch;gap:8px}.combination-list-toolbar>span{font-size:12px}.combination-list-tabs{gap:4px}.combination-list-tabs>button{flex:1;padding:7px 4px;font-size:13px}.combination-person-list{background:none;border:0;border-radius:0;display:grid;gap:12px}.combination-person-row:has(.combination-row-total),.combination-person-row:not(:has(.combination-row-total)){background:#fff;border:1px solid #e1e9e5;border-radius:14px;padding:18px;grid-template-columns:minmax(0,1fr) 95px;gap:18px 12px}.combination-person-identity{grid-column:1;grid-row:1;gap:4px}.combination-person-identity>strong{font-size:17px}.combination-person-identity>span{font-size:11px}.combination-row-total{grid-column:2;grid-row:1;border:0;padding:0;text-align:right;gap:3px}.combination-row-total>strong{font-size:26px}.combination-row-total>span{font-size:11px}.combination-row-total>small{font-size:11px}.combination-score-profile,.combination-person-row:not(:has(.combination-row-total)) .combination-score-profile{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}.combination-profile-item{gap:7px}.combination-profile-item>span{font-size:11px}.combination-profile-item>strong{font-size:16px}.combination-profile-item small{font-size:11px}.combination-person-row>.combination-detail-button{grid-column:1/-1;grid-row:3;justify-self:end;font-size:13px}.combination-dialog .ant-modal-container{padding:18px!important;border-radius:16px!important}.combination-dialog .ant-modal-title{font-size:18px}.combination-dialog-body{max-height:60vh;max-height:60dvh}.combination-footer .ant-btn{padding-inline:11px}.combination-footer>div{gap:8px}.combination-pair,.combination-project-options{grid-template-columns:1fr}.combination-slot-title{flex-wrap:wrap;gap:7px}.combination-slot-title>h3{font-size:15px}.combination-slot-title>small{font-size:12px;margin-left:32px;flex-basis:100%}.combination-picker-intro>strong{font-size:16px}.combination-dialog-body p{font-size:14px}.combination-detail-person{align-items:flex-start;gap:12px}.combination-detail-person h3{font-size:19px}.combination-detail-person>.ant-btn{font-size:13px;padding-inline:10px}.combination-detail-person span{font-size:11px}.combination-score-explanation{grid-template-columns:1fr;padding:16px;gap:20px}.combination-explanation-title>strong{font-size:33px}.combination-contribution{grid-template-columns:85px minmax(20px,1fr) 58px;font-size:12px;gap:7px}.combination-contribution strong{font-size:13px}.combination-source-list article{grid-template-columns:1fr;gap:12px;padding:16px}.combination-source-list .ant-btn{grid-column:1}.combination-source-measurement{display:grid;grid-template-columns:1fr auto;gap:8px}.combination-source-measurement>strong{grid-column:1/-1}.combination-source-measurement>small{align-self:center;font-size:12px}.combination-source-context span{font-size:13px}.combination-source-context p{font-size:12px}.combination-help li{padding-left:38px}.combination-help li h3{font-size:16px}.combination-help-note{padding:15px}}@media(prefers-reduced-motion:reduce){.combination-workspace *,.combination-dialog *{scroll-behavior:auto!important;transition:none!important}}@media(min-width:1000px){.combination-controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 24px;padding-block:18px}.combination-control-top{margin:0;align-items:flex-end}.combination-control-top>span{display:none}.combination-range-summary,.combination-configuration{grid-column:1/-1}.combination-range-summary{padding:10px 0 12px}.combination-configuration{padding-top:10px}.combination-configuration-heading{margin-bottom:10px}.combination-plan-gender button{padding-block:10px}}.combination-project-options:has(>.ant-radio-wrapper:only-child){grid-template-columns:1fr}@media(max-width:600px){.combination-control-top>span{display:none}}.combination-weight-note{font-size:13px!important;margin:0 0 14px!important}@media(min-width:1000px){.combination-completion-grid.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.combination-completion-grid.count-4 .combination-completion-tile{min-height:124px}}@media(max-width:600px){.combination-score-profile:has(>.combination-profile-item:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}.combination-choice-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px}.combination-choice-steps button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;border:1px solid #e1e9e5;background:#fafcfb;padding:13px;border-radius:10px;cursor:pointer;min-width:0;color:#1e3135}.combination-choice-steps button[aria-current=step]{border-color:#147c6b;background:#edf7f1;box-shadow:0 0 0 1px #147c6b}.combination-choice-steps small,.combination-choice-steps span{font-size:12px;color:#52665b}.combination-choice-steps strong{font-size:15px;line-height:1.6;overflow-wrap:anywhere}.combination-slot[hidden]{display:none!important}.combination-next-category{display:block;margin:18px 0 0 auto}.combination-picker-dialog .combination-slot{border-bottom:0}.combination-picker-dialog .combination-project-options{grid-template-columns:repeat(2,minmax(0,1fr))}.combination-picker-dialog .combination-project-options .ant-radio-wrapper{min-height:62px}.combination-teaching-tools{background:#fff;border:1px solid #e1e9e5;border-radius:14px;padding:18px;display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:20px}.combination-teaching-tools>div:first-child{flex-basis:100%;display:flex;align-items:center;gap:16px}.combination-teaching-tools>div:first-child>span{font-size:13px;color:#52665b}.combination-teaching-tools label:not(.ant-checkbox-wrapper){display:flex;flex-direction:column;gap:7px;font-size:13px;color:#52665b;min-width:155px;flex:1}.combination-teaching-tools .ant-input-number{width:100%}.combination-teaching-tools>.ant-checkbox-wrapper{align-self:center;font-size:14px}.combination-profile-item.is-focus .combination-profile-track>i{background:#b28a48}.combination-profile-item.is-focus>strong{color:#8c662d}.combination-person-identity>small{line-height:1.7}.combination-contribution{padding-block:4px}.combination-source-list article:hover{background:#f9fcfa}@media(min-width:1201px){.combination-person-row:has(.combination-row-total){grid-template-columns:165px 115px minmax(0,1fr) 90px}.combination-person-row:has(.combination-row-total) .combination-person-identity{grid-column:1;grid-row:1}.combination-person-row:has(.combination-row-total) .combination-row-total{grid-column:2;grid-row:1;border-left:0;border-right:1px solid #e1e9e5;padding:0 16px 0 0}.combination-person-row:has(.combination-row-total) .combination-score-profile{grid-column:3;grid-row:1}}@media(max-width:600px){.combination-choice-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.combination-choice-steps button{padding:10px;gap:4px}.combination-choice-steps strong{font-size:14px}.combination-picker-dialog .combination-project-options{grid-template-columns:1fr}.combination-teaching-tools{padding:15px;gap:12px}.combination-teaching-tools>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}.combination-teaching-tools label:not(.ant-checkbox-wrapper){min-width:100%;width:100%}.combination-teaching-tools>.ant-checkbox-wrapper{width:100%;font-size:14px}}.teacher-record-workspace{max-width:1200px;color:#1e3135;font-size:16px}.record-filter-card{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px;background:#fff;border:1px solid #DCE7E1;border-radius:16px}.record-filter-card>.ant-input-affix-wrapper{flex:1 1 300px;min-width:0;min-height:44px;border-radius:9px}.record-filter-selects{display:flex;flex-wrap:wrap;gap:14px}.record-filter-selects label{display:flex;align-items:center;gap:8px;font-size:14px;color:#53685d}.record-filter-selects .ant-select{min-width:130px}.record-filter-card>.ant-btn{border-radius:9px}.record-list-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;color:#53685d;font-size:14px;padding:4px 2px}.record-list-summary strong{color:#1e3135;font-size:16px;font-variant-numeric:tabular-nums}.teacher-record-workspace .teacher-import-tests{display:grid;gap:12px;margin:0;padding:0}.teacher-record-workspace .teacher-import-tests>li{padding:22px 24px;border:1px solid #DCE7E1;border-radius:16px;background:#fff;gap:24px;transition:border-color .16s,box-shadow .16s}.teacher-record-workspace .teacher-import-tests>li:hover,.teacher-record-workspace .teacher-import-tests>li:focus-within{border-color:#a9c9ba;box-shadow:0 3px 12px #1e313508}.record-card-content{flex:1;min-width:0}.record-card-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px}.teacher-record-workspace .record-card-heading h3{margin:0;font-size:20px;line-height:1.5;color:#1e3135;font-weight:600;overflow-wrap:anywhere}.record-card-heading .ant-tag{margin:0;border:0;background:#edf4f0;color:#426355;border-radius:6px;padding:2px 9px;font-size:13px;white-space:nowrap}.record-card-heading .record-status--active{background:#e2f4eb;color:#087d5c}.record-card-context,.record-card-meta{display:flex;flex-wrap:wrap;gap:8px 20px;line-height:1.7}.record-card-context{font-size:16px;color:#354f44;margin-bottom:8px}.record-card-meta{font-size:14px;color:#53685d}.record-card-context>span,.record-card-meta>span{display:inline-flex;align-items:baseline;gap:7px;overflow-wrap:anywhere;min-width:0}.teacher-record-workspace .teacher-record-actions{flex-wrap:nowrap;gap:8px;flex-shrink:0}.teacher-record-workspace .teacher-record-actions>.ant-btn:first-child{color:#087d5c;border-color:#c6dbd0;background:#f4f9f6;border-radius:9px;padding-inline:16px}.teacher-record-workspace .teacher-record-actions>.ant-btn:first-child:hover{background:#e5f2eb;border-color:#087d5c}.teacher-record-workspace .teacher-record-actions>.ant-btn:last-child:not(:first-child){width:44px;border-radius:9px}.record-pagination{margin-top:24px;display:flex;justify-content:flex-end;flex-wrap:wrap}.teacher-record-workspace .teacher-import-empty{background:#fff;border:1px solid #DCE7E1;border-radius:16px;padding:40px 20px;margin:0}@media(max-width:1000px){.record-filter-card>.ant-input-affix-wrapper{flex-basis:100%}.record-filter-card>.ant-btn{margin-left:auto}.teacher-record-workspace .teacher-import-tests>li{gap:16px;padding:20px}}@media(max-width:640px){.record-filter-card{padding:16px;gap:12px}.record-filter-selects{width:100%;gap:10px}.record-filter-selects label{flex:1;min-width:0;flex-direction:column;align-items:stretch;gap:5px}.record-filter-selects .ant-select{min-width:0;width:100%}.record-filter-card>.ant-btn{width:100%}.teacher-record-workspace .teacher-import-tests>li{flex-direction:column;align-items:stretch;padding:16px;border-radius:12px;gap:16px}.teacher-record-workspace .record-card-heading h3{font-size:18px}.record-card-context,.record-card-meta{gap:6px 14px}.teacher-record-workspace .teacher-record-actions{justify-content:flex-end;border-top:1px solid #E6EEE9;padding-top:12px}.record-card-meta>span:last-child{overflow-wrap:anywhere}.record-pagination{justify-content:center}.record-list-summary{min-height:52px}}@media(prefers-reduced-motion:reduce){.teacher-record-workspace .teacher-import-tests>li{transition:none}}.teacher-test-import.teacher-record-workspace{width:100%;max-width:none;min-width:0}.record-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.teacher-record-workspace .record-detail-toolbar .ant-btn{min-height:44px;border-radius:9px;font-size:16px}.record-detail-toolbar .record-back-button{color:#087d5c;border-color:#c6dbd0;background:#fff;padding-inline:16px}.record-detail-toolbar .record-back-button:hover{background:#eaf5ee;border-color:#087d5c}.record-detail-toolbar>.ant-btn:last-child:not(:first-child){color:#53685d}.record-detail-overview{background:#fff;border:1px solid #DCE7E1;border-radius:16px;overflow:hidden}.record-detail-identity{padding:26px 28px}.record-detail-labels{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#53685d;font-size:14px;margin-bottom:10px}.record-detail-labels .ant-tag{background:#e8f4ed;color:#087d5c;border:0;border-radius:6px;margin:0;padding:2px 10px;font-size:14px}.teacher-record-workspace .record-detail-identity h2{font-size:28px;line-height:1.4;font-weight:600;color:#1e3135;margin:0 0 14px;overflow-wrap:anywhere}.record-detail-identity h2:focus{outline:none}.record-detail-context{display:flex;flex-wrap:wrap;gap:10px 24px;color:#354f44;font-size:16px;line-height:1.7}.record-detail-context>span{display:flex;align-items:baseline;gap:8px;min-width:0;overflow-wrap:anywhere}.record-detail-context .anticon{color:#628172}.record-detail-origin{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;color:#53685d;font-size:14px;line-height:1.7}.record-detail-origin>span{display:flex;align-items:baseline;gap:10px;min-width:0;overflow-wrap:anywhere}.record-detail-origin>span>span{flex-shrink:0;color:#53685d}.record-detail-metrics{padding:20px 28px;background:#f7faf8;border-top:1px solid #E2ECE6}.teacher-record-workspace .record-detail-metrics .teacher-import-metrics{padding:0;gap:0}.record-detail-metrics .teacher-import-metrics>div{gap:8px;padding:0 24px;min-width:0;border-left:1px solid #DCE7E1}.record-detail-metrics .teacher-import-metrics>div:first-child{padding-left:0;border-left:0}.record-detail-metrics .teacher-import-metrics span{font-size:14px;color:#53685d}.record-detail-metrics .teacher-import-metrics strong{font-size:30px;line-height:1.2;font-weight:600;color:#1e3135}.record-detail-metrics .teacher-import-metrics>div:nth-child(2) strong{color:#087d5c}.teacher-record-workspace .completed-student-results{margin-top:20px;padding:24px 28px;background:#fff;border:1px solid #DCE7E1;border-radius:16px;min-width:0}.teacher-record-workspace .completed-student-results h2{font-size:22px;margin:0 0 20px;color:#1e3135}.teacher-record-workspace .completed-result-tools{padding:14px;background:#f5f8f6;border:1px solid #E4ECE7;border-radius:10px;gap:12px}.teacher-record-workspace .completed-result-tools .ant-input-affix-wrapper{background:#fff;max-width:400px;border-radius:8px}.teacher-record-workspace .completed-result-table thead{background:#f5f8f6}.teacher-record-workspace .completed-result-table thead th{font-size:14px;color:#53685d;padding-block:12px}.teacher-record-workspace .completed-result-table tbody tr:hover{background:#f7fbf8}.teacher-record-workspace .completed-result-table td,.teacher-record-workspace .completed-result-table th{padding-inline:14px}.teacher-record-workspace .completed-result-status{display:inline-block;font-size:14px;border-radius:5px;padding:3px 8px;background:#f1f5f3}.teacher-record-workspace .completed-result-status--recorded{background:#eaf5ee;color:#087d5c}.teacher-record-workspace .completed-result-status--makeup_pending{background:#fbf2df;color:#805e20}@media(min-width:1500px){.teacher-record-workspace .result-col-number{width:240px}.teacher-record-workspace .result-col-measurement{width:190px}.teacher-record-workspace .result-col-score{width:120px}.teacher-record-workspace .result-col-status{width:130px}}@media(max-width:1000px){.record-detail-identity{padding:24px}.record-detail-metrics{padding:20px 24px}.teacher-record-workspace .completed-student-results{padding:24px}}@media(max-width:640px){.record-detail-toolbar{gap:8px;margin-bottom:16px}.teacher-record-workspace .record-detail-toolbar .ant-btn{padding-inline:12px;font-size:14px}.record-detail-overview{border-radius:12px}.record-detail-identity{padding:20px 16px}.teacher-record-workspace .record-detail-identity h2{font-size:24px}.record-detail-context,.record-detail-origin{flex-direction:column;gap:8px}.record-detail-metrics{padding:18px 16px}.teacher-record-workspace .record-detail-metrics .teacher-import-metrics{grid-template-columns:1fr 1fr;gap:20px 0}.record-detail-metrics .teacher-import-metrics>div{padding:0 16px}.record-detail-metrics .teacher-import-metrics>div:nth-child(odd){padding-left:0;border-left:0}.record-detail-metrics .teacher-import-metrics strong{font-size:28px}.teacher-record-workspace .completed-student-results{margin-top:16px;padding:20px 16px;border-radius:12px}.teacher-record-workspace .completed-result-tools{padding:10px}.teacher-record-workspace .completed-result-list li:last-child{border-bottom:0}}@media(min-width:1700px){.teacher-record-workspace .teacher-import-tests{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-record-workspace .teacher-import-tests>li{flex-direction:column;align-items:stretch;gap:16px}.teacher-record-workspace .teacher-record-actions{justify-content:flex-end;border-top:1px solid #E6EEE9;padding-top:12px}}@media(min-width:1400px){.record-detail-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.record-detail-metrics{display:flex;align-items:center;border-top:0;border-left:1px solid #E2ECE6;padding:24px 28px}.teacher-record-workspace .record-detail-metrics .teacher-import-metrics{width:100%;grid-template-columns:1fr 1fr;gap:24px 0}.record-detail-metrics .teacher-import-metrics>div:nth-child(odd){padding-left:0;border-left:0}.teacher-record-workspace .completed-result-table col:nth-child(1){width:6%}.teacher-record-workspace .completed-result-table col:nth-child(2){width:22%}.teacher-record-workspace .completed-result-table col:nth-child(3){width:28%}.teacher-record-workspace .completed-result-table col:nth-child(4){width:18%}.teacher-record-workspace .completed-result-table col:nth-child(5){width:12%}.teacher-record-workspace .completed-result-table col:nth-child(6){width:14%}}.teacher-record-workspace .teacher-import-tests>li{padding:24px;border-color:#dce7e1;box-shadow:0 2px 8px #1e313503;gap:18px}.teacher-record-workspace .record-card-heading{align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px 16px}.teacher-record-workspace .record-card-heading h3{font-size:22px;line-height:1.4}.teacher-record-workspace .record-card-test-name{font-size:14px;color:#53685d;margin:0 0 14px;line-height:1.7;overflow-wrap:anywhere}.teacher-record-workspace .record-card-context{font-size:16px;margin-bottom:12px;color:#354f44}.teacher-record-workspace .record-card-meta{gap:8px 18px;font-size:14px}.teacher-record-workspace .teacher-record-actions{gap:16px}.teacher-record-workspace .teacher-record-actions>.ant-btn:first-child{min-height:46px;font-size:16px;padding-inline:18px;background:#eff7f2}.teacher-record-workspace .teacher-record-actions>.ant-btn:last-child:not(:first-child){width:48px;min-height:46px;border-left:1px solid #DFE9E3;border-radius:0 8px 8px 0;color:#53685d}.teacher-record-workspace .record-import-button.ant-btn-primary{background:#087d5c;border-color:#087d5c;box-shadow:none;color:#fff}.teacher-record-workspace .record-import-button.ant-btn-primary:hover{background:#066448;border-color:#066448}@media(min-width:1700px){.teacher-record-workspace .teacher-import-tests>li{padding:24px}.teacher-record-workspace .teacher-record-actions{margin-top:auto;padding-top:16px}}@media(max-width:640px){.teacher-record-workspace .teacher-import-tests>li{padding:18px}.teacher-record-workspace .record-card-heading h3{font-size:20px}.teacher-record-workspace .record-card-test-name{margin-bottom:12px}.teacher-record-workspace .teacher-record-actions{gap:14px}}.teacher-import-flow{min-width:0;color:#1e3135;max-width:1280px;margin-inline:auto}.teacher-import-flow .ant-btn{min-height:46px;border-radius:9px;font-size:16px}.teacher-import-flow>.import-back{color:#087d5c;border-color:#c6dbd0;background:#fff;margin-bottom:20px}.import-flow-steps{display:flex;justify-content:center;gap:48px;list-style:none;padding:20px 24px;margin:0 0 24px;border:1px solid #DCE7E1;background:#fff;border-radius:14px}.import-flow-steps li{display:flex;align-items:center;gap:10px;color:#53685d;font-size:16px}.import-flow-steps li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2f0;font-variant-numeric:tabular-nums}.import-flow-steps li.is-current{color:#087d5c;font-weight:600}.import-flow-steps li.is-current>span{background:#087d5c;color:#fff}.import-flow-steps li.is-done>span{background:#e6f4ec;color:#087d5c}.import-start-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px}.import-file-card,.import-guide,.import-review-card,.import-match-card{background:#fff;border:1px solid #DCE7E1;border-radius:16px;padding:28px;min-width:0}.import-file-card .ant-upload-drag{background:#f7fbf9;border-color:#b5d3c3;border-radius:12px;min-height:280px;display:flex;align-items:center;justify-content:center}.import-file-card .ant-upload-drag:hover{background:#edf7f1;border-color:#087d5c}.import-file-card .ant-upload-drag:focus-within{outline:2px solid #087D5C;outline-offset:3px}.import-upload-icon{font-size:44px;color:#087d5c;margin-bottom:18px}.teacher-import-flow h2{font-size:24px;line-height:1.5;margin:0 0 12px;color:#1e3135}.teacher-import-flow h3{font-size:19px;margin:0 0 18px;color:#1e3135}.teacher-import-flow p{font-size:16px;line-height:1.7;color:#53685d;margin:10px 0}.import-file-format{display:inline-block;color:#53685d;font-size:14px;margin-top:8px}.import-save-note{display:flex;align-items:baseline;gap:8px;padding-top:10px}.teacher-import-flow .import-selected-file{font-size:14px;display:flex;gap:8px;overflow-wrap:anywhere}.import-guide ol{padding-left:22px;margin:0;color:#354f44;font-size:16px;line-height:1.9}.import-guide li+li{margin-top:10px}.import-guide>div{border-top:1px solid #E2ECE6;margin-top:24px;padding-top:20px}.import-guide>div strong{font-size:16px}.teacher-import-flow .import-guide-note{font-size:14px;background:#f5f8f6;padding:14px;border-radius:9px;margin-top:18px}.import-review-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.import-review-card header>div{min-width:0}.import-review-card header p{overflow-wrap:anywhere;font-size:14px}.import-review-label{display:block;color:#087d5c;font-size:14px;margin-bottom:8px}.import-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:22px 0}.import-review-facts>div{min-width:0}.import-review-facts dt{font-size:14px;color:#53685d;margin-bottom:5px}.import-review-facts dd{margin:0;font-size:16px;overflow-wrap:anywhere}.import-review-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:20px;background:#f5f9f7;border-radius:10px;gap:18px}.import-review-counts>div{display:grid;gap:8px}.import-review-counts span{font-size:14px;color:#53685d}.import-review-counts strong{font-size:28px;color:#1e3135;font-variant-numeric:tabular-nums}.import-review-counts small{font-size:14px;font-weight:400;margin-left:6px;color:#53685d}.import-match-card{margin-top:20px}.import-match-counts{display:flex;flex-wrap:wrap;gap:12px 28px}.import-match-counts strong{color:#087d5c;font-size:20px}.teacher-import-flow details summary{padding:14px 0;cursor:pointer;min-height:46px;color:#087d5c;font-size:16px}.teacher-import-flow>.ant-alert{margin-bottom:20px}.import-match-card .ant-alert{margin-top:16px}.import-review-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;padding:20px 24px;border:1px solid #DCE7E1;border-radius:12px;margin-top:20px}.import-review-footer>span{font-size:14px;color:#53685d}.import-review-footer>div{display:flex;gap:12px;flex-shrink:0}@media(max-width:850px){.import-start-grid{grid-template-columns:1fr}.import-flow-steps{gap:24px}.import-file-card,.import-guide,.import-review-card,.import-match-card{padding:24px}}@media(max-width:640px){.import-flow-steps{gap:14px;padding:16px 12px;justify-content:space-between}.import-flow-steps li{flex-direction:column;text-align:center;gap:7px;font-size:13px;flex:1}.import-file-card,.import-guide,.import-review-card,.import-match-card{padding:18px;border-radius:12px}.import-file-card .ant-upload-drag{min-height:250px}.teacher-import-flow h2{font-size:21px}.import-review-facts{grid-template-columns:1fr}.import-review-counts{grid-template-columns:1fr 1fr;padding:16px}.import-review-card header{flex-direction:column;gap:8px}.import-review-footer{flex-direction:column;align-items:stretch;padding:18px}.import-review-footer>div{justify-content:flex-end}.teacher-import-flow>.import-back{margin-bottom:16px}}.import-file-card .ant-upload-wrapper{display:block;height:auto}.import-file-card .ant-upload-wrapper .ant-upload-drag{height:auto;min-height:300px;display:block;padding:32px 16px}.import-file-card .ant-upload-wrapper .ant-upload-drag .ant-upload-btn{height:auto;padding:0}.import-file-card .ant-upload-wrapper .ant-upload-drag-container{display:block}.import-file-card .import-save-note{margin:18px 0 0;padding-top:0;font-size:14px}@media(max-width:640px){.import-file-card .ant-upload-wrapper .ant-upload-drag{min-height:260px;padding:28px 10px}}.teacher-test-import{max-width:1100px;color:#233d34}.teacher-test-import h2{margin:16px 0;font-size:28px}.teacher-test-import h3{font-size:21px;margin:20px 0 12px}.teacher-test-import p{color:#5d6b65;line-height:1.7}.teacher-test-import .ant-btn{min-height:44px}.teacher-import-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.teacher-import-meta,.teacher-import-matching{display:flex;flex-wrap:wrap;gap:12px 24px;line-height:1.7;color:#5d6b65}.teacher-import-preview{margin-top:24px;padding:24px;background:#fff;border:1px solid #e3e9e5;border-radius:16px}.teacher-import-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:28px 0}.teacher-import-metrics div{display:flex;flex-direction:column;gap:8px}.teacher-import-metrics span{color:#64716b}.teacher-import-metrics strong{font-size:30px;font-variant-numeric:tabular-nums}.teacher-import-source{font-size:13px}.teacher-import-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.teacher-import-students,.teacher-import-tests{padding:0;list-style:none}.teacher-import-students{max-height:360px;overflow:auto}.teacher-import-students li{display:flex;flex-wrap:wrap;gap:10px 20px;padding:12px 0;border-bottom:1px solid #edf0ee;overflow-wrap:anywhere}.teacher-import-students small{flex-basis:100%;color:#876f3b}.teacher-import-tests li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid #e3e9e5}.teacher-import-tests li>div{min-width:0;overflow-wrap:anywhere}.teacher-import-empty{padding:24px 0}.teacher-test-import details summary{cursor:pointer;min-height:44px;padding:14px 0;color:#425e51}.teacher-test-import>.ant-alert{margin-bottom:16px}.teacher-test-import .completed-result-table{width:100%}.teacher-test-import .teacher-import-preview{display:block}@media(max-width:600px){.teacher-import-heading{align-items:flex-start;flex-direction:column;gap:8px}.teacher-import-preview{padding:18px}.teacher-import-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teacher-import-meta{gap:8px 16px}.teacher-import-actions{flex-wrap:wrap}.teacher-import-matching{gap:10px 16px}.teacher-test-import h2{font-size:25px}.teacher-import-tests li{align-items:flex-start}.teacher-import-tests h3{margin-top:0}.teacher-import-tests .ant-btn{flex-shrink:0}}.teacher-record-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.teacher-record-tools{flex-wrap:wrap;gap:12px;margin-bottom:12px}.teacher-record-actions button{min-height:44px}.teacher-test-delete-confirm .ant-btn-primary.ant-btn-dangerous,.teacher-test-delete-confirm .ant-btn-primary.ant-btn-dangerous:not(:disabled):hover{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff}.teacher-test-delete-confirm .ant-btn-primary.ant-btn-dangerous:not(:disabled):active{filter:brightness(.9)}.local-data-page{display:grid;gap:24px;max-width:1120px}.local-data-section{padding:24px 32px;background:#fff;border:1px solid #dce4e0;border-radius:12px}.local-data-section h2{margin:0 0 12px;font-size:21px;color:#203d33}.local-data-page p{color:#52665d;line-height:1.7;margin:0 0 16px}.local-data-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 24px}.local-data-counts dt{font-size:13px;color:#52665d}.local-data-counts dd{margin:6px 0 0;font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;color:#203d33}.local-data-counts small{font-size:13px;font-weight:400;margin-left:6px}.local-data-preview{margin-top:24px;padding-top:20px;border-top:1px solid #e5ebe8}.local-data-preview h3,.local-data-boundaries h3{font-size:16px;margin:0 0 12px}.local-data-actions{display:flex;justify-content:flex-end;gap:12px}.local-data-boundaries{padding:0 8px}.local-data-boundaries p{font-size:13px;margin-bottom:8px}.local-data-kept{display:flex;margin:20px 0}.local-data-page .ant-btn{min-height:44px}.local-data-section .ant-btn{padding-inline:20px}@media(max-width:900px){.local-data-section{padding:24px}.local-data-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}.local-data-filename{overflow-wrap:anywhere}.local-data-confirmation .ant-btn-primary.ant-btn-dangerous:not(:disabled){background:var(--danger)!important;border-color:var(--danger)!important;color:#fff}.local-data-confirmation .ant-btn-primary.ant-btn-dangerous:not(:disabled):hover{filter:brightness(.95)}.local-data-confirmation .ant-btn-primary.ant-btn-dangerous:not(:disabled):active{filter:brightness(.9)}.local-data-confirmation .ant-btn{min-height:44px}.local-data-clear .ant-alert{margin-top:16px}.local-data-clear-files{justify-content:flex-start;margin-bottom:16px;flex-wrap:wrap}.local-data-clear-phrase{display:block;margin-bottom:8px}.local-data-clear-confirmation .ant-modal-body .ant-alert{margin-top:16px}.local-data-clear-confirmation .ant-input{min-height:44px}.local-data-page{max-width:1440px;gap:20px}.local-data-primary{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.local-data-section{padding:26px;border-radius:16px}.local-data-intro{padding:18px 22px;border:1px solid #DDE8E1;border-radius:12px;background:#f2f7f4;color:#294b3b}.local-data-intro p{margin:8px 0 0;font-size:13px}.local-data-step{display:block;color:#62796b;font-size:12px;margin-bottom:8px}.local-data-replace-note{padding:12px 14px;border-radius:8px;background:#f7f9f7;font-size:13px}.local-data-main-counts .local-data-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.local-data-main-counts .local-data-counts>div:nth-child(n+5){display:none}.local-data-boundaries summary{cursor:pointer;color:#466958;padding:12px 0}.local-data-clear{background:#fffefc}.local-data-clear h2{font-size:17px}.local-data-clear>p{font-size:13px}.local-data-preview details{font-size:12px;color:#62796b;margin-bottom:12px}.local-data-preview .local-data-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.go-import-recovery{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}@media(max-width:1100px){.local-data-primary{grid-template-columns:1fr}}.local-data-primary>.local-data-section,.local-data-page>.local-data-section{margin:0}.local-data-page{gap:18px;max-width:1440px}.local-data-primary{align-items:stretch;gap:20px}.local-data-primary>.local-data-section{display:flex;flex-direction:column;min-height:320px;padding:26px 28px}.local-data-primary>.local-data-section>.ant-btn{align-self:flex-start;margin-top:auto}.local-data-primary:has(.local-data-preview){align-items:start}.local-data-main-counts .local-data-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}.local-data-main-counts .local-data-counts dd{font-size:27px}.local-data-section h2{font-size:21px}.local-data-clear{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;padding:22px 28px;align-items:center}.local-data-clear>h2{grid-column:1;margin-bottom:7px}.local-data-clear>p{grid-column:1;margin:0;font-size:13px;max-width:1000px}.local-data-clear>.ant-btn{grid-column:2;grid-row:1/3;align-self:center}.local-data-boundaries{padding:0;border:1px solid #DCE4E0;border-radius:14px;background:#fff;overflow:hidden}.local-data-boundaries>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;list-style:none;color:#294b3b;cursor:pointer}.local-data-boundaries>summary::-webkit-details-marker{display:none}.local-data-boundaries summary strong{display:block;font-size:15px;font-weight:600}.local-data-boundaries summary small{display:block;font-size:12px;color:#62796b;margin-top:5px}.local-data-help-toggle{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:13px;color:#476d58}.local-data-help-toggle:before{content:"展开说明"}.local-data-help-toggle:after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}.local-data-boundaries[open] .local-data-help-toggle:before{content:"收起说明"}.local-data-boundaries[open] .local-data-help-toggle:after{transform:rotate(225deg);margin-top:4px}.local-data-boundaries>summary:hover{background:#f5f9f6}.local-data-boundaries>summary:focus-visible{outline:2px solid #147C6B;outline-offset:-3px}.local-data-boundaries[open]>summary{border-bottom:1px solid #E5ECE7}.local-data-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:22px 24px}.local-data-help-grid>section{margin:0;padding:0;min-width:0}.local-data-help-grid h3{font-size:14px;margin:0 0 9px}.local-data-help-grid p{font-size:13px;line-height:1.8;margin:0;color:#52665d}@media(max-width:1280px){.local-data-main-counts .local-data-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.local-data-help-grid{grid-template-columns:1fr;gap:20px}.local-data-primary>.local-data-section{min-height:0}.local-data-primary>.local-data-section>.ant-btn{margin-top:4px}.local-data-clear{display:block}.local-data-clear>.ant-btn{margin-top:14px}}@media(max-width:650px){.local-data-primary>.local-data-section,.local-data-clear{padding:20px}.local-data-boundaries>summary{padding:17px 20px}.local-data-help-grid{padding:20px}.local-data-help-toggle:before{content:"展开"}.local-data-boundaries[open] .local-data-help-toggle:before{content:"收起"}}:root{font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#172720;background:#edf4f1;font-synthesis:none;--brand-green: #12a875;--brand-green-dark: #087657;--brand-deep: #123f34;--brand-mint: #e4f7f0;--surface: #ffffff;--surface-soft: #f3f7f5;--text-muted: #687970;--line: #dbe7e1;--shadow-soft: 0 12px 34px rgba(23, 70, 52, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#edf4f1}button,input,select,textarea{font:inherit}.home-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:24px 0 32px}.home-userbar{min-height:42px;margin-bottom:28px;display:flex;justify-content:flex-end;align-items:center;gap:12px;color:var(--text-muted);font-size:13px}.home-userbar strong{color:#28453a;font-weight:600}.home-userbar button{padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:#456057;cursor:pointer}.home-header{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:36px}.home-header>div,.module-title-row>div{min-width:0}.home-header h1{margin:8px 0 12px!important;font-size:clamp(30px,4vw,44px)!important;letter-spacing:-.02em}.home-header p{max-width:680px;margin:0!important;font-size:16px;line-height:1.8;color:var(--text-muted)}.eyebrow{color:var(--brand-green-dark);font-weight:650;letter-spacing:.08em}.privacy-note{min-width:270px;display:flex;gap:12px;align-items:center;padding:16px 18px;border:1px solid #cce6dc;border-radius:12px;background:var(--surface);color:var(--brand-green-dark);box-shadow:0 8px 22px #1746340d}.privacy-note>span{display:flex;flex-direction:column;gap:3px}.privacy-note .anticon{font-size:24px}.privacy-note small{color:var(--text-muted)}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.module-card-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.module-card-button:focus-visible{outline:3px solid rgba(23,105,170,.28);outline-offset:4px;border-radius:12px}.module-card{position:relative;overflow:hidden;min-height:420px;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1746340f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.module-card-button:hover .module-card{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:#acd8c8}.module-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;border-radius:8px 8px 0 0}.module-card--capture:before{background:#12a875}.module-card--teacher:before{background:#087657}.module-card--grade:before{background:#4f83a6}.module-card__topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.module-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--brand-mint);font-size:25px;color:var(--brand-green-dark)}.module-card__arrow{color:#7a8798;font-size:17px}.module-card h3{margin:0 0 14px!important}.module-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px}.module-card__description{min-height:50px;color:var(--text-muted);line-height:1.7}.module-card__features{margin:24px 0 0;padding:18px 0 0 20px;border-top:1px solid #e7efeb;color:#40564d;line-height:2}.home-footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--text-muted);font-size:14px}.local-data-section{margin-top:42px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.section-heading h2{margin:8px 0 0!important}.local-data-card{border-color:#d9e7e2}.local-data-card__intro{display:flex;gap:16px;align-items:flex-start}.local-data-card__intro h4{margin:0 0 6px!important}.local-data-card__intro p{margin:0!important;color:#657185}.local-data-card__icon{display:grid;flex:0 0 auto;place-items:center;width:46px;height:46px;border-radius:10px;color:#16765f;background:#eaf6f2;font-size:22px}.local-data-stats{display:grid;grid-template-columns:.7fr .7fr .7fr 1.5fr;gap:14px;margin:24px 0;padding:20px;border-radius:10px;background:#f7f9fb}.local-data-stats .ant-statistic-content{font-size:22px}.local-data-stats .ant-statistic:last-child .ant-statistic-content{font-size:16px;line-height:32px}.local-data-actions{display:flex;flex-wrap:wrap;gap:10px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.module-page{min-height:100vh;--module-accent: #12a875}.module-page--capture{--module-accent: #12a875}.module-page--teacher{--module-accent: #087657}.module-page--grade{--module-accent: #4f83a6}.module-header{height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 18px #17463409}.module-header__actions{display:flex;align-items:center;gap:14px}.module-header__status{display:flex;gap:8px;align-items:center;color:#536174;font-size:14px}.module-user{display:flex;align-items:center;gap:8px;padding-left:14px;border-left:1px solid var(--line)}.module-user__avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--brand-green-dark);background:var(--brand-mint)}.module-user>span:last-child{display:flex;flex-direction:column;line-height:1.25}.module-user strong{font-size:12px;font-weight:600;color:#29443a}.module-user small{max-width:180px;overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis}.module-content{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:38px 0 64px}.module-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}.module-title-row h2{margin:12px 0 8px!important}.module-title-row p{margin:0!important;color:#657185;font-size:16px}.phase-tag{margin-top:4px;color:var(--module-accent);border-color:color-mix(in srgb,var(--module-accent) 30%,white);background:color-mix(in srgb,var(--module-accent) 8%,white)}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.feature-grid--capture{grid-template-columns:repeat(3,1fr)}.feature-grid>*,.capture-flow-card{min-width:0}.feature-card{width:100%;min-width:0;min-height:190px;overflow:hidden;border-color:#e1e6ed}.feature-card__heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.feature-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;color:var(--module-accent);background:color-mix(in srgb,var(--module-accent) 9%,white);font-size:21px}.feature-card h4{margin-bottom:10px!important}.feature-card p{color:#667285;line-height:1.7}.capture-flow-card{margin-top:22px}.capture-flow-card .ant-steps{margin:28px 0 34px}.capture-flow-card .ant-btn{min-height:48px}.roster-onboarding{overflow:hidden;border:1px solid #d7e8e1;box-shadow:var(--shadow-soft)}.roster-onboarding .ant-card-body{min-height:460px;padding:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 0,rgba(18,168,117,.08),transparent 34%),linear-gradient(180deg,#fff,#fbfdfc)}.roster-onboarding__icon{display:grid;place-items:center;width:68px;height:68px;margin-bottom:20px;border-radius:20px;color:#087657;background:linear-gradient(145deg,#e8f8f2,#d8f1e8);box-shadow:inset 0 1px #fff,0 12px 28px #125c431a;font-size:30px}.roster-onboarding h3{margin:0 0 12px!important;color:#17372c!important}.roster-onboarding p{max-width:620px;margin:0 0 24px!important;color:var(--text-muted);font-size:15px;line-height:1.8}.roster-onboarding__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.roster-onboarding__actions .ant-btn{min-height:48px;border-radius:11px}.roster-onboarding__steps{width:min(600px,100%);margin:32px 0 24px;display:grid;grid-template-columns:repeat(3,1fr);color:#52675f}.roster-onboarding__steps span{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px}.roster-onboarding__steps span:not(:last-child):after{content:"";position:absolute;right:-20%;width:40%;height:1px;background:#cfe3db}.roster-onboarding__steps strong{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#087657;background:#e2f5ee}.roster-onboarding .ant-alert{width:min(620px,100%);text-align:left;border-radius:11px}.roster-workspace{display:grid;gap:18px}.roster-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.roster-stat-grid .ant-card{border-color:#dce8e3;box-shadow:0 8px 24px #1746340b}.roster-stat-grid .ant-statistic-content{color:#143c30}.roster-stat-card--warning{border-color:#f1d7aa!important;background:#fffdf8}.roster-stat-card--warning .ant-statistic-content{color:#b46a14}.roster-table-card{border-color:#dce8e3;box-shadow:var(--shadow-soft)}.roster-toolbar{margin-bottom:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.roster-toolbar h4{margin:0 0 4px!important}.roster-filters{margin-bottom:16px;display:grid;grid-template-columns:minmax(240px,1fr) 190px;gap:12px}.roster-filters .ant-input-affix-wrapper,.roster-filters .ant-select-selector{min-height:42px!important;border-radius:10px!important}.roster-table-card .ant-alert{margin-bottom:16px;border-radius:10px}.roster-table-card .ant-table-wrapper{margin-top:4px}.roster-table-card .ant-table-thead>tr>th{color:#456158;background:#f3f8f6}.roster-table-card .ant-table-tbody>tr:hover>td{background:#f4faf7!important}.roster-table-card .ant-select{min-width:98px}.roster-preview{display:grid;gap:16px}.roster-preview__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 18px;border-radius:12px;background:#f3f8f6}.roster-preview__summary .ant-statistic-content{font-size:24px}.roster-preview .ant-table-wrapper{border:1px solid #e3ece8;border-radius:10px;overflow:hidden}.capture-session-home,.capture-entry{display:grid;gap:18px}.capture-start-card{border-color:#cfe5dc;background:linear-gradient(135deg,#fff 55%,#e9f8f2);box-shadow:var(--shadow-soft)}.capture-start-card .ant-card-body{min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:30px}.capture-start-card h3{margin:12px 0 8px!important;color:#173b2f!important}.capture-start-card p{max-width:680px;margin:0!important;color:var(--text-muted);line-height:1.7}.capture-start-card .ant-btn{flex:0 0 auto;min-height:50px;border-radius:12px;padding-inline:24px;box-shadow:0 10px 24px #12a8752e}.capture-session-list{border-color:#dce8e3;box-shadow:0 8px 24px #1746340b}.capture-session-list .ant-card-body{padding-top:8px}.capture-session-row-wrap{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid #e9efec}.capture-session-row-wrap:last-child{border-bottom:0}.capture-session-row{width:100%;min-height:72px;padding:12px 6px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 24px;gap:12px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.capture-session-row:hover{background:#f4faf7}.capture-session-delete{width:40px;height:40px;border-radius:10px}.capture-session-row__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#07805b;background:#e5f6ef;font-size:18px}.capture-session-row__main{min-width:0;display:flex;flex-direction:column;gap:5px}.capture-session-row__main strong{color:#243e35;font-size:15px}.capture-session-row__main small{overflow:hidden;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.capture-entry__header{border-color:#d4e5de;box-shadow:0 8px 24px #1746340d}.capture-entry__header .ant-card-body{display:flex;align-items:center;justify-content:space-between;gap:24px}.capture-entry__header h3{margin:10px 0 4px!important}.capture-entry__header .ant-btn{margin-left:-12px}.capture-entry__overall{display:flex;align-items:center;gap:14px}.capture-entry__overall>span{display:flex;flex-direction:column}.capture-entry__overall strong{color:#173d30;font-size:19px}.capture-entry__overall small{color:var(--text-muted);font-size:12px}.capture-event-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 7px;scrollbar-width:thin}.capture-event-tabs button{min-width:142px;padding:12px 14px;display:flex;justify-content:space-between;gap:10px;border:1px solid #dce7e2;border-radius:11px;background:#fff;color:#496158;cursor:pointer}.capture-event-tabs button:hover{border-color:#9dd4c0}.capture-event-tabs button.is-active{border-color:#16aa78;color:#087657;background:#eaf8f3;box-shadow:0 6px 18px #12805b17}.capture-event-tabs button span{font-weight:600;white-space:nowrap}.capture-event-tabs button small{color:#71847c}.capture-student-card{border-color:#d2e4dc;box-shadow:0 14px 36px #14483614}.capture-student-card .ant-card-body{padding:30px}.capture-student-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.capture-student-identity{display:flex;align-items:center;gap:16px}.capture-student-identity>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#21bf8a,#087657);box-shadow:0 10px 22px #08765733;font-size:23px;font-weight:700}.capture-student-identity h2{margin:0 0 3px!important;color:#17382d!important}.capture-score-entry{margin:32px 0 20px;padding:26px;display:grid;grid-template-columns:minmax(200px,.8fr) minmax(280px,1.2fr);gap:28px;align-items:center;border-radius:15px;background:#f3f8f6}.capture-score-entry>div:first-child{display:flex;flex-direction:column;gap:6px}.capture-score-entry__label{color:#163a2e;font-size:24px;font-weight:700}.capture-score-entry small{color:var(--text-muted)}.capture-score-input .ant-input-affix-wrapper{min-height:58px;border-color:#c9ded5;border-radius:12px;background:#fff;font-size:22px;box-shadow:0 5px 14px #164c390d}.capture-score-input .ant-input{font-size:22px;font-weight:650}.capture-score-input .ant-input-suffix{color:#667b72;font-size:14px;font-weight:500}.capture-save-state{min-height:22px;margin-top:7px;display:block;color:#71847c;font-size:12px}.capture-save-state--saved{color:#087657}.capture-save-state--error{color:#c2413a}.capture-status-actions{display:flex;align-items:center;gap:9px;padding-bottom:22px;border-bottom:1px solid #e6eeea}.capture-status-actions>span{margin-right:5px;color:var(--text-muted);font-size:13px}.capture-status-actions .ant-btn{border-radius:9px}.capture-status-actions .ant-btn.is-selected{border-color:#e4a64c;color:#9a5b10;background:#fff7e8}.capture-navigation{margin-top:22px;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px}.capture-navigation .ant-btn{min-height:48px;border-radius:11px}.capture-finish-card{border-color:#d8e6e0}.capture-finish-card .ant-card-body{display:flex;align-items:center;justify-content:space-between;gap:20px}.capture-finish-card .ant-card-body>div{display:flex;flex-direction:column;gap:4px}.capture-finish-card strong{color:#29483d}.capture-finish-card small{color:var(--text-muted)}.capture-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.capture-event-options{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.capture-event-options .ant-checkbox-wrapper{min-height:46px;margin:0;padding:10px 12px;display:flex;align-items:center;border:1px solid #dce8e3;border-radius:10px;background:#fff}.capture-event-options .ant-checkbox-wrapper:has(.ant-checkbox-checked){border-color:#92d3bb;background:#effaf6}.capture-event-options .ant-checkbox+span{width:100%;display:flex;justify-content:space-between;gap:8px}.capture-event-options small{color:#7a8c85}.capture-round-home{display:grid;gap:12px}.capture-round-header{background:linear-gradient(135deg,#fff 68%,#edf9f4)}.capture-module-section{padding:20px;border:1px solid #d7e6df;border-radius:var(--radius);background:#fffffff0;box-shadow:0 8px 24px #1746340b}.capture-module-heading{margin-bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.capture-module-heading h3{margin:8px 0 0!important;color:#19382e!important;font-size:19px!important}.capture-module-heading p{max-width:520px;margin:0!important;color:var(--text-muted);font-size:11px;text-align:right}.capture-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.capture-module-card{min-width:0;min-height:184px;padding:16px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:1fr auto auto;gap:10px 12px;border:1px solid #dbe8e2;border-radius:15px;color:inherit;background:#fff;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.capture-module-card:hover{transform:translateY(-2px);border-color:#8fcfb7;box-shadow:0 12px 28px #14483617}.capture-module-card:focus-visible{outline:3px solid rgba(18,168,117,.2);outline-offset:2px}.capture-module-card.is-complete{border-color:#b9dfd0;background:linear-gradient(145deg,#fff,#f0faf6)}.capture-module-card.is-progress{border-color:#ebd1a8;background:linear-gradient(145deg,#fff,#fff9ef)}.capture-module-card__number{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#587068;background:#edf3f0;font-size:11px;font-weight:750;letter-spacing:.05em}.capture-module-card.is-complete .capture-module-card__number{color:#087657;background:#dcf4eb}.capture-module-card.is-progress .capture-module-card__number{color:#9a5b10;background:#fff0d8}.capture-module-card__content{min-width:0;display:flex;flex-direction:column}.capture-module-card__content small{color:#80918a;font-size:9px;letter-spacing:.1em}.capture-module-card__content strong{margin-top:3px;color:#203d33;font-size:15px;line-height:1.4;white-space:normal}.capture-module-card__content em{margin-top:6px;color:#71847c;font-size:10px;font-style:normal;line-height:1.45}.capture-module-card__progress{grid-column:1 / -1;margin:0!important;line-height:1}.capture-module-card__footer{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;color:#71847c;font-size:10px}.capture-module-card__footer b{color:#25463a;font-size:13px}.capture-module-card__footer .ant-tag{margin:0}.capture-module-card__footer>.anticon{color:#769087}.capture-module-return-card .ant-btn{min-height:42px;border-radius:10px}.teacher-module-tabs>.ant-tabs-nav{margin-bottom:20px}.teacher-module-tabs>.ant-tabs-nav .ant-tabs-tab{padding:12px 4px;font-weight:600}.teacher-score-manager{display:grid;gap:18px}.teacher-score-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.teacher-score-stats .ant-card{border-color:#dce8e3;box-shadow:0 8px 24px #1746340b}.teacher-score-stats .ant-statistic-content{color:#173e31}.teacher-package-card{border-color:#d8e6e0;box-shadow:var(--shadow-soft)}.teacher-package-card .ant-card-body{display:grid;grid-template-columns:1fr 1px 1fr;gap:24px}.teacher-package-card__block{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:center}.teacher-package-card__block>.ant-btn,.teacher-package-card__block>.ant-space-compact{grid-column:2;justify-self:start}.teacher-package-card__block>.ant-space-compact{max-width:100%}.teacher-package-card__block>.ant-space-compact .ant-select{min-width:230px}.teacher-package-card__icon{grid-row:1 / span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:#087657;background:#e4f6ef;font-size:20px}.teacher-package-card__icon--blue{color:#356d91;background:#eaf3f8}.teacher-package-card h4{margin:0 0 4px!important}.teacher-package-card__divider{width:1px;background:#e1eae6}.teacher-history-card{border-color:#dce8e3;box-shadow:0 8px 24px #1746340b}.teacher-history-card .ant-alert{margin-bottom:16px;border-radius:10px}.teacher-history-card .ant-table-thead>tr>th{color:#456158;background:#f3f8f6}.teacher-import-preview,.teacher-session-detail,.teacher-profile-modal{display:grid;gap:16px}.teacher-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px;border-radius:12px;background:#f3f8f6}.teacher-import-summary .ant-statistic-content{font-size:18px}.teacher-import-summary .ant-statistic-content-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-student-link{height:auto;padding:0;font-weight:600}.teacher-profile-heading{display:flex;align-items:center;gap:14px;padding:18px;border-radius:13px;background:#f3f8f6}.teacher-profile-heading>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#087657;background:#dcf2e9;font-size:21px}.teacher-profile-heading h3{margin:0 0 4px!important}.access-loading{min-height:100vh;display:grid;place-items:center;background:#edf4f1}.access-loading span{width:38px;height:38px;border:3px solid #cfe8de;border-top-color:var(--brand-green);border-radius:50%;animation:access-spin .8s linear infinite}@keyframes access-spin{to{transform:rotate(360deg)}}.access-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(480px,.95fr);background:var(--surface)}.access-brand-panel{position:relative;overflow:hidden;min-height:100vh;padding:clamp(36px,5vw,72px);display:flex;flex-direction:column;color:#effaf6;background:radial-gradient(circle at 76% 22%,rgba(54,214,158,.18),transparent 28%),radial-gradient(circle at 18% 86%,rgba(255,255,255,.08),transparent 25%),linear-gradient(145deg,#0b4a3b,#123f34 58%,#0b5d47)}.access-brand-panel:after{content:"";position:absolute;right:-110px;bottom:-120px;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 48px #ffffff06,0 0 0 96px #ffffff05}.access-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.access-brand__mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;font-size:22px;background:linear-gradient(145deg,#31d7a1,#0da676);box-shadow:0 10px 28px #0000002b}.access-brand>span:last-child{display:flex;flex-direction:column;line-height:1.2}.access-brand strong{color:#fff;font-size:17px;font-weight:650}.access-brand small{margin-top:3px;color:#a9cfc1;font-size:11px;letter-spacing:.08em}.access-brand__content{position:relative;z-index:1;max-width:620px;margin:auto 0}.access-brand__tag{margin-bottom:24px;padding:5px 11px;border-color:#ffffff2e;color:#d9f4ea;background:#ffffff14}.access-brand__content h1{margin:0 0 22px!important;color:#fff!important;font-size:clamp(38px,5vw,64px)!important;line-height:1.24!important;letter-spacing:-.035em}.access-brand__content p{max-width:520px;margin:0!important;color:#b8d8cd;font-size:17px;line-height:1.9}.access-privacy{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:fit-content;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#fff1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.access-privacy>.anticon{color:#56ddb0;font-size:21px}.access-privacy span{display:flex;flex-direction:column}.access-privacy strong{color:#f4fbf8;font-size:13px;font-weight:600}.access-privacy small{margin-top:3px;color:#a9cabe;font-size:11px}.access-form-panel{min-height:100vh;padding:44px clamp(32px,7vw,104px);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 100% 0,rgba(18,168,117,.075),transparent 30%),#fbfdfc}.access-form-wrap{width:min(440px,100%)}.access-form-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:22px;border-radius:14px;color:var(--brand-green-dark);background:var(--brand-mint);font-size:21px}.access-form-wrap h2{margin:0 0 10px!important;color:#193329!important;font-size:28px!important}.access-form-intro{margin:0 0 30px!important;color:var(--text-muted);line-height:1.75}.access-form-fields{display:grid;gap:14px}.access-field-label{margin-bottom:-6px;color:#365248;font-size:13px;font-weight:600}.access-form-fields .ant-input-affix-wrapper{min-height:48px;border-color:var(--line);border-radius:11px;box-shadow:none}.access-form-fields .ant-input-prefix{margin-right:10px;color:#789086}.access-form-fields>.ant-btn-primary{min-height:48px;border-radius:11px;box-shadow:0 8px 20px #12a8752e}@media(max-width:900px){.access-page{grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr)}.access-brand-panel{padding:36px}.access-brand__content h1{font-size:38px!important}.access-brand__content p{font-size:15px}.home-page{width:min(720px,calc(100% - 32px));padding-top:36px}.home-header{align-items:stretch;flex-direction:column}.privacy-note{min-width:0}.module-grid{grid-template-columns:1fr}.module-card,.module-card__description{min-height:0}.module-content{width:min(720px,calc(100% - 32px));padding-top:28px}.local-data-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid,.feature-grid--capture{grid-template-columns:minmax(0,1fr)}.roster-stat-grid{grid-template-columns:1fr}.roster-toolbar{align-items:stretch;flex-direction:column}.roster-preview__summary{grid-template-columns:repeat(2,1fr)}.capture-start-card .ant-card-body{align-items:stretch;flex-direction:column}.capture-start-card .ant-btn{align-self:flex-start}.capture-score-entry{grid-template-columns:1fr;gap:16px}.capture-event-options,.teacher-score-stats,.teacher-package-card .ant-card-body{grid-template-columns:1fr}.teacher-package-card__divider{width:100%;height:1px}.teacher-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.access-page{display:block;min-height:100vh;background:#fbfdfc}.access-brand-panel{min-height:215px;padding:24px 22px;display:block;border-radius:0 0 28px 28px}.access-brand__mark{width:40px;height:40px;border-radius:12px;font-size:19px}.access-brand__content{margin-top:28px}.access-brand__tag,.access-brand__content p,.access-privacy{display:none}.access-brand__content h1{margin:0!important;font-size:28px!important;line-height:1.3!important}.access-form-panel{min-height:0;padding:34px 22px 48px;align-items:flex-start}.access-form-icon{width:42px;height:42px;margin-bottom:18px}.access-form-wrap h2{font-size:24px!important}.access-form-intro{margin-bottom:24px!important}.home-page{width:calc(100% - 24px);padding-top:24px}.home-userbar{justify-content:space-between;margin-bottom:18px}.home-userbar span{max-width:calc(100% - 70px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-header h1{font-size:28px!important}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.local-data-card .ant-card-body{padding:22px 18px}.local-data-card__intro{align-items:center}.local-data-stats{grid-template-columns:1fr}.local-data-actions .ant-btn{width:100%;min-height:46px}.module-card .ant-card-body{padding:24px 20px}.module-header{height:58px;padding:0 12px}.module-header__status span{display:none}.module-header__actions{gap:4px}.module-user{padding-left:7px;border-left:0}.module-user>span:last-child,.module-header__actions>.ant-btn span{display:none}.module-user__avatar{width:32px;height:32px}.module-content{width:calc(100% - 24px);padding:22px 0 40px}.module-title-row{flex-direction:column;gap:12px}.phase-tag{margin-top:0}.capture-flow-card .ant-card-body{padding:22px 16px}.roster-onboarding .ant-card-body{min-height:0;padding:36px 20px}.roster-onboarding__actions,.roster-onboarding__actions .ant-btn{width:100%}.roster-onboarding__steps{grid-template-columns:1fr;gap:12px;text-align:left}.roster-onboarding__steps span{justify-content:flex-start}.roster-onboarding__steps span:after{display:none}.roster-filters{grid-template-columns:1fr}.roster-toolbar .ant-space{width:100%}.roster-toolbar .ant-space-item,.roster-toolbar .ant-btn{flex:1}.roster-preview__summary{grid-template-columns:1fr 1fr}.capture-session-row{grid-template-columns:38px minmax(0,1fr) 22px}.capture-session-row .ant-tag{display:none}.capture-entry__header .ant-card-body{align-items:flex-start;flex-direction:column}.capture-entry__overall{width:100%;justify-content:flex-end}.capture-student-card .ant-card-body{padding:22px 16px}.capture-student-identity>span{width:48px;height:48px;border-radius:15px}.capture-student-identity h2{font-size:24px!important}.capture-score-entry{margin-top:24px;padding:20px 16px}.capture-score-entry__label{font-size:21px}.capture-status-actions{flex-wrap:wrap}.capture-status-actions>span{width:100%}.capture-navigation{grid-template-columns:1fr 1fr}.capture-navigation .ant-btn-primary{grid-column:1 / -1;grid-row:1}.capture-finish-card .ant-card-body{align-items:stretch;flex-direction:column}.capture-finish-card .ant-space,.capture-finish-card .ant-btn{width:100%}.capture-create-grid{grid-template-columns:1fr;gap:0}.teacher-package-card__block{grid-template-columns:42px minmax(0,1fr)}.teacher-package-card__block>.ant-btn,.teacher-package-card__block>.ant-space-compact{grid-column:1 / -1;width:100%}.teacher-package-card__block>.ant-space-compact .ant-select{min-width:0;flex:1}.teacher-import-summary{grid-template-columns:1fr 1fr}}.grade-loading{min-height:430px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--text-muted);font-size:12px}.grade-workspace,.grade-dashboard,.grade-import,.grade-analysis,.grade-import-preview{display:grid;gap:11px}.grade-batchbar{min-height:54px;padding:8px 11px 8px 14px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(280px,440px) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffeb}.grade-batchbar>div{display:flex;flex-direction:column}.grade-batchbar strong{color:#294238;font-size:11px}.grade-batchbar small{margin-top:2px;color:var(--text-muted);font-size:9px}.grade-batchbar .ant-select-selector,.grade-batchbar .ant-btn{min-height:36px;border-radius:9px}.grade-first-use{min-height:500px;border-color:#d6e8e0;border-radius:18px;box-shadow:var(--shadow-soft)}.grade-first-use .ant-card-body{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.grade-first-use__icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;color:var(--brand-green-dark);background:var(--brand-mint);font-size:26px}.grade-first-use h2{margin:16px 0 8px!important;color:#17372c!important;font-size:21px!important}.grade-first-use p{max-width:600px;color:var(--text-muted);font-size:12px;line-height:1.7}.grade-system-cards{width:min(720px,100%);margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.grade-system-cards button{min-height:126px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #d5e6df;border-radius:14px;color:inherit;background:#fff;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.grade-system-cards button:hover{transform:translateY(-2px);border-color:#96d2bb;box-shadow:0 12px 28px #18503b17}.grade-system-cards span{color:var(--brand-green-dark);font-size:9px;font-weight:750;letter-spacing:.12em}.grade-system-cards strong{margin-top:8px;color:#213b32;font-size:14px}.grade-system-cards small{margin-top:8px;color:var(--text-muted);font-size:10px;line-height:1.55}.grade-dashboard-grid,.grade-analysis-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:11px}.grade-dashboard-grid>.analysis-card{min-height:278px}.grade-status-list{margin:4px 0 13px;display:grid;gap:12px}.grade-status-list>div{display:grid;grid-template-columns:65px minmax(0,1fr) 52px;align-items:center;gap:10px;color:#51675e;font-size:10px}.grade-status-list strong{color:#294238;font-size:10px;text-align:right}.grade-status-list .ant-progress{margin:0}.grade-import-hero{border-color:#cde8dd;border-radius:var(--radius);background:linear-gradient(100deg,#f0faf6,#fff 70%)}.grade-import-hero .ant-card-body{min-height:88px;padding:15px 18px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px}.grade-import-hero__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--brand-green);font-size:19px}.grade-import-hero h3,.grade-export-card h3{margin:0 0 4px;color:#243a32;font-size:13px}.grade-import-hero p,.grade-export-card p{margin:0;color:var(--text-muted);font-size:10px}.grade-source-table,.grade-attention-table,.grade-export-card{border-color:var(--line);border-radius:var(--radius);box-shadow:0 4px 16px #1746340a}.grade-source-table .ant-card-head{min-height:44px}.grade-source-table .ant-card-head-title{font-size:12px}.grade-source-table .ant-card-body{padding:0 14px 12px}.grade-source-table .ant-table-thead>tr>th,.grade-attention-table .ant-table-thead>tr>th{color:#456158;background:#f3f8f6;font-size:10px}.grade-source-table .ant-table-cell,.grade-attention-table .ant-table-cell{font-size:10px}.grade-analysis-grid>.analysis-card{min-height:330px}.grade-attention-table .ant-card-body{padding:14px}.grade-export-card .ant-card-body{padding:14px 16px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px}.grade-export-card>.ant-card-body>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--brand-green-dark);background:var(--brand-mint);font-size:17px}.grade-import-preview .ant-alert{border-radius:10px}.grade-import-trace{padding:10px 12px;display:flex;align-items:center;gap:9px;border-radius:10px;color:var(--brand-green-dark);background:#eff8f4}.grade-import-trace>span{min-width:0;display:flex;flex-direction:column}.grade-import-trace strong{font-size:10px}.grade-import-trace small{margin-top:2px;overflow:hidden;color:#6d8179;font-size:8px;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.grade-batchbar,.grade-dashboard-grid,.grade-analysis-grid{grid-template-columns:1fr}}@media(max-width:560px){.grade-system-cards{grid-template-columns:1fr}.grade-import-hero .ant-card-body,.grade-export-card .ant-card-body{grid-template-columns:40px minmax(0,1fr)}.grade-import-hero .ant-btn,.grade-export-card .ant-btn{grid-column:1 / -1;width:100%}}:root{--brand-green: #13ad79;--brand-green-dark: #087052;--brand-deep: #103e33;--brand-mint: #e5f7f0;--canvas: #f2f6f4;--surface-soft: #f6f9f7;--text-muted: #657970;--line: #d9e6e0;--info: #4e7f9f;--info-soft: #edf5fa;--warning: #c9822d;--warning-soft: #fff6e8;--danger: #c95858;--danger-soft: #fff0f0;--shadow-soft: 0 14px 36px rgba(18, 61, 47, .075)}body{color:#172b23;background:radial-gradient(circle at 16% 0,rgba(22,174,122,.055),transparent 34rem),#edf4f1;-webkit-font-smoothing:antialiased}*{scrollbar-color:#bfd6cc transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#bfd6cc;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}.module-page{border-color:#d4e3dc;box-shadow:0 24px 60px #163a2d1f,0 2px 8px #163a2d0a}.module-sidebar{background:radial-gradient(circle at 15% 102%,rgba(68,215,160,.13),transparent 20rem),linear-gradient(178deg,#12483b 0%,var(--brand-deep) 54%,#0d382e 100%)}.module-main{background:radial-gradient(circle at 96% 0,rgba(19,173,121,.045),transparent 28rem),var(--canvas)}.module-header{border-bottom-color:#cadcd4c7;background:#ffffffe6;box-shadow:0 1px #fffc}.platform-brand__mark{background:linear-gradient(145deg,#20c68d,#0d9469);box-shadow:inset 0 1px #ffffff57,0 8px 18px #022d203b}.module-nav-item{font-size:13px}.module-sidebar__label,.module-title-row__eyebrow{font-size:10.5px}.module-sidebar__privacy strong,.module-user strong{font-size:11.5px}.module-sidebar__privacy small,.module-user small{font-size:10px}.module-title-row h1{font-size:24px}.module-title-row p{font-size:12.5px;line-height:1.55}.teacher-priority,.teacher-kpi,.teacher-dashboard-card,.analysis-kpis>.ant-card,.analysis-card,.grade-import-hero,.grade-source-table,.grade-attention-table,.grade-export-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.teacher-kpi:hover,.analysis-kpis>.ant-card:hover{transform:translateY(-1px);border-color:#c9dfd5;box-shadow:0 9px 24px #13463312}.teacher-kpi span,.analysis-kpis span{color:#60756c;font-size:11.5px;font-weight:600}.teacher-kpi strong,.analysis-kpis strong{color:#19392e;font-size:26px}.teacher-kpi small,.analysis-kpis small{color:#74867e;font-size:10.5px}.teacher-card-heading h2,.analysis-card__heading h3{color:#203b31;font-size:14px;letter-spacing:-.01em}.teacher-card-heading p,.analysis-card__heading p{color:#6b7d75;font-size:10.5px;line-height:1.5}.teacher-card-heading .ant-btn{font-size:11px}.teacher-class-table__head{color:#71837b;font-size:10px;font-weight:600}.teacher-class-table>button{color:#4a6359;font-size:11px}.teacher-class-table strong,.teacher-recent-list strong{font-size:11.5px}.teacher-class-table .ant-tag,.teacher-recent-list em{font-size:10px}.teacher-recent-list small{color:#71857c;font-size:10px}.teacher-recent-list>button:hover,.analysis-attention-list button:hover,.analysis-attention-list button.is-active{transform:translate(2px)}.analysis-filterbar strong{font-size:12px}.analysis-filterbar small{font-size:10px}.analysis-tabs>.ant-tabs-nav .ant-tabs-tab{font-size:12.5px}.analysis-distribution>div,.analysis-class-bars>div{color:#455f55;font-size:11px}.analysis-distribution strong,.analysis-class-bars strong,.analysis-event-ranking>div>strong{font-size:11px}.analysis-method-note .ant-alert-message{font-size:12px}.analysis-method-note .ant-alert-description{font-size:11px}.analysis-event-ranking>div>span,.analysis-heatmap strong{font-size:11px}.analysis-event-ranking span small,.analysis-heatmap small,.analysis-attention-list small{color:#71847b;font-size:9.5px}.analysis-event-ranking em,.analysis-legend,.analysis-trend text{font-size:10px}.analysis-attention-list strong{font-size:11px}.analysis-heatmap>div{box-shadow:inset 0 1px #fffc;transition:transform .16s ease,box-shadow .16s ease}.analysis-heatmap>div:hover{transform:translateY(-1px);box-shadow:0 8px 18px #19463612}.analysis-detail-table .ant-table-cell,.analysis-trace .ant-table-cell{font-size:11px}.grade-batchbar strong{font-size:12px}.grade-batchbar small,.grade-system-cards span{font-size:10px}.grade-system-cards small,.grade-status-list>div,.grade-status-list strong,.grade-import-hero p,.grade-export-card p,.grade-source-table .ant-table-cell,.grade-attention-table .ant-table-cell,.grade-import-trace strong{font-size:11px}.grade-source-table .ant-table-thead>tr>th,.grade-attention-table .ant-table-thead>tr>th{font-size:10.5px;font-weight:650}.grade-import-trace small{font-size:9.5px}.ant-btn-primary{background:linear-gradient(135deg,#17b982,#0d9c6e);border-color:#0e9f70;box-shadow:0 7px 18px #0d916529}.ant-btn-primary:not(:disabled):hover{background:linear-gradient(135deg,#13ae79,#087e5b);border-color:#087e5b;box-shadow:0 9px 22px #0d7d5938}.ant-btn:focus-visible,.module-nav-item:focus-visible,.teacher-class-table>button:focus-visible,.teacher-recent-list>button:focus-visible,.analysis-attention-list button:focus-visible,.grade-system-cards button:focus-visible{outline:3px solid rgba(19,173,121,.2);outline-offset:2px}.ant-table-tbody>tr:hover>td{background:#f3faf7!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.access-page{min-height:100vh;padding:24px;display:grid;place-items:center;background:radial-gradient(circle at 8% 5%,rgba(31,194,137,.12),transparent 30rem),radial-gradient(circle at 96% 92%,rgba(78,127,159,.09),transparent 26rem),linear-gradient(145deg,#eaf4ef,#f8fbf9 55%,#edf5f2)}.access-shell{position:relative;width:min(1280px,100%);height:min(780px,calc(100vh - 48px));min-height:650px;padding:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);overflow:hidden;border:1px solid rgba(201,221,212,.92);border-radius:28px;background:#fffffff2;box-shadow:0 32px 90px #14392c29,0 2px 8px #14392c0d}.access-visual{position:relative;min-width:0;margin:12px 0 12px 12px;overflow:hidden;border-radius:21px;background:#0d815f}.access-visual__image{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 47%;transform:scale(1.015)}.access-visual__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,42,31,.24),transparent 34%,rgba(3,47,34,.46)),linear-gradient(100deg,rgba(4,55,39,.22),transparent 55%)}.access-visual:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);border-radius:inherit;box-shadow:inset 0 0 70px #074b361a;pointer-events:none}.access-visual__brand{position:absolute;top:28px;left:28px;max-width:calc(100% - 56px);padding:10px 13px 10px 10px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.28);border-radius:14px;color:#fff;background:#0743315c;box-shadow:0 12px 30px #02271b21;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.access-visual__logo{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;background:#fffffff0}.access-visual__logo img{width:30px;height:30px}.access-visual__brand>span:last-child{min-width:0;display:flex;flex-direction:column}.access-visual__brand strong{font-size:15px;line-height:1.2;letter-spacing:.04em}.access-visual__brand small{margin-top:4px;overflow:hidden;color:#ffffffc7;font-size:9.5px;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.access-visual__message{position:absolute;left:34px;bottom:35px;color:#fff;text-shadow:0 3px 18px rgba(1,39,27,.28)}.access-visual__message span{display:block;margin-bottom:12px;color:#ffffffc2;font-size:10px;font-weight:700;letter-spacing:.16em}.access-visual__message strong{font-size:clamp(25px,2.35vw,35px);line-height:1.38;letter-spacing:-.035em}.access-login-panel{min-width:0;padding:38px clamp(38px,4vw,62px) 23px;display:flex;flex-direction:column;background:radial-gradient(circle at 100% 0,rgba(22,183,128,.07),transparent 22rem),linear-gradient(180deg,#fffffffa,#fbfdfc)}.access-login-panel .access-platform-brand{width:fit-content;padding:0;color:#173b2f}.access-login-panel .access-platform-brand__mark{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#eff9f5;box-shadow:inset 0 0 0 1px #d6ede4}.access-login-panel .access-platform-brand__mark img{width:34px;height:34px}.access-login-panel .access-platform-brand strong{color:#173b2f;font-size:17px}.access-login-panel .access-platform-brand small{color:#6c8077;font-size:10px;letter-spacing:.07em}.access-login-panel .access-form-wrap{width:min(410px,100%);margin:auto}.access-welcome{margin:0 0 10px;color:var(--brand-green);font-size:10px;font-weight:800;letter-spacing:.18em}.access-login-panel .access-form-wrap h1{margin:0 0 12px;color:#16372c;font-size:clamp(28px,2.4vw,34px);line-height:1.22;letter-spacing:-.045em}.access-login-panel .access-form-intro{margin:0 0 30px!important;color:#667b72;font-size:13px;line-height:1.75}.access-login-panel .access-form-fields{gap:14px}.access-login-panel .access-field-label{color:#2e4f43;font-size:12px}.access-login-panel .access-form-fields .ant-input-affix-wrapper{min-height:50px;border-color:#d6e4de;border-radius:12px;background:#ffffffe0}.access-login-panel .access-form-fields .ant-input-affix-wrapper:hover{border-color:#92cdb7}.access-login-panel .access-form-fields>.ant-btn-primary{min-height:50px;border-radius:12px}.access-login-panel .access-security-note{min-height:55px;border-color:#d8ece4;color:#22624d;background:#f1faf6}.access-login-panel .access-security-note strong{font-size:11px}.access-login-panel .access-security-note small{font-size:10px}.access-credit{padding-top:17px;display:flex;justify-content:space-between;gap:14px;border-top:1px solid #e6eeea;color:#829189!important;font-size:9.5px!important;text-align:left!important;letter-spacing:.02em!important}.home-product-subtitle{display:block;margin:-7px 0 12px;color:#3e6254;font-size:17px;font-weight:600;letter-spacing:.04em}.platform-brand__mark img{width:100%;height:100%;object-fit:contain}.module-sidebar .platform-brand__mark{padding:5px;background:#fffffff5}.platform-brand__text small{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:960px){.access-shell{grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr)}.access-visual__message strong{font-size:27px}.access-visual__brand small{display:none}.access-login-panel{padding-inline:38px}}@media(max-width:720px){.access-page{padding:0;place-items:stretch;background:#f8fbf9}.access-shell{width:100%;height:auto;min-height:100vh;display:block;overflow:visible;border:0;border-radius:0;box-shadow:none}.access-visual{height:230px;margin:0;border-radius:0 0 24px 24px}.access-visual__image{object-position:50% 42%}.access-visual__brand{top:18px;left:18px;padding:7px 10px 7px 7px}.access-visual__logo{width:34px;height:34px}.access-visual__logo img{width:27px;height:27px}.access-visual__message{left:21px;bottom:21px}.access-visual__message span{margin-bottom:6px;font-size:8px}.access-visual__message strong{font-size:22px;line-height:1.3}.access-login-panel{min-height:calc(100vh - 230px);padding:25px 22px 17px}.access-login-panel>.access-platform-brand{display:none}.access-login-panel .access-form-wrap{margin:auto 0}.access-login-panel .access-form-wrap h1{font-size:27px}.access-login-panel .access-form-intro{margin-bottom:22px!important}.access-credit{margin-top:24px;align-items:center;flex-direction:column;gap:4px;text-align:center!important}}@media(max-height:700px)and (min-width:721px){.access-shell{min-height:calc(100vh - 24px);height:calc(100vh - 24px)}.access-page{padding:12px}.access-login-panel{padding-block:26px 17px}.access-login-panel .access-form-intro{margin-bottom:20px!important}.access-visual__message{bottom:27px}}.analysis-loading{min-height:480px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:var(--text-muted);font-size:12px}.teacher-analysis{display:grid;gap:12px}.analysis-filterbar{min-height:58px;padding:9px 12px;display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,.8fr) 150px minmax(220px,.85fr);align-items:center;gap:9px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffe0;box-shadow:0 3px 12px #17463409}.analysis-filterbar>div{display:flex;flex-direction:column}.analysis-filterbar strong{color:#294238;font-size:12px}.analysis-filterbar small{margin-top:3px;color:var(--text-muted);font-size:9px}.analysis-filterbar .ant-select{width:100%}.analysis-filterbar .ant-select-selector{min-height:38px!important;border-radius:9px!important}.analysis-tabs>.ant-tabs-nav{margin:0 0 11px}.analysis-tabs>.ant-tabs-nav:before{border-bottom-color:var(--line)}.analysis-tabs>.ant-tabs-nav .ant-tabs-tab{padding:9px 3px 11px;font-size:12px;font-weight:650}.analysis-panel{display:grid;gap:11px}.analysis-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.analysis-kpis>.ant-card{height:102px;position:relative;overflow:hidden;border-color:var(--line);border-radius:var(--radius);box-shadow:0 2px 9px #102d2306}.analysis-kpis .ant-card-body{height:100%;padding:13px 14px;display:flex;flex-direction:column}.analysis-kpis span{color:var(--text-muted);font-size:10px}.analysis-kpis strong{margin-top:8px;color:#20362e;font-size:24px;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.analysis-kpis small{margin-top:auto;overflow:hidden;color:#7d8b85;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.analysis-kpis i{position:absolute;top:12px;right:12px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;font-style:normal}.analysis-kpis .tone-green{color:var(--brand-green-dark);background:var(--brand-mint)}.analysis-kpis .tone-blue{color:var(--info);background:var(--info-soft)}.analysis-kpis .tone-amber{color:var(--warning);background:var(--warning-soft)}.analysis-card{border-color:var(--line);border-radius:var(--radius);box-shadow:0 2px 9px #102d2306}.analysis-card .ant-card-body{height:100%;padding:14px}.analysis-card__heading{min-height:42px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analysis-card__heading h3{margin:0 0 4px;color:#243a32;font-size:13px}.analysis-card__heading p{margin:0;color:var(--text-muted);font-size:9px;line-height:1.45}.analysis-card__heading .ant-select{width:205px}.analysis-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.analysis-overview-grid>.analysis-card{min-height:250px}.analysis-distribution,.analysis-class-bars{display:grid;gap:12px;margin-top:8px}.analysis-distribution>div,.analysis-class-bars>div{display:grid;grid-template-columns:74px minmax(0,1fr) 42px;align-items:center;gap:9px;color:#53675f;font-size:10px}.analysis-distribution>div>i,.analysis-class-bars>div>i{height:8px;overflow:hidden;border-radius:8px;background:#edf2ef;font-style:normal}.analysis-distribution b,.analysis-class-bars b{display:block;min-width:2px;height:100%;border-radius:inherit;background:var(--brand-green)}.analysis-distribution strong,.analysis-class-bars strong{color:#2f463d;font-size:10px;text-align:right;font-variant-numeric:tabular-nums}.analysis-distribution .bar-tone-0{background:var(--brand-green)}.analysis-distribution .bar-tone-1{background:var(--info)}.analysis-distribution .bar-tone-2{background:#7da78e}.analysis-distribution .bar-tone-3{background:var(--warning)}.analysis-method-note{border-radius:11px}.analysis-method-note .ant-alert-message{font-size:11px;font-weight:700}.analysis-method-note .ant-alert-description{font-size:10px;line-height:1.6}.analysis-event-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:11px}.analysis-event-layout>.analysis-card{min-height:430px}.analysis-event-ranking{display:grid;margin-top:5px}.analysis-event-ranking>div{min-height:43px;display:grid;grid-template-columns:23px 120px minmax(0,1fr) 45px;align-items:center;gap:9px;border-bottom:1px solid #edf1ef}.analysis-event-ranking>div:last-child{border-bottom:0}.analysis-event-ranking em{width:20px;height:20px;display:grid;place-items:center;border-radius:7px;color:#71827b;background:#f0f4f2;font-size:9px;font-style:normal}.analysis-event-ranking>div>span{display:flex;flex-direction:column;color:#2c433a;font-size:10px;font-weight:650}.analysis-event-ranking span small{margin-top:2px;color:#8a9892;font-size:8px;font-weight:400}.analysis-event-ranking>div>i{height:6px;overflow:hidden;border-radius:6px;background:#edf2ef}.analysis-event-ranking b{display:block;height:100%;border-radius:inherit}.analysis-event-ranking .is-good{background:var(--brand-green)}.analysis-event-ranking .is-medium{background:var(--info)}.analysis-event-ranking .is-attention{background:var(--warning)}.analysis-event-ranking>div>strong{color:#445a51;font-size:10px;text-align:right}.analysis-heatmap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}.analysis-heatmap>div{min-height:72px;padding:11px;display:flex;flex-direction:column;border:1px solid transparent;border-radius:11px;cursor:help}.analysis-heatmap>div.is-good{border-color:#c8e8dc;background:#effaf6}.analysis-heatmap>div.is-medium{border-color:#d5e3ec;background:#f1f6fa}.analysis-heatmap>div.is-attention{border-color:#efdbb8;background:#fff8eb}.analysis-heatmap strong{color:#2d433a;font-size:10px}.analysis-heatmap span{margin-top:6px;color:#243a32;font-size:17px;font-weight:760;line-height:1}.analysis-heatmap small{margin-top:auto;color:#788881;font-size:8px}.analysis-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:#798780;font-size:9px}.analysis-legend i{width:7px;height:7px;margin-right:4px;display:inline-block;border-radius:50%}.analysis-legend i.good{background:var(--brand-green)}.analysis-legend i.medium{background:var(--info)}.analysis-legend i.attention{background:var(--warning)}.analysis-student-grid{display:grid;grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr);gap:11px}.analysis-student-grid>.analysis-card{min-height:330px}.analysis-attention-list{display:grid;gap:6px;margin-top:5px}.analysis-attention-list button{width:100%;min-height:47px;padding:6px 9px;display:grid;grid-template-columns:30px minmax(0,1fr) 8px;align-items:center;gap:8px;border:1px solid #e6ede9;border-radius:10px;color:inherit;background:#fff;text-align:left;cursor:pointer}.analysis-attention-list button:hover,.analysis-attention-list button.is-active{border-color:#a9dac8;background:#f4faf7}.analysis-attention-list button>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;color:#36544a;background:#edf2ef;font-size:10px;font-weight:700}.analysis-attention-list button>div{min-width:0;display:flex;flex-direction:column}.analysis-attention-list strong{color:#2b4239;font-size:10px}.analysis-attention-list small{margin-top:2px;overflow:hidden;color:#7a8983;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.analysis-attention-list button>i{width:7px;height:7px;border-radius:50%}.analysis-attention-list .tone-danger{background:var(--danger)}.analysis-attention-list .tone-warning{background:var(--warning)}.analysis-attention-list .tone-info{background:var(--info)}.analysis-trend{min-height:235px;display:grid;place-items:center}.analysis-trend svg{width:100%;max-height:235px;overflow:visible}.analysis-trend text{fill:#8a9892;font-size:9px}.analysis-trend__grid{stroke:#dfe8e4;stroke-width:1;stroke-dasharray:4 5}.analysis-trend__line{fill:none;stroke:var(--brand-green);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.analysis-trend__point{fill:#fff;stroke:var(--brand-green);stroke-width:3}.analysis-trend .analysis-trend__value{fill:var(--brand-green-dark);font-weight:700}.analysis-detail-table .ant-table-thead>tr>th{color:#456158;background:#f3f8f6}.analysis-student-link{padding:0;border:0;color:var(--brand-green-dark);background:transparent;font-weight:700;cursor:pointer}.analysis-trace{display:grid;gap:14px}.analysis-trace .ant-alert{border-radius:11px}.analysis-trace .ant-table-thead>tr>th{color:#456158;background:#f3f8f6}@media(max-width:1050px){.analysis-filterbar{grid-template-columns:1fr 1fr 1fr}.analysis-filterbar>div{grid-column:1 / -1}.analysis-event-layout{grid-template-columns:1fr}.analysis-event-layout>.analysis-card{min-height:0}}@media(max-width:820px){.analysis-kpis{grid-template-columns:1fr 1fr}.analysis-overview-grid,.analysis-student-grid{grid-template-columns:1fr}.analysis-overview-grid>.analysis-card,.analysis-student-grid>.analysis-card{min-height:0}}@media(max-width:560px){.analysis-filterbar{grid-template-columns:1fr}.analysis-filterbar>div{grid-column:auto}.analysis-kpis{grid-template-columns:1fr 1fr}.analysis-kpis>.ant-card{height:98px}.analysis-kpis small{white-space:normal}.analysis-heatmap{grid-template-columns:1fr 1fr}.analysis-event-ranking>div{grid-template-columns:22px 102px minmax(60px,1fr) 39px}.analysis-card__heading{align-items:stretch;flex-direction:column}.analysis-card__heading .ant-select{width:100%}.analysis-detail-table .ant-card-body{padding-inline:10px}}:root{--brand-green: #12a875;--brand-green-hover: #0e986b;--brand-green-dark: #087052;--brand-deep: #123d33;--brand-mint: #e7f8f1;--canvas: #f4f7f5;--surface: #ffffff;--surface-soft: #f7faf8;--text-main: #1c2925;--text-muted: #6c7974;--line: #dde7e2;--info: #527fa5;--info-soft: #edf5fb;--warning: #d39337;--warning-soft: #fff7e8;--danger: #cf6868;--danger-soft: #fff0f0;--radius: 15px;--shadow-soft: 0 12px 34px rgba(28, 57, 46, .08);color:var(--text-main)}body{background:radial-gradient(circle at 8% 0,rgba(18,168,117,.07),transparent 24rem),#edf3f0}.ant-btn-primary{background:var(--brand-green);box-shadow:0 7px 18px #12a8752e}.ant-btn-primary:not(:disabled):hover{background:var(--brand-green-hover)!important}.ant-btn:focus-visible,.module-nav-item:focus-visible,.platform-brand:focus-visible,.capture-task-card:focus-visible{outline:3px solid rgba(18,168,117,.2);outline-offset:2px}.access-page{min-height:100vh;padding:32px 20px;display:grid;place-items:center;background:radial-gradient(circle at 16% 18%,rgba(18,168,117,.12),transparent 24rem),radial-gradient(circle at 85% 80%,rgba(82,127,165,.08),transparent 26rem),linear-gradient(145deg,#eef6f2,#fbfdfc 56%,#eef5f2)}.access-shell{position:relative;width:min(520px,100%);min-height:650px;padding:30px 42px 24px;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.88);border-radius:24px;background:#ffffffe6;box-shadow:0 28px 70px #1e483821,inset 0 1px #fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.access-platform-brand{display:flex;align-items:center;gap:11px;color:var(--brand-deep)}.access-platform-brand__mark,.platform-brand__mark{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#2dd29a,#0c996d);box-shadow:inset 0 1px #ffffff61,0 8px 20px #0a75522e}.access-platform-brand__mark{width:39px;height:39px;border-radius:12px}.access-platform-brand__mark svg,.platform-brand__mark svg{width:65%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.access-platform-brand>span:last-child{display:flex;flex-direction:column;line-height:1.14}.access-platform-brand strong{font-size:15px;font-weight:760;letter-spacing:-.02em}.access-platform-brand small{margin-top:4px;color:#71847c;font-size:10px;letter-spacing:.11em}.access-form-wrap{width:100%;margin:auto 0}.access-form-icon{width:46px;height:46px;margin-bottom:20px;display:grid;place-items:center;border-radius:14px;color:var(--brand-green-dark);background:var(--brand-mint);font-size:20px}.access-kicker{margin:0 0 8px;color:var(--brand-green-dark);font-size:12px;font-weight:750;letter-spacing:.12em}.access-form-wrap h1{margin:0 0 10px;color:#17372c;font-size:29px;line-height:1.25;letter-spacing:-.035em}.access-form-intro{margin:0 0 28px!important;color:var(--text-muted);font-size:14px;line-height:1.75}.access-form-fields{display:grid;gap:13px}.access-field-label{margin-bottom:-5px;color:#365248;font-size:12px;font-weight:700}.access-form-fields .ant-input-affix-wrapper{min-height:49px;border-color:var(--line);border-radius:11px;box-shadow:none}.access-form-fields .ant-input-affix-wrapper-focused{border-color:var(--brand-green);box-shadow:0 0 0 3px #12a8751a}.access-form-fields>.ant-btn-primary{min-height:49px;border-radius:11px;font-weight:700}.access-form-fields .ant-alert{border-radius:11px}.access-security-note{min-height:58px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid #d7ede4;border-radius:11px;color:var(--brand-green-dark);background:#effaf6}.access-security-note>.anticon{font-size:17px}.access-security-note span{display:flex;flex-direction:column;line-height:1.35}.access-security-note strong{font-size:11px}.access-security-note small{margin-top:2px;color:#678078;font-size:10px}.access-shell footer{color:#89958f;font-size:10px;text-align:center;letter-spacing:.03em}.module-page{width:calc(100% - 24px);min-height:calc(100vh - 24px);height:calc(100vh - 24px);margin:12px;display:grid;grid-template-columns:224px minmax(0,1fr);overflow:hidden;border:1px solid #d9e5df;border-radius:22px;background:var(--surface);box-shadow:0 22px 54px #1c392e1c}.module-sidebar{min-width:0;padding:20px 14px 16px;display:flex;flex-direction:column;color:#d9ebe4;background:radial-gradient(circle at 10% 100%,rgba(64,204,153,.08),transparent 17rem),var(--brand-deep)}.platform-brand{width:100%;padding:0 8px 20px;display:flex;align-items:center;gap:11px;border:0;color:#fff;background:transparent;text-align:left;cursor:pointer}.platform-brand__mark{width:37px;height:37px;flex:0 0 auto;border-radius:11px}.platform-brand__text{min-width:0;display:flex;flex-direction:column;line-height:1.2}.platform-brand__text strong{font-size:15px;font-weight:760;letter-spacing:-.02em}.platform-brand__text small{margin-top:4px;color:#99bdb0;font-size:10px;letter-spacing:.12em}.module-sidebar__label{padding:14px 12px 7px;color:#83aa9b;font-size:10px;letter-spacing:.12em}.module-nav-item{width:100%;min-height:40px;margin:2px 0;padding:0 12px;display:flex;align-items:center;gap:10px;border:0;border-radius:10px;color:#bdd4cb;background:transparent;font-size:13px;text-align:left;cursor:pointer;transition:color .16s ease,background .16s ease,transform .16s ease}.module-nav-item:hover{color:#fff;background:#ffffff12}.module-nav-item.is-active{color:#fff;background:#ffffff1c;box-shadow:inset 3px 0 #42d5a1;font-weight:700}.module-nav-item .anticon{width:18px;font-size:16px}.module-sidebar__privacy{margin-top:auto;padding:12px;display:flex;align-items:flex-start;gap:9px;border:1px solid rgba(255,255,255,.11);border-radius:12px;color:#a9c3b9;background:#ffffff0b}.module-sidebar__privacy>.anticon{margin-top:2px;color:#48d4a2}.module-sidebar__privacy span{display:flex;flex-direction:column;line-height:1.4}.module-sidebar__privacy strong{color:#dff2eb;font-size:11px}.module-sidebar__privacy small{margin-top:2px;font-size:9px}.module-main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--canvas)}.module-header{height:58px;flex:0 0 58px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffffe0;box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.module-breadcrumb{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.module-breadcrumb>.anticon{color:#82928b}.module-breadcrumb i{color:#b4beb9;font-style:normal}.module-breadcrumb strong{color:#344b42;font-weight:650}.module-header__actions{display:flex;align-items:center;gap:8px}.module-user{padding:0;display:flex;align-items:center;gap:9px;border:0}.module-user__avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--brand-green-dark);background:var(--brand-mint);font-size:12px;font-weight:800}.module-user>span:last-child{display:flex;flex-direction:column;line-height:1.23}.module-user strong{color:#29443a;font-size:11px;font-weight:700}.module-user small{color:#819089;font-size:9px}.module-content{width:100%;min-height:0;margin:0;padding:17px 22px 22px;overflow:auto}.module-title-row{min-height:62px;margin-bottom:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.module-title-row__eyebrow{display:block;margin-bottom:3px;color:var(--brand-green-dark);font-size:10px;font-weight:750;letter-spacing:.1em}.module-title-row h1{margin:0 0 5px;color:#1c3028;font-size:23px;line-height:1.22;letter-spacing:-.03em}.module-title-row p{margin:0;color:var(--text-muted);font-size:12px}.module-title-row__action{padding-top:8px}.module-title-row__action .ant-btn{min-height:38px;border-radius:10px;font-weight:650}.teacher-dashboard{display:grid;gap:11px}.teacher-dashboard-loading{min-height:420px;display:grid;place-items:center}.teacher-priority{min-height:60px;padding:10px 13px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid #bfe4d6;border-radius:var(--radius);background:linear-gradient(90deg,var(--brand-mint),#fff 72%)}.teacher-priority--quiet{border-color:#d8e7e0;background:linear-gradient(90deg,#f0f7f4,#fff 72%)}.teacher-priority__icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--brand-green)}.teacher-priority>div{min-width:0;display:flex;flex-direction:column}.teacher-priority strong{color:#214137;font-size:13px}.teacher-priority small{margin-top:3px;overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.teacher-priority .ant-btn{color:var(--brand-green-dark);font-size:12px;font-weight:700}.teacher-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.teacher-kpi{position:relative;height:102px;overflow:hidden;border-color:var(--line);border-radius:var(--radius);box-shadow:0 2px 9px #102d2306}.teacher-kpi .ant-card-body{height:100%;padding:13px 14px;display:flex;flex-direction:column}.teacher-kpi span{color:var(--text-muted);font-size:10px}.teacher-kpi strong{margin-top:8px;color:#20362e;font-size:25px;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.teacher-kpi small{margin-top:auto;color:#7d8b85;font-size:9px;white-space:nowrap}.teacher-kpi i{position:absolute;top:12px;right:12px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;font-style:normal}.teacher-kpi--green i{color:var(--brand-green-dark);background:var(--brand-mint)}.teacher-kpi--blue i{color:var(--info);background:var(--info-soft)}.teacher-kpi--amber{border-color:#eed9b6}.teacher-kpi--amber strong{color:#b67520}.teacher-kpi--amber i{color:var(--warning);background:var(--warning-soft)}.teacher-kpi--muted i{color:#75857e;background:#eef2f0}.teacher-work-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.78fr);gap:11px}.teacher-dashboard-card{height:310px;border-color:var(--line);border-radius:var(--radius);box-shadow:0 2px 9px #102d2306}.teacher-dashboard-card .ant-card-body{height:100%;padding:14px}.teacher-card-heading{min-height:42px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-card-heading h2{margin:0 0 4px;color:#243a32;font-size:13px}.teacher-card-heading p{margin:0;color:var(--text-muted);font-size:9px}.teacher-card-heading .ant-btn{height:25px;padding:0;color:var(--brand-green-dark);font-size:10px;font-weight:700}.teacher-class-table__head,.teacher-class-table>button{display:grid;grid-template-columns:1.05fr .55fr 1.35fr .55fr .65fr;align-items:center;gap:9px}.teacher-class-table__head{min-height:30px;padding:0 7px;border-bottom:1px solid var(--line);color:#829089;font-size:9px}.teacher-class-table>button{width:100%;min-height:45px;padding:0 7px;border:0;border-bottom:1px solid #edf1ef;color:#52675f;background:transparent;font-size:10px;text-align:left;cursor:pointer}.teacher-class-table>button:last-child{border-bottom:0}.teacher-class-table>button:hover{background:#f5faf7}.teacher-class-table strong{overflow:hidden;color:#294238;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.teacher-class-table .ant-tag{width:fit-content;margin:0;font-size:9px}.teacher-recent-list{display:grid;gap:6px;margin-top:3px}.teacher-recent-list>button{width:100%;min-height:49px;padding:0 7px;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e7eeea;border-radius:10px;color:inherit;background:#fff;text-align:left;cursor:pointer}.teacher-recent-list>button:hover{border-color:#b9ddcf;background:#f7fbf9}.teacher-recent-list>button>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px}.teacher-recent-list .is-complete{color:var(--brand-green-dark);background:var(--brand-mint)}.teacher-recent-list .is-progress{color:var(--warning);background:var(--warning-soft)}.teacher-recent-list div{min-width:0;display:flex;flex-direction:column}.teacher-recent-list strong{overflow:hidden;color:#294238;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.teacher-recent-list small{margin-top:3px;color:#7a8983;font-size:8px}.teacher-recent-list em{color:#75847e;font-size:9px;font-style:normal}.teacher-first-use{min-height:520px;border-color:#d6e8e0;border-radius:18px;box-shadow:var(--shadow-soft)}.teacher-first-use .ant-card-body{min-height:520px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.teacher-first-use__icon{width:66px;height:66px;margin-bottom:18px;display:grid;place-items:center;border-radius:20px;color:var(--brand-green-dark);background:var(--brand-mint);font-size:28px}.teacher-first-use h2{margin:0 0 10px;color:#17372c;font-size:22px}.teacher-first-use p{max-width:560px;margin:0 0 22px;color:var(--text-muted);line-height:1.75}.teacher-first-use .ant-btn{min-height:46px;border-radius:11px}.teacher-first-use__steps{margin-top:28px;display:flex;align-items:center;gap:10px;color:#587068;font-size:11px}.teacher-first-use__steps i{width:34px;height:1px;background:#c9ded5}.capture-session-home,.capture-entry{gap:12px}.capture-task-section{padding:18px;border:1px solid #d7e6df;border-radius:var(--radius);background:#ffffffe6;box-shadow:0 8px 24px #1746340b}.capture-task-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:14px}.capture-task-heading h3{margin:8px 0 0!important;color:#19382e!important;font-size:19px!important}.capture-task-heading p{max-width:510px;margin:0!important;color:var(--text-muted);font-size:11px;text-align:right}.capture-task-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.capture-task-card{min-height:142px;padding:18px;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:1fr auto;gap:10px 13px;border:1px solid #d9e7e1;border-radius:14px;color:inherit;background:#fff;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.capture-task-card:hover{transform:translateY(-2px);border-color:#9ed6c1;box-shadow:0 12px 26px #1a4e3b17}.capture-task-card__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;font-size:20px}.capture-task-card--grade8 .capture-task-card__icon{color:var(--brand-green-dark);background:var(--brand-mint)}.capture-task-card--grade9 .capture-task-card__icon{color:var(--info);background:var(--info-soft)}.capture-task-card__content{min-width:0;display:flex;flex-direction:column}.capture-task-card__content small{margin-bottom:4px;color:#72847c;font-size:9px;letter-spacing:.1em}.capture-task-card__content strong{color:#213b32;font-size:14px}.capture-task-card__content em{margin-top:7px;color:var(--text-muted);font-size:10px;font-style:normal;line-height:1.5}.capture-task-card__action{grid-column:2;color:var(--brand-green-dark);font-size:10px;font-weight:700}.capture-session-list{border-radius:var(--radius)}.capture-session-list .ant-card-head{min-height:45px}.capture-session-list .ant-card-head-title{font-size:13px}.capture-session-row{min-height:62px}.capture-entry__header,.capture-student-card,.capture-finish-card{border-radius:var(--radius)}.teacher-score-manager,.roster-workspace{gap:12px}.teacher-score-stats,.roster-stat-grid{gap:10px}.teacher-score-stats .ant-card,.roster-stat-grid .ant-card,.teacher-package-card,.teacher-history-card,.roster-table-card,.roster-onboarding{border-color:var(--line);border-radius:var(--radius);box-shadow:0 4px 16px #1746340a}.teacher-score-stats .ant-card-body,.roster-stat-grid .ant-card-body{padding:14px 16px}.teacher-score-stats .ant-statistic-title,.roster-stat-grid .ant-statistic-title{font-size:11px}.teacher-score-stats .ant-statistic-content,.roster-stat-grid .ant-statistic-content{font-size:22px}.teacher-package-card .ant-card-body{padding:17px 19px}.teacher-history-card .ant-card-body,.roster-table-card .ant-card-body{padding:18px}@media(max-width:1080px){.module-page{grid-template-columns:74px minmax(0,1fr)}.module-sidebar{padding-inline:9px}.platform-brand{justify-content:center;padding-inline:0}.platform-brand__text,.module-sidebar__label,.module-nav-item span,.module-sidebar__privacy span{display:none}.module-nav-item{justify-content:center;padding:0}.module-sidebar__privacy{justify-content:center}.teacher-work-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr)}}@media(max-width:820px){.module-page{width:100%;min-height:100vh;height:auto;margin:0;grid-template-columns:1fr;border:0;border-radius:0}.module-sidebar{min-height:58px;padding:8px 12px;flex-direction:row;align-items:center;gap:5px}.platform-brand{width:auto;margin-right:auto;padding:0 6px 0 0}.platform-brand__mark{width:35px;height:35px}.module-nav-item{width:40px;min-height:40px;margin:0}.module-sidebar__privacy{display:none}.module-main{min-height:calc(100vh - 58px)}.module-header{display:none}.module-content{padding:17px 15px 24px;overflow:visible}.teacher-kpis{grid-template-columns:1fr 1fr}.teacher-work-grid{grid-template-columns:1fr}.teacher-dashboard-card{height:auto;min-height:300px}.capture-task-heading{align-items:flex-start;flex-direction:column;gap:6px}.capture-task-heading p{text-align:left}.teacher-package-card .ant-card-body{grid-template-columns:1fr}.teacher-package-card__divider{width:100%;height:1px}}@media(max-width:560px){.access-page{padding:0;background:#f7fbf9}.access-shell{min-height:100vh;padding:24px 22px 20px;border:0;border-radius:0;box-shadow:none}.access-form-wrap h1{font-size:25px}.module-title-row{min-height:0;margin-bottom:15px}.module-title-row__action{display:none}.module-title-row h1{font-size:21px}.teacher-priority{grid-template-columns:34px minmax(0,1fr)}.teacher-priority .ant-btn{grid-column:2;justify-self:start;height:24px;padding:0}.teacher-priority small{white-space:normal}.teacher-kpis{grid-template-columns:1fr 1fr}.teacher-kpi{height:98px}.teacher-class-table__head,.teacher-class-table>button{grid-template-columns:1.2fr .55fr 1fr}.teacher-class-table__head span:nth-child(4),.teacher-class-table__head span:nth-child(5),.teacher-class-table>button>span:nth-child(4),.teacher-class-table>button>.ant-tag{display:none}.capture-task-section{padding:14px}.capture-task-grid{grid-template-columns:1fr}.capture-task-card{min-height:132px}.teacher-first-use__steps{align-items:stretch;flex-direction:column}.teacher-first-use__steps i{width:1px;height:12px;align-self:center}}.access-page{min-height:100vh;padding:24px;display:grid;grid-template-columns:1fr;place-items:center;background:radial-gradient(circle at 12% 14%,rgba(33,187,133,.14),transparent 29%),radial-gradient(circle at 92% 86%,rgba(19,107,80,.08),transparent 28%),#f5faf8}.access-shell{width:min(1280px,100%);height:min(780px,calc(100vh - 48px));min-height:650px;padding:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);overflow:hidden;border:1px solid rgba(10,96,72,.09);border-radius:28px;background:#fffffffa;box-shadow:0 20px 60px #2a534614,0 2px 10px #2a53460a}.access-visual{position:relative;display:block;min-width:0;margin:12px 0 12px 12px;overflow:hidden;border-radius:20px;background:#d9f4e9}.access-visual__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.access-login-panel{min-width:0;padding:44px clamp(42px,4.35vw,70px) 30px;display:flex;flex-direction:column;background:radial-gradient(circle at 85% 10%,rgba(61,201,151,.045),transparent 35%),#fbfdfc}.access-login-panel .access-platform-brand{display:flex;align-items:center;gap:13px;min-height:74px}.access-login-panel .access-platform-brand__mark{width:70px;height:70px;flex:0 0 70px;display:block;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.access-login-panel .access-platform-brand__mark img{width:100%;height:100%;display:block;object-fit:contain}.access-login-panel .access-platform-brand>span:last-child{min-width:0;display:flex;flex-direction:column;gap:5px}.access-login-panel .access-platform-brand strong{color:#12221d;font-size:28px;line-height:1.12;font-weight:800;letter-spacing:-.035em}.access-login-panel .access-platform-brand small{color:#768983;font-size:14px;font-weight:400;line-height:1.4;letter-spacing:.01em}.access-login-panel .access-form-wrap{width:min(440px,100%);flex:1;margin:0;padding:30px 0;display:flex;flex-direction:column;justify-content:center}.access-login-panel .access-form-wrap h1{margin:0 0 8px;color:#102b23;font-size:32px;line-height:1.2;letter-spacing:-.045em}.access-login-panel .access-form-intro{max-width:420px;margin:0 0 30px;color:#71847e;font-size:14px;font-weight:400;line-height:1.7}.access-login-panel .access-field-label{margin-bottom:9px;color:#314c44;font-size:13px;font-weight:600}.access-login-panel .access-form-fields{gap:16px}.access-login-panel .ant-input-affix-wrapper{min-height:50px;border-color:#dce7e3;border-radius:10px;background:#ffffffd1;box-shadow:none}.access-login-panel .ant-input-affix-wrapper:hover,.access-login-panel .ant-input-affix-wrapper-focused{border-color:#18a978;box-shadow:0 0 0 3px #18a9781a}.access-login-panel .ant-input-prefix{color:#849690}.access-login-panel .ant-input::placeholder{color:#a5b1ad}.access-login-panel .ant-btn-primary{min-height:48px;border-radius:10px;font-size:15px;font-weight:600;box-shadow:0 8px 20px #12a6761f;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.access-login-panel .ant-btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px #12a67626}.access-login-panel .ant-btn-primary:active{transform:translateY(0)}.access-credit{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:18px;border-top:1px solid rgba(28,74,62,.08);color:#71857f;text-align:center}.access-credit__product{display:flex;align-items:baseline;justify-content:center;font-size:11px;line-height:18px;letter-spacing:.02em}.access-credit__name{color:#566e67;font-weight:500}.access-credit__separator{margin:0 7px;color:#aab8b4}.access-credit__version{color:#94a39f;font-size:10px;font-weight:400}.access-credit__byline{display:flex;align-items:center;justify-content:center;color:#7f908b;font-size:10px;font-weight:400;line-height:16px}@media(max-width:900px){.access-page{min-height:100vh;padding:16px}.access-shell{width:min(720px,100%);height:auto;min-height:calc(100vh - 32px);grid-template-columns:1fr;grid-template-rows:minmax(210px,31vh) auto;border-radius:24px}.access-visual{min-height:210px;margin:10px 10px 0;border-radius:17px}.access-visual__image{object-position:50% 37%}.access-visual__message{left:26px;right:24px;bottom:23px}.access-visual__message span{margin-bottom:6px;font-size:10px}.access-visual__message strong{font-size:25px}.access-login-panel{min-height:0;padding:26px 30px 22px}.access-login-panel .access-form-wrap{flex:none;margin:0;padding:25px 0 28px}}@media(max-width:560px){.access-page{padding:0;display:block}.access-shell{width:100%;min-height:100vh;padding:0;grid-template-rows:190px auto;border:0;border-radius:0;box-shadow:none}.access-visual{min-height:190px;margin:0;border-radius:0 0 22px 22px}.access-visual__message{left:22px;bottom:20px}.access-visual__message strong{font-size:22px}.access-login-panel{padding:24px 22px 20px}.access-login-panel .access-platform-brand__mark{width:58px;height:58px;flex-basis:58px}.access-login-panel .access-platform-brand strong{font-size:24px}.access-login-panel .access-platform-brand small{font-size:13px}.access-login-panel .access-form-wrap h1{font-size:29px}}.access-admin-page{min-height:100vh;padding:28px;display:grid;place-items:center;background:radial-gradient(circle at 12% 14%,rgba(33,187,133,.13),transparent 30%),radial-gradient(circle at 92% 86%,rgba(19,107,80,.08),transparent 28%),#f5faf8}.access-admin-shell{width:min(760px,100%);min-height:min(760px,calc(100vh - 56px));padding:30px 38px 22px;display:flex;flex-direction:column;border:1px solid rgba(10,96,72,.09);border-radius:24px;background:#fbfdfcf7;box-shadow:0 20px 60px #2a534617,0 2px 10px #2a53460a}.access-admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.access-admin-brand{padding:0;display:flex;align-items:center;gap:12px;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.access-admin-brand img{width:48px;height:48px;object-fit:contain}.access-admin-brand span{display:flex;flex-direction:column;gap:3px}.access-admin-brand strong{color:#16382d;font-size:20px;letter-spacing:-.025em}.access-admin-brand small{color:#71847e;font-size:12px}.access-admin-content{width:min(590px,100%);margin:auto;padding:34px 0;display:grid;gap:22px}.access-admin-intro{display:flex;align-items:flex-start;gap:18px}.access-admin-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:15px;color:#087a56;background:#dcf5eb;font-size:23px}.access-admin-intro h1{margin:10px 0 6px;color:#102b23;font-size:30px;line-height:1.2;letter-spacing:-.04em}.access-admin-intro p{margin:0;color:#71847e;font-size:14px;line-height:1.65}.access-admin-form{padding:24px;display:grid;gap:14px;border:1px solid #dce8e3;border-radius:16px;background:#ffffffd1;box-shadow:0 10px 28px #224c3e0b}.access-admin-form label{margin-bottom:-6px;color:#314c44;font-size:13px;font-weight:650}.access-admin-form .ant-input-affix-wrapper{min-height:50px;border-color:#dce7e3;border-radius:10px}.access-admin-form .ant-btn-primary{min-height:48px;border-radius:10px;font-weight:650;box-shadow:0 8px 20px #12a6761f}.access-admin-form__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:2px}.access-admin-form__heading h2{margin:0 0 5px;color:#18382e;font-size:18px}.access-admin-form__heading p{margin:0;color:#7b8d87;font-size:12px;line-height:1.55}.access-admin-status{display:grid;grid-template-columns:.9fr .65fr 1.3fr;overflow:hidden;border:1px solid #dce8e3;border-radius:14px;background:#f3faf7}.access-admin-status>div{min-width:0;padding:15px 17px;display:flex;flex-direction:column;gap:6px;border-right:1px solid #e1ece8}.access-admin-status>div:last-child{border-right:0}.access-admin-status span{color:#7a8e87;font-size:11px}.access-admin-status strong{overflow:hidden;color:#24483c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.access-admin-status .anticon{color:#12a875}.access-admin-loading{min-height:180px;display:grid;place-items:center}.access-admin-loading span{width:34px;height:34px;border:3px solid #cfe8de;border-top-color:var(--brand-green);border-radius:50%;animation:access-spin .8s linear infinite}.access-admin-footer{padding-top:17px;border-top:1px solid rgba(28,74,62,.08);color:#87968f;font-size:10px;text-align:center}@media(max-width:640px){.access-admin-page{padding:0;display:block;background:#f7fbf9}.access-admin-shell{width:100%;min-height:100vh;padding:22px 20px 18px;border:0;border-radius:0;box-shadow:none}.access-admin-header>.ant-btn span:not(.anticon){display:none}.access-admin-content{margin:24px auto auto;padding:20px 0 30px}.access-admin-intro h1{font-size:26px}.access-admin-form{padding:20px}.access-admin-form__heading{display:block}.access-admin-form__heading .ant-btn{margin-top:8px;padding-left:0}.access-admin-status{grid-template-columns:1fr 1fr}.access-admin-status>div:nth-child(2){border-right:0}.access-admin-status>div:last-child{grid-column:1 / -1;border-top:1px solid #e1ece8}}.home-page{width:min(1320px,calc(100% - 24px));min-height:calc(100vh - 24px);margin:12px auto;padding:0 30px 18px;overflow:hidden;border:1px solid #d9e5df;border-radius:22px;background:radial-gradient(circle at 8% 0,rgba(34,184,132,.045),transparent 22rem),#fbfdfc;box-shadow:0 20px 54px #1c392e1a}.home-topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(31,85,67,.09)}.home-brand{min-width:0;display:flex;align-items:center;gap:11px}.home-brand img{width:48px;height:48px;flex:0 0 48px;object-fit:contain}.home-brand>span,.home-identity>span:last-child,.home-status>span{min-width:0;display:flex;flex-direction:column}.home-brand strong{color:#18372d;font-size:18px;line-height:1.25;font-weight:800;letter-spacing:-.025em}.home-brand small{margin-top:3px;color:#71847d;font-size:10px;line-height:1.3}.home-userbar{min-height:0;margin:0;display:flex;align-items:center;gap:12px}.home-identity{display:flex;align-items:center;gap:9px}.home-identity__avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;color:#087657;background:#e4f7f0;font-size:13px;font-weight:700}.home-identity strong{color:#29443a;font-size:12px;line-height:1.35;font-weight:650}.home-identity small{max-width:200px;overflow:hidden;color:#7a8c85;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.home-userbar>button{min-height:34px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe7e1;border-radius:9px;color:#5d7169;background:#fffc;font-size:11px;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.home-userbar>button:hover{border-color:#b9d8cc;color:#087657;background:#fff}.home-intro{min-height:116px;padding:19px 4px 17px;display:flex;align-items:center;justify-content:space-between;gap:30px}.home-intro>div:first-child{min-width:0}.home-intro__eyebrow{display:block;margin-bottom:5px;color:#07805b;font-size:10px;line-height:1.3;font-weight:750;letter-spacing:.12em}.home-intro h1{margin:0;color:#1b342b;font-size:clamp(25px,2.2vw,31px);line-height:1.25;letter-spacing:-.035em}.home-intro p{margin:7px 0 0;color:#6e8179;font-size:12px;line-height:1.6}.home-status{flex:0 0 auto;min-width:235px;padding:11px 14px;display:flex;align-items:center;gap:10px;border:1px solid #cee5dc;border-radius:12px;color:#087657;background:#eef9f5c7}.home-status>.anticon{font-size:19px}.home-status strong{color:#285044;font-size:11px;line-height:1.4}.home-status small{margin-top:2px;color:#74877f;font-size:9px;line-height:1.4}.home-page .module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-page .module-card-button{display:block;width:100%;height:100%;padding:0;border:0;border-radius:16px;color:inherit;background:transparent;text-align:left;cursor:pointer}.home-page .module-card-button:focus-visible{outline:3px solid rgba(18,168,117,.2);outline-offset:3px}.home-page .module-card{--card-accent: #12a875;--card-soft: #e4f7f0;position:relative;min-height:282px;height:100%;padding:19px 20px 17px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce8e3;border-radius:16px;background:#fffffff0;box-shadow:0 5px 18px #1945350b;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.home-page .module-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;height:auto;border-radius:16px 0 0 16px;background:var(--card-accent)}.home-page .module-card--teacher{--card-accent: #087657;--card-soft: #e3f2ed}.home-page .module-card--grade{--card-accent: #4f83a6;--card-soft: #edf4f8}.home-page .module-card-button:hover .module-card{transform:translateY(-2px);border-color:color-mix(in srgb,var(--card-accent) 34%,#dce8e3);box-shadow:0 14px 32px #19453517}.home-page .module-card__topline{min-height:40px;margin:0 0 15px;display:flex;align-items:center;justify-content:space-between}.home-page .module-card__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--card-accent);background:var(--card-soft);font-size:18px}.home-page .module-card__number{color:#a0ada8;font-size:10px;font-weight:700;letter-spacing:.08em}.module-card__heading>span{display:block;margin-bottom:4px;color:var(--card-accent);font-size:9px;line-height:1.3;font-weight:750;letter-spacing:.1em}.module-card__heading h2{margin:0;color:#20382f;font-size:19px;line-height:1.3;letter-spacing:-.025em}.home-page .module-card__description{min-height:44px;margin:8px 0 0;color:#6b7d76;font-size:11px;line-height:1.65}.module-card__meta{margin-top:11px;display:flex;align-items:center;gap:8px;color:#73857e;font-size:9px}.module-card__meta i{width:3px;height:3px;border-radius:50%;background:#bdc9c4}.home-page .module-card__features{margin:13px 0 0;padding:12px 0 0;display:grid;grid-template-columns:1fr;gap:6px;border-top:1px solid #edf2ef;color:#466057;font-size:10px;line-height:1.45;list-style:none}.home-page .module-card__features li{position:relative;padding-left:13px}.home-page .module-card__features li:before{content:"";position:absolute;left:1px;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--card-accent)}.module-card__action{margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;color:var(--card-accent);font-size:11px;font-weight:700}.home-page .local-data-section{position:relative;margin-top:14px}.home-page .local-data-section>.section-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-page .local-data-card{border-color:#dce8e3;border-radius:14px;background:#ffffffdb;box-shadow:0 4px 16px #17463409}.home-page .local-data-card .ant-card-body{min-height:106px;padding:13px 15px;display:grid;grid-template-columns:minmax(230px,1.15fr) minmax(420px,2fr) auto;align-items:center;gap:17px}.home-page .local-data-card__intro{min-width:0;display:flex;align-items:center;gap:11px}.home-page .local-data-card__icon{width:39px;height:39px;border-radius:11px;font-size:17px}.home-page .local-data-card__intro h4{margin:0 0 3px!important;color:#29463b!important;font-size:12px!important}.home-page .local-data-card__intro p{max-width:300px;margin:0!important;color:#7a8a84;font-size:9px;line-height:1.5}.home-page .local-data-stats{min-width:0;margin:0;padding:10px 12px;display:grid;grid-template-columns:.62fr .75fr .75fr 1.45fr;gap:9px;border-radius:11px;background:#f3f8f6}.home-page .local-data-stats .ant-statistic-title{margin-bottom:2px;color:#7c8b85;font-size:8px}.home-page .local-data-stats .ant-statistic-content{color:#29473c;font-size:16px;line-height:1.4}.home-page .local-data-stats .ant-statistic:last-child .ant-statistic-content{overflow:hidden;color:#5d7169;font-size:10px;line-height:22px;text-overflow:ellipsis;white-space:nowrap}.home-page .local-data-actions{display:grid;gap:6px}.home-page .local-data-actions .ant-btn{height:33px;border-radius:9px;font-size:10px}@media(max-width:1040px){.home-page{padding-inline:22px}.home-page .module-card{padding-inline:17px}.home-page .local-data-card .ant-card-body{grid-template-columns:minmax(210px,1fr) minmax(360px,1.8fr)}.home-page .local-data-actions{grid-column:1 / -1;grid-template-columns:auto auto;justify-content:end}}@media(max-width:820px){.home-page{width:100%;min-height:100vh;margin:0;padding:0 18px 24px;border:0;border-radius:0}.home-topbar{min-height:68px}.home-brand img{width:42px;height:42px;flex-basis:42px}.home-brand small,.home-identity>span:last-child{display:none}.home-intro{align-items:flex-start;flex-direction:column;gap:13px}.home-status{min-width:0}.home-page .module-grid{grid-template-columns:1fr}.home-page .module-card{min-height:260px}.home-page .local-data-card .ant-card-body{grid-template-columns:1fr}.home-page .local-data-actions{grid-column:auto;justify-content:stretch}}@media(max-width:520px){.home-userbar>button span{display:none}.home-userbar>button{width:34px;padding:0;justify-content:center}.home-intro h1{font-size:24px}.home-page .local-data-stats{grid-template-columns:1fr 1fr}.home-page .local-data-actions{grid-template-columns:1fr}}.module-mobile-account,.capture-entry__progress-line{display:none}.capture-student-tools{display:flex;align-items:center;gap:10px}.capture-student-picker{width:220px}.capture-student-picker .ant-select-selector{min-height:40px;align-items:center;border-radius:10px!important}@media(pointer:coarse){.module-nav-item,.module-mobile-account,.capture-event-tabs button,.capture-module-card,.capture-session-row,.capture-status-actions .ant-btn,.capture-navigation .ant-btn,.capture-finish-card .ant-btn{min-height:48px}}@media(max-width:820px){.capture-module-section{padding:16px}.capture-module-heading{align-items:flex-start;flex-direction:column;gap:7px}.capture-module-heading p{text-align:left}.capture-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-module-card{min-height:170px}.module-mobile-account{width:42px;height:42px;margin-left:2px;padding:0;display:flex;align-items:center;justify-content:center;gap:0;border:0;border-radius:12px;color:#dff4ec;background:#ffffff14;cursor:pointer}.module-mobile-account>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#075d45;background:#dff7ee;font-size:12px;font-weight:700}.module-mobile-account>.anticon{display:none}.module-page--compact-mobile .module-content{padding:0 0 calc(18px + env(safe-area-inset-bottom));background:#f4f8f6}.module-page--compact-mobile .module-title-row{display:none}.module-page--compact-mobile .capture-entry{gap:0}.module-page--compact-mobile .capture-entry__header{border-width:0 0 1px;border-radius:0;box-shadow:none}.module-page--compact-mobile .capture-entry__header .ant-card-body{padding:12px 15px;align-items:center;flex-direction:row;gap:12px}.module-page--compact-mobile .capture-entry__header .ant-card-body>div:first-child{min-width:0;flex:1}.module-page--compact-mobile .capture-entry__header .ant-btn{min-height:36px;margin:0 0 3px -9px;padding-inline:9px}.module-page--compact-mobile .capture-entry__header h3{overflow:hidden;margin:0 0 2px!important;font-size:17px!important;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.module-page--compact-mobile .capture-entry__header .ant-typography-secondary{display:block;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.capture-entry__overall{width:92px;flex:0 0 92px;justify-content:flex-end;gap:0}.capture-entry__progress-circle{display:none}.capture-entry__overall>span{width:100%;text-align:right}.capture-entry__overall strong{font-size:15px}.capture-entry__overall small{font-size:9px}.capture-entry__progress-line{width:100%;height:5px;margin-top:6px;display:block;overflow:hidden;border-radius:999px;background:#dcebe5}.capture-entry__progress-line b{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#15ad78,#4bc99d);transition:width .2s ease}.capture-event-tabs{position:sticky;top:0;z-index:12;gap:8px;margin:0;padding:9px 12px;background:#f4f8f6f0;box-shadow:0 5px 14px #1441320f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none}.capture-event-tabs::-webkit-scrollbar{display:none}.capture-event-tabs button{min-width:126px;padding:10px 12px;align-items:center}.capture-student-card{margin:10px 12px 0;border-radius:17px;box-shadow:0 10px 28px #14483613}.capture-student-card .ant-card-body{padding:18px 16px 0}.capture-student-card__top{align-items:stretch;flex-direction:column;gap:14px}.capture-student-identity{gap:12px}.capture-student-identity>span{width:48px;height:48px;flex:0 0 48px;border-radius:14px}.capture-student-identity h2{margin-bottom:1px!important;font-size:23px!important}.capture-student-identity .ant-typography{font-size:11px}.capture-student-tools{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr)}.capture-student-tools .ant-tag{height:40px;margin:0;display:grid;place-items:center;border-radius:10px}.capture-student-picker{width:100%}.capture-student-picker .ant-select-selector{min-height:44px}.capture-score-entry{margin:18px 0 14px;padding:17px 15px;gap:12px;border:1px solid #dceae4;border-radius:14px;background:linear-gradient(145deg,#f5faf8,#eef7f3)}.capture-score-entry__label{font-size:20px}.capture-score-input .ant-input-affix-wrapper{min-height:62px;border-radius:13px}.capture-score-input .ant-input{font-size:27px}.capture-save-state{min-height:20px;margin-top:6px}.capture-status-actions{padding-bottom:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.capture-status-actions>span{grid-column:1 / -1;margin:0}.capture-status-actions .ant-btn{width:100%;padding-inline:8px}.capture-navigation{position:sticky;bottom:0;z-index:11;margin:0 -16px;padding:11px 16px calc(11px + env(safe-area-inset-bottom));border-top:1px solid rgba(23,72,54,.08);border-radius:0 0 17px 17px;background:#fffffff0;box-shadow:0 -8px 20px #1441320e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.capture-navigation .ant-btn{min-height:50px}.capture-finish-card{margin:10px 12px 0}.capture-finish-card .ant-card-body{padding:16px}}@media(max-width:560px){.capture-module-section{padding:14px}.capture-module-grid{grid-template-columns:1fr;gap:10px}.capture-module-card{min-height:148px}.capture-create-modal-root .ant-modal-wrap{overflow:hidden}.capture-create-modal-root .ant-modal{top:0;width:100%!important;max-width:none;height:100dvh;margin:0;padding:0}.capture-create-modal-root .ant-modal-content{min-height:100dvh;padding:20px 18px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;border-radius:0}.capture-create-modal-root .ant-modal-body{flex:1;overflow-y:auto}.capture-create-modal-root .ant-modal-footer{position:sticky;bottom:0;padding-top:12px;display:grid;grid-template-columns:.8fr 1.2fr;background:#fff}.capture-create-modal-root .ant-modal-footer .ant-btn{min-height:48px;margin:0}}.module-mobile-menu{display:none}.module-global-navigation,.module-context-navigation{display:block}.module-context-navigation{margin-top:4px}.module-sidebar .module-nav-item{font-size:13.5px}.module-title-row p{font-size:14px;line-height:1.65}.module-user strong{font-size:12px}.module-user small{font-size:10px}.module-app-drawer .ant-drawer-content-wrapper{max-width:calc(100vw - 18px)}.module-app-drawer .ant-drawer-header{padding:20px 20px 16px;border-bottom-color:#e4ece8}.module-app-drawer .ant-drawer-title{color:#17372d;font-size:18px;font-weight:750}.module-app-drawer .ant-drawer-body{padding:18px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.module-drawer-identity{padding:14px;display:flex;align-items:center;gap:12px;border:1px solid #d7e8e1;border-radius:14px;background:#f1faf6}.module-drawer-identity>span{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:13px;color:#087657;background:#dcf5eb;font-size:17px;font-weight:800}.module-drawer-identity>div{min-width:0;display:flex;flex-direction:column}.module-drawer-identity strong{overflow:hidden;color:#1e3e33;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.module-drawer-identity small{margin-top:3px;color:#70847c;font-size:12px}.module-drawer-label{margin:22px 4px 8px;color:#73867e;font-size:11px;font-weight:750;letter-spacing:.1em}.module-drawer-nav{display:grid;gap:7px}.module-drawer-nav button{width:100%;min-height:60px;padding:10px 12px;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;border:1px solid transparent;border-radius:12px;color:#38554b;background:transparent;text-align:left;cursor:pointer}.module-drawer-nav button:hover{background:#f4f8f6}.module-drawer-nav button.is-active{border-color:#bfe3d5;color:#087657;background:#edf9f4}.module-drawer-nav__icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#087657;background:#e3f5ee;font-size:17px}.module-drawer-nav button>span:last-child{min-width:0;display:flex;flex-direction:column}.module-drawer-nav strong{font-size:14px;font-weight:700}.module-drawer-nav small{margin-top:3px;color:#7a8c85;font-size:11px}.module-drawer-nav--context button{min-height:52px}.module-drawer-footer{margin-top:auto;padding-top:20px;display:grid;gap:12px;border-top:1px solid #e5ece9}.module-drawer-footer>div{display:flex;align-items:center;gap:10px;color:#087657}.module-drawer-footer>div>span{display:flex;flex-direction:column}.module-drawer-footer strong{color:#36564a;font-size:12px}.module-drawer-footer small{margin-top:2px;color:#7b8c86;font-size:10px}.module-drawer-footer .ant-btn{min-height:46px;border-radius:11px}.home-intro p{font-size:14px;line-height:1.7}.home-page .module-card__description{font-size:13px;line-height:1.7}.home-page .module-card__features{font-size:12px;gap:7px}.module-card__meta{font-size:11px}.module-card__action{font-size:13px}.teacher-kpi span{font-size:11px}.teacher-kpi small{font-size:10px}.teacher-card-heading h2{font-size:15px}.teacher-card-heading p{font-size:11px}.teacher-card-heading .ant-btn{font-size:12px}.teacher-class-table__head{font-size:10px}.teacher-class-table>button{font-size:11px}.teacher-class-table strong,.teacher-recent-list strong{font-size:12px}.teacher-recent-list small,.teacher-recent-list em{font-size:10px}.capture-task-heading p{font-size:12px;line-height:1.65}.capture-task-card__content small{font-size:10px}.capture-task-card__content strong{font-size:16px}.capture-task-card__content em,.capture-task-card__action{font-size:12px}@media(max-width:820px){body{font-size:16px}.module-sidebar{position:sticky;top:0;z-index:40;min-height:66px;padding:9px 14px;gap:9px;box-shadow:0 6px 18px #0a36291c}.module-global-navigation,.module-context-navigation,.module-sidebar>.module-sidebar__label,.module-sidebar>.module-nav-item{display:none}.platform-brand{min-width:0;margin-right:auto;padding:0;gap:9px}.platform-brand__mark{width:40px;height:40px;flex-basis:40px}.platform-brand__text{min-width:0;display:flex}.platform-brand__text strong{font-size:16px}.platform-brand__text small{display:none}.module-mobile-menu{min-height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.16);border-radius:11px;color:#effaf6;background:#ffffff14;font-size:14px;font-weight:650;cursor:pointer}.module-mobile-account{width:auto;min-width:0;height:42px;margin:0;padding:0 9px 0 6px;display:flex;border:1px solid rgba(255,255,255,.12)}.module-mobile-account__avatar{width:30px!important;height:30px!important;flex:0 0 30px}.module-mobile-account__name{width:auto!important;height:auto!important;max-width:72px;display:block!important;overflow:hidden;border-radius:0!important;color:#edf8f4!important;background:transparent!important;font-size:13px!important;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.module-main{min-height:calc(100vh - 66px)}.module-content{padding:22px 18px 34px}.module-title-row{min-height:0;margin-bottom:20px;flex-direction:column;gap:14px}.module-title-row__eyebrow{font-size:12px}.module-title-row h1{font-size:27px;line-height:1.25}.module-title-row p{max-width:680px;font-size:15px;line-height:1.7}.module-title-row__action{width:100%;padding:0;display:block}.module-title-row__action .ant-btn{width:100%;min-height:48px;font-size:15px}.home-page{padding:0 18px 30px}.home-topbar{min-height:76px}.home-brand strong{font-size:18px}.home-identity>span:last-child{max-width:86px;display:flex}.home-identity strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.home-identity small{display:none}.home-userbar{gap:8px}.home-userbar>button{min-height:40px;font-size:13px}.home-intro{padding:24px 2px 20px;gap:15px}.home-intro__eyebrow{font-size:12px}.home-intro h1{font-size:28px}.home-intro p{font-size:15px;line-height:1.75}.home-status{width:100%;min-height:62px}.home-status strong{font-size:14px}.home-status small{font-size:12px}.home-page .module-grid{gap:14px}.home-page .module-card{min-height:280px;padding:21px}.module-card__heading>span{font-size:11px}.module-card__heading h2{font-size:23px}.home-page .module-card__description{min-height:0;font-size:15px;line-height:1.7}.module-card__meta{font-size:12px}.home-page .module-card__features{font-size:14px;line-height:1.55}.module-card__action{font-size:15px}.teacher-kpi span{font-size:13px}.teacher-kpi small{font-size:12px;white-space:normal}.teacher-card-heading h2{font-size:17px}.teacher-card-heading p{font-size:13px;line-height:1.55}.teacher-card-heading .ant-btn{font-size:14px}.teacher-class-table__head{font-size:12px}.teacher-class-table>button{font-size:13px}.teacher-class-table strong,.teacher-recent-list strong{font-size:14px}.teacher-recent-list small,.teacher-recent-list em{font-size:12px}.capture-task-heading h3{font-size:22px!important}.capture-task-heading p{font-size:14px;line-height:1.7}.capture-task-card__content small{font-size:11px}.capture-task-card__content strong{font-size:18px}.capture-task-card__content em{font-size:14px;line-height:1.65}.capture-task-card__action{font-size:14px}.capture-module-heading h3{font-size:21px!important}.capture-module-heading p{font-size:14px;line-height:1.65}.capture-module-card__content small{font-size:11px}.capture-module-card__content strong{font-size:17px}.capture-module-card__content em{font-size:13px}.capture-module-card__footer{font-size:12px}.ant-card-head-title{font-size:16px}.ant-table{font-size:14px}.ant-statistic-title{font-size:13px}.capture-session-home>.ant-alert{align-items:flex-start}.capture-session-home>.ant-alert .ant-alert-content{min-width:0}.capture-session-home>.ant-alert .ant-alert-message{font-size:16px;font-weight:700}.capture-session-home>.ant-alert .ant-alert-description{font-size:14px;line-height:1.65}.capture-session-home>.ant-alert .ant-alert-action{margin-inline-start:14px}.capture-session-list .ant-card-head-title{font-size:16px}.capture-session-row__main strong{font-size:15px}.capture-session-row__main small{font-size:12px}}@media(max-width:640px){.access-page{min-height:100dvh;padding:0;display:block;background:#fbfdfc}.access-shell{width:100%;height:auto;min-height:100dvh;display:block;border:0;border-radius:0;box-shadow:none}.access-visual{display:none}.access-login-panel{min-height:100dvh;padding:max(26px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));background:radial-gradient(circle at 92% 2%,rgba(35,188,135,.08),transparent 15rem),#fbfdfc}.access-login-panel .access-platform-brand{min-height:58px;gap:11px}.access-login-panel .access-platform-brand__mark{width:52px;height:52px;flex-basis:52px}.access-login-panel .access-platform-brand strong{font-size:23px}.access-login-panel .access-platform-brand small{margin-top:3px;font-size:12px}.access-login-panel .access-form-wrap{width:100%;flex:1;padding:38px 0 34px;justify-content:center}.access-login-panel .access-form-wrap h1{margin-bottom:11px;font-size:31px}.access-login-panel .access-form-intro{margin-bottom:32px;font-size:16px;line-height:1.75}.access-login-panel .access-field-label{margin-bottom:8px;font-size:15px}.access-login-panel .access-form-fields{gap:17px}.access-login-panel .ant-input-affix-wrapper{min-height:56px;border-radius:12px;font-size:16px}.access-login-panel .ant-input{font-size:16px}.access-login-panel .ant-btn-primary{min-height:54px;border-radius:12px;font-size:17px}.access-credit{padding-top:16px}.access-credit__product{font-size:12px}.access-credit__byline{font-size:11px}}@media(max-width:520px){.module-sidebar{padding-inline:12px}.module-mobile-menu{padding-inline:10px}.module-mobile-account{max-width:104px}.module-mobile-account__name{max-width:54px}.module-content{padding-inline:16px}.home-userbar>button{width:auto;padding:0 10px}.home-userbar>button span{display:inline}.capture-session-home>.ant-alert{padding:16px;flex-wrap:wrap}.capture-session-home>.ant-alert .ant-alert-action{width:100%;margin:14px 0 0 34px}.capture-session-home>.ant-alert .ant-btn{width:100%;min-height:46px}}.capture-shell{min-height:100dvh;background:#f5f9f7;color:#1d3b31}.capture-shell--initialization{display:flex;flex-direction:column}.capture-shell--initialization .capture-shell__topbar{width:min(1244px,100%)}.capture-shell--initialization .capture-shell__content{width:min(1244px,100%);padding-top:52px;padding-bottom:56px}.capture-shell--initialization .capture-shell__title{margin:0;align-items:flex-start}.capture-shell--initialization .capture-shell__title h1{display:flex;align-items:center;gap:18px;font-size:42px;line-height:1.3}.capture-setup-title-icon{width:56px;height:56px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:#e4f7f0;color:#087657;font-size:28px}.capture-shell--initialization .capture-shell__title p{max-width:680px;margin-top:16px}.capture-shell--initialization .capture-shell__switch.ant-btn{flex-shrink:0;border:1px solid #e0e9e4;color:#71857b;background:transparent;box-shadow:none}.capture-shell--initialization .capture-shell__switch.ant-btn:hover,.capture-shell--initialization .capture-shell__switch.ant-btn:focus-visible{border-color:#80b49d!important;color:#087657!important;background:#eaf5ef!important}.capture-shell--initialization .capture-roster-setup{max-width:none;margin-top:44px}.capture-setup-section-title{margin-bottom:24px!important}.capture-setup-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:28px}.capture-setup-card{min-width:0;padding:32px;border:1px solid #d7e4df;border-radius:16px;background:#fff;box-shadow:0 6px 20px #1945350a;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s}.capture-setup-card h3{margin:0;font-size:24px;line-height:1.4;color:#1d3b31}.capture-setup-card>p{margin:14px 0 0;min-height:56px}.capture-setup-card__actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px}.capture-setup-card__actions .ant-btn-text{margin-left:-12px;padding-inline:12px;color:#526e62}.capture-setup-footer{width:min(1180px,calc(100% - 64px));margin:auto auto 0;padding-top:22px;padding-bottom:max(24px,env(safe-area-inset-bottom));flex-shrink:0}.capture-parse-alert{margin-bottom:24px}.capture-parse-result{padding:28px;border:1px solid #d7e4df;border-radius:16px;background:#fff}.capture-parse-result h3{margin:0;font-size:24px}.capture-parse-result__filename{overflow-wrap:anywhere}.capture-parse-result__sheets{margin:20px 0}.capture-parse-result__sheets p{margin:8px 0;overflow-wrap:anywhere}.capture-parse-result__fields{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.capture-parse-result__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.roster-import-flow{font-size:16px}.roster-import-topline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 24px;margin-bottom:32px;border:1px solid #d7e4df;border-radius:12px;background:#fff}.roster-import-file{min-width:0;flex:1;overflow-wrap:anywhere}.roster-import-file strong{display:block;font-weight:500;color:#1d3b31}.roster-import-file>span{display:block;margin-top:6px;color:#61786c;font-size:14px}.roster-import-topline>.ant-btn{flex-shrink:0}.roster-import-description{margin:12px 0 24px}.roster-import-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.roster-sheet-options,.roster-header-rows{display:grid;gap:12px}.roster-sheet-option{display:flex;align-items:center;gap:16px;padding:20px;min-height:64px;background:#fff;border:1px solid #d7e4df;border-radius:12px;cursor:pointer}.roster-sheet-option>span{flex:1;min-width:0;overflow-wrap:anywhere}.roster-sheet-option small{color:#61786c;font-size:15px}.roster-sheet-option.is-selected,.roster-header-row.is-selected{border-color:#7bb79e;background:#f0faf5}.roster-import-flow input[type=radio]{width:22px;height:22px;flex-shrink:0;margin:0;accent-color:#0ba677}.roster-header-row{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:16px;padding:18px 20px;background:#fff;border:1px solid #d7e4df;border-radius:12px;cursor:pointer}.roster-header-row__choice{display:flex;align-items:center;gap:12px;line-height:24px}.roster-header-row__choice strong{font-size:16px;font-weight:500}.roster-header-row__values{display:flex;flex-wrap:wrap;gap:8px 20px;min-width:0;line-height:1.6}.roster-header-row__values>span{overflow-wrap:anywhere;max-width:100%}.roster-header-pagination{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.roster-mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px}.roster-mapping-field{min-width:0}.roster-mapping-field__title{margin-bottom:14px;font-size:18px;font-weight:500;color:#1d3b31}.roster-mapping-field label{display:block;margin-bottom:8px;color:#61786c;font-size:15px}.roster-mapping-field select{width:100%;min-height:50px;border:1px solid #cdded5;border-radius:10px;padding:10px 12px;background:#fff;color:#1d3b31;font:inherit}.roster-mapping-field>p{margin:10px 0 0;overflow-wrap:anywhere;color:#61786c}.roster-mapping-field select:focus-visible,.roster-import-flow input:focus-visible{outline:3px solid rgba(10,141,101,.35);outline-offset:3px}.roster-preview-summary{margin:16px 0 24px;line-height:1.7}.roster-preview-summary p{margin:0}.roster-preview-summary .roster-preview-summary__sheet{margin-top:6px;color:#61786c;font-size:15px}.roster-preview-summary strong{color:#087657}.roster-recognition{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 24px;margin-bottom:24px}.roster-recognition__summary{flex:1;min-width:220px}.roster-recognition__summary p{margin:0 0 8px;font-weight:500;color:#36564a}.roster-recognition__summary>span{font-size:15px;color:#61786c;line-height:1.8;overflow-wrap:anywhere}.roster-recognition__details{color:#61786c;font-size:15px}.roster-recognition__details summary{cursor:pointer;padding:8px 0;min-height:44px;line-height:28px}.roster-recognition__details summary:hover{color:#087657}.roster-recognition__details summary:focus-visible{outline:3px solid rgba(10,141,101,.35);outline-offset:3px;border-radius:4px}.roster-recognition__details[open]{width:100%}.roster-recognition__details table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:8px;background:#fff}.roster-recognition__details th,.roster-recognition__details td{text-align:left;padding:12px 16px;border-bottom:1px solid #e4ece8;overflow-wrap:anywhere;font-weight:400}.roster-recognition__details thead th{background:#edf6f1;color:#36564a;font-weight:500}.roster-preview-table{width:100%;table-layout:fixed;border-collapse:collapse;background:#fff;font-size:16px;line-height:1.7}.roster-preview-table th,.roster-preview-table td{text-align:left;vertical-align:top;padding:14px 16px;overflow-wrap:anywhere;border-bottom:1px solid #e4ece8}.roster-preview-table th{background:#edf6f1;font-weight:500}.roster-preview-list{display:none;list-style:none;margin:0;padding:0}.roster-preview-note{margin-top:20px}.roster-preview-note p{margin:4px 0;color:#61786c;font-size:15px;line-height:1.7}.roster-check-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0;padding:20px 0;border-block:1px solid rgba(28,74,62,.08)}.roster-check-summary dt{color:#61786c;font-size:16px}.roster-check-summary dd{margin:8px 0 0;font-size:28px;line-height:1.3;color:#1d3b31}.roster-check-summary dd small{font-size:16px;color:#61786c}.roster-check-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.roster-check-filters>button{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid #d7e4df;border-radius:9px;background:#fff;color:#526b60;font:inherit;cursor:pointer}.roster-check-filters>button[aria-pressed=true]{border-color:#74b39a;background:#edf8f2;color:#087657}.roster-check-count{min-width:24px;padding:1px 6px;border-radius:12px;background:#f0f4f2;color:#61786c;font-size:13px;line-height:20px}.roster-check-table{width:100%;table-layout:fixed;border-collapse:collapse;background:#fff;font-size:16px}.roster-check-table th,.roster-check-table td{text-align:left;padding:16px 12px;vertical-align:top;border-bottom:1px solid #e4ece8;overflow-wrap:anywhere}.roster-check-table th{background:#edf6f1;color:#36564a;font-weight:500}.roster-check-table th:nth-child(1){width:15%}.roster-check-table th:nth-child(2){width:12%}.roster-check-table th:nth-child(3){width:8%}.roster-check-table th:nth-child(4){width:13%}.roster-check-table th:nth-child(5){width:30%}.roster-check-table th:nth-child(6){width:14%}.roster-check-table th:nth-child(7){width:8%}.roster-problem-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:0 0 20px;color:#526b60;font-size:16px;line-height:1.8}.roster-problem-summary strong{font-weight:500;color:#1d3b31}.roster-problem-summary>span{margin-inline:6px;color:#8b9d94}.roster-check-page>.ant-alert{margin-bottom:24px}.roster-check-status{display:inline-block;font-size:14px;padding:3px 8px;border-radius:5px;line-height:1.6;white-space:nowrap}.roster-check-status--valid{background:#edf7f1;color:#35694d}.roster-check-status--warning{background:#fff7e8;color:#886015}.roster-check-status--error{background:#fff1ef;color:#ad3936}.roster-check-source{display:block;color:#61786c;font-size:13px;line-height:1.7;margin-top:8px;overflow-wrap:anywhere}.roster-check-value,.roster-check-edit{display:inline-block;padding:8px 4px;min-height:44px;border:0;border-radius:4px;font:inherit;text-align:left;background:transparent;color:#526b60;cursor:pointer;overflow-wrap:anywhere;max-width:100%}.roster-check-value--error{color:#ad3936;text-decoration:underline dotted;text-underline-offset:5px}.roster-check-value--warning{color:#886015;text-decoration:underline dotted;text-underline-offset:5px}.roster-check-edit{color:#087657;font-size:14px}.roster-check-issue{font-size:14px;line-height:1.7;margin:6px 0;overflow-wrap:anywhere}.roster-check-issue--error{color:#ad3936}.roster-check-issue--warning{color:#886015}.roster-check-filters button:focus-visible,.roster-check-value:focus-visible,.roster-check-edit:focus-visible{outline:3px solid rgba(10,141,101,.35);outline-offset:3px}.roster-check-list{display:none;list-style:none;margin:0;padding:0}.roster-check-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px;color:#61786c}.roster-check-empty{padding:28px 0;color:#61786c;font-size:16px}.roster-check-note{margin:24px 0 0;font-size:15px;line-height:1.7;color:#61786c}.roster-check-editor{display:grid;gap:16px;padding:8px 0 12px;font-size:16px}.roster-check-editor label{display:block;margin-bottom:8px;color:#36564a}.roster-check-editor .ant-input,.roster-check-editor select{width:100%;min-height:48px;font-size:16px}.roster-check-editor select{padding:10px 12px;border:1px solid #cdded5;border-radius:8px;background:#fff;color:#1d3b31;font:inherit}.roster-check-editor__issues{margin:0;padding-left:20px;color:#886015;font-size:15px;line-height:1.7}.roster-check-editor p{margin:0;color:#61786c;font-size:14px;line-height:1.7}@media(max-width:900px){.roster-check-table{display:none}.roster-check-list{display:grid;gap:14px}.roster-check-list>li{padding:20px;background:#fff;border:1px solid #d7e4df;border-radius:12px}.roster-check-list__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.roster-check-list__heading strong{font-size:19px;color:#1d3b31;overflow-wrap:anywhere}.roster-check-list dl{display:grid;gap:8px;margin:16px 0}.roster-check-list dl>div{display:flex;gap:12px;font-size:15px;line-height:1.7;color:#61786c}.roster-check-list dl>.is-problem{color:#36564a;font-weight:500}.roster-check-list dt{flex-shrink:0}.roster-check-list dd{margin:0;overflow-wrap:anywhere}.roster-check-list__issues{list-style:none;margin:0;padding:0}.roster-check-list__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}}@media(max-width:640px){.roster-check-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.roster-check-filters{gap:8px}.roster-check-filters>button{padding:10px 12px}}@media(max-width:900px){.roster-mapping-grid{grid-template-columns:minmax(0,1fr);gap:22px}}@media(max-width:640px){.roster-import-topline{margin-bottom:24px;padding:16px;gap:12px}.roster-recognition{gap:8px}.roster-recognition__summary{flex-basis:100%}.roster-import-actions{gap:10px;margin-top:28px}.roster-sheet-option{flex-wrap:wrap;gap:12px;padding:18px}.roster-sheet-option small{width:100%;padding-left:34px}.roster-header-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px}.roster-header-row__values{gap:6px 16px}.roster-preview-table{display:none}.roster-preview-list{display:grid;gap:12px}.roster-preview-list li{padding:18px;border:1px solid #d7e4df;border-radius:12px;background:#fff;overflow-wrap:anywhere}.roster-preview-list strong{font-size:18px;color:#1d3b31}.roster-preview-list p{margin:8px 0}.roster-preview-list span{color:#61786c;line-height:1.7}.roster-preview-list .roster-preview-list__remark{font-size:15px;color:#61786c}}@media(hover:hover)and (pointer:fine){.capture-setup-card:hover{border-color:#abcbbd;background:#fcfefc;box-shadow:0 9px 24px #19453512;transform:translateY(-1px)}}@media(max-width:900px){.capture-shell--initialization .capture-shell__content{padding:48px 24px}.capture-setup-cards{gap:24px}.capture-setup-card{padding:26px}.capture-setup-card>p{min-height:84px}}@media(max-width:640px){.capture-shell--initialization .capture-shell__content{padding:32px 20px 40px}.capture-shell--initialization .capture-shell__title h1{gap:12px;font-size:32px}.capture-setup-title-icon{width:44px;height:44px;border-radius:12px;font-size:23px}.capture-shell--initialization .capture-roster-setup{margin-top:36px}.capture-setup-section-title{margin-bottom:20px!important}.capture-setup-cards{grid-template-columns:minmax(0,1fr);gap:20px}.capture-setup-card{padding:22px 24px}.capture-setup-card h3{font-size:22px}.capture-setup-card>p{min-height:0}.capture-setup-card__actions{margin-top:28px}.capture-setup-footer{width:calc(100% - 40px)}}@media(prefers-reduced-motion:reduce){.capture-setup-card{transition:none}.capture-setup-card:hover{transform:none}}.capture-shell__header{border-bottom:1px solid rgba(28,74,62,.1);background:#fbfdfc}.capture-shell__topbar{width:min(1120px,100%);min-height:82px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.capture-shell__brand{min-width:0;display:flex;align-items:center;gap:12px;font-size:16px;white-space:nowrap}.capture-shell__brand img{width:42px;height:42px;object-fit:contain}.capture-shell__brand strong{font-size:22px}.capture-shell__account{display:flex;align-items:center;gap:12px;min-width:0}.capture-shell__account strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.capture-shell__avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e4f7f0;color:#087657}.capture-shell__account button,.capture-shell__back{min-height:48px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#526e62;font-size:15px;cursor:pointer}.capture-shell__menu{display:none}.capture-shell__content{width:min(1120px,100%);margin:0 auto;padding:22px 32px 48px}.capture-shell__heading-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.capture-shell__module-label{color:#607b6e;font-size:14px;font-weight:600;line-height:1.5}.capture-shell__switch.ant-btn{min-height:48px;border-radius:9px;color:#526e62;font-size:15px}.capture-shell__switch.ant-btn:hover{color:#087657!important;background:#eaf5ef!important}.capture-shell__title{margin:8px 0 0;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.capture-shell__title h1{margin:0;color:#18372d;font-size:32px;line-height:1.35}.capture-shell__title p{max-width:870px;margin:12px 0 0;color:#61786c;font-size:17px;line-height:1.8}.capture-shell__header-action{flex-shrink:0}.capture-shell__navigation{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}.capture-shell__navigation button{min-height:48px;padding:8px 16px;border:1px solid transparent;border-radius:9px;background:transparent;color:#526e62;font-size:16px;cursor:pointer}.capture-shell__navigation button[aria-current=page]{color:#07805b;border-color:#c5e3d6;background:#eaf7f1}.capture-shell__drawer-actions{display:grid;gap:12px}.capture-shell__drawer-actions button{min-height:52px;padding:12px 16px;border:1px solid #d7e4df;border-radius:10px;background:#fbfdfc;color:#36564a;font-size:16px;text-align:left;cursor:pointer}.capture-shell button:focus-visible{outline:3px solid rgba(10,141,101,.48);outline-offset:3px}.capture-shell .capture-session-home,.capture-shell .roster-workspace{margin-top:28px}.capture-roster-setup{width:100%;max-width:1056px;margin:38px 0 0}.capture-roster-setup h2{margin:0;color:#1d3b31;font-size:24px;line-height:1.4}.capture-roster-setup p{color:#61786c;font-size:16px;line-height:1.75}.capture-roster-setup__import>p,.capture-roster-setup__manual>p:not(.capture-roster-setup__prompt){margin:10px 0 0}.capture-roster-setup__import-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}.capture-roster-setup .ant-btn{min-height:50px;padding-inline:22px;border-radius:10px;font-size:16px}.capture-roster-setup__manual,.capture-roster-setup__migration{margin-top:30px;padding-top:26px;border-top:1px solid rgba(28,74,62,.1)}.capture-roster-setup__migration>p{margin:10px 0 0}.capture-roster-setup__migration .ant-btn{margin:12px 0 0 -12px;min-height:48px;padding-inline:12px;color:#526e62;font-size:15px}.capture-roster-setup__manual .capture-roster-setup__prompt{margin:0 0 14px;color:#71857b;font-size:15px}.capture-roster-setup__manual>.ant-btn{margin-top:20px}.capture-roster-setup .capture-roster-setup__context{margin-top:26px;font-size:15px}@media(max-width:820px){.capture-shell__topbar{min-height:76px;padding-inline:24px}.capture-shell__content{padding:16px 24px 40px}.capture-shell__title{margin-top:8px}.capture-shell__title h1{font-size:30px}}@media(max-width:640px){.capture-shell__topbar{min-height:68px;padding:10px 16px;gap:10px}.capture-shell__brand{gap:7px;font-size:13px}.capture-shell__brand img{width:30px;height:30px}.capture-shell__brand strong{font-size:17px}.capture-shell__separator{margin:0}.capture-shell__account{gap:7px}.capture-shell__account strong{max-width:64px;font-size:13px}.capture-shell__account strong,.capture-shell__logout,.capture-shell__switch.ant-btn{display:none}.capture-shell__avatar{width:32px;height:32px;font-size:14px}.capture-shell__account .capture-shell__menu{display:block;min-height:44px;padding:8px;color:#07805b;font-size:14px}.capture-shell__content{padding:28px 20px 36px}.capture-shell__title{margin:10px 0 0;flex-direction:column;gap:18px}.capture-shell__title h1{font-size:28px}.capture-shell__title p{font-size:16px}.capture-roster-setup{margin-top:30px}.capture-roster-setup h2{font-size:22px}.capture-roster-setup__import-actions{gap:10px;margin-top:20px}.capture-roster-setup .ant-btn{padding-inline:17px}.capture-roster-setup__manual,.capture-roster-setup__migration{margin-top:26px;padding-top:24px}}@media(max-width:380px){.capture-shell__brand img{width:25px;height:25px}.capture-shell__brand strong{font-size:15px}.capture-shell__account strong{max-width:50px}}.capture-roster-setup__primary{width:100%;min-height:240px;padding:34px;display:flex;flex-direction:column;border:1px solid #d7e4df;border-radius:20px;background:#fff;color:#1d3b31;text-align:left;cursor:pointer;box-shadow:0 7px 22px #1945350b;transition:transform .2s ease-out,border-color .2s ease-out,background-color .2s ease-out,box-shadow .2s ease-out}.capture-roster-setup__primary h2{margin:0;font-size:28px;line-height:1.4}.capture-roster-setup__primary p{margin:14px 0 0;color:#5d7169;font-size:17px;line-height:1.7}.capture-roster-setup__action{margin-top:auto;padding-top:32px;display:flex;align-items:center;justify-content:space-between;color:#07805b;font-size:17px;font-weight:600}.capture-roster-setup__action>span{transition:transform .2s ease-out}.capture-roster-setup__secondary{margin-top:20px;display:flex;gap:16px}.capture-roster-setup__secondary button{flex:1;min-height:52px;padding:12px 20px;border:1px solid #d7e4df;border-radius:12px;background:#fbfdfc;color:#36564a;font-size:16px;cursor:pointer}.capture-roster-setup__context{margin:30px 0 0;color:#687c74;font-size:15px;line-height:1.8}.capture-roster-setup__context button{min-height:48px;padding:6px 4px;border:0;background:transparent;color:#07805b;font-size:inherit;cursor:pointer}.capture-roster-setup button:focus-visible{outline:3px solid rgba(10,141,101,.48);outline-offset:4px}.capture-roster-setup__primary:focus-visible{border-color:#55ad8d;background:#f6fcf9}@media(hover:hover)and (pointer:fine){.capture-roster-setup__primary:hover{transform:translateY(-3px);border-color:#69b99c;background:#f6fcf9;box-shadow:0 16px 36px #1945351b}.capture-roster-setup__primary:hover .capture-roster-setup__action>span{transform:translate(3px)}}.capture-roster-setup__primary:active{transform:translateY(-1px);background:#f3faf7}@media(max-width:820px){.capture-roster-setup__primary{min-height:210px;padding:26px}.capture-roster-setup__secondary{flex-direction:column;gap:12px}}@media(max-width:520px){.capture-roster-setup__primary{min-height:200px;padding:24px}.capture-roster-setup__primary h2{font-size:24px}.capture-roster-setup__primary p{font-size:16px}}@media(prefers-reduced-motion:reduce){.capture-roster-setup__primary,.capture-roster-setup__action>span{transition:none}.capture-roster-setup__primary:hover,.capture-roster-setup__primary:active,.capture-roster-setup__primary:hover .capture-roster-setup__action>span{transform:none}}.home-page{box-sizing:border-box;width:100%;min-height:100dvh;margin:0;padding:0 24px 28px;display:flex;flex-direction:column;overflow:visible;border:0;border-radius:0;background:#f5f9f7;box-shadow:none}.home-main{width:100%;flex:1 0 auto}.home-topbar,.home-intro,.home-page .module-grid{width:min(1180px,100%);margin-inline:auto}.home-topbar{min-height:90px;border-bottom:1px solid rgba(31,85,67,.1)}.home-brand{gap:14px}.home-brand img{width:55px;height:55px;flex-basis:55px}.home-brand strong{font-size:29px;line-height:1.2}.home-brand small{margin-top:4px;font-size:14px;line-height:1.35}.home-userbar{gap:14px}.home-identity{min-width:0;gap:9px}.home-identity__avatar{width:38px;height:38px;flex-basis:38px;border-radius:12px;font-size:15px}.home-identity strong{max-width:160px;overflow:hidden;color:#29443a;font-size:15px;line-height:1.4;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.home-userbar>button{min-height:42px;padding:0 13px;border-color:transparent;background:transparent;font-size:15px}.home-userbar>button:hover{border-color:#c7ddd4;background:#ffffffb8}.home-userbar>button:focus-visible{outline:3px solid rgba(18,168,117,.24);outline-offset:2px}@media(max-width:520px){.home-userbar>button>span{max-width:none;overflow:visible;flex-shrink:0}.home-userbar>button{flex-shrink:0}}.home-intro{min-height:0;padding:42px 0 36px;display:block}.home-intro h1{margin:0;color:#18372d;font-size:clamp(40px,3.4vw,46px);line-height:1.25;letter-spacing:-.035em}.home-intro p{margin:14px 0 0;color:#687c74;font-size:19px;line-height:1.6}.home-page .module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}.home-product-footer{width:min(1180px,100%);margin:auto auto 0;flex:0 0 auto}.home-page .module-card-button{min-width:0;height:100%;border-radius:16px}.home-page .module-card-button:focus-visible{outline:3px solid rgba(18,168,117,.28);outline-offset:4px}.home-page .module-card{min-height:304px;height:100%;padding:38px;display:flex;flex-direction:column;border:1px solid rgba(67,112,96,.13);border-radius:20px;background:#fffffff0;box-shadow:0 7px 22px #1945350b;transition:transform .2s ease-out,border-color .2s ease-out,background-color .2s ease-out,box-shadow .2s ease-out}.home-page .module-card:before{display:none}.home-page .module-card h2{margin:0;color:#1d3b31;font-size:29px;line-height:1.35;font-weight:700;letter-spacing:-.025em;transition:color .2s ease-out}.home-page .module-card__description{width:100%;max-width:none;min-height:0;margin:18px 0 0;color:#5d7169;font-size:17px;line-height:1.6;word-break:normal;line-break:strict;text-wrap:pretty;transition:color .2s ease-out}.home-page .module-card__action{margin-top:auto;padding-top:34px;justify-content:space-between;gap:20px;color:#07805b;font-size:17px;line-height:1.4;font-weight:700;transition:color .2s ease-out}.home-page .module-card__action .anticon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;color:#07805b;background:#e7f6f0;font-size:15px;transition:transform .2s ease-out,color .2s ease-out,background-color .2s ease-out,box-shadow .2s ease-out}@media(hover:hover)and (pointer:fine){.home-page .module-card-button:hover .module-card{transform:translateY(-3px);border-color:#69b99c;background:#f6fcf9;box-shadow:0 16px 36px #1945351b}.home-page .module-card-button:hover .module-card h2{color:#105f47}.home-page .module-card-button:hover .module-card__description{color:#50685f}.home-page .module-card-button:hover .module-card__action{color:#067453}.home-page .module-card-button:hover .module-card__action .anticon{transform:translate(4px);color:#fff;background:#12a875;box-shadow:0 5px 12px #12a87533}}.home-page .module-card-button:focus-visible{outline:3px solid rgba(10,141,101,.48);outline-offset:4px}.home-page .module-card-button:focus-visible .module-card{border-color:#55ad8d;background:#f6fcf9;box-shadow:0 12px 30px #19453517}.home-page .module-card-button:focus-visible .module-card h2{color:#105f47}.home-page .module-card-button:focus-visible .module-card__action{color:#067453}.home-page .module-card-button:active .module-card{transform:translateY(-1px);border-color:#78bea5;background:#f3faf7;box-shadow:0 7px 18px #19453512}.home-page .module-card-button:active .module-card__action .anticon{transform:translate(2px);color:#fff;background:#12a875}@media(max-width:1040px){.home-page{padding-inline:22px}.home-page .module-grid{gap:16px}.home-page .module-card{min-height:246px;padding:28px}.home-page .module-card h2{font-size:25px}.home-page .module-card__description{margin-top:14px;font-size:16px}.home-page .module-card__action{padding-top:26px;font-size:16px}}@media(max-width:820px){.home-page{width:100%;min-height:100dvh;margin:0;padding:0 22px calc(24px + env(safe-area-inset-bottom));border:0;border-radius:0}.home-topbar{min-height:78px}.home-brand img{width:40px;height:40px;flex-basis:40px}.home-brand strong{font-size:18px}.home-brand small{display:none}.home-identity>strong{display:block;max-width:120px;font-size:14px}.home-userbar{gap:8px}.home-userbar>button{min-height:42px;padding-inline:10px;font-size:14px}.home-intro{padding:40px 0 24px}.home-intro h1{font-size:32px}.home-intro p{font-size:16px}.home-page .module-grid{grid-template-columns:1fr;gap:14px}.home-page .module-card{min-height:176px;padding:24px}.home-page .module-card h2{font-size:23px}.home-page .module-card__description{font-size:16px}.home-page .module-card__action{padding-top:22px;font-size:16px}.home-page .module-card__action .anticon{width:36px;height:36px;flex-basis:36px}}@media(max-width:520px){.home-page{padding-inline:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.home-topbar{min-height:72px;gap:10px}.home-brand{gap:8px}.home-brand img{width:36px;height:36px;flex-basis:36px}.home-brand strong{font-size:17px}.home-identity{gap:0}.home-identity__avatar{display:none}.home-identity>strong{max-width:72px;font-size:13px}.home-userbar>button{width:auto;min-height:40px;padding:0 8px;font-size:13px}.home-userbar>button span{display:inline}.home-intro{padding:34px 0 22px}.home-intro h1{font-size:28px}.home-intro p{margin-top:8px;font-size:15px}.home-page .module-card{min-height:164px;padding:22px 20px}.home-page .module-card h2{font-size:22px}.home-page .module-card__description{margin-top:10px;font-size:15px;line-height:1.7}.home-page .module-card__action{padding-top:20px;font-size:15px}.home-page .module-card__action .anticon{width:34px;height:34px;flex-basis:34px}}@media(max-width:380px){.home-identity>strong{max-width:64px}}@media(prefers-reduced-motion:reduce){.home-page .module-card,.home-page .module-card h2,.home-page .module-card__description,.home-page .module-card__action,.home-page .module-card__action .anticon{transition:none}.home-page .module-card-button:hover .module-card,.home-page .module-card-button:active .module-card,.home-page .module-card-button:hover .module-card__action .anticon,.home-page .module-card-button:active .module-card__action .anticon{transform:none}}.roster-final-summary{display:flex;flex-wrap:wrap;gap:16px 32px;margin:28px 0 20px;font-size:18px;line-height:1.6}.capture-shell--home .capture-shell__title p:empty{display:none}.capture-roster-welcome{width:min(880px,100%);margin:36px auto 64px}.capture-roster-welcome>.capture-setup-section-title{font-size:28px;line-height:1.35;letter-spacing:-.6px;margin:0 0 10px!important}.capture-roster-welcome>p{font-size:16px;line-height:1.7;color:#4e685d;margin:0 0 24px}.capture-roster-welcome .capture-setup-cards{grid-template-columns:1fr 1fr;gap:20px}.capture-roster-welcome .capture-setup-card{padding:24px;box-shadow:0 6px 24px #1b423409;border-radius:18px}.capture-roster-welcome .capture-setup-card:first-child{border-color:#afcfc2;background:#fcfefd}.capture-roster-welcome .capture-setup-card h3{font-size:21px;letter-spacing:-.3px}.capture-roster-welcome .capture-setup-card>p{min-height:52px;margin-top:12px;font-size:15px;line-height:1.7;color:#4e685d}.capture-roster-welcome .capture-setup-card__actions{margin-top:18px;gap:4px}.capture-roster-welcome .ant-btn{min-height:44px;font-size:15px;border-radius:10px;white-space:normal;height:auto;padding-block:9px}.capture-roster-welcome .ant-btn-primary{background:#087f5b;border-color:#087f5b;box-shadow:0 2px 3px #087f5b1f}.capture-roster-welcome .ant-btn-primary:not(:disabled):hover{background:#06694c;border-color:#06694c}.capture-roster-welcome .ant-btn-default{color:#244c3d;border-color:#b9cfc5;box-shadow:0 1px 2px #1b42340a}.capture-roster-welcome .ant-btn-default:not(:disabled):hover{color:#06694c;border-color:#087f5b;background:#f1f8f5}.capture-roster-welcome .ant-btn-text{color:#3f6151}.capture-roster-welcome .ant-btn-text:not(:disabled):hover{color:#06694c;background:#edf6f1}.capture-roster-welcome .ant-btn:focus-visible{outline:3px solid #087f5b;outline-offset:3px}@media(max-width:640px){.capture-roster-welcome{margin:24px auto 36px}.capture-roster-welcome>.capture-setup-section-title{font-size:25px}.capture-roster-welcome>p{font-size:15px;margin-bottom:20px}.capture-roster-welcome .capture-setup-cards{grid-template-columns:1fr;gap:16px}.capture-roster-welcome .capture-setup-card{padding:24px}.capture-roster-welcome .capture-setup-card>p{min-height:0}.capture-roster-welcome .capture-setup-card__actions{margin-top:18px}}
