:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#183453;background:#f2f6fd;font-synthesis:none;--blue:#5389f6;--blue-deep:#396bd4;--ink:#183453;--muted:#7c8a9c;--line:#e7edf5;--soft:#eaf1ff;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--blue-deep);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #5389f668;outline-offset:3px}h1,h2,h3,p{margin-top:0}h2{font-size:22px;line-height:1.45;letter-spacing:-.02em}h3{font-size:16px;line-height:1.5}p{line-height:1.8}.muted{color:var(--muted)}.fine{font-size:12px;line-height:1.8}.eyebrow{color:#6484b2;font-size:12px;font-weight:650;letter-spacing:.04em;margin-bottom:14px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 18px;border-radius:10px;border:1px solid transparent;font-weight:600;white-space:nowrap;transition:background .16s}.primary{background:var(--blue);color:#fff}.primary:hover:not(:disabled){background:#4279e8}.secondary{background:#fff;border-color:#dfe7f2;color:#456d9d}.secondary:hover:not(:disabled){background:#f5f8fe}.text-button,.quiet-link{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:10px 0;color:#5279b1}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#7c8a9c}.icon-button:hover{background:#edf3fd;color:var(--blue-deep)}.icon-button.danger:hover{background:#fff0ed;color:#b94736}.notice{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid #dae6fa;border-radius:11px;background:#f0f6ff;color:#456690;font-size:13px;line-height:1.8;margin:0 0 18px;overflow-wrap:anywhere}.notice>span{display:inline-flex;flex-shrink:0;margin-top:2px}.notice>div{flex:1;min-width:0}.notice>div>svg{vertical-align:middle}.notice p{margin:4px 0 0}.notice ul{padding-left:20px;margin:4px 0}.notice.error{background:#fff5f2;color:#a54535;border-color:#f3d8d1}.notice.success{background:#eff8f3;color:#377353;border-color:#d6eadd}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:#4c7acb;background:#eaf1ff;flex-shrink:0}.brand strong{display:block;font-size:18px;letter-spacing:-.02em}.brand small{display:block;font-size:10px;color:#91a0b3;margin-top:5px;white-space:nowrap}.avatar{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:#eaf1ff;color:#4878c9;font-size:22px;flex-shrink:0}.avatar.small{width:35px;height:35px;border-radius:11px;font-size:14px}.form-stack{display:grid;gap:19px}.form-stack label{display:grid;gap:8px;color:#64768f;font-size:13px;min-width:0}.form-stack input,.form-stack select{width:100%;min-width:0;min-height:46px;padding:11px 13px;border:1px solid #dfe7f2;border-radius:10px;background:#fbfdff;color:var(--ink);outline:none}.form-stack input:focus,.form-stack select:focus{border-color:#5389f6;outline:3px solid #5389f621}.form-stack input::placeholder{color:#a4afbf}.form-stack input[readonly]{background:#f4f7fc;color:#8794a6}.form-stack fieldset{display:grid;gap:19px;margin:0;padding:0;border:0;min-width:0}.form-stack fieldset:disabled{opacity:.6}.form-row{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}.code-field{display:flex;gap:8px}.code-field input{min-width:0;flex:1}.code-field .secondary{font-size:12px;padding:10px 12px}.segment{display:flex;gap:5px;border-radius:12px;padding:5px;background:#f0f4fb;margin:0 0 22px}.segment button{border:0;background:transparent;flex:1;padding:11px 10px;border-radius:9px;font-weight:600;color:#7c8a9c}.segment button[aria-selected=true]{background:#fff;color:#4273c3;box-shadow:0 2px 8px #32547c0a}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 4px 20px #18345303}.panel-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:23px}.panel-heading h2{margin:0 0 6px;font-size:20px}.panel-heading p{margin:0;font-size:13px}.section-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:#edf3ff;color:#6389c8}.footer{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:#9ba8ba;padding:36px 10px 12px;font-size:11px;line-height:1.7}.footer a{color:#9ba8ba}.loading{display:flex;align-items:center;justify-content:center;gap:14px;min-height:90svh;color:var(--muted)}.loading p{margin:0}.spinner{display:inline-block;width:22px;height:22px;border:2px solid #c5d8f6;border-top-color:#5389f6;border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:16px;height:16px;border-color:#fff6;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.boot-error{max-width:600px;margin:14vh auto;padding:28px}.boot-error .brand{margin-bottom:30px}.access-page{min-height:100svh;background:radial-gradient(ellipse at 12% 90%,#dfeaff,transparent 43%),radial-gradient(ellipse at 70% 0,#f9f5e8,transparent 35%),#f2f6fd;padding:34px max(30px,calc((100vw - 1250px)/2)) 20px}.access-top{display:flex;justify-content:space-between;align-items:center}.access-top .brand strong{font-size:23px}.access-top .brand small{font-size:11px}.access-main{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center;min-height:calc(100svh - 200px);padding:52px 0 24px}.access-intro h1{font-size:clamp(36px,3.7vw,54px);line-height:1.42;font-weight:800;letter-spacing:-.035em;margin:0 0 24px}.access-lead{font-size:17px;color:#7a8ca4;line-height:1.9}.access-illustrations{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:25px}.illustration{display:block;aspect-ratio:1;background-image:url(/assets/teacher-preview/feature-illustrations.png);background-size:300% auto;background-repeat:no-repeat;mix-blend-mode:multiply}.class-art{background-position:left center}.calendar-art{background-position:center}.chat-art{background-position:right center}.access-features{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;color:#5276aa;font-size:14px;font-weight:600;margin-top:4px}.access-bottom{color:#91a3bd;font-size:12px;margin-top:31px}.access-card{width:100%;max-width:470px;justify-self:end;padding:38px;background:#ffffffed;border:1px solid #fff;border-radius:25px;box-shadow:0 12px 45px #31578108}.access-key{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#eef4ff;color:#5b87d8;margin-bottom:22px}.access-card h2{font-size:23px;margin-bottom:12px}.access-card>.muted{margin-bottom:25px}.access-card .primary{margin-top:3px;min-height:49px}.access-account-note{display:flex;gap:11px;align-items:center;padding-top:24px;margin-top:27px;border-top:1px solid var(--line);color:#91a2b9}.access-account-note p{margin:0;font-size:12px;line-height:1.9}.access-card>.fine{margin:23px 0 0;color:#9ca8b9}.sidebar{position:fixed;left:20px;top:20px;bottom:20px;width:236px;display:flex;flex-direction:column;border:1px solid #e4ebf6;border-radius:22px;background:#ffffffed;box-shadow:0 8px 30px #385c9910;z-index:20;overflow:hidden}.sidebar .brand{padding:25px 19px 22px;border-bottom:1px solid #edf1f8;gap:10px}.sidebar .brand strong{font-size:16px}.sidebar .brand-mark{width:39px;height:39px}.sidebar .brand small{font-size:9px}.sidebar nav{flex:1;overflow:auto;padding:17px 13px}.nav-section{font-size:10px;color:#a0adbf;letter-spacing:.06em;margin:5px 12px 12px}.nav-section.secondary-section{margin-top:29px}.sidebar nav>button{display:flex;width:100%;align-items:center;gap:12px;text-align:left;min-height:47px;border:0;border-radius:11px;background:transparent;color:#73849b;padding:11px 13px;margin:3px 0}.sidebar nav>button.active{background:#eaf1ff;color:#487acb;font-weight:650}.sidebar nav>button:hover:not(.active){background:#f6f8fc;color:#446a9e}.sidebar nav>button>span:nth-child(2){flex:1}.sidebar nav>button>small{font-size:10px;color:#6e93cf}.nav-dot{width:5px;height:5px;border-radius:50%;background:#9db9e2}.sidebar-bottom{padding:18px 15px;border-top:1px solid #edf1f8}.sidebar-user{display:flex;gap:9px;align-items:center;margin-bottom:17px}.sidebar-user>div{min-width:0;flex:1}.sidebar-user strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{display:block;margin-top:5px;color:#93a1b5;font-size:10px}.sidebar-bottom>a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#96a6bc}.main-content{margin-left:256px;padding:44px 46px 20px;max-width:1800px;min-height:100svh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 26px;margin-bottom:28px;border-bottom:1px solid #dfe7f2}.topbar h1{font-size:30px;font-weight:750;letter-spacing:-.025em;margin:0 0 10px}.topbar>div>p:not(.mobile-brand){margin:0;color:#7a899e;font-size:13px}.topbar-meta{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex-shrink:0}.topbar-meta>span{display:flex;align-items:center;gap:7px;color:#8091a8;font-size:12px}.user-pill{display:flex;align-items:center;gap:7px;padding:8px 12px;border:0;border-radius:9px;color:#5a7fb4;background:#e9f0fd;font-size:12px}.mobile-brand,.mobile-nav,.mobile-more{display:none}.me-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.onboard-hint{display:flex;align-items:center;gap:12px;margin:0 0 25px;padding:15px 16px;background:#f2f6ff;border-radius:11px}.onboard-hint>span{color:#83a1cd;font-size:18px;font-weight:650}.onboard-hint p{margin:0;color:#6b82a3;font-size:12px;line-height:1.8}.onboard-hint.quiet{background:#f7f9fc}.account-block>.text-button{font-size:12px;margin-top:9px}.account-summary{display:flex;gap:14px;align-items:center;padding:12px 0 30px}.account-summary strong{display:block;font-size:20px;margin-bottom:9px}.account-summary div>span{display:flex;align-items:center;gap:5px;color:#6f9a83;font-size:12px}.info-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-top:1px solid var(--line);font-size:13px}.info-row>span{color:#8190a5;white-space:nowrap}.info-row strong{font-size:12px;font-weight:500;word-break:break-all}.account-panel>.notice{margin-top:25px;margin-bottom:0}.registration-needed{text-align:center;padding:65px 28px}.registration-needed>svg{color:#86a8de;margin-bottom:20px}.registration-needed p{max-width:450px;margin:0 auto 25px}.welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px 36px;background:linear-gradient(110deg,#fff,#f9fbff)}.welcome h2{font-size:28px;margin-bottom:15px}.welcome p:not(.eyebrow){color:#7c8fa8;font-size:13px;margin-bottom:24px}.overview-art{width:200px;min-width:170px;aspect-ratio:1;background-image:url(/assets/teacher-preview/feature-illustrations.png);background-size:300% auto;background-position:left center;mix-blend-mode:multiply}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.material-card{display:flex;align-items:center;gap:18px;min-height:142px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left}.material-card:hover{border-color:#bfcff0}.material-card>div:nth-child(2){flex:1}.material-card h3{margin:0 0 10px;font-size:17px}.material-card p{margin:0 0 4px;font-size:13px;color:#71849e}.material-card small{color:#a1adbe;font-size:11px;line-height:1.7;display:block}.material-card>svg{color:#9fb3cf}.material-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;flex-shrink:0;background:#eaf1ff;color:#7397d0}.material-icon.duties{background:#edf6f2;color:#81a790}.material-icon.timetable{background:#fff7e4;color:#c6a45c}.material-icon.routine{background:#f2eff9;color:#a093c2}.next-step{display:flex;align-items:center;gap:18px;padding:25px}.next-step>svg{color:#7c9bc4;flex-shrink:0}.next-step>div{flex:1}.next-step h3{margin-bottom:5px}.next-step p{margin:0;font-size:12px}.material-page{display:grid;gap:22px}.material-page>.notice{margin:0}.import-heading,.saved-header,.preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.import-heading h2,.saved-header h2,.preview-header h2{margin:0 0 9px;font-size:21px}.import-heading p,.saved-header p,.preview-header p{margin-bottom:0;font-size:13px}.import-heading .eyebrow,.preview-header .eyebrow{margin-bottom:12px}.import-heading>.secondary{margin-top:17px;font-size:12px}.import-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:36px;align-items:center}.drop-zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:27px 22px;border:1.5px dashed #c4d5ef;border-radius:14px;background:#f8fbff;text-align:center;overflow-wrap:anywhere}.drop-zone.dragging{border-color:var(--blue);background:#edf4ff}.drop-zone>input{position:absolute;width:1px;height:1px;opacity:0}.upload-symbol{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:#ecf3ff;color:#82a4da;margin-bottom:17px}.drop-zone h3{font-size:15px;margin-bottom:9px;max-width:100%;overflow-wrap:anywhere}.drop-zone p{font-size:11px;color:#91a4be;margin-bottom:19px}.drop-zone>.secondary{font-size:12px;min-height:37px;padding:8px 20px}.drop-zone>small{font-size:10px;color:#a6b4c7;margin-top:15px}.import-help{padding:8px 0}.file-types{display:flex;align-items:center;gap:17px;color:#96a9c2;margin-bottom:22px;font-size:12px}.file-types>span{display:flex;align-items:center;gap:6px}.file-types>span:first-child{color:#7d9e8c}.file-types>span:last-child{color:#7998c5}.import-help h3{font-size:16px;margin-bottom:15px}.import-help ol{padding-left:19px;font-size:12px;color:#7e8fa6;line-height:2.3;margin-bottom:18px}.import-help>.fine{font-size:11px;max-width:320px}.import-actions,.preview-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;margin-top:26px;border-top:1px solid var(--line)}.import-actions .text-button{font-size:12px}.saved-header{align-items:center}.saved-header h2{display:flex;align-items:center;gap:11px}.count{padding:3px 8px;border-radius:7px;background:#edf3fd;color:#7392c2;font-size:12px;line-height:1.5;font-weight:500}.saved-header p{display:flex;align-items:center;gap:5px;font-size:11px;color:#9aa9bd}.action-group{display:flex;gap:8px}.action-group>.primary,.action-group>.secondary{font-size:12px;min-height:38px;padding:9px 13px}.table-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px;scrollbar-width:thin}.table-scroll table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.table-scroll th{background:#f7f9fe;color:#8192ab;font-weight:500;height:42px;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.table-scroll td{padding:14px;border-bottom:1px solid #edf1f7;color:#5f7695;line-height:1.6;min-width:95px;max-width:280px;overflow-wrap:anywhere}.table-scroll tbody tr:last-child td{border-bottom:0}.table-scroll tbody tr:hover{background:#fcfdff}.table-scroll .row-index{width:55px;min-width:55px;max-width:55px;color:#a1afc2;text-align:center}.table-scroll .row-action{min-width:60px;width:60px;padding:6px 10px}.editable-table td{padding:7px 8px;min-width:130px}.editable-table input,.editable-table select{width:100%;min-width:90px;padding:9px;border:1px solid transparent;background:transparent;border-radius:6px;color:#456a9c;outline:none;font-size:12px}.editable-table input:hover,.editable-table select:hover{border-color:#e2eaf7}.editable-table input:focus,.editable-table select:focus{border-color:var(--blue);background:#fff;outline:2px solid #5389f622}.editable-table input[type=date]{min-width:140px}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;color:#9eacc0;font-size:11px}.table-footer>div{display:flex;align-items:center;gap:10px}.method-badge{display:inline-flex;align-items:center;gap:6px;background:#edf3fd;color:#7494c5;border-radius:7px;padding:7px 10px;font-size:11px;white-space:nowrap}.source-line{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:11px;color:#91a2ba}.source-line>span{flex:1;overflow-wrap:anywhere}.source-line>strong{font-weight:500;color:#7391bb;white-space:nowrap}.review-notes{background:#fffaf0;border:1px solid #eee1c8;border-radius:10px;padding:13px 16px;margin-bottom:18px;color:#a18b61;font-size:12px;line-height:1.9}.review-notes summary{cursor:pointer;font-weight:600}.review-notes ul{padding-left:19px;margin:8px 0 0}.preview-add{padding:6px 0}.preview-add .text-button{font-size:12px}.preview-actions{justify-content:flex-end;margin-top:10px}.preview-panel>.notice{margin-top:12px}.import-panel{padding-bottom:23px}.download-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}.download-card{padding:34px}.download-mark{display:flex;width:86px;height:86px;align-items:center;justify-content:center;background:#edf4ff;color:#7a9fd7;border-radius:24px;margin-bottom:22px}.download-card>.method-badge{margin-bottom:15px}.download-card h2{font-size:27px;margin:0 0 15px}.download-card>.muted{font-size:13px}.important-note{display:flex;gap:12px;align-items:flex-start;padding:19px;background:#eef4ff;border:1px solid #dbe7fd;border-radius:12px;margin:24px 0}.important-note>svg{color:#739ad4;flex-shrink:0;margin-top:2px}.important-note strong{color:#4974b7;font-size:14px}.important-note p{color:#7890b1;font-size:12px;margin:7px 0 0}.client-version{margin:24px 0;padding:0 0 23px;border-bottom:1px solid var(--line)}.client-version strong{font-size:13px;color:#6d809a}.client-version p{margin:9px 0 0;color:#8d9bb0;font-size:12px;line-height:1.9}.download-ack{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#7c8fa9;line-height:1.9;margin-bottom:21px;cursor:pointer}.download-ack input{width:16px;height:16px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}.download-button{width:100%;min-height:49px}.download-card>.fine{margin:14px 0 0;text-align:center;font-size:10px}.download-steps{padding:29px}.download-steps h3{font-size:18px;margin-bottom:27px}.numbered-steps{list-style:none;padding:0;margin:0 0 30px}.numbered-steps>li{display:flex;gap:15px;align-items:flex-start;padding-bottom:27px}.numbered-steps>li:last-child{padding-bottom:0}.numbered-steps>li>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#edf3ff;color:#83a0cd;flex-shrink:0;font-size:12px}.numbered-steps strong{font-size:14px;color:#607a9e}.numbered-steps p{font-size:12px;color:#94a3b8;margin:8px 0 0;line-height:1.9}.download-steps>.notice{font-size:11px;margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#15345b45;display:grid;place-items:center;padding:22px;z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog{width:100%;max-width:480px;padding:30px;border-radius:20px;background:#fff;box-shadow:0 20px 70px #15345b22}.confirm-dialog>svg{color:#bf9b62}.confirm-dialog h2{font-size:21px;margin:18px 0 12px}.confirm-dialog p{color:#8796ac;font-size:13px;line-height:1.9}.confirm-dialog>div{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.confirm-dialog button{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1700px){.main-content{padding-inline:70px}.access-main{gap:110px}}@media(max-width:1150px){.sidebar{left:15px;top:15px;bottom:15px;width:214px}.sidebar .brand{padding-inline:15px}.sidebar .brand strong{font-size:15px}.sidebar .brand small{font-size:8px}.main-content{margin-left:229px;padding:35px 27px 18px}.topbar{align-items:flex-start}.topbar-meta{gap:12px}.me-grid,.download-grid{gap:18px}.panel{padding:23px}.import-columns{gap:24px;grid-template-columns:1.2fr 1fr}.access-page{padding-inline:35px}.access-main{gap:45px}.access-card{padding:30px}.access-intro h1{font-size:43px}.access-lead{font-size:15px}.access-bottom{font-size:11px}.welcome{padding:28px}.overview-art{width:160px;min-width:140px}.material-card{padding:19px;gap:13px}.material-icon{width:45px;height:45px;border-radius:13px}.next-step{flex-wrap:wrap}.next-step>.secondary{margin-left:46px}}@media(max-width:920px){.me-grid,.download-grid{grid-template-columns:1fr}.topbar-meta>span{display:none}.topbar-meta{padding-top:2px}.overview-grid,.import-columns{grid-template-columns:1fr}.import-help{display:none}.drop-zone{min-height:260px}.access-main{grid-template-columns:1fr 1fr;gap:30px}.access-intro h1{font-size:36px}.access-card{padding:27px}.access-card h2{font-size:20px}.access-top .quiet-link{font-size:12px}.access-top .brand strong{font-size:20px}.access-features{font-size:12px}.access-account-note{font-size:11px}}@media(max-width:720px){:root{font-size:14px}.sidebar{display:none}.main-content{margin:0;padding:25px 18px 100px;min-height:100svh}.topbar{margin-bottom:22px;padding-bottom:21px;gap:10px}.topbar h1{font-size:27px;margin-bottom:9px}.topbar>div>p:not(.mobile-brand){font-size:12px;line-height:1.8}.mobile-brand{display:block;color:#8fa4c3;font-size:11px;margin-bottom:14px}.topbar-meta{padding-top:36px}.user-pill{font-size:10px;padding:7px;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-pill svg{flex-shrink:0}.panel{padding:23px 20px;border-radius:16px}.panel-heading{gap:11px}.panel-heading h2{font-size:19px}.panel-heading p{font-size:12px}.me-grid{gap:18px}.form-stack{gap:17px}.form-stack label{font-size:12px}.form-stack fieldset{gap:17px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;border-top:1px solid #e3eaf6;background:#fffffffa;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:9px 5px max(9px,env(safe-area-inset-bottom));z-index:40;box-shadow:0 -5px 20px #31578105}.mobile-nav>button{border:0;background:transparent;color:#98a8bf;display:flex;align-items:center;justify-content:center;flex:1;flex-direction:column;gap:5px;font-size:10px;min-height:44px}.mobile-nav>button.active{color:#5a88d9}.mobile-more{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35}.more-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#15345b22}.mobile-more>div{position:absolute;bottom:89px;left:15px;right:15px;background:#fff;border:1px solid #e3eaf6;border-radius:18px;padding:12px;box-shadow:0 -8px 35px #31578112}.mobile-more>div>button{display:flex;align-items:center;gap:13px;border:0;background:none;width:100%;padding:15px 13px;font-size:14px;color:#6482ab;text-align:left}.mobile-more>div>button>svg:last-child{margin-left:auto}.footer{font-size:9px;gap:10px;padding-top:28px}.access-page{padding:24px 23px 18px}.access-top .brand strong{font-size:20px}.access-top .brand small{display:none}.access-top .quiet-link{font-size:0;gap:0}.access-top .quiet-link svg{width:19px;height:19px}.access-main{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:40px 0 8px;min-height:0}.access-intro .eyebrow{font-size:11px;margin-bottom:14px}.access-intro h1{font-size:35px;margin-bottom:17px;line-height:1.4}.access-lead{font-size:13px;line-height:1.9;margin-bottom:0}.access-illustrations,.access-features,.access-bottom{display:none}.access-card{max-width:none;padding:27px 24px;border-radius:20px}.access-key{display:none}.access-card h2{font-size:20px}.access-card>.muted{font-size:12px;margin-bottom:23px}.access-account-note{margin-top:24px;padding-top:20px}.access-card>.fine{font-size:10px}.welcome{padding:25px 22px}.welcome h2{font-size:23px}.welcome p:not(.eyebrow){font-size:12px}.overview-art{display:none}.overview-grid{gap:14px;margin-block:18px}.material-card{min-height:126px;padding:20px}.material-card h3{font-size:16px}.material-card small{font-size:10px}.next-step{padding:22px;gap:14px}.next-step h3{font-size:14px}.next-step>.secondary{margin-left:42px;font-size:12px}.import-heading,.saved-header,.preview-header{gap:15px;flex-wrap:wrap;margin-bottom:22px}.import-heading h2,.saved-header h2,.preview-header h2{font-size:20px}.import-heading p,.preview-header p{font-size:12px}.import-heading>.secondary{margin:0;font-size:11px;padding:9px 12px;min-height:36px}.drop-zone{min-height:259px;padding:24px 17px}.drop-zone h3{font-size:14px}.drop-zone p{font-size:10px}.import-actions{flex-direction:column-reverse;align-items:stretch;gap:14px}.import-actions>.text-button{justify-content:center;font-size:12px}.import-actions>.primary{width:100%}.action-group{width:100%}.action-group>button{flex:1}.table-scroll td{font-size:11px;padding:12px}.table-scroll th{font-size:11px;padding:11px 12px}.table-scroll .row-index{min-width:43px;width:43px}.editable-table td{padding:6px;min-width:125px}.editable-table .row-index,.table-footer,.source-line,.method-badge{font-size:10px}.preview-actions>.primary,.preview-actions>.secondary{font-size:12px;padding-inline:13px}.review-notes{font-size:11px;padding:12px}.download-card{padding:27px 22px}.download-mark{width:72px;height:72px;border-radius:21px}.download-card h2{font-size:25px}.important-note{padding:16px;gap:10px}.important-note strong{font-size:13px}.important-note p{font-size:11px}.download-steps{padding:25px 22px}.registration-needed{padding:50px 23px}.registration-needed h2{font-size:21px}.confirm-dialog{padding:25px}.confirm-dialog>div{flex-wrap:wrap}.confirm-dialog>div>button{flex:1}.form-row{gap:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition:none!important}}.field-hint{font-size:11px;font-weight:400;line-height:1.7;color:#8799b2}.access-card .segment{margin-bottom:22px}.sidebar-user{margin-bottom:0}.access-main{padding-top:30px}.access-card{padding:30px}.access-card>.fine{margin-top:18px}@media(max-width:720px){.access-card{padding:25px 22px}.access-main{padding-top:28px}}.optional-tag{display:inline-flex;vertical-align:middle;padding:3px 8px;border-radius:6px;background:#edf3fc;font-size:11px;color:#8297b5;font-weight:400}.import-methods{max-width:420px;margin-bottom:24px}.paste-label{display:flex;flex-direction:column;gap:10px;font-weight:600}.name-paste{display:block;resize:vertical;min-height:220px;width:100%;padding:16px;border:1px solid #dce5f2;border-radius:12px;background:#fbfdff;color:var(--ink);line-height:1.8;outline:none}.name-paste:focus{border-color:#82a8ef;box-shadow:0 0 0 3px #5389f615}.paste-label>span{font-weight:400}.student-file-pick{display:flex;align-items:center;gap:18px;padding:23px;background:#f5f8fe;border:1px dashed #ccdaee;border-radius:13px}.student-file-pick>svg{color:#7199d4;flex-shrink:0}.student-file-pick>div{flex:1;min-width:0;overflow-wrap:anywhere}.student-file-pick strong{font-size:14px}.student-file-pick p{font-size:12px;margin:7px 0 0}.column-options{margin-top:22px;max-width:700px}.inline-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important}.inline-checkbox>input{width:16px!important;min-height:16px!important}.duty-mode-panel{margin-bottom:24px}.duty-mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.duty-mode-cards>button{text-align:left;display:flex;flex-direction:column;gap:9px;padding:22px;border:1px solid #e0e7f2;border-radius:12px;background:#fff}.duty-mode-cards>button.selected{border-color:#94b4ed;background:#f1f6ff;box-shadow:inset 0 0 0 1px #b5ccf6}.duty-mode-cards strong{font-size:16px;color:#486d9c}.duty-mode-cards span{font-size:12px;line-height:1.7;color:#8394ad}.duty-options{padding:19px 20px;background:#f7f9fd;border-radius:11px;margin:18px 0}.duty-options label{display:flex;align-items:center;gap:15px;font-size:12px;font-weight:600}.duty-options input,.duty-options select{border:1px solid #dce4f0;border-radius:8px;background:#fff;padding:9px 11px;color:var(--ink);min-height:40px;max-width:100%}.duty-options p{margin:12px 0 0}.import-actions>p{margin:0;max-width:480px}@media(max-width:720px){.student-file-pick{padding:18px;gap:12px;flex-wrap:wrap}.student-file-pick>.secondary{width:100%}.duty-mode-cards{grid-template-columns:1fr;gap:10px}.duty-mode-cards>button{padding:17px}.duty-options{padding:16px}.duty-options label{align-items:flex-start;flex-direction:column;gap:9px}.duty-options input,.duty-options select{width:100%}.name-paste{min-height:200px}.import-methods{max-width:none}.optional-tag{font-size:10px}}
