#root{min-height:100vh}.page{width:100%;max-width:800px;margin:0 auto;padding:24px}.page-title{margin:0}.page-header--row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.page-actions{display:flex;gap:10px;align-items:center}.stack{display:grid;gap:12px}.btn-sm{padding:6px 10px;border-radius:10px;font-size:14px}.row-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card);display:flex;justify-content:space-between;gap:16px;align-items:center}.row-card__main{min-width:0}.row-card__title{margin:0 0 4px;font-size:16px;font-weight:600}.row-card__subtitle{margin:0;color:var(--muted);line-height:1.35}.row-card__actions{display:flex;gap:8px;align-items:center}.modal-actions-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-actions-right{display:flex;gap:8px}.modal__title{margin:0;font-size:16px}.modal__footer--between{justify-content:space-between;align-items:center;flex-wrap:wrap;row-gap:10px}.modal__footer--between{flex-wrap:wrap;row-gap:10px}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;padding:16px}.modal{width:100%;max-width:520px;background:#fff;border-radius:14px;overflow:hidden;border:1px solid #eee}.modal__header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #eee}.modal__body{padding:16px;display:grid;gap:12px}.modal__footer{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.home{padding-top:64px;text-align:center}.home__header{margin-bottom:24px}.home__title{margin:0;font-size:42px;line-height:1.1;letter-spacing:-.02em}.home__subtitle{margin:12px auto 0;color:var(--muted);max-width:60ch}.home__card{display:grid;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;text-align:left;width:100%;max-width:600px;margin:24px auto 0}.home__cardTitle{margin:0 0 6px;font-size:16px}.home__cardText{margin:0;color:var(--muted)}.home__actions{margin-top:12px;display:flex;gap:10px}.sidebar{height:100%;position:sticky;top:0;width:220px;border-right:1px solid var(--border);background:var(--card);display:flex;flex-direction:column;padding:12px;box-sizing:border-box;transition:width .16s ease}.sidebar.is-collapsed{width:64px}.sidebar__topRow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.sidebar.is-collapsed .sidebar__topRow{justify-content:center}.sidebar__brand{display:flex;align-items:center;gap:10px;min-width:0}.sidebar__brandIcon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#111827;color:#fff;font-weight:700;font-size:12px;letter-spacing:.5px}.sidebar__brandText{font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__collapseBtn{border:1px solid var(--border);background:var(--card);border-radius:10px;width:36px;height:36px;cursor:pointer}.sidebar__nav{display:flex;flex-direction:column;gap:6px;margin-top:8px}.sidebar__link{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;text-decoration:none;color:#111827;border:1px solid transparent}.sidebar__link.is-active{background:#f3f4f6;border-color:var(--border)}.sidebar__link.is-centered{justify-content:center}.sidebar__icon{width:22px;display:inline-flex;justify-content:center}.sidebar__label{font-size:14px;font-weight:600}.sidebar__footer{margin-top:auto;padding-top:12px}.sidebar__footerText{margin:0;font-size:12px;color:#6b7280}.dashboard-layout{display:flex;height:100vh}.dashboard-main{flex:1;padding:24px;overflow-y:auto;background:var(--bg)}.section{margin-top:8px}.section__head{margin:16px 0 12px}.section__head--row{display:flex;justify-content:space-between;align-items:center;gap:12px}.section__title{margin:0}.class-list{display:grid;gap:12px;margin:12px 0}.class-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card)}.class-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.class-card-main{min-width:0}.class-card-title{margin:0 0 6px;font-size:16px}.class-card-subtitle{margin:0;color:var(--muted)}.class-card-actions{display:flex;gap:10px;align-items:center}.student-list{display:grid;gap:12px;margin-top:10px}.student-name{margin:0;font-size:17px;font-weight:100}.page-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.standards-list{display:grid;gap:12px}.standard-card{border:1px solid #e5e5e5;border-radius:10px;padding:14px;display:flex;justify-content:space-between;gap:12px;background:#fff}.standard-card__main{display:flex;gap:12px;align-items:center;flex:1}.standard-card__code{font-weight:700;padding:4px 8px;border-radius:8px;border:1px solid #ddd;white-space:nowrap;height:fit-content}.standard-card__text{line-height:1.35;overflow:hidden;text-overflow:ellipsis}.btn{padding:8px 12px;border-radius:10px;border:1px solid #ddd;background:#fff;cursor:pointer}.btn-primary{border-color:#111;background:#111;color:#fff}.btn-danger{border-color:#c0392b;color:#c0392b;background:#fff}.btn-ghost{border:none;background:transparent;font-size:18px}.field{display:grid;gap:6px}.field select{width:100%}.field__label{font-size:14px;opacity:.8}input,textarea{padding:10px 12px;border-radius:10px;border:1px solid #ddd;font:inherit}input:disabled{background:#f6f6f6;cursor:not-allowed;opacity:.85}.error{color:#c0392b;font-size:14px}.standard-card.is-dragging{box-shadow:0 8px 24px #0000001f;border-color:#ccc;-webkit-user-select:none;user-select:none}.drag-handle{cursor:grab;border:1px solid #ddd;background:#fff;border-radius:10px;padding:6px 10px;line-height:1;-webkit-user-select:none;user-select:none;touch-action:none}.drag-handle:active{cursor:grabbing}.evidence-toolbar__field{margin:0}.evidence-toolbar__field--type{min-width:220px}.evidence-toolbar__field--search{flex:1}.evidence-toolbar__clear{align-self:flex-end}select{padding:10px 12px;border-radius:10px;border:1px solid var(--border);font:inherit;background:var(--card);color:var(--text)}.evidence-list{display:grid;gap:12px}.evidence-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card);display:flex;justify-content:space-between;gap:12px;align-items:center}.evidence-card__title{line-height:1.35;font-weight:600}.evidence-card__actions{display:flex;gap:8px;align-items:center}.evidence-toolbar{display:grid;gap:10px;margin:10px 0 14px}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.pill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:500;margin-bottom:6px;border:1px solid #ddd;background:#f6f6f6}.pill--quiz{background:#eef4ff;border-color:#cddcff}.pill--test{background:#fff0f0;border-color:#ffd1d1}.pill--lab{background:#f0fff5;border-color:#c7f0d6}.pill--exit_ticket{background:#fffbe6;border-color:#ffefb3}.pill--project{background:#f4f0ff;border-color:#d9ccff}.pill--discussion{background:#f0f7ff;border-color:#cfe5ff}.pill--homework{background:#f9f9f9;border-color:#e5e5e5}.pill--other{background:#f6f6f6;border-color:#ddd}.page--wide{max-width:1200px}.mastery-subtitle{margin-top:4px}.mastery-tableWrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--card)}.mastery-table{width:100%;min-width:700px;border-collapse:collapse}.mastery-th{text-align:center;padding:10px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--card)}.mastery-th--student{text-align:left}.mastery-thBtn{appearance:none;border:0;background:transparent;padding:6px 8px;border-radius:10px;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;white-space:nowrap}.mastery-thBtn:hover{background:#0000000a}.mastery-td{padding:10px;border-bottom:1px solid rgba(0,0,0,.06)}.mastery-td--student{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mastery-td--cell{text-align:center;font-weight:700}.mastery-table tbody tr:last-child .mastery-td{border-bottom:0}.mastery-tableWrap{position:relative}.mastery-th--student{position:sticky;left:0;z-index:3;background:var(--card)}.mastery-td--student{position:sticky;left:0;z-index:2;background:var(--card)}.mastery-th--student,.mastery-td--student{width:180px;max-width:180px}.mastery-th--student,.mastery-td--student{box-shadow:8px 0 #0000000a}.mcell{border-radius:10px}.mcell--empty{background:transparent;color:#666;font-weight:400}.mcell--1{background:#c0392b2e;color:#7a1f18;border:1px solid rgba(192,57,43,.25)}.mcell--2{background:#f1c40f38;color:#6a5200;border:1px solid rgba(241,196,15,.28)}.mcell--3{background:#3498db2e;color:#0f3f63;border:1px solid rgba(52,152,219,.26)}.mcell--4{background:#2ecc712e;color:#0f4a2a;border:1px solid rgba(46,204,113,.26)}.mastery-studentBtn{appearance:none;border:0;background:transparent;padding:0;font:inherit;cursor:pointer;text-align:left;font-weight:600;color:var(--text);width:100%}.mastery-studentBtn:hover{text-decoration:underline}.mastery-table tbody tr:hover{background:#00000005}.muted{color:var(--muted)}.scoring-subtitle{margin-top:4px;color:var(--muted)}.standard-detail{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--card)}.standard-detail__text{margin-top:10px}.scoring-evidencePicker{display:grid;gap:10px;max-width:520px}.scoring-evidenceHint{font-size:14px;opacity:.8}.scores-list{display:grid;gap:10px}.score-row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--card);align-items:center}.score-row__main{display:grid;min-width:0}.score-row__name{font-weight:700}.score-row__hint{font-size:12px;opacity:.75}.score-row__actions{display:flex;align-items:center;gap:10px}.score-row__select{width:90px}.score-row:hover{border-color:#0000001f}@media(max-width:640px){.page{padding:16px}}.studentList{padding:16px}.studentList__header{margin-bottom:12px}.studentList__meta{margin:4px 0 0;color:var(--muted)}.studentList__search{min-width:280px;display:grid;gap:8px}.studentList__searchLabel{display:block;font-size:13px;opacity:.8}.studentList__sections{display:grid;gap:16px}.studentList__sectionCard{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px;background:var(--card)}.studentList__sectionHead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}.studentList__classLink{font-weight:800;text-decoration:none}.studentList__classLink:hover{text-decoration:underline}.studentList__period,.studentList__count{font-size:13px;opacity:.75}.studentList__cards{display:grid;gap:10px}.student-list-card{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:12px;background:var(--card)}.student-list-card__row{display:flex;justify-content:space-between;align-items:center;gap:12px}.student-list-card__main{min-width:0}.student-list-card__name{font-weight:800}.student-list-card__meta{opacity:.75;font-size:13px}.student-list-card__classLink{font-weight:700;text-decoration:none}.student-list-card__classLink:hover{text-decoration:underline}.student-list-card__actions{display:flex;gap:8px;align-items:center}.studentPage{padding:16px}.studentPage__head{margin-bottom:16px}.studentPage__title{margin:0 0 4px}.studentPage__meta{margin:0;color:var(--muted)}.studentPage__card{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:14px;background:var(--card)}.studentPage__cardTop{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.studentPage__cardTitle{margin:0;font-size:18px}.studentPage__cardHint{margin:0;opacity:.7;font-size:13px}.studentPage__rows{display:grid;gap:12px;margin-top:12px}.studentPage__standardRow{display:grid;grid-template-columns:280px 1fr 160px;gap:12px;align-items:stretch;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px;background:var(--card)}.studentPage__standardLeft{display:flex;align-items:center;min-width:0}.studentPage__standardLink{text-decoration:none;color:inherit;min-width:0}.studentPage__standardLink:hover .studentPage__standardTitle{text-decoration:underline}.studentPage__standardTitle{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studentPage__standardSub{font-size:13px;opacity:.75;margin-top:2px}.studentPage__standardGraph{display:flex;align-items:center;overflow:hidden}.studentPage__noEvidence{opacity:.7;font-size:13px}.studentPage__evidenceStrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.studentPage__evidenceBox{min-width:120px;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:8px;background:var(--card);display:flex;flex-direction:column;justify-content:space-between}.studentPage__evidenceTitle{font-size:12px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.studentPage__evidenceLevel{font-size:18px;font-weight:800;text-align:right}.studentPage__overall{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px}.studentPage__overallLabel{font-size:12px;opacity:.7}.studentPage__overallBadge{font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.15);background:var(--card)}@media(max-width:900px){.studentPage__standardRow{grid-template-columns:1fr}.studentPage__overall{align-items:flex-start}}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f7f7f8;--text: #111827;--card: #ffffff;--border: #e5e7eb;--muted: #6b7280;--primary: #111827;--primaryText: #ffffff;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6,p{margin:0}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid rgba(17,24,39,.35);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
