*{box-sizing:border-box}body{color:#20332f;background:#f5f6f3;margin:0;font:14px/1.6 Segoe UI,Arial,sans-serif}button,input,a{font:inherit}a{color:inherit;text-decoration:none}button,.button{color:#fff;cursor:pointer;background:#245b50;border:1px solid #245b50;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 17px;font-weight:600;display:inline-flex}button:hover,.button:hover{filter:brightness(.95)}button:disabled,.disabled{opacity:.55;cursor:wait}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline-offset:3px;outline:3px solid #d29e49}header{background:#fff;border-bottom:1px solid #e3e8e2;justify-content:space-between;align-items:center;height:80px;padding:0 4%;display:flex}.brand{letter-spacing:-2px;font-size:35px;font-weight:750}.brand span{color:#bd8c3e}.header-right,.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pill{color:#48624f;white-space:nowrap;background:#edf2e9;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-block}.workspace{grid-template-columns:220px 1fr;min-height:calc(100vh - 80px);display:grid}aside{background:#fff;border-right:1px solid #e3e8e2;flex-direction:column;padding:35px 23px;display:flex}.eyebrow{letter-spacing:1.8px;color:#75837a;margin:0 0 14px;font-size:11px;font-weight:700}.nav-active{color:#245b50;background:#e9f1eb;border-radius:8px;padding:12px;font-weight:600}.aside-course{margin-top:42px;padding:0 10px}.course-icon{color:#39604d;letter-spacing:1px;background:#edf2e9;border:1px solid #d2dfd6;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;font-weight:650;display:flex}.aside-course strong{display:block}.aside-course p,.aside-note{color:#849086;font-size:12px}.aside-note{margin-top:auto;padding-top:60px}.aside-note span{font-size:11px}.dashboard{width:100%;min-width:0;max-width:1530px;padding:42px 4% 30px}.title-row{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.large{flex-shrink:0;width:66px;height:66px;margin-left:15px;font-size:23px}h1{letter-spacing:-1px;margin:0 0 12px;font-size:clamp(25px,2.4vw,35px);font-weight:650;line-height:1.2}h2{margin:0 0 8px;font-size:19px;font-weight:650;line-height:1.3}h3{margin:0;font-size:16px}.muted{color:#748077;margin:5px 0}.small,small{font-size:12px}small{color:#77847b;display:block}.panel{background:#fff;border:1px solid #e0e5de;border-radius:12px;padding:24px}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px;display:grid}.stats .panel>span{color:#77847b;font-size:12px}.stats strong{letter-spacing:-1px;font-size:33px;font-weight:600;line-height:1.8;display:block}.stats em{color:#8a938c;font-size:16px;font-style:normal;font-weight:400}.plan{background:#e8efdf;border:1px solid #dce5d2;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:34px;padding:25px 28px;display:flex}.plan .pill{color:#496138;background:#dce7d1;margin-bottom:10px}.plan p{color:#647257;margin:12px 0 0;font-size:12px}.plan p span{padding:0 10px}.plan-numbers{color:#607451;align-items:center;gap:14px;display:flex}.plan-numbers strong{font-size:44px;font-weight:400}.plan-numbers span{font-size:12px}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head h2{margin-bottom:4px}.table-title{margin-bottom:22px}.secondary{color:#365548;background:#fff;border-color:#d7e0d7}.text-button{color:#32664f;background:0 0;border:0;padding:4px 6px;font-size:12px}.subtle{color:#78887c;font-size:12px}.toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.search{max-width:350px}input{color:#233c30;background:#fff;border:1px solid #dbe2d8;border-radius:7px;width:100%;min-width:0;padding:10px 12px;display:block}input[type=file]{display:none}label{color:#596a60;font-size:12px;font-weight:600;display:block}label input{margin-top:5px}.table-wrap{background:#fff;border:1px solid #dee5dd;border-radius:11px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{text-align:center;color:#6c7d70;background:#f9faf7;border-bottom:1px solid #dfe7dd;padding:15px 12px;font-weight:500}th:first-child{text-align:left;min-width:220px;padding-left:22px}th small{font-size:10px}td{text-align:center;border-bottom:1px solid #eef1eb;padding:14px 12px}td:first-child{text-align:left;padding-left:22px}td strong{font-weight:600}td small{font-size:10px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}.pending{color:#a7b1a6}.grade{font-variant-numeric:tabular-nums}.total{color:#385d3f;background:#edf3e7;border-radius:5px;padding:5px 9px;font-weight:700;display:inline-block}.row-actions{gap:5px;display:flex}footer{color:#889588;justify-content:space-between;margin-top:15px;font-size:11px;display:flex}.notice{color:#6d582a;background:#fff7df;border:1px solid #e7d5a2;border-radius:9px;margin:15px 0;padding:14px 18px;position:relative}.notice .close{position:absolute;top:8px;right:8px}.close{color:#788475;background:0 0;border:0;padding:0 8px;font-size:25px}.login{max-width:640px}.login p{margin-bottom:22px}.empty{text-align:center;color:#768673;padding:40px}.overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18332e77;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:590px;max-height:90vh;padding:28px;overflow:auto;box-shadow:0 20px 80px #17342a33}.modal label{margin-bottom:15px}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.modal .actions{margin:18px 0}.modal button[type=submit]{width:100%;margin-top:20px}.import-list{border-block:1px solid #e7ece3;max-height:250px;margin:20px 0;overflow:auto}.import-list>div{border-bottom:1px solid #edf1e9;padding:10px 0}.import-list strong{font-size:12px}.cut-total{border-top:1px solid #e3e9df;justify-content:space-between;margin-top:16px;padding-top:16px;display:flex}hr{border:0;border-top:1px solid #e3e9df}.student-page{max-width:760px;margin:auto;padding:38px 22px 60px}.student-page h1{font-size:32px}.welcome{align-items:center;gap:14px;margin:28px 0;display:flex}.welcome h2{font-size:17px}.avatar{color:#46673b;background:#dee8d4;border-radius:50%;flex-shrink:0;place-items:center;width:45px;height:45px;font-size:20px;display:grid}.score-card{color:#fff;background:#24564c;border-radius:18px;margin:25px 0 32px;padding:28px}.score-card p{color:#d3e2d7;margin:0 0 8px}.big-score{letter-spacing:-3px;font-size:64px;font-weight:600;line-height:1.25}.big-score span{color:#bcd0c0;letter-spacing:0;font-size:21px}.progress{background:#ffffff25;border-radius:8px;height:8px;margin:16px 0;overflow:hidden}.progress i{background:#d0dd9a;border-radius:8px;height:100%;display:block}.score-card small{color:#c6d9cf}.student-page>.section-head{margin:20px 0}.student-page>.section-head>span{color:#7c8a7e;font-size:12px}.cut{margin:14px 0;padding:22px}.activity{justify-content:space-between;gap:16px;margin:22px 0;font-size:13px;display:flex}.activity strong{font-weight:500}.activity small{margin-top:4px;font-size:11px}.align-right{text-align:right}.privacy{color:#647660;background:#edf1e8;border-radius:10px;margin-top:30px;padding:16px;font-size:12px}.inline-message{color:#8a531c;background:#fff4df;border-radius:8px;padding:12px}@media (max-width:1100px){.workspace{grid-template-columns:175px 1fr}aside{padding-inline:15px}.dashboard{padding:30px 24px}.title-row .large{display:none}.table-title{flex-direction:column;align-items:flex-start}.stats{gap:10px}.stats .panel{padding:18px}.plan-numbers{display:none}}@media (max-width:700px){header{height:65px;padding:0 20px}.brand{font-size:30px}.workspace{display:block}aside{display:none}.dashboard{padding:26px 16px}h1{font-size:27px}.stats{grid-template-columns:1fr}.stats .panel{grid-template-columns:1fr auto;align-items:center;padding:14px 18px;display:grid}.stats strong{grid-area:1/2/3;font-size:26px}.stats small{grid-column:1}.plan{padding:20px}.plan p span{padding:0 4px}.toolbar{flex-direction:column;align-items:stretch}.search{max-width:none}.table-title .actions{width:100%}.table-title button,.table-title label{flex:1;font-size:12px}.student-page{padding:28px 16px}.student-page h1{font-size:28px}.activity{font-size:12px}.form-grid{gap:0 10px}.modal{padding:22px}.overlay{padding:10px}.big-score{font-size:58px}footer{gap:15px}.header-right{gap:10px}}.grades-table thead tr:first-child th{color:#365e52;background:#e7efe4;border-right:1px solid #d4dfd3;font-weight:700}.grades-table thead tr:first-child th:first-child{text-align:left}.grades-table thead tr:nth-child(2) th:first-child{text-align:center;min-width:120px;padding-left:12px}.grades-table th.cut-total-head{background:#f1f5ee}.grades-table td.cut-score{background:#f8faf6;border-left:1px solid #e4eae1}.grades-table td.cut-score strong{color:#385d3f;display:block}.grades-table td.cut-score small{white-space:normal;max-width:100px;margin:auto}.score-card .score-percent{color:#e3edc6;margin:10px 0 3px;font-weight:650}.cut-total>div{flex-direction:column;display:flex}.cut-total small{margin-top:4px}.login form{gap:14px;max-width:420px;margin:20px 0;display:grid}.login form label{gap:6px;font-weight:600;display:grid}.login form input{border:1px solid #cbd5cc;border-radius:8px;width:100%;padding:11px 12px}
