.access-screen{min-height:100vh;margin:0;padding:48px 20px 24px;background:radial-gradient(ellipse at top left,#e4eee0 0,transparent 65%),#f7f8f4;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#293e34}.access-card{width:100%;max-width:440px;background:#fff;border:1px solid #dfe8df;border-radius:22px;padding:36px;box-shadow:0 18px 60px #284d3210}.access-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.access-brand>span{display:grid;place-items:center;background:#31745e;color:#fff;border-radius:13px 13px 13px 3px;width:47px;height:47px;font-size:23px}.access-brand b{font-size:23px;letter-spacing:4px}.access-brand small{display:block;font-size:10px;color:#839583;letter-spacing:2px;margin-top:4px}.access-card h1{font-size:24px;margin:0 0 12px;line-height:1.5}.access-description{font-size:13px;line-height:1.9;color:#748477;margin:0 0 24px}.access-form{display:flex;flex-direction:column;gap:17px}.access-field{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#526557;min-width:0}.access-field input,.access-field select{width:100%;font-size:14px;min-height:44px}.access-wide{width:100%;min-height:46px}.access-hint{color:#7d8b80;font-size:12px;line-height:1.9;margin:0}.access-error{color:#a63b35;font-size:13px;line-height:1.8;margin:0;overflow-wrap:anywhere}.access-screen-note{color:#91a08f;font-size:12px;letter-spacing:2px;margin-top:28px}.access-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.access-link{border:0;background:transparent;color:#31745e;align-self:center}.access-account-name{background:#f1f6ee;border-radius:8px;padding:12px;font-size:12px;line-height:1.8;overflow-wrap:anywhere;margin:0 0 20px}.access-sessionbar{min-height:48px;padding:8px 24px;display:flex;align-items:center;justify-content:flex-end;gap:12px;background:#e5eee1;border-bottom:1px solid #d8e5d5;color:#3b5b44;position:sticky;top:0;z-index:45;flex-wrap:wrap}.access-sessionbar>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.access-sessionbar b{font-size:12px}.access-sessionbar span{font-size:11px;color:#6f806e}.access-sessionbar button{min-height:30px;padding:5px 10px;font-size:11px;background:#fffa}.access-sessionbar>p{width:100%;margin:0;text-align:right;font-size:12px;line-height:1.8}.access-authenticated .sidebar{top:var(--accessbar-height,48px)}.access-authenticated .shell{min-height:calc(100vh - var(--accessbar-height,48px))}.access-dialog-backdrop{position:fixed;inset:0;z-index:200;background:#1b352c66;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(2px)}.access-dialog{width:560px;max-width:100%;max-height:92vh;overflow:auto;background:#fff;border:1px solid #dce8d9;border-radius:15px;box-shadow:0 20px 80px #12231d33}.access-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;border-bottom:1px solid #e5ece1}.access-dialog h2{font-size:18px;margin:0}.access-dialog-body{padding:24px}.access-dialog-body .access-account-name{margin:0}.access-form-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.access-check{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.8}.access-warning{margin:0;background:#fbf5e8;color:#8a6526;padding:14px;border-radius:8px;font-size:13px;line-height:1.8}.access-issued{display:flex;flex-direction:column;gap:16px}.access-issued h3,.access-issued p{margin:0}.access-issued h3{font-size:19px;color:#31745e}.access-admin .page-heading{align-items:flex-start}.access-error-banner{background:#fff1ee;border:1px solid #f2d8d2;border-radius:9px;padding:14px 18px;margin-bottom:20px}.access-empty{color:#829082;text-align:center;padding:40px 20px;line-height:1.8}.access-account-summary{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:#798776;margin-bottom:20px}.access-account-summary b{color:#395a43}.access-admin-tools{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:22px 24px;border-bottom:1px solid #e8eee4}.access-admin-tools>.access-field{min-width:220px;max-width:360px;flex:1}.access-admin-tools .access-hint{max-width:430px}.access-account-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}.access-account{min-width:0;border:1px solid #e0e9dc;border-radius:11px;padding:20px}.access-account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.access-account h2{font-size:16px;line-height:1.7;margin:0;overflow-wrap:anywhere}.access-account h2 small{display:inline-block;margin-left:10px;font-size:10px;font-weight:400;color:#7e937c}.access-account-heading p{font-size:12px;color:#7b8b79;margin:5px 0 0;overflow-wrap:anywhere}.access-state{font-size:11px;white-space:nowrap;background:#e7f2e3;color:#468044;border-radius:20px;padding:5px 10px}.access-state-muted{background:#f2f0e9;color:#8d836c}.access-account dl{display:grid;gap:10px;font-size:12px;margin:20px 0}.access-account dl>div{display:flex;gap:12px;line-height:1.7}.access-account dt{color:#899485;min-width:60px}.access-account dd{margin:0;color:#4e624f;overflow-wrap:anywhere}.access-account>.access-actions{margin-top:15px}.access-account>.access-actions button{font-size:12px;padding:8px 11px}@media(max-width:900px){.access-account-list{grid-template-columns:1fr}.access-admin-tools{flex-wrap:wrap;gap:14px}}@media(max-width:620px){.access-screen{padding:24px 15px}.access-card{padding:28px 24px;border-radius:16px}.access-card h1{font-size:22px}.access-sessionbar{padding:8px 12px;justify-content:space-between;gap:8px}.access-sessionbar>div:first-child{gap:6px}.access-sessionbar span{max-width:210px}.access-sessionbar>p{text-align:left}.access-dialog-backdrop{padding:12px}.access-dialog{max-height:94vh}.access-dialog>header{padding:16px 18px}.access-dialog-body{padding:18px}.access-form-grid{grid-template-columns:1fr}.access-account-list{padding:16px;gap:14px}.access-account{padding:16px}.access-admin-tools{padding:18px 16px}.access-admin-tools>.access-field{min-width:0;max-width:none;flex-basis:100%}.access-admin .page-heading>.access-actions{width:100%}.access-admin .page-heading>.access-actions button{flex:1}.access-account-summary{gap:12px 20px}}.access-owner-activation{border-top:1px solid #e2eade;margin-top:22px;padding-top:20px}.access-owner-activation>a{display:inline-block;margin-top:12px;font-size:12px}.sr-module .sr-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.sr-filters .field{flex:1 1 140px;margin-bottom:0}.sr-filters>button{margin-bottom:0}.sr-module .sr-inline{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px}.sr-inline .field{margin:0;min-width:160px}.sr-check{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.8;margin:14px 0}.sr-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.sr-summary>div{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px}.sr-summary span{font-size:12px;color:#778679;display:block}.sr-summary strong{font-size:28px;display:block;margin-top:10px}.sr-module>.panel{margin-bottom:22px}.sr-table{width:100%}.sr-table th,.sr-table td{vertical-align:top}.sr-table td p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;line-height:1.8;min-width:140px;max-width:330px}.sr-table small{display:block;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin-top:5px;color:#7e8a80}.sr-row-actions{display:flex;gap:6px;flex-wrap:wrap}.sr-row-actions button{padding:7px 9px;min-height:34px;font-size:11px}.sr-revoked{opacity:.62}.sr-error{color:#a13232;font-size:12px;line-height:1.8}.sr-empty{text-align:center;padding:40px 20px;color:#7e8a80;line-height:1.8}.sr-hint{font-size:12px;color:#7e8a80;line-height:1.8}.sr-profiles{padding:0 24px 24px;display:grid;gap:16px}.sr-profile{border:1px solid var(--border);border-radius:10px;padding:18px}.sr-profile h3{margin:0;font-size:16px}.sr-profile h3 small{font-size:11px;font-weight:400;color:#7e8a80;margin-left:12px}.sr-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.sr-profile-header p{font-size:12px;color:#7e8a80;line-height:1.8}.sr-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.sr-contact{background:#f7f9f5;padding:14px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sr-contact b{font-size:13px}.sr-contact a{display:block;margin-top:7px}.sr-module .sr-compact{padding-top:0;padding-bottom:8px}.sr-modal .modal{width:850px;max-width:100%}.sr-modal form>.field{margin-bottom:16px}.sr-modal .actions{margin-top:20px}.sr-modal .sr-table{font-size:12px}.sr-modal .sr-table td{padding:12px}.sr-modal .sr-table select{margin-top:8px;min-width:130px}@media(max-width:800px){.sr-contact-list{grid-template-columns:1fr}.sr-profile-header{flex-wrap:wrap}.sr-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-module .panel-header{flex-wrap:wrap;gap:14px}.sr-profiles{padding:0 16px 16px}}@media(max-width:480px){.sr-contact{align-items:flex-start;flex-wrap:wrap}.sr-summary>div{padding:15px}.sr-filters .field{flex-basis:130px}.sr-profile h3 small{display:block;margin:5px 0 0}.sr-modal .form-grid{grid-template-columns:1fr}.sr-module .panel-header .actions{flex-wrap:wrap}}.am-dialog{width:640px}.am-student-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:280px;overflow:auto;margin:18px 0}.am-student-checks label,.am-inline-check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#718369;min-height:35px}.am-student-checks input,.am-inline-check input{accent-color:#31745e;width:17px;height:17px}.am-add-project{display:flex;gap:12px;padding:0 23px 16px}.am-add-project input{flex:1}.am-project-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 23px 18px}.am-mastery-summary{display:flex;gap:20px;flex-wrap:wrap;background:#f4f8ef;padding:18px 23px;color:#839578;font-size:11px}.am-mastery-summary b{display:block;font-size:23px;margin-top:7px;color:#57784c}.am-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 23px;border-block:1px solid #e6ecdf;color:#899b7e;font-size:11px}.am-bulk button{padding:8px 11px;font-size:11px}@media(max-width:620px){.am-student-checks{grid-template-columns:repeat(3,1fr)}.am-add-project,.am-project-tabs{padding-inline:15px}.am-mastery-summary{gap:18px;padding:16px}.am-mastery-summary b{font-size:20px}.am-bulk{padding-inline:15px}.am-bulk button{min-height:40px}}.am-list-empty{padding:24px;text-align:center;color:#83917c;font-size:12px}.am-attendance-warning{line-height:1.8}@media(max-width:620px){[data-testid=attendance-summary-link]{width:100%}[data-testid=attendance-count]{font-size:11px}[data-testid=attendance-summary] .panel-header{align-items:flex-start;flex-wrap:wrap}[data-testid=attendance-summary] .panel-header>button{min-height:42px}}.class-info-module .ci-tabs{margin-bottom:24px;width:fit-content}.class-info-module .ci-tabs button{display:flex;align-items:center;gap:8px}.ci-pad{padding:20px 24px}.ci-role-grid{padding:0 24px 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.ci-role{border:1px solid #e3e8df;border-radius:12px;padding:20px;background:#fff}.ci-role-title{display:flex;gap:12px;justify-content:space-between;align-items:center}.ci-role-title h3{margin:0;font-size:16px}.ci-role-duties{white-space:pre-wrap;line-height:1.8;font-size:13px;color:#687765;min-height:24px;overflow-wrap:anywhere}.ci-chips{display:flex;flex-wrap:wrap;gap:8px}.ci-chips>span{padding:6px 10px;background:#f0f4eb;border-radius:6px;color:#50664d;font-size:12px}.ci-role .actions{gap:6px}.ci-role .actions button{padding:7px 9px;font-size:12px}.ci-plan-form{padding:24px;display:grid;grid-template-columns:2fr 1.5fr .65fr .65fr 1.2fr 1fr;gap:16px;align-items:end}.ci-seating-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px;align-items:start}.ci-seat-panel{min-width:0}.ci-seat-instruction{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;border-bottom:1px solid #eef0e8;line-height:1.7}.ci-seat-instruction button{font-size:12px;padding:6px 10px}.ci-seat-scroll{overflow:auto;padding:24px;max-width:100%}.ci-room{display:flex;flex-direction:column;gap:24px}.ci-podium{align-self:center;width:46%;text-align:center;background:#eaf0e5;color:#4f6749;border:1px solid #dce5d4;border-radius:8px;padding:10px;font-size:14px;letter-spacing:8px}.ci-seat-grid{display:grid;gap:10px}.ci-seat{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;min-height:82px;padding:8px 4px!important;border:1px dashed #d9e1d0!important;background:#fafbf8!important;color:#99a28f!important;border-radius:8px!important;min-width:0;touch-action:manipulation}.ci-seat.occupied{border:1px solid #dbe5d3!important;background:#f0f5e9!important;color:#42583d!important;cursor:grab}.ci-seat strong{font-size:14px;font-weight:600;overflow-wrap:anywhere;white-space:normal}.ci-seat small{font-size:10px;font-weight:400;white-space:normal}.ci-seat.chosen,.ci-waiting-list .chosen{outline:2px solid #648e54;outline-offset:2px;background:#e4eedc!important}.ci-print-note{padding:0 24px 20px;margin:0;color:#849078;font-size:12px}.ci-waiting input{width:100%}.ci-waiting-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;max-height:520px;overflow:auto;padding:4px}.ci-waiting-list button{display:flex;justify-content:space-between;gap:12px;text-align:left;cursor:grab;touch-action:manipulation}.ci-waiting-list small{color:#9aa58f}.ci-student-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;padding:8px;border:1px solid #e6eadd;border-radius:8px}.ci-student-checks label{display:flex;align-items:center;gap:8px;padding:8px;font-size:13px;cursor:pointer}.ci-student-checks input{width:16px;height:16px;flex-shrink:0;accent-color:#59784d}.class-info-module [role=tabpanel]>.panel{margin-bottom:20px}.class-info-module [role=tabpanel][hidden]{display:none!important}@media(max-width:1100px){.ci-plan-form{grid-template-columns:repeat(3,minmax(0,1fr))}.ci-seating-layout{grid-template-columns:minmax(0,1fr) 210px}.ci-role-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(max-width:760px){.ci-seating-layout{display:flex;flex-direction:column}.ci-seat-panel,.ci-waiting{width:100%}.ci-plan-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:12px}.ci-pad,.ci-seat-scroll{padding:16px}.ci-role-grid{grid-template-columns:1fr;padding:0 16px 16px}.ci-student-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.ci-waiting-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:240px}.ci-waiting-list button{padding:10px 8px;flex-wrap:wrap}.class-info-module .panel-header{gap:12px;flex-wrap:wrap}}@media print{body:has(.class-info-module) .sidebar,body:has(.class-info-module) .topbar,body:has(.class-info-module) .mobile-header,body:has(.class-info-module) .banner,body:has(.class-info-module) .toast,.class-info-module .ci-no-print{display:none!important}body:has(.class-info-module),body:has(.class-info-module) main,body:has(.class-info-module) .workspace{margin:0!important;padding:0!important;background:#fff!important;width:100%!important;max-width:none!important}body:has(.class-info-module) .shell{display:block!important}.ci-seating-layout{display:block}.ci-seat-panel{border:0!important;box-shadow:none!important;width:100%}.ci-seat-scroll{overflow:visible;padding:8px}.ci-room{min-width:0!important;gap:14px}.ci-seat-grid{gap:5px}.ci-seat{min-height:55px!important;padding:4px 2px!important;break-inside:avoid}.ci-seat strong{font-size:11px}.ci-seat small{font-size:8px}.ci-seat-panel .panel-header{padding:12px}.ci-seat.chosen{outline:none}.ci-print-note{padding:12px}.ci-podium{padding:6px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;color:#293e34;background:#f7f8f4;font-synthesis:none;font-size:14px;--green:#31745e;--border:#e6ebe5;--muted:#8b978f}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid #438a74}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border:1px solid #dce4dc;border-radius:8px;background:#fff;color:#3d5145;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;min-height:39px}button:hover,.button:hover{background:#f1f5f0;border-color:#a6bdb0}button:disabled,.disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#235e49;color:#fff}.text-btn{background:none;border:0;padding:6px;color:var(--green);font-size:12px}.icon-btn{padding:8px;border:0;background:transparent;min-height:34px}a{color:var(--green)}input,select,textarea{border:1px solid #dde5dd;border-radius:7px;padding:10px 12px;background:#fff;color:#35483d;min-width:0;max-width:100%}textarea{width:100%;resize:vertical;line-height:1.8}input::placeholder,textarea::placeholder{color:#a3ada4}input:focus,textarea:focus,select:focus{outline:2px solid #c7dfd2;border-color:#6c9c83}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px}.shell{min-height:100vh}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:#edf2eb;border-right:1px solid #e0e8df;padding:32px 21px 0;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#294b3c;font-size:24px;font-weight:700;letter-spacing:3px}.brand-mark{width:43px;height:45px;background:#36775d;border-radius:14px 14px 14px 3px;color:#fff;display:grid;place-items:center}.brand-sub{display:block;font-size:10px;font-weight:400;letter-spacing:2px;margin-top:3px;color:#819582}.class-card{display:flex;align-items:center;gap:10px;background:#fff9;border:1px solid #dce7d9;border-radius:9px;padding:13px 10px;margin:35px 0 29px}.class-card b{font-size:12px;display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-card small{display:block;margin-top:5px;font-size:10px;color:#8b9a8c}.class-icon{color:#62886c}.nav-label{font-size:10px;letter-spacing:2px;color:#91a08f;padding:0 13px;margin-bottom:13px}.nav-item{display:flex;border:0;background:none;width:100%;justify-content:flex-start;gap:12px;padding:14px 13px;margin:5px 0;color:#718271;font-size:13px}.nav-item.active{background:#dbe8d9;color:#316544;font-weight:600}.nav-item:hover{background:#e3ecdf}.nav-item i{margin-left:auto;width:5px;height:5px;background:#4d805b;border-radius:50%}.sidebar-note{margin:40px 10px 0;padding:20px 0;border-top:1px solid #dbe5d7;font-size:15px;color:#8a9f87;line-height:1.9;position:relative}.note-leaf{font-size:60px;font-weight:400;color:#d5e3cf;position:absolute;right:0;top:35px}.sidebar-bottom{margin-top:auto}.sidebar-bottom>button{width:100%;background:none;border:0;border-top:1px solid #dde5d9;border-radius:0;justify-content:flex-start;padding:19px 5px;font-size:12px;color:#6b816b}.sidebar-bottom>button svg:last-child{margin-left:auto}.teacher{display:flex;align-items:center;gap:10px;border-top:1px solid #dce5d7;padding:20px 0}.teacher b{font-size:12px}.teacher small{display:block;font-size:10px;color:#8d9d89;margin-top:3px}.dot{width:6px;height:6px;border-radius:50%;background:#6b9679;display:inline-block}.teacher>.dot{margin-left:auto}.avatar{display:inline-flex;width:35px;height:35px;flex:none;border-radius:50%;align-items:center;justify-content:center;background:#e8efe2;color:#6c8266;font-size:11px;font-weight:500}.color-1{background:#e8edf4;color:#7588a6}.color-2{background:#f5ede1;color:#ab8a5c}.color-3{background:#f2e7e4;color:#ad8174}main{margin-left:238px}.topbar{height:76px;padding:0 42px;background:#fff9;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#98a296}.breadcrumb span{color:#536954}.top-right{display:flex;align-items:center;gap:25px;font-size:10px;color:#99a395}.private-tag{display:flex;align-items:center;gap:7px;color:#7a8f78}.workspace{padding:34px 42px 15px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:2.4px;color:#8c9e86;font-weight:600;margin-bottom:8px}h1{font-size:29px;letter-spacing:1px;margin:0 0 10px;font-weight:600;color:#304a39}.heading-dot{color:#7a9e6b;font-size:35px;margin-left:3px}.page-heading p{margin:0;font-size:12px;color:#8b978b;line-height:1.7}.actions{display:flex;align-items:center;gap:9px}.wrap{flex-wrap:wrap}.filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}.filter-spacer{flex:1}.segmented{background:#e9eee6;display:flex;padding:4px;border-radius:9px}.segmented button{padding:7px 24px;background:none;border:0;color:#8a9885;min-height:32px}.segmented button.selected{background:#fff;color:#386d4a;box-shadow:0 2px 4px #293e3408}.filter-bar>select{min-width:180px;background:#fdfefa;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat-card{border-radius:11px;border:1px solid var(--border);background:#fff;padding:19px 20px}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#758672}.stat-top svg{color:#7f9e77}.stat-value{font-family:Arial,sans-serif;font-size:32px;font-weight:600;letter-spacing:-.7px;margin:13px 0;color:#344c37}.stat-value small{font-size:12px;margin-left:7px;color:#a1aaa0;font-weight:400;letter-spacing:0}.stat-card p{font-size:10px;color:#9aa598;margin:0;line-height:1.6}.stat-card.green{background:#f0f5ec;border-color:#dce7d6}.stat-card.blue .stat-top svg{color:#80a6ac}.stat-card.gold .stat-top svg{color:#c8ac74}.stat-card.pink .stat-top svg{color:#bc958a}.chart-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:22px}.panel{background:#fff;border:1px solid var(--border);border-radius:11px;min-width:0;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 23px 16px}.panel-header h2{font-size:15px;letter-spacing:.2px;font-weight:600;margin:0;color:#3e5140}.panel-header h2 small{font-size:10px;color:#98a794;margin-left:5px}.panel-header p{font-size:10px;color:#9ca698;margin:7px 0 0;line-height:1.6}.legend{display:flex;align-items:center;gap:6px;font-size:10px;color:#85947f}.legend i{width:7px;height:7px;background:#4b927d;border-radius:50%}.trend{padding:12px 24px 0;position:relative}.trend svg{width:100%;display:block;min-height:150px}.trend-empty{position:absolute;inset:35% 0 auto;text-align:center;color:#96a38f;font-size:12px}.chart-foot{padding:0 24px 18px;color:#a0ab9b;font-size:9px}.distribution{padding:8px 24px 0}.distribution-row{margin:0 0 17px}.distribution-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;font-size:10px;color:#84917d}.distribution-row b{font-size:12px;font-family:Arial;color:#60735b}.distribution-row small{font-size:9px;font-weight:400}.track{height:7px;background:#f1f3ee;border-radius:4px;overflow:hidden}.track i{display:block;height:100%;border-radius:4px;min-width:0}.mini-stats{border-top:1px solid #f1f3ee;margin:5px 24px 0;padding:16px 0;display:flex;justify-content:space-between;font-size:10px;color:#9aa594}.mini-stats b{font-size:12px;font-family:Arial;color:#5f735a;margin-left:6px}.muted{color:var(--muted);font-size:11px}.table-tools{display:flex;align-items:center;justify-content:space-between;padding:2px 23px 17px;gap:15px}.search{display:flex;align-items:center;gap:8px;background:#fafbf8;border:1px solid #e9ede5;border-radius:7px;padding:0 10px;color:#a0ac97;max-width:240px}.search input{border:0;background:transparent;padding:9px 0;font-size:11px;width:100%;outline:none}.compare-label{font-size:10px;display:flex;align-items:center;gap:10px;color:#96a18f}.compare-label select{font-size:10px;background:#fdfefa}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{background:#f7f9f4;color:#91a087;font-weight:400;font-size:10px;padding:13px 23px;border-block:1px solid #edf1e8}td{padding:15px 23px;border-bottom:1px solid #f0f3ec;color:#66785f}tbody tr:hover{background:#fdfefb}tr:last-child td{border-bottom:0}.student-cell{display:flex;align-items:center;gap:10px}.student-cell b{font-size:12px;font-weight:500;color:#50644a}.student-cell small{display:block;font-size:9px;color:#a0ad97;margin-top:4px}.change{display:inline-flex;align-items:center;font-size:11px;font-family:Arial;gap:2px}.positive{color:#6c9a66}.negative{color:#bd8872}.badge{font-size:10px;padding:4px 8px;border-radius:5px;display:inline-flex;align-items:center;white-space:normal;line-height:1.5}.badge.green{background:#eef5e9;color:#7c9f68}.badge.neutral{background:#f1f3ef;color:#98a28e}.badge.gold{background:#fbf4e6;color:#ac935b}.badge.red{background:#fcf0ec;color:#ae725d}.table-footer{border-top:1px solid #f1f3ee;padding:14px 23px;color:#9ca893;font-size:10px}.page-footer{display:flex;align-items:center;justify-content:center;gap:7px;color:#a6b09e;font-size:9px;letter-spacing:.7px;padding:30px 0 10px}.page-footer span{margin-left:auto}.banner{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:8px;font-size:12px;line-height:1.7;margin-bottom:20px}.banner button{background:transparent;border:0;margin-left:auto;padding:4px;min-height:26px;font-size:11px}.banner.integration{background:#eef4ed;color:#6a8667;border:1px solid #e0eadb}.banner.warning{background:#fff5e7;color:#a77c41;border:1px solid #f0dfc6}.banner.demo{background:#eaf2f5;color:#587c8b}.empty{padding:55px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;color:#83917c;min-height:250px;justify-content:center}.empty-icon{background:#f0f5eb;border-radius:18px;color:#7c9d6c;padding:18px}.empty h3{font-size:17px;font-weight:500;margin:19px 0 9px;color:#5c7753}.empty p{font-size:12px;max-width:440px;line-height:1.9;margin:0 0 22px}.form-content{padding:18px 24px 25px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;min-width:0}.field>span{font-size:12px;color:#718369}.field input,.field select{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.inline-form{display:flex;gap:12px;align-items:flex-end;margin:20px 0}.inline-form .field{margin:0;flex:1}.hint{font-size:11px;color:#96a58b;line-height:1.9;margin:15px 0 0}.review-layout{display:grid;grid-template-columns:235px 1fr;gap:22px}.student-list .search{margin:0 16px 15px}.student-list{align-self:start;max-height:740px;overflow:auto}.student-item{display:flex;justify-content:flex-start;width:100%;border:0;border-radius:0;padding:15px 20px;background:#fff;gap:11px;text-align:left}.student-item.selected{background:#f0f5eb;border-left:3px solid #719e5f;padding-left:17px}.student-item>span:nth-child(2){flex:1}.student-item b{display:block;font-size:12px;font-weight:500}.student-item small{display:block;font-size:10px;margin-top:5px;color:#a0ad96}.student-item>svg{color:#8dac79}.week-picker{display:flex;align-items:center;gap:10px;padding:13px 24px;background:#fafcf7;border-block:1px solid #edf2e6;flex-wrap:wrap}.week-picker label{display:flex;align-items:center;gap:10px;font-size:11px;color:#91a080}.week-picker input{padding:7px 10px;font-size:12px}.rating-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.document-link{padding:22px 24px;border-top:1px solid #eaf0e3;background:#fcfdf9}.document-link>div:first-child{display:flex;align-items:center;gap:8px;font-size:12px;color:#719163;margin-bottom:15px}.document-link small{display:block;font-size:10px;color:#9cae8f;line-height:1.9;margin-top:12px}.connection-card{display:flex;align-items:center;gap:22px;padding:30px;margin-bottom:23px}.connection-card h2{font-size:18px;margin:0 0 8px}.connection-card p{font-size:12px;color:#91a182}.connection-card>div:last-child{margin-left:auto}.cloud-icon{width:75px;height:75px;display:grid;place-items:center;border-radius:20px;background:#edf3e6;color:#7d9a62;flex:none}.steps{padding:3px 26px 0}.steps>div{display:flex;align-items:flex-start;gap:15px;margin:22px 0}.steps>div>span{background:#f0f4e9;color:#8ca06e;border:1px solid #e5edda;font-size:11px;border-radius:50%;height:27px;width:27px;display:grid;place-items:center;flex:none}.steps b{font-size:12px;font-weight:500;color:#6b8159}.steps p{font-size:11px;color:#9cab8f;line-height:1.9;margin:7px 0 0}.callback{display:block;background:#f4f7ef;padding:12px;overflow-wrap:anywhere;font-size:10px;color:#819269;margin:10px 0 14px;white-space:normal}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px;background:#f8faf5;border:1px dashed #c8d9ba;border-radius:9px;cursor:pointer;color:#88a66e;margin-bottom:22px;min-height:190px}.upload-area b{font-size:13px;font-weight:500}.upload-area span{font-size:10px;text-align:center;line-height:1.8}.upload-area img{max-width:100%;max-height:220px;object-fit:contain}.knowledge-row{display:flex;gap:13px;align-items:center;border-bottom:1px solid #eef3e7;padding:15px 0;font-size:12px;color:#789064}.knowledge-row span{flex:1}.knowledge-row small{font-size:10px;color:#9db18b}.mistake-list{padding:0 24px 24px}.mistake-card{border:1px solid #e7eddc;border-radius:9px;padding:20px;margin:13px 0}.mistake-card>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mistake-card h3{font-size:14px;font-weight:500;margin:0}.mistake-card p{font-size:12px;line-height:1.9;color:#82966e;white-space:pre-wrap}.mistake-card p b{font-weight:500;color:#667e54}.modal-backdrop{position:fixed;inset:0;background:#263b3055;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px}.modal{background:#fff;border-radius:14px;width:580px;max-width:100%;max-height:90vh;overflow:auto;box-shadow:0 15px 90px #253b3030}.modal.wide{width:850px}.modal>header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;z-index:1}.modal>header h2{font-size:17px;font-weight:500;margin:0}.modal p{line-height:1.9}.modal li{margin:14px 0;color:#748762;font-size:12px}.preview-table{max-height:400px;border:1px solid #e9efdf;border-radius:8px;margin:20px 0}.score-input{width:90px}.block{display:block}.check-label{display:flex;align-items:center;gap:10px;font-size:12px;margin:20px 0;color:#7d9169}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);max-width:90vw;background:#304a36;color:#fff;padding:15px 22px;border-radius:10px;box-shadow:0 7px 30px #283f3620;z-index:150;display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.7}.toast svg{flex:none}.busy-indicator{position:fixed;top:12px;left:50%;transform:translate(-50%);border:1px solid #dce9d1;border-radius:6px;background:#f2f7ed;color:#638451;padding:9px 20px;z-index:160;font-size:12px;box-shadow:0 3px 16px #233e2920}.mobile-menu,.scrim{display:none}@media(min-width:1550px){.workspace{padding-top:45px}.stat-card{padding:24px}.stat-value{font-size:39px}.trend svg{min-height:220px}}@media(max-width:1150px){.sidebar{width:210px;padding-inline:15px}main{margin-left:210px}.workspace{padding:28px 24px}.topbar{padding:0 24px}.chart-grid{grid-template-columns:1.15fr 1fr}.stat-grid{gap:10px}.stat-card{padding:17px 14px}.stat-value{font-size:28px}.page-heading{align-items:flex-start}.page-heading>.actions{flex-direction:column;align-items:stretch}.review-layout{grid-template-columns:190px 1fr}.rating-grid{grid-template-columns:repeat(2,1fr)}th,td{padding-inline:16px}.connection-card{flex-wrap:wrap}}@media(max-width:850px){.sidebar{transform:translate(-100%);transition:transform .2s;width:238px}.sidebar.open{transform:translate(0)}main{margin-left:0}.mobile-menu{display:flex;position:absolute;left:12px;top:19px;z-index:20}.topbar{height:72px;padding-left:57px}.scrim{display:block;position:fixed;inset:0;background:#203a3455;z-index:29}.workspace{padding:24px}.chart-grid{grid-template-columns:1fr 1fr}.review-layout{grid-template-columns:185px 1fr}.date{display:none}.form-content{padding:18px}.page-heading h1{font-size:26px}.rating-grid{gap:10px}}@media(max-width:620px){.workspace{padding:23px 15px 12px}.topbar{padding-right:15px}.breadcrumb{font-size:10px}.top-right{gap:5px}.private-tag{font-size:9px}.page-heading{flex-direction:column;gap:18px;margin-bottom:21px}.page-heading>.actions{flex-direction:row;flex-wrap:wrap}.page-heading p{font-size:11px}.eyebrow{font-size:8px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:16px}.stat-value{font-size:30px}.stat-card p{font-size:9px}.stat-top{font-size:11px}.chart-grid{grid-template-columns:1fr;gap:16px}.filter-bar{gap:8px}.filter-bar>select{flex:1;min-width:130px;font-size:11px}.filter-spacer{display:none}.filter-bar .button,.filter-bar>button{flex:1}.segmented{flex:none}.segmented button{padding:7px 20px}.panel-header{padding:18px 17px 14px}.panel-header h2{font-size:14px}.panel-header p{font-size:9px}.table-tools{padding:5px 15px 15px;flex-direction:column;align-items:stretch}.search{max-width:none}.compare-label{justify-content:space-between}.compare-label select{flex:1;max-width:220px}.panel-header>button{font-size:10px;padding:7px 9px}.review-layout{grid-template-columns:1fr}.student-list{max-height:none;display:flex;overflow-x:auto;align-items:center;padding:8px;gap:6px}.student-list>.panel-header,.student-list>.search{display:none}.student-item{width:auto;padding:10px 12px;border-radius:8px;gap:7px;flex:none}.student-item.selected{border:0;padding:10px 12px}.student-item>svg{display:none}.student-item .avatar{width:27px;height:27px;font-size:10px}.student-item b{font-size:11px}.student-item small{font-size:9px}.week-picker{padding:10px 14px;gap:4px}.week-picker .text-btn{margin-left:auto}.review-editor .form-content,.document-link{padding:18px 16px}.document-link .actions{gap:8px}.document-link button,.document-link .button{font-size:11px;padding:9px 11px}.connection-card{padding:22px 18px;gap:14px}.connection-card>div:last-child{margin:5px 0 0}.cloud-icon{width:53px;height:53px;border-radius:15px}.connection-card h2{font-size:17px}.connection-card p{font-size:10px}.steps{padding-inline:20px}.form-grid{gap:0 12px}.inline-form{flex-wrap:wrap}.inline-form .field{flex:1 1 100px}.inline-form>button{align-self:flex-end}.modal-backdrop{padding:12px}.modal{max-height:94vh;border-radius:10px}.modal>header{padding:15px 17px}.modal>header h2{font-size:15px}.modal .form-content{padding:17px 14px}.modal .actions{flex-wrap:wrap}.form-grid .field{font-size:11px}.banner{font-size:10px;align-items:flex-start;padding:12px}.banner>svg{flex:none}.banner button{font-size:10px}.page-footer{font-size:8px;letter-spacing:0}.page-footer span{display:none}.table-footer{font-size:9px;line-height:1.8}.toast{left:15px;right:15px;transform:none;bottom:15px;font-size:12px;max-width:none}.modal input,.modal select{min-height:42px}.form-content>p{font-size:12px}.mistake-list{padding-inline:14px}.mistake-card{padding:16px}.actions button,.actions .button{min-height:41px}}.upload-status{margin:-3px 0 20px;padding:12px 14px;border-radius:8px;background:#f4f8ef;color:#728b60;font-size:11px}.upload-status>div{display:flex;justify-content:space-between;gap:12px}.upload-status b{font-weight:500}.upload-status progress{width:100%;height:9px;accent-color:#568665;margin:10px 0 2px}.upload-status small{display:block;line-height:1.8;color:#92a480}.upload-status button{margin-top:10px;font-size:11px}.teaching-totals{display:flex;gap:12px;flex-wrap:wrap;padding:3px 23px 16px;font-size:10px;color:#95a58a}.teaching-totals b{font-size:19px;color:#5e7b4d;display:block;margin-top:6px}.teaching-totals>span{flex:1;min-width:60px;padding:12px;border:1px solid #e7eddf;border-radius:8px;background:#fafcf6}.summary-switch{margin:0 23px 18px;width:max-content}.evidence-cell{white-space:normal;min-width:200px;max-width:380px;font-size:11px;line-height:1.8}.upload-area:has(input:disabled){cursor:wait}.summary-switch button{padding-inline:18px}@media(max-width:620px){.teaching-totals{padding-inline:15px;gap:8px}.summary-switch{margin-left:15px}.evidence-cell{min-width:180px}}.danger{color:#b56758;border-color:#edd4ce;background:#fff9f7}.danger:hover{background:#fcf0ec;border-color:#dba99c}.danger-text{color:#b56758}.danger-text:hover{background:#fcf0ec;color:#954}.upload-controls{justify-content:flex-end;margin:-8px 0 10px}.direct-score{width:145px;min-height:43px}.direct-score::placeholder{font-size:11px}.preview-table .direct-score{background:#fff}@media(max-width:620px){.direct-score{width:120px}}.record-selection-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 22px;background:#f7faf3;border-block:1px solid #e8eedf}.record-select-all{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#6f855d;min-height:32px}.record-selection-bar input,.checkbox-cell input,.draft-record-label input{accent-color:#31745e;width:18px;height:18px;margin:0;flex:none;cursor:pointer}.record-selection-bar button{padding:8px 12px;min-height:35px;font-size:11px}.selection-count{font-size:11px;color:#8e9d80;margin-right:auto}.checkbox-cell{width:48px;padding:10px 14px;text-align:center}.checkbox-cell label{display:flex;align-items:center;justify-content:center;min-height:32px;min-width:26px;cursor:pointer}.record-selected,.record-selected:hover{background:#f0f6e9}.draft-record-label{display:flex;align-items:center;gap:12px;min-height:32px;cursor:pointer}.draft-record-label h3{margin:0}.modal .record-selection-bar{border:1px solid #e8eedf;border-radius:8px;padding:12px}@media(max-width:620px){.record-selection-bar{padding:12px 14px;gap:10px}.record-select-all{font-size:11px}.selection-count{font-size:10px}.record-selection-bar button{min-height:39px}.checkbox-cell{padding-inline:12px}}.sidebar{overflow-y:auto}.sidebar nav,.sidebar .sidebar-bottom{flex-shrink:0}.sidebar-note{min-height:90px}@media(max-height:820px){.sidebar-note{display:none}.sidebar .brand{margin-bottom:20px}.sidebar .class-card{margin-bottom:15px}.sidebar .nav-item{padding-block:11px}}.confirm-overlay .modal-backdrop{z-index:200}.confirm-overlay .modal{max-width:620px}.record-selection-bar{position:relative;gap:16px;min-height:64px;margin-bottom:24px;border-bottom:2px solid #dce8d3}.record-selection-bar .record-select-all{padding:12px}.draft-record-label{min-height:44px;gap:18px!important}.draft-record-label input,.record-select-all input{width:20px;height:20px;flex-shrink:0;cursor:pointer}.upload-status{border:1px solid #bcd1af;padding:14px;border-radius:9px;background:#f5f9f0;overflow-wrap:anywhere}.upload-status p[role=alert]{color:#9c382e}.panel-header:has([aria-label=\660e\7ec6\8303\56f4]){flex-wrap:wrap;gap:12px}.topbar-left{display:flex;align-items:center;gap:16px;min-width:0}.back-button{flex:none;padding:8px 11px;min-height:40px;gap:3px}.modal>header h2,.access-dialog>header h2{flex:1;min-width:0}.modal>header,.access-dialog>header{gap:12px}.modal>header .back-button,.access-dialog>header .back-button{font-size:12px;padding:7px 8px}.topbar .breadcrumb{min-width:0}.topbar .breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:620px){.topbar-left{gap:9px}.topbar .breadcrumb-root,.topbar .breadcrumb>svg,.topbar .private-tag{display:none}.topbar .breadcrumb{font-size:11px}.modal>header h2,.access-dialog>header h2{font-size:15px}}
