@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#182e2a;background:#f6f8f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{display:grid;grid-template-columns:44% 56%;min-height:100svh}.intro{padding:54px 13%;background:#153d34;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;background-image:radial-gradient(ellipse at bottom right,#2b5c48,transparent 65%)}.brand{font-size:26px;font-weight:700;color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;color:#4c7765;margin-bottom:18px}.intro .eyebrow{color:#afd3b9}h1{font-family:Manrope,sans-serif;font-size:clamp(40px,5vw,74px);font-weight:600;line-height:1.1;letter-spacing:-.055em;margin:20px 0}.lead{font-size:18px;line-height:1.7;color:#c5d7cf;max-width:270px}.foot{color:#b3cbbf;font-size:12px}.content{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px 28px;position:relative}.card{width:100%;max-width:410px}h2{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-.04em;line-height:1.25;margin:0 0 12px}.card p{line-height:1.6}.card>p:not(.eyebrow):not(.error){color:#62736b;font-size:14px}form{margin-top:32px}label{display:block;font-size:13px;font-weight:600;margin:22px 0 9px}input{display:block;width:100%;border:1px solid #ced8d1;border-radius:8px;padding:14px;font:inherit;background:#fff;color:#182e2a}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #83b8a1;outline-offset:3px}button{margin-top:26px;width:100%;background:#1d5141;color:#fff;border:0;border-radius:8px;padding:15px;font:inherit;font-weight:600;cursor:pointer}button:hover{background:#153d34}button:disabled{opacity:.65;cursor:wait}button span{float:right}.help{margin-top:24px;font-size:12px!important}.footer{position:absolute;bottom:22px;font-size:11px;color:#77867e}.notice{padding:20px;background:#e7eee6;border-radius:10px;margin:26px 0;font-size:14px}.notice p{margin-bottom:0}.account{overflow-wrap:anywhere}.error{padding:12px;background:#fae8e3;border-radius:8px;color:#8b3027;font-size:13px}@media(max-width:720px){main{display:block}.intro{min-height:auto;padding:28px}.intro>div{margin-top:34px}.intro h1{font-size:44px}.intro h1 br{display:none}.lead{max-width:none}.foot{display:none}.content{padding:42px 24px 70px;min-height:550px}.brand{font-size:22px}}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100svh;background:#f5f7f3}.sidebar{background:#153d34;color:#fff;padding:32px 22px;display:flex;flex-direction:column;gap:30px}.sidebar .brand{font-size:22px}.sidebar-caption{font-size:10px;letter-spacing:.15em;color:#a9c7b7;margin:12px 0 -15px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{margin:0;text-align:left;background:transparent;font-size:14px;padding:13px}.sidebar nav button[aria-current=page]{background:#31594b}.sidebar nav button:hover{background:#254e40}.sidebar-bottom{margin-top:auto;border-top:1px solid #416454;padding-top:24px}.sidebar-bottom>span{font-size:12px;color:#bdd4c8}.sidebar-bottom p{font-size:12px;overflow-wrap:anywhere;line-height:1.6}.sidebar-bottom button{background:#31594b;margin-top:8px}.workspace-main{padding:44px clamp(22px,4vw,64px);min-width:0}.workspace-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.workspace-header h1{font-size:36px;margin:0;letter-spacing:-.045em}.workspace-header .eyebrow{margin-top:0;margin-bottom:12px}.workspace .secondary{background:#fff;color:#285443;border:1px solid #cbd8cd}.workspace .secondary:hover{background:#edf3ec}.workspace-header button{width:auto;margin:0;font-size:13px;padding:10px 16px}.workspace-description{font-size:14px;color:#63766a;line-height:1.7;margin-bottom:32px}.workspace .panel{background:#fff;border:1px solid #dce4db;border-radius:12px;padding:25px;margin-bottom:20px}.workspace h2{font-size:23px;margin-top:14px}.workspace h3{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#698071;margin:25px 0 12px}.workspace .panel p{font-size:14px;color:#647469;line-height:1.6}.workspace .management-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:start}.workspace .editor{position:sticky;top:24px}.workspace .editor h2{margin-top:0}.workspace form{margin-top:16px}.workspace fieldset{border:0;padding:0;margin:0;min-width:0}.workspace label{font-size:12px}.workspace input,.workspace select{font:inherit;font-size:14px;width:100%;min-width:0;padding:12px;border:1px solid #cad7cc;border-radius:7px;background:#fff;color:#203a2e}.workspace select:focus-visible{outline:3px solid #83b8a1;outline-offset:3px}.workspace button{font-size:13px}.workspace .period-selector{max-width:500px;margin-bottom:30px}.workspace .period-selector label{margin-top:0}.workspace .period-selector p{font-size:12px;color:#627567}.workspace .course-badge{font-size:10px;letter-spacing:.06em;font-weight:700;background:#edf3e9;color:#375c3c;padding:7px 10px;border-radius:5px;display:inline-block}.workspace .class-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.workspace .text-button{display:inline-block;background:transparent;width:auto;color:#386746;padding:5px;margin:0;border-radius:3px}.workspace .text-button:hover{background:#edf3e9}.workspace .assignment-list{list-style:none;padding:0;margin:0;font-size:13px}.workspace .assignment-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.workspace .inline-fields{display:flex;align-items:stretch;gap:8px}.workspace .inline-fields button{width:auto;margin:0;padding:10px 15px}.workspace .assign-form label{margin-top:18px}.workspace .period-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.workspace .period-actions button{width:auto;margin:0;padding:9px 12px}.workspace .empty{padding:35px 25px}.workspace .empty h2{margin-top:0}.workspace .empty button{width:auto}.workspace .workspace-footnote{font-size:12px;color:#78877a;margin-top:36px;line-height:1.6}.workspace .success{padding:12px 16px;color:#265d3b;background:#e4f1e4;border-radius:8px;font-size:14px}.workspace .error{margin-bottom:20px}.workspace input:disabled,.workspace select:disabled{background:#f3f5f1;opacity:.7}@media(max-width:1100px){.workspace{grid-template-columns:210px minmax(0,1fr)}.workspace .management-grid{grid-template-columns:1fr}.workspace .editor{position:static}}@media(max-width:700px){.workspace{display:block}.sidebar{padding:22px;gap:18px}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-caption{display:none}.sidebar-bottom{margin-top:0;padding-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sidebar-bottom p{flex:1;margin:0}.sidebar-bottom>span{display:none}.sidebar-bottom button{width:auto;margin:0;padding:9px 14px}.workspace-main{padding:30px 20px}.workspace-header h1{font-size:29px}.workspace-header .eyebrow{font-size:9px}.workspace .panel{padding:20px}.workspace .inline-fields{flex-wrap:wrap}.workspace .inline-fields button{width:100%}}.students-screen .student-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.students-screen .student-filters label{margin-top:0}.students-screen .mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 20px}.students-screen .fit-button{width:auto}.students-screen input[type=file]{padding:10px;background:#f7f9f5}.students-screen .check-line{display:flex;align-items:flex-start;gap:12px;font-weight:400;font-size:13px;line-height:1.6;margin:22px 0}.students-screen .check-line input{width:17px;height:17px;flex:0 0 17px;margin-top:3px;padding:0;accent-color:#1d5141}.students-screen .import-hint{font-size:12px!important;color:#687e6b}.students-screen .table-scroll{overflow-x:auto;margin:22px 0}.students-screen table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.students-screen caption{text-align:left;font-size:12px;padding:0 0 12px;color:#687e6b}.students-screen th{background:#f0f4ec;color:#45604b;font-size:11px;font-weight:600;padding:12px;white-space:nowrap}.students-screen td{vertical-align:top;padding:14px 12px;border-bottom:1px solid #e4e9e0;min-width:110px;overflow-wrap:anywhere;max-width:280px;line-height:1.7}.students-screen small{display:block;color:#738074;font-size:11px;line-height:1.6;margin-top:8px}.students-screen .row-error{font-size:12px!important;color:#9b3329!important;margin:0 0 5px}.students-screen .row-warning{font-size:12px!important;color:#8a621a!important;margin:0 0 5px}.students-screen .roster-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.students-screen .roster-heading h2,.students-screen .roster-heading .eyebrow{margin-top:0}.students-screen .roster-heading button{margin:0}@media(max-width:1050px){.students-screen .mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.students-screen .student-filters,.students-screen .mapping-grid{grid-template-columns:1fr}.students-screen .roster-heading{align-items:flex-start}.students-screen .roster-heading button{font-size:11px}}.students-screen .table-filter-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}.students-screen .table-filter-summary p{font-size:12px;margin:0}.students-screen .table-filter-summary button{font-size:12px}.students-screen .column-filters td{background:#f0f4ec;padding:0 10px 12px;border-bottom:1px solid #cbd8c8;min-width:155px}.students-screen .column-filters input,.students-screen .column-filters select{font-weight:400;font-size:12px;padding:9px;min-height:38px;min-width:135px}.students-screen .column-filters input::placeholder{color:#6a7f6e}.students-screen .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}.students-screen .view-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.students-screen .table-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.students-screen .table-toolbar button{margin:0}.students-screen .lesson-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.students-screen .attendance-mark{min-width:115px;font-size:13px;padding:9px}.students-screen .table-filter-summary{flex-wrap:wrap}@media(max-width:850px){.students-screen .lesson-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.students-screen .view-filters,.students-screen .lesson-fields{grid-template-columns:1fr}}
