:root{--align-ink:#22304a;--align-muted:#66738a;--align-line:#d7deea;--align-soft:#f6f8fb;--align-teal:#149f93;--align-teal-dark:#0b7d74;--align-indigo:#4050c8;--align-green:#3a9a62;--align-red:#c9515d;--align-gold:#b77a12}.teacher-sidebar~.teacher-main.teacher-align-page>*{width:min(100%,1480px)}.teacher-align-page{color:var(--align-ink)}.align-topbar,.align-analysis-head,.align-class-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:28px}.align-topbar h1,.align-analysis-head h1,.align-class-page-head h1{font-size:clamp(2.15rem,3vw,3.1rem);line-height:1.05;margin:.2rem 0 .5rem;color:var(--align-ink)}.align-topbar p,.align-analysis-head p,.align-class-page-head p{margin:.15rem 0;color:var(--align-muted)}.align-topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.align-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1.5px solid var(--align-indigo);border-radius:9px;background:#fff;color:var(--align-indigo);font-weight:900;text-decoration:none;font:inherit;cursor:pointer}.align-button--primary{background:var(--align-indigo);color:#fff;box-shadow:0 3px 0 #2d3999}.align-button:hover,.align-button:focus-visible{filter:brightness(.98);outline:3px solid #4050c822;outline-offset:2px}.align-search input,.align-filterbar select,.align-filterbar input,.align-create-class input,.align-create-panel input,.align-settings input,.align-settings select{border:1.5px solid #c9d1de;border-radius:8px;padding:11px 12px;background:#fff;color:var(--align-ink);font:inherit}.align-search input{min-width:290px}.align-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 14px}.align-section-head h2{margin:0;color:var(--align-ink);font-size:1.35rem}.align-section-head p,.align-section-head span{margin:.2rem 0 0;color:var(--align-muted);font-size:.92rem}.align-section-head>a{color:var(--align-teal-dark);font-weight:900;text-decoration:none}.align-class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-bottom:26px}.align-class-card{background:#fff;border:1px solid var(--align-line);border-radius:14px;overflow:hidden;box-shadow:0 8px 20px #22304a0b}.align-class-card[hidden]{display:none}.align-class-banner{min-height:130px;padding:22px;color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:linear-gradient(125deg,#0e7f7a,#22304a)}.align-class-banner--2{background:linear-gradient(125deg,#4050c8,#17264d)}.align-class-banner--3{background:linear-gradient(125deg,#188b76,#365f77)}.align-class-banner--4{background:linear-gradient(125deg,#394c82,#147f8b)}.align-class-banner p{margin:0 0 5px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;font-size:.74rem;opacity:.9}.align-class-banner h2{margin:0 0 8px;color:#fff;font-size:1.3rem;line-height:1.25}.align-class-banner span{font-size:.9rem}.align-class-code{background:#ffffff1f;border:1px solid #ffffff55;border-radius:8px;padding:7px 9px;font-weight:900;white-space:nowrap}.align-class-recent{padding:17px 18px 14px;border-bottom:1px solid var(--align-line);min-height:132px}.align-class-recent--empty{display:grid;align-content:center}.align-class-recent--empty p{margin:.35rem 0 0;color:var(--align-muted)}.align-class-recent-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.align-class-recent-head>span:first-child{font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#556176}.align-class-recent>a{display:block;color:var(--align-ink);font-weight:900;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}.align-class-recent-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--align-muted);font-size:.82rem}.align-progress{height:6px;background:#e8edf3;border-radius:999px;overflow:hidden;margin-top:9px;min-width:110px}.align-progress i{display:block;height:100%;background:var(--align-teal);border-radius:inherit}.align-class-actions{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.align-class-actions .align-button{min-height:40px;font-size:.88rem}.align-report-link{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 18px;border-top:1px solid var(--align-line);background:#fafbfc;color:var(--align-teal-dark);font-weight:900;text-decoration:none}.align-class-summary{padding:18px;display:flex;gap:28px;border-bottom:1px solid var(--align-line)}.align-class-summary span{display:grid;color:var(--align-muted);font-size:.85rem}.align-class-summary strong{font-size:1.25rem;color:var(--align-ink)}.align-quick-panel,.align-panel,.align-table-card,.align-class-overview{background:#fff;border:1px solid var(--align-line);border-radius:14px;box-shadow:0 8px 20px #22304a08}.align-quick-panel{padding:22px 24px}.align-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.align-quick-grid a{display:grid;gap:4px;padding:16px;border:1px solid var(--align-line);border-radius:9px;text-decoration:none;color:var(--align-ink);background:#fff}.align-quick-grid a:hover{border-color:#9ea9ba;background:#fbfcfe}.align-quick-grid span{color:var(--align-muted);font-size:.84rem;line-height:1.35}.align-create-class{margin-top:18px;padding-top:16px;border-top:1px solid var(--align-line)}.align-create-class summary{font-weight:900;color:var(--align-teal-dark);cursor:pointer}.align-create-class form,.align-create-panel form{margin-top:14px}.align-create-class label,.align-create-panel label,.align-settings label{display:grid;gap:6px;font-weight:800;color:#4f5c70}.align-create-class form>div,.align-create-panel form>div{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:7px}.align-create-panel{margin-top:26px}.align-create-panel h2{margin-top:0}.align-filterbar{display:grid;grid-template-columns:1fr 1fr 1fr 1.45fr;gap:12px;padding:16px;background:#fff;border:1px solid var(--align-line);border-radius:12px;margin-bottom:14px}.align-filterbar label{display:grid;gap:6px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#5a6679}.align-filterbar select,.align-filterbar input{width:100%}.align-table-card,.align-panel{padding:18px}.align-table-scroll{overflow:auto}.align-assignment-table,.align-roster-table{width:100%;border-collapse:collapse;min-width:860px}.align-assignment-table th,.align-roster-table th{text-align:left;padding:11px 12px;border-bottom:1px solid var(--align-line);font-size:.77rem;text-transform:uppercase;letter-spacing:.045em;color:#606c7e;white-space:nowrap}.align-assignment-table td,.align-roster-table td{padding:13px 12px;border-bottom:1px solid #e9edf2;vertical-align:middle;color:#3e4a60}.align-assignment-table tr:last-child td,.align-roster-table tr:last-child td{border-bottom:0}.align-assignment-table tr[hidden]{display:none}.align-assignment-title{display:grid;gap:3px;color:var(--align-ink);text-decoration:none;max-width:330px}.align-assignment-title span,.align-subtext{color:var(--align-muted);font-size:.82rem}.align-mode,.align-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.73rem;font-weight:900;white-space:nowrap}.align-mode--practice{background:#e8f7f4;color:#087c72}.align-mode--assessment{background:#edf0ff;color:#3545ba}.align-status--completed{background:#eaf7ee;color:#277c49}.align-status--in-progress{background:#eaf0ff;color:#3554bd}.align-status--not-started{background:#f2f3f6;color:#6a7280}.align-analyze{color:var(--align-teal-dark);font-weight:900;text-decoration:none;white-space:nowrap}.align-table-count{text-align:right;margin:12px 2px 0;color:var(--align-muted);font-size:.85rem}.align-empty{padding:30px;text-align:center;color:var(--align-muted)}.align-empty h2{color:var(--align-ink)}.align-class-page-head .teacher-back-link,.align-analysis-head .teacher-back-link{display:inline-block;margin-bottom:14px;color:var(--align-teal-dark);text-decoration:none;font-weight:900}.align-class-overview{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;margin-bottom:22px;overflow:hidden}.align-class-overview-item{padding:20px 22px;border-right:1px solid var(--align-line);display:grid;gap:5px}.align-class-overview-item:last-child{border-right:0}.align-class-overview-item span{color:var(--align-muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.align-class-overview-item strong{font-size:1.45rem}.align-class-overview-item .text-button{justify-self:start;padding:0}.align-class-overview-action{background:#f8fbfb}.align-class-overview-action a{color:var(--align-teal-dark);font-weight:900;text-decoration:none}.align-class-detail>.align-panel{margin-bottom:18px}.align-archived summary,.align-settings summary{font-weight:900;cursor:pointer}.align-archived>div{margin-top:14px}.align-archived-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--align-line)}.align-archived-row>div{display:grid;gap:3px}.align-archived-row>div:last-child{display:flex;grid-auto-flow:column;gap:12px}.align-archived-row span{color:var(--align-muted);font-size:.84rem}.align-analysis-head{border-bottom:1px solid var(--align-line);padding-bottom:20px}.align-analysis-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--align-line);border-radius:9px;overflow:hidden;max-width:700px;margin-bottom:18px;background:#fff}.align-analysis-tabs button{border:0;border-right:1px solid var(--align-line);background:#fff;padding:12px 16px;font-weight:900;color:#566277;font:inherit;cursor:pointer}.align-analysis-tabs button:last-child{border-right:0}.align-analysis-tabs button.is-active{background:var(--align-indigo);color:#fff}.align-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.align-metric-grid article{background:#fff;border:1px solid var(--align-line);border-radius:12px;padding:18px;display:grid;gap:5px}.align-metric-grid span{color:var(--align-muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.align-metric-grid strong{font-size:2rem;color:var(--align-ink)}.align-metric-grid small{color:var(--align-muted)}.align-metric-alert{border-color:#efcf98!important;background:#fffaf0!important}.align-word-chart{display:grid;gap:12px}.align-word-bar{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(220px,3fr) 62px;gap:14px;align-items:center}.align-word-bar>div:first-child{display:grid}.align-word-bar span{color:var(--align-muted);font-size:.78rem}.align-word-meter{height:24px;background:#edf1f5;border-radius:5px;overflow:hidden}.align-word-meter i{display:block;height:100%;background:linear-gradient(90deg,#19a486,#61b447);border-radius:inherit}.align-word-bar b{text-align:right}.align-student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.align-student-card{border:1px solid var(--align-line);border-radius:12px;padding:16px;background:#fff}.align-student-head{display:flex;gap:11px;align-items:center}.align-student-head>div{display:grid;gap:4px}.align-avatar{width:42px;height:42px;border-radius:50%;background:#e6f7f2;color:#147a69;display:grid;place-items:center;font-weight:900}.align-student-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.align-student-metrics span{display:grid;color:var(--align-muted);font-size:.72rem;text-align:center;background:#f7f8fa;border-radius:8px;padding:9px 6px}.align-student-metrics b{color:var(--align-ink);font-size:1.1rem}.align-student-review{margin:0;padding-top:10px;border-top:1px solid var(--align-line);color:#755438;font-size:.82rem;line-height:1.4}.align-student-review--good{color:#3e7d5c}.align-settings{margin-bottom:18px}.align-settings>summary{list-style:none}.align-settings>summary::-webkit-details-marker{display:none}.align-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:18px;padding-top:18px;border-top:1px solid var(--align-line)}.align-settings-grid form{display:grid;gap:11px}.align-settings-grid h3{margin:0}.align-settings-grid p{margin:0;color:var(--align-muted)}.align-settings-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--align-line)}.align-archived-notice{display:flex;gap:12px;align-items:center;padding:14px 16px;background:#fff6e6;border:1px solid #e7c98d;border-radius:10px;margin-bottom:18px}.align-archived-notice span{color:#755f3e}.assignment-publish-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.form-error:not([hidden]){color:#aa3040}.teacher-reports-page .reports-panel,.teacher-reports-page .reports-filter-bar,.teacher-reports-page .reports-metric{border-radius:12px!important;box-shadow:none!important}.teacher-reports-page .reports-heading h1{font-size:clamp(2.1rem,3vw,3rem)}@media(max-width:1150px){.align-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.align-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.align-class-overview{grid-template-columns:1fr 1fr}.align-class-overview-item:nth-child(2){border-right:0}.align-class-overview-item:nth-child(-n+2){border-bottom:1px solid var(--align-line)}.align-filterbar{grid-template-columns:1fr 1fr}}@media(max-width:820px){.align-topbar,.align-analysis-head,.align-class-page-head{flex-direction:column}.align-topbar-actions{justify-content:flex-start}.align-search input{min-width:0;width:100%}.align-filterbar,.align-quick-grid,.align-settings-grid{grid-template-columns:1fr}.align-metric-grid{grid-template-columns:1fr 1fr}.align-word-bar{grid-template-columns:1fr}.align-word-bar b{text-align:left}.align-analysis-tabs{max-width:none}.align-class-overview{grid-template-columns:1fr}.align-class-overview-item{border-right:0;border-bottom:1px solid var(--align-line)}.align-class-overview-item:last-child{border-bottom:0}}@media(max-width:560px){.align-class-grid,.align-student-grid{grid-template-columns:1fr}.align-class-actions{grid-template-columns:1fr}.align-quick-grid,.align-metric-grid{grid-template-columns:1fr}.align-create-class form>div,.align-create-panel form>div{grid-template-columns:1fr}.align-analysis-tabs{grid-template-columns:1fr}.align-analysis-tabs button{border-right:0;border-bottom:1px solid var(--align-line)}.align-analysis-tabs button:last-child{border-bottom:0}}
