@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{color:#f8fafc;font-synthesis:none;background:#0f172a;font-family:Noto Sans KR,DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.page-shell{background:radial-gradient(circle at 12% 12%,#243c74 0,#0000 32%),linear-gradient(135deg,#0f172a,#16254d 58%,#0d1835);flex-direction:column;min-height:100vh;padding:0 7vw;display:flex}.topbar{letter-spacing:.12em;border-bottom:1px solid #ffffff18;justify-content:space-between;align-items:center;min-height:76px;font-size:12px;display:flex}.brand{align-items:center;gap:10px;font-weight:800;display:flex}.brand-mark{color:#adc0ff;background:#ffffff10;border:1px solid #91a7ff66;border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.status{color:#b1bfdb;letter-spacing:.04em;font-size:11px}.status-dot{background:#7de2ad;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 0 4px #7de2ad1c}.layout{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;width:100%;max-width:1120px;margin:0 auto;padding:42px 0;display:grid}.eyebrow,.step-label{color:#91a7ff;letter-spacing:.16em;font-size:11px;font-weight:700}.intro h1{letter-spacing:-.07em;margin:18px 0 24px;font-size:clamp(40px,5.1vw,72px);line-height:1.12}.intro h1 em{color:#a9baff;font-style:normal}.intro-copy{color:#bec9df;font-size:16px;line-height:1.9}.intro-note{color:#91a0bc;align-items:center;gap:8px;margin-top:42px;font-size:12px;display:flex}.card-wrap{justify-content:center;display:flex}.card,.panel{color:#17213b;background:#f8fafc;border-radius:24px;width:min(100%,480px);padding:34px 36px;box-shadow:0 24px 80px #050b1c55}.card h2,.panel h2{letter-spacing:-.05em;margin:12px 0 8px;font-size:25px;line-height:1.4}.helper{color:#7a849a;margin:4px 0 24px;font-size:13px}.card label,.panel label{color:#5c6880;margin-top:17px;font-size:12px;font-weight:700;display:block}.card input,.card select,.panel input{color:#17213b;background:#fff;border:1px solid #dfe4ed;border-radius:11px;outline:none;width:100%;margin-top:8px;padding:13px 14px;transition:all .2s;display:block}.card select{cursor:pointer}.card input:focus,.card select:focus,.panel input:focus{border-color:#7186e9;box-shadow:0 0 0 4px #7186e91a}.email-row{background:#fff;border:1px solid #dfe4ed;border-radius:11px;grid-template-columns:minmax(80px,1fr) auto;align-items:center;margin-top:8px;display:grid;overflow:hidden}.email-row:focus-within{border-color:#7186e9;box-shadow:0 0 0 4px #7186e91a}.email-row input{min-width:0;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important}.email-row span{color:#67738c;white-space:nowrap;padding:0 13px;font-size:12px}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.role-tabs{background:#e9edf6;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0;padding:5px;display:grid}.role-tab{color:#68758f;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 5px;font-weight:700}.role-tab.active{color:#4058c5;background:#fff;box-shadow:0 4px 12px #20326014}.primary{color:#fff;cursor:pointer;background:#4e66d9;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:25px;padding:14px 18px;font-weight:700;transition:all .2s;display:flex}.primary:hover:not(:disabled){background:#3f56c4;transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}.text-button{color:#7180a0;cursor:pointer;background:0 0;border:0;margin:16px auto 0;font-size:12px;display:flex}.registration-switch{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.registration-switch button{color:#596782;cursor:pointer;background:#fff;border:1px solid #dfe4ed;border-radius:10px;padding:10px 6px;font-size:12px}.registration-switch button:hover{color:#4058c5;border-color:#7186e9}.error,.notice{margin:13px 0 0;font-size:12px;line-height:1.5}.error{color:#c43e58}.notice{color:#178657}.success-card{text-align:center}.success-icon{color:#238b59;background:#ddf7e9;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 20px;display:grid}.workspace-wrap{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:54px 0}.workspace-heading{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.workspace-heading h1{letter-spacing:-.05em;margin:8px 0 2px;font-size:38px}.workspace-heading p{color:#aebbd4;margin:0;font-size:13px}.outline-button,.icon-button{color:#d9e2f5;cursor:pointer;background:#ffffff10;border:1px solid #ffffff2f;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;display:flex}.workspace-grid,.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:24px;display:grid}.panel{width:100%;box-shadow:0 20px 60px #050b1c45}.section-heading{justify-content:space-between;align-items:flex-start;display:flex}.section-heading h2{margin:7px 0 4px}.panel .icon-button{color:#596782;background:#fff;border-color:#dfe4ed;padding:9px}.selection-list{border-top:1px solid #e7ebf2;margin-top:16px}.selection-row{border-bottom:1px solid #e7ebf2;justify-content:space-between;align-items:center;gap:14px;padding:14px 2px;display:flex}.selection-row>div{align-items:center;gap:12px;min-width:0;display:flex}.selection-row b{color:#4e66d9;font-size:14px}.selection-row span{color:#67738c;text-overflow:ellipsis;font-size:12px;overflow:hidden}.selection-row>strong{font-size:21px}.selection-row small{color:#7b879d;margin-left:3px;font-size:11px;font-weight:500}.empty-state{text-align:center;color:#8893a8;padding:26px 8px;font-size:13px}.approval-list{margin-top:12px}.approval-item{border-bottom:1px solid #e7ebf2;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.approval-item>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.approval-item strong{font-size:15px}.approval-item span,.approval-item small{color:#738099;text-overflow:ellipsis;font-size:11px;overflow:hidden}.approval-actions{gap:7px;display:flex}.approve-button,.reject-button{cursor:pointer;border:0;border-radius:8px;padding:8px 11px;font-size:12px;font-weight:700}.approve-button{color:#187849;background:#ddf7e9}.reject-button{color:#b12e49;background:#fde8ec}footer{text-align:center;color:#7180a0;padding:22px 0;font-size:11px}@media (max-width:800px){.page-shell{padding:0 20px}.layout{grid-template-columns:1fr;gap:28px;padding:38px 0}.intro h1{font-size:46px}.intro-note{margin-top:24px}.card{padding:28px 24px}.workspace-grid,.admin-grid{grid-template-columns:1fr}.workspace-wrap{padding:38px 0}.workspace-heading h1{font-size:32px}.email-row{grid-template-columns:minmax(65px,1fr) auto}.email-row span{padding:0 9px;font-size:10px}.field-grid{gap:8px}}@media (max-width:420px){.status{display:none}.intro h1{font-size:40px}.registration-switch,.field-grid{grid-template-columns:1fr}.approval-item{flex-direction:column;align-items:flex-start}.approval-actions{width:100%}.approval-actions button{flex:1}}.panel input[readonly]{color:#4e5d78;background:#eef2f8;font-weight:700}.panel input:disabled{color:#9aa4b7;cursor:not-allowed;background:#eef1f6}.chapter-combobox{position:relative}.chapter-options{z-index:20;background:#fff;border:1px solid #d8dfeb;border-radius:12px;max-height:270px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 42px #17213b2b}.chapter-option{text-align:left;color:#35415b;cursor:pointer;background:#fff;border:0;border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:10px 11px;display:grid}.chapter-option:hover,.chapter-option.selected{color:#3f56c4;background:#edf1ff}.chapter-option b{color:#4e66d9;font-size:13px}.chapter-option span{font-size:12px;line-height:1.45}.chapter-empty{text-align:center;color:#8490a5;padding:18px;font-size:12px}.unit-match{color:#3f56c4;margin-top:8px;font-size:12px;font-weight:700;display:block}.student-dashboard,.teacher-dashboard{grid-template-columns:minmax(300px,.86fr) minmax(0,1.35fr);align-items:start;gap:24px;display:grid}.task-list-panel{padding-bottom:24px}.task-list{flex-direction:column;gap:9px;margin-top:16px;display:flex}.task-card{text-align:left;color:#364159;cursor:pointer;background:#fff;border:1px solid #e1e6ef;border-radius:13px;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;padding:13px;transition:all .18s;display:grid}.task-card:hover,.task-card.selected{background:#f0f3ff;border-color:#7186e9;transform:translateY(-1px)}.task-icon{color:#4e66d9;background:#e8edff;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.task-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.task-copy small{color:#7180a0;font-size:10px}.task-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.task-copy em{color:#1d8b59;font-size:10px;font-style:normal}.assignment-work{min-height:430px}.task-context{border-bottom:1px solid #e6eaf1;margin-bottom:20px;padding-bottom:18px}.task-context>span{color:#4e66d9;background:#e8edff;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.task-context h2{margin-bottom:0}.text-button.inline{margin:8px 0 0}.empty-task{text-align:center;color:#7b879d;flex-direction:column;justify-content:center;align-items:center;min-height:350px;display:flex}.empty-task>span{color:#536bdc;background:#e9edfa;border-radius:20px;place-items:center;width:66px;height:66px;display:grid}.empty-task h2{color:#26324a;margin-bottom:6px}.empty-task p{font-size:13px;line-height:1.8}.create-task-panel select,.panel select{color:#17213b;background:#fff;border:1px solid #dfe4ed;border-radius:11px;outline:none;width:100%;margin-top:8px;padding:13px 14px;display:block}.assessment-list{margin-top:14px}.assessment-item{border:1px solid #e3e8f0;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:9px;padding:8px;display:grid}.assessment-item.selected{background:#f5f7ff;border-color:#7186e9}.assessment-main{text-align:left;cursor:pointer;color:#26324a;background:0 0;border:0;flex-direction:column;gap:3px;min-width:0;padding:5px;display:flex}.assessment-main span,.assessment-main small{color:#7180a0;font-size:10px}.assessment-main strong{font-size:14px}.state-button{color:#4058c5;cursor:pointer;background:#e8edff;border:0;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:700}.embedded-overview{border-top:1px solid #e3e8f0;margin-top:24px;padding-top:24px}.section-heading.compact h2{font-size:19px}.total-chip{color:#4058c5;background:#edf1ff;border-radius:999px;padding:7px 11px;font-size:12px}.teacher-dashboard{grid-template-columns:minmax(290px,.82fr) minmax(0,1.28fr)}@media (max-width:800px){.student-dashboard,.teacher-dashboard{grid-template-columns:1fr}.assignment-work{min-height:auto}.empty-task{min-height:260px}}.admin-stack{flex-direction:column;gap:24px;display:flex}.role-manager-panel{max-width:none}.role-user-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.role-user-item{background:#fff;border:1px solid #e2e7f0;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.role-user-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.role-user-copy strong{font-size:14px}.role-user-copy span,.role-user-copy small{color:#748098;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.role-pills{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.role-pill{color:#7180a0;cursor:pointer;background:#fff;border:1px solid #dfe4ed;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}.role-pill.active{color:#fff;background:#4e66d9;border-color:#4e66d9}.workspace-actions{align-items:center;gap:10px;display:flex}.workspace-role-switch{background:#ffffff12;border:1px solid #ffffff20;border-radius:11px;gap:4px;padding:4px;display:flex}.workspace-role-switch button{color:#b9c6df;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.workspace-role-switch button.active{color:#4058c5;background:#f8fafc}.role-pill:disabled{cursor:not-allowed}@media (max-width:800px){.role-user-list{grid-template-columns:1fr}.workspace-heading{gap:18px}.workspace-actions{flex-direction:column;align-items:flex-end}.workspace-role-switch{order:2}}@media (max-width:520px){.workspace-heading{flex-direction:column}.workspace-actions{align-items:stretch;width:100%}.workspace-role-switch{justify-content:center}.outline-button{align-self:flex-end}.role-user-item{flex-direction:column;align-items:flex-start}.role-pills{justify-content:flex-start;width:100%}}.role-user-controls{align-items:center;gap:9px;display:flex}.delete-member-button{color:#b12e49;cursor:pointer;background:#fff6f7;border:1px solid #f2cbd3;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700}.delete-member-button:hover:not(:disabled){background:#fde8ec;border-color:#e7aeb9}@media (max-width:520px){.role-user-controls{justify-content:space-between;align-items:flex-start;width:100%}}.student-status{border-top:1px solid #e3e8f0;margin-top:26px;padding-top:24px}.status-summary{grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0 18px;display:grid}.status-summary>div{background:#f7f9fd;border:1px solid #e2e7f0;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.status-summary span{color:#74819a;font-size:10px}.status-summary strong{color:#26324a;font-size:21px}.status-summary small{color:#7b879d;margin-left:2px;font-size:10px}.student-status-table-wrap{border:1px solid #e2e7f0;border-radius:12px;overflow-x:auto}.student-status-table{border-collapse:collapse;width:100%;min-width:610px;font-size:11px}.student-status-table th{color:#66738c;text-align:left;white-space:nowrap;background:#f1f4fa;padding:10px 9px}.student-status-table td{color:#4f5b72;vertical-align:middle;border-top:1px solid #e8ecf3;padding:10px 9px}.student-status-table td:last-child{min-width:170px}.student-status-table td:last-child b{color:#4058c5;margin-right:7px;display:inline-block}.student-status-table td:last-child span{color:#596782}.student-status-table em{color:#a1a9b8;font-style:normal}.progress-pill{white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.progress-pill.done{color:#187849;background:#ddf7e9}.progress-pill.waiting{color:#7a8498;background:#f2f4f8}@media (max-width:520px){.status-summary{gap:6px}.status-summary>div{padding:10px 8px}.status-summary strong{font-size:18px}}.workspace-wrap:has(:is(.portal-grid,.cloud-work)){max-width:980px;padding-top:38px}.workspace-wrap:has(:is(.portal-grid,.cloud-work)) .workspace-heading{margin-bottom:32px}.workspace-wrap:has(:is(.portal-grid,.cloud-work)) .workspace-heading h1{font-size:30px}.portal-intro h2{letter-spacing:-.04em;margin:0 0 7px;font-size:21px;font-weight:600}.portal-intro>p{color:#aebbd4;margin:0 0 20px;font-size:13px}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(230px,300px));align-items:stretch;gap:16px;display:grid}.portal-card{--accent:#526bdd;--tint:#e9eeff;color:#17213b;text-align:left;cursor:pointer;background:linear-gradient(145deg,#fff,#f3f6ff);border:1px solid #c7d3f04d;border-radius:17px;min-height:174px;padding:20px 22px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;box-shadow:0 8px 20px #050b1c24}.portal-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 30px #050b1c40}.portal-card:focus-visible{outline-offset:4px;outline:3px solid #c7d2fe}.portal-card.processing{--accent:#287c61;--tint:#e0f3e9;background:linear-gradient(145deg,#fff,#eff9f3)}.portal-card.results{--accent:#a56b2b;--tint:#f8ead7;background:linear-gradient(145deg,#fff,#fff6e9)}.portal-card-head{align-items:center;gap:10px;display:flex}.portal-icon{background:var(--tint);width:36px;height:36px;color:var(--accent);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.portal-icon svg{width:20px;height:20px}.portal-card small{color:#718097;letter-spacing:.01em;font-size:10px}.portal-card h3{letter-spacing:-.04em;margin:15px 0 7px;font-size:20px}.portal-card p{color:#64718a;min-height:38px;margin:0;padding-right:2px;font-size:12px;line-height:1.65}.portal-open{color:var(--accent);justify-content:space-between;align-items:center;margin-top:15px;font-size:11px;font-weight:700;display:flex}.portal-open svg{background:var(--tint);border-radius:50%;width:26px;height:26px;padding:5px;transition:transform .18s}.portal-card:hover .portal-open svg{transform:translate(2px)}.portal-admin{color:#b7c4df;background:0 0;border-color:#ffffff26;margin-top:20px;padding:9px 12px;font-size:11px}.portal-work{max-width:850px;margin:auto}.portal-work .primary{max-width:330px;text-decoration:none}.processing-steps{color:#5c6880;padding-left:22px;font-size:14px;line-height:2.1}.processing-status{margin-top:24px;line-height:1.8}.permission-summary{line-height:1.8;margin-top:8px!important;font-size:11px!important}@media (max-width:620px){.portal-grid{grid-template-columns:1fr 1fr;gap:12px}.portal-card{min-height:174px;padding:17px}.portal-card h3{font-size:18px}.portal-card small{font-size:9px}.portal-card-head{gap:7px}.workspace-wrap:has(:is(.portal-grid,.cloud-work)){padding-top:28px}}@media (max-width:430px){.portal-grid{grid-template-columns:1fr}.portal-card{min-height:0;padding:18px 20px}.portal-card p{min-height:0}.portal-open{margin-top:10px}}@media (prefers-reduced-motion:reduce){.portal-card,.portal-open svg{transition:none}.portal-card:hover{transform:none}}.course-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.course-heading p{color:#aebbd4;margin:0 0 20px;font-size:13px}.course-count{color:#c5d1e9;white-space:nowrap;background:#ffffff12;border:1px solid #fff2;border-radius:999px;padding:7px 12px;font-size:11px}.course-loading{color:#bbc8e0;font-size:13px}.course-grid{margin-top:8px}.course-card h3,.course-card p{word-break:keep-all}.page-shell:has(:is(.portal-grid,.cloud-work)){color:#202b3c;background:#f6f7f9}.page-shell:has(:is(.portal-grid,.cloud-work)) .topbar{letter-spacing:0;color:#39465b;border-color:#e4e7ed;min-height:64px}.page-shell:has(:is(.portal-grid,.cloud-work)) .brand-mark{color:#596a86;background:#fff;border-color:#e0e5ee}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-heading{border-bottom:1px solid #e3e7ed;align-items:center;margin-bottom:32px;padding-bottom:22px}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-heading h1{margin:5px 0;font-size:22px}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-heading p{color:#788397;font-size:12px}.page-shell:has(:is(.portal-grid,.cloud-work)) .eyebrow{color:#748197;letter-spacing:0;font-size:11px;font-weight:500}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-role-switch{background:#e9edf2;border:0;border-radius:8px;padding:3px}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-role-switch button{color:#7a8596;font-weight:500}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-role-switch button.active{color:#334361;background:#fff;box-shadow:0 1px 3px #20305010}.page-shell:has(:is(.portal-grid,.cloud-work)) .outline-button{color:#66748a;background:#fff;border-color:#dfe4ec;padding:8px 11px;font-size:11px}.page-shell:has(:is(.portal-grid,.cloud-work)) footer{color:#929bad}.permission-details{color:#8490a4;margin-top:7px;font-size:11px}.permission-details summary{cursor:pointer;width:fit-content}.permission-details p{margin-top:5px}:is(.page-shell:has(:is(.portal-grid,.cloud-work)) .portal-intro>p,.page-shell:has(:is(.portal-grid,.cloud-work)) .course-heading p){color:#8490a1;font-size:12px}.page-shell:has(:is(.portal-grid,.cloud-work)) .portal-card{box-shadow:none;background:#fff;border:1px solid #e2e6ed;border-radius:12px}.page-shell:has(:is(.portal-grid,.cloud-work)) .portal-card:hover{border-color:#9aa9be;transform:translateY(-2px);box-shadow:0 4px 16px #20305008}.page-shell:has(:is(.portal-grid,.cloud-work)) .portal-admin{color:#7a879a;background:0 0;border:0;padding-left:0}.course-heading{align-items:center;margin-bottom:24px}.course-heading h2{color:inherit;margin:0 0 8px;font-size:24px}.course-heading p{margin:0}.course-count{color:#8490a1;background:0 0;border:0;padding:0;font-size:12px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:0}.course-card{color:#25334a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e5ec;border-radius:12px;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:14px;min-height:112px;padding:24px;transition:border-color .18s,box-shadow .18s;display:grid}.course-symbol{color:#7d8ba0;background:#f3f5f8;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.course-card h3{letter-spacing:-.035em;word-break:keep-all;margin:0;font-size:17px;font-weight:600;line-height:1.5}.course-arrow{color:#9ca8b8}.course-card:hover{border-color:#99a9be;box-shadow:0 4px 16px #20305008}.course-card:focus-visible{outline-offset:3px;outline:3px solid #a3b6d2}.course-loading{color:#748197}@media (max-width:800px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{gap:10px;padding:20px}}@media (max-width:520px){.course-grid{grid-template-columns:1fr}.course-card{min-height:88px}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-heading{align-items:stretch;gap:16px}.page-shell:has(:is(.portal-grid,.cloud-work)) .workspace-actions{flex-direction:row;justify-content:space-between;align-items:center}.workspace-role-switch{order:0}.course-heading h2{font-size:22px}}@media (prefers-reduced-motion:reduce){.course-card{transition:none}}.page-shell:has(.scan-registration){color:#202b3c;background:#f6f7f9}.page-shell:has(.scan-registration) .topbar{color:#39465b;letter-spacing:0;border-color:#e4e7ed;min-height:64px}.page-shell:has(.scan-registration) .brand-mark{color:#596a86;background:#fff;border-color:#e0e5ee}.page-shell:has(.scan-registration) .workspace-wrap{max-width:980px;padding-top:38px}.page-shell:has(.scan-registration) .workspace-heading{border-bottom:1px solid #e3e7ed;align-items:center;margin-bottom:32px;padding-bottom:22px}.page-shell:has(.scan-registration) .workspace-heading h1{margin:5px 0;font-size:22px}.page-shell:has(.scan-registration) .workspace-heading p{color:#788397;font-size:12px}.page-shell:has(.scan-registration) .eyebrow{color:#748197;letter-spacing:0;font-size:11px}.page-shell:has(.scan-registration) .workspace-role-switch{background:#e9edf2;border:0}.page-shell:has(.scan-registration) .workspace-role-switch button{color:#7a8596}.page-shell:has(.scan-registration) .workspace-role-switch button.active{color:#334361;background:#fff}.page-shell:has(.scan-registration) .outline-button{color:#66748a;background:#fff;border-color:#dfe4ec}.scan-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.scan-title h2{letter-spacing:-.04em;margin:0 0 8px;font-size:24px}.scan-title p,.scan-stage{color:#8490a1;margin:0;font-size:12px}.scan-course{background:#fff;border:1px solid #e1e6ed;border-radius:12px;align-items:center;gap:12px;padding:18px 20px;display:flex}.scan-course div{flex-direction:column;gap:4px;display:flex}.scan-course small{color:#8490a1;font-size:11px}.scan-course strong{font-size:16px}.scan-course>span:last-child{color:#748197;margin-left:auto;font-size:12px}.scan-details{align-items:flex-end;gap:20px;margin:24px 0;display:flex}.scan-details label{flex:1;max-width:440px;font-size:12px;font-weight:600}.scan-details input{color:#26334a;background:#fff;border:1px solid #dfe4ec;border-radius:8px;outline:none;width:100%;margin-top:9px;padding:12px 14px;display:block}.scan-details input:focus{border-color:#8098c7}.scan-details p{color:#8490a1;margin-bottom:12px;font-size:12px}.scan-files{grid-template-columns:1fr 1fr;gap:18px;display:grid}.scan-file-field{text-align:center;cursor:pointer;background:#fff;border:1px dashed #bdc8d8;border-radius:12px;flex-direction:column;align-items:center;gap:10px;min-width:0;padding:30px 20px;display:flex;position:relative}.scan-file-field:hover,.scan-file-field:focus-within{background:#fafcff;border-color:#607ea9}.scan-file-field.chosen{border-style:solid}.scan-file-field input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.scan-file-field strong{font-size:16px}.scan-file-icon{color:#7e91ad;margin-bottom:4px}.scan-file-description,.scan-file-field small{color:#8490a1;font-size:12px}.scan-file-name{overflow-wrap:anywhere;color:#536a8b;background:#f0f3f8;border-radius:7px;max-width:100%;margin-top:6px;padding:9px 14px;font-size:13px}.scan-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.scan-footer p,.scan-note{color:#8490a1;font-size:12px;line-height:1.8}.scan-next,.scan-edit{color:#fff;cursor:pointer;background:#3d5579;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:13px;font-weight:600;display:inline-flex}.scan-next:disabled{color:#8b97aa;cursor:not-allowed;opacity:1;background:#e2e7ef}:is(.scan-next:focus-visible,.scan-edit:focus-visible){outline-offset:3px;outline:3px solid #a3b6d2}.scan-confirm{background:#fff;border:1px solid #e1e6ed;border-radius:12px;margin-top:20px;padding:26px}.scan-confirm h3{align-items:center;gap:9px;margin:0 0 20px;font-size:17px;display:flex}.scan-confirm dl{margin:0}.scan-confirm dl>div{border-bottom:1px solid #edf0f4;grid-template-columns:120px minmax(0,1fr);padding:14px 0;font-size:13px;display:grid}.scan-confirm dt{color:#8490a1}.scan-confirm dd{overflow-wrap:anywhere;margin:0}.scan-confirm-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.scan-edit{color:#65758d;background:#f0f3f7}.page-shell:has(.scan-registration) footer{color:#929bad}@media (max-width:620px){.scan-files{grid-template-columns:1fr}.scan-title{align-items:flex-start}.scan-stage{white-space:nowrap}.scan-course{flex-wrap:wrap}.scan-course>span:last-child{width:100%;margin-left:48px}.scan-details{display:block}.scan-details p{margin-top:10px}.scan-footer{flex-direction:column;align-items:stretch;gap:10px}.scan-confirm{padding:20px}.scan-confirm dl>div{grid-template-columns:90px minmax(0,1fr)}.scan-confirm-actions{flex-wrap:wrap}.page-shell:has(.scan-registration) .workspace-heading{align-items:stretch}}.scan-setup{background:#fff;border:1px solid #e1e6ed;border-radius:12px;grid-template-columns:1fr 1.2fr;gap:26px;margin-bottom:22px;padding:22px;display:grid}.scan-course-picker>label,.scan-track legend{color:#34445d;font-size:12px;font-weight:600}.scan-course-picker select{color:#26334a;width:100%;font:inherit;background:#fff;border:1px solid #dfe4ec;border-radius:8px;margin-top:12px;padding:12px 14px;font-size:14px;display:block}.scan-course-picker p{color:#8490a1;margin:9px 0 0;font-size:11px}.scan-track{border:0;min-width:0;margin:0;padding:0}.scan-track>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.scan-track label{cursor:pointer;border:1px solid #dfe4ec;border-radius:9px;grid-template-columns:16px 1fr;gap:6px 8px;padding:13px;display:grid}.scan-track label.selected{background:#f4f7fc;border-color:#6684b0}.scan-track input{accent-color:#3d5579;margin:3px 0 0}.scan-track span{font-size:14px;font-weight:600}.scan-track small{color:#8490a1;grid-column:2;font-size:10px}:is(.scan-track label:focus-within,.scan-course-picker select:focus-visible){outline-offset:2px;outline:3px solid #a3b6d2}@media (max-width:620px){.scan-setup{grid-template-columns:1fr;gap:20px;padding:18px}.scan-track label{padding:12px}}.scan-sequence{background:#fff;border:1px solid #e1e6ed;border-radius:12px;padding:24px}.scan-sequence>.scan-track{max-width:520px}.scan-substep{border-top:1px solid #edf0f4;margin-top:24px;padding-top:20px}.scan-substep h3{margin:0 0 14px;font-size:13px;font-weight:600}.scan-substep h3 small{color:#8490a1;margin-left:8px;font-weight:400}.scan-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:680px;display:grid}.scan-choice-grid button{text-align:left;color:#34445d;cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:17px 18px;font-size:14px;font-weight:600;display:flex}.scan-choice-grid button.selected{background:#f4f7fc;border-color:#6684b0}.scan-choice-grid button small{color:#8490a1;margin-top:6px;font-size:10px;font-weight:400;display:block}.scan-choice-grid button:focus-visible{outline-offset:2px;outline:3px solid #a3b6d2}.scan-choice-grid svg{color:#8c9ab0;flex-shrink:0}.scan-selected-context{background:#edf1f7;border-radius:8px;align-items:center;gap:14px;margin-top:24px;padding:14px 18px;font-size:13px;display:flex}.scan-selected-context span{color:#748197}.scan-file-stage .scan-details{margin:16px 0}.scan-sequence .scan-track legend{font-size:13px}@media (max-width:620px){.scan-sequence{padding:18px}.scan-choice-grid{grid-template-columns:1fr}.scan-selected-context{flex-direction:column;align-items:flex-start;gap:7px}}.management-tools{border-top:1px solid #e3e8f0;margin-top:28px;padding-top:18px}.management-tools h3{font-size:14px}.management-tools button{margin:0 8px 10px 0}.student-roster{max-width:none}.student-roster .section-heading{align-items:center;gap:16px}.student-roster .outline-button{color:#40516b;background:#fff;border-color:#dfe4ed;align-items:center;gap:8px;display:inline-flex}.roster-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.roster-toolbar label{color:#66758c;min-width:240px;font-size:12px}.roster-toolbar input{width:100%;font:inherit;color:#26334a;border:1px solid #dfe4ed;border-radius:8px;margin-top:7px;padding:11px 12px;display:block}.roster-table-wrap{border:1px solid #e2e7ef;border-radius:10px;max-height:65vh;overflow:auto}.student-roster table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:13px}.student-roster td,.student-roster th{border-bottom:1px solid #e9edf3;padding:12px 16px}.student-roster th{color:#53627a;background:#f3f5f8;position:sticky;top:0}.roster-caption{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.roster-error{color:#b12e49;background:#fff1f3;border-radius:8px;padding:14px}:is(.student-roster button:focus-visible,.roster-toolbar input:focus-visible){outline-offset:2px;outline:3px solid #a6b4ed}@media (max-width:600px){.roster-toolbar{flex-direction:column;align-items:stretch}.student-roster .section-heading{flex-direction:column;align-items:flex-start}.roster-toolbar label{min-width:0}}.cloud-work{max-width:1050px;margin:auto}.cloud-work label{color:#41506a;flex-direction:column;gap:7px;font-size:13px;display:flex}.cloud-work input,.cloud-work select{color:#25334a;background:#fff;border:1px solid #cbd4e2;border-radius:7px;width:100%;max-width:100%;padding:10px}.cloud-controls{align-items:end;gap:16px;margin:20px 0;display:flex}.cloud-controls input{max-width:140px}.cloud-course-list,.cloud-work .management-tools{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.cloud-form{border:1px solid #e0e5ec;border-radius:12px;gap:18px;margin:24px 0;padding:20px;display:grid}.cloud-work .cloud-check{flex-direction:row;align-items:center}.cloud-check input,.cloud-work td input{width:18px;height:18px}.cloud-work h3{margin:0 0 8px}.cloud-form .primary{max-width:260px}.result-publication{margin:24px 0}.result-publication .roster-table-wrap,.cloud-form .roster-table-wrap{max-height:440px;overflow:auto}.cloud-work .roster-table-wrap{margin-top:12px}@media (max-width:520px){.cloud-controls{flex-wrap:wrap}.cloud-form{padding:14px}.cloud-work{padding:18px}}.cloud-work .outline-button{color:#43546d;background:#fff;border-color:#ccd5e2}.cloud-work .outline-button:hover{background:#f1f4f8}.cloud-work .text-button{color:#52658b}.cloud-work .roster-table-wrap{max-height:480px;overflow:auto}.cloud-work th{z-index:1;background:#f2f5f9;position:sticky;top:0}.cloud-work table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.cloud-work th,.cloud-work td{white-space:nowrap;border-bottom:1px solid #e2e7ef;padding:12px 14px}.cloud-work th{color:#57657b;font-size:12px;font-weight:600}.cloud-work td{color:#2e3d53}.cloud-work tbody tr:nth-child(2n){background:#f8fafc}.cloud-work tbody tr:hover{background:#edf2f8}.cloud-work .management-tools.course-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 14px;display:grid}.cloud-work .course-action{--action-bg:#eaf1ff;--action-border:#cfddf7;--action-ink:#304e7b;border:1px solid var(--action-border);background:var(--action-bg);width:100%;min-width:0;min-height:152px;color:var(--action-ink);text-align:left;cursor:pointer;font:inherit;border-radius:18px;flex-direction:column;align-items:stretch;gap:10px;padding:18px 16px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;box-shadow:0 3px 8px #27365405}.cloud-work .course-action.action-assignment{--action-bg:#e5f4ed;--action-border:#c6e5d5;--action-ink:#285d48}.cloud-work .course-action.action-results{--action-bg:#fff0e5;--action-border:#f0d9c6;--action-ink:#815132}.cloud-work .course-action.action-processing{--action-bg:#f0eafb;--action-border:#dfd1f2;--action-ink:#654887}.course-action .action-top{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.course-action .action-icon{background:#ffffff80;border:1px solid #fffa;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.course-action .action-arrow{opacity:.65}.course-action .action-title{letter-spacing:-.045em;font-size:14px;font-weight:750;line-height:1.5}.course-action .action-description{opacity:.85;letter-spacing:-.025em;font-size:12px;line-height:1.5}.cloud-work .course-action:hover{border-color:var(--action-ink);transform:translateY(-3px);box-shadow:0 8px 20px #27365412}.cloud-work .course-action:focus-visible{outline-offset:4px;outline:3px solid #526a98}.cloud-work .course-action:active{transform:translateY(0)}.cloud-work .course-upload-note{margin:0 0 24px;line-height:1.7}@media (max-width:900px){.cloud-work .management-tools.course-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-work .course-action{min-height:140px}}@media (max-width:420px){.cloud-work .management-tools.course-actions{gap:10px}.cloud-work .course-action{border-radius:14px;padding:14px 12px}.course-action .action-title{font-size:13px}.course-action .action-description{font-size:11px}}@media (prefers-reduced-motion:reduce){.cloud-work .course-action{transition:none}.cloud-work .course-action:hover{transform:none}}.cloud-work .course-action:hover{transform:none}.course-action .action-title{align-items:flex-start;min-height:42px;display:flex}.course-action .action-top{min-height:38px}.top-actions,.home-top-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.home-top-actions{justify-content:flex-end;margin:0 0 20px}.evaluation-tabs{gap:10px;margin:22px 0 10px;display:flex}.evaluation-tabs button{color:#43516f;background:#f1f3fa;border:1px solid #d4daea;border-radius:12px;padding:12px 24px;font-weight:700}.evaluation-tabs button[aria-pressed=true]{color:#344f91;background:#e4e9fb;border-color:#7587bf}.student-roster .section-heading{z-index:3;background:#f8fafc;padding:10px 0;position:sticky;top:0}.home-top-actions .outline-button{color:#405477;background:#e8eefb;border-color:#d0daf1}.cloud-work .management-tools.course-actions>.course-action{align-self:stretch;margin:0}.top-actions>button,.home-top-actions>button,.evaluation-tabs>button{margin:0}
