.asg-toggle{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-body)}.asg-toggle input{width:20px;height:20px}.asg-grp-list{list-style:none;padding:0;margin:0}.asg-grp{padding:10px 0;border-bottom:1px solid var(--border-rule)}.asg-grp:last-child{border-bottom:0}.asg-grp-hd{font-size:var(--text-sm)}.asg-grp-time{color:var(--text-link)}.asg-grp-course,.asg-grp-time{font-weight:var(--weight-semibold)}.asg-grp-course{color:var(--text-strong)}a.asg-grp-course{text-decoration:none}a.asg-grp-course:hover{text-decoration:underline}.asg-grp-titles{list-style:disc;margin:2px 0 0;padding-left:1.25em}.asg-grp-titles li{color:var(--text-strong);font-size:var(--text-sm);overflow-wrap:anywhere;margin:2px 0}.asg-grp-titles a{color:inherit;text-decoration:underline}.asg-recent{margin-top:8px}.asg-recent-summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;color:var(--text-link);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.asg-recent-summary::-webkit-details-marker{display:none}.asg-recent-summary::marker{content:""}.asg2-due{margin-top:8px}.asg2-grid{display:grid;grid-template-columns:1fr;grid-gap:2px 20px;gap:2px 20px;align-items:start}@media (min-width:760px){.asg2-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.asg2-day-hd,.asg2-full{grid-column:1/-1}.asg2-day-hd{font-family:var(--font-sans);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--text-strong);text-transform:uppercase;letter-spacing:var(--tracking-label);border-bottom:1px solid var(--border-rule);padding-bottom:4px;margin:14px 0 4px}.asg2-day-hd:first-child{margin-top:0}.asg2-class-hd{grid-column:1/-1;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-body);margin:4px 0 0}.asg2-class-time{color:var(--text-link);font-weight:var(--weight-semibold)}.asg2-class-link,.asg2-class-name{color:var(--text-strong);font-weight:var(--weight-semibold);text-decoration:none}a.asg2-class-link:hover{text-decoration:underline}.asg2-row{grid-column:1;display:flex;align-items:baseline;gap:8px;width:100%;min-height:44px;padding:6px 8px;margin:0 -8px;border:0;border-radius:var(--radius-xs);background:transparent;text-align:left;font-family:var(--font-sans);cursor:pointer}.asg2-row:hover{background:var(--surface-panel)}.asg2-row.is-selected{background:var(--telra-blue-050)}.asg2-row-time{flex:none;color:var(--text-muted);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:5.5em}.asg2-row-course{flex:none;font-weight:var(--weight-semibold);max-width:14em}.asg2-row-course,.asg2-row-summary{color:var(--text-strong);font-size:var(--text-sm);overflow-wrap:anywhere}.asg2-detail-cell{grid-column:1}@media (min-width:760px){.asg2-detail-cell{grid-column:2}}.asg2-detail{border:1px solid var(--border-rule);border-radius:var(--radius-sm);padding:var(--space-3);margin:2px 0 8px}.asg2-detail-course{color:var(--text-link);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.asg2-detail-course-link{color:inherit;text-decoration:none}.asg2-detail-course-link:hover{text-decoration:underline}.asg2-detail-hd{font-family:var(--font-display);font-size:var(--text-lg);margin:2px 0 4px;overflow-wrap:anywhere}.asg2-detail-due{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:10px}.asg2-detail-desc{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-body);font-size:var(--text-sm);margin:0 0 10px}.asg2-detail-desc a{color:var(--text-link);text-decoration:underline}.asg2-detail-link{display:inline-flex;align-items:center;min-height:44px;color:var(--text-link);font-weight:var(--weight-semibold);text-decoration:none}.asg2-detail-link:hover{text-decoration:underline}.asg2-grid.asg2-grid--recent{margin-top:var(--space-2)}button.asg-feed-add{background:none;border:none;color:inherit;cursor:pointer;padding:0;text-decoration:underline;font:inherit}div.asg-feed-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}input.ui-input.asg-feed-input{flex:1 1 20rem;min-height:44px}p.asg-feed-error{color:var(--text-alert);font-size:var(--text-sm);margin:var(--space-2) 0 0}@media (max-width:600px){.asg2-detail-course-link,button.asg-feed-add{padding:14px 6px;margin:-14px -6px}}.crs{margin-bottom:var(--space-6)}.crs-list{list-style:none;margin:0;padding:0}.crs-list li+li{border-top:1px solid var(--border-rule)}.crs-row{display:grid;grid-template-columns:1fr auto;grid-gap:2px var(--space-4);gap:2px var(--space-4);align-items:baseline;padding:12px 0;min-height:44px;text-decoration:none;color:var(--text-body)}.crs-row:hover .crs-title{text-decoration:underline}.crs-name{display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline;min-width:0}.crs-code{font-weight:var(--weight-semibold);color:var(--text-strong);white-space:nowrap}.crs-title{color:var(--text-link);overflow-wrap:anywhere}.crs-grade{font-weight:var(--weight-bold);color:var(--text-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.crs-grade--none{color:var(--text-muted);font-weight:var(--weight-medium)}.crs-grade--lg{font-size:var(--text-lg);text-align:left}.crs-meta{grid-column:1/-1;display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);color:var(--text-muted)}.crs-missing{color:var(--text-alert);font-weight:var(--weight-semibold)}.crs-source{font-size:var(--text-xs);color:var(--text-muted)}.crs-work{margin:var(--space-6) 0}.crs-summary{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-4)}.crs-h3{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong);margin:var(--space-4) 0 4px}.crs-items{list-style:none;margin:0;padding:0}.crs-item{display:grid;grid-template-columns:1fr auto;grid-gap:2px var(--space-3);gap:2px var(--space-3);padding:8px 0;border-bottom:1px solid var(--border-rule)}.crs-item:last-child{border-bottom:0}.crs-item-title{color:var(--text-strong);overflow-wrap:anywhere;min-width:0}.crs-item-score{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.crs-item-meta{grid-column:1/-1;font-size:var(--text-xs);color:var(--text-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.crs-page{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:0 var(--space-6);gap:0 var(--space-6)}@media (min-width:1000px){.crs-page--board{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.crs-page--board .crs-work{margin-top:var(--space-4)}}.crs-item-title a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}.crs-item-title a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.forms-list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.forms-list-title{font-weight:700;color:var(--text-strong)}.forms-list-counts,.forms-list-meta{color:var(--text-muted);font-size:var(--text-sm)}.forms-list-counts{display:flex;gap:var(--space-3);align-items:baseline}.forms-list-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.forms-builder-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--space-6);gap:var(--space-6);align-items:start}@media (max-width:900px){.forms-builder-cols{grid-template-columns:1fr}}.forms-builder-preview{position:-webkit-sticky;position:sticky;top:var(--space-4);padding:var(--space-4)}.forms-builder-preview,.forms-field-row{border:1px solid var(--border-rule);border-radius:var(--radius-sm);background:var(--surface-card)}.forms-field-row{padding:var(--space-3);margin-bottom:var(--space-3)}.forms-field-row-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.forms-field-row-actions{display:flex;gap:var(--space-1)}.forms-public-page{max-width:40rem;margin:0 auto;padding:var(--space-6) var(--space-4);min-height:100vh;background:var(--surface-page)}.forms-public-brand{text-align:center;margin-bottom:var(--space-6);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-link)}.forms-option-row{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-2)}.forms-submission-cell-long{max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forms-add-row{display:flex;gap:var(--space-2);align-items:center;margin:var(--space-4) 0}.forms-field-id{font-size:var(--text-sm);color:var(--text-muted)}.forms-required{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.forms-minmax{display:flex;gap:var(--space-3)}.forms-submission-row{cursor:pointer}.forms-detail-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.forms-review{margin-top:var(--space-4);border-top:1px solid var(--border-rule);padding-top:var(--space-3)}.forms-ack{display:flex;flex-direction:column;gap:var(--space-4)}.forms-ack-status{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4);margin:0;font-size:var(--text-sm);color:var(--text-muted)}.forms-ack-signer{color:var(--text-body)}.forms-doc{max-height:24rem;overscroll-behavior:contain;background:var(--surface-card);padding:var(--space-4)}.forms-doc:focus-visible{outline:2px solid var(--telra-blue);outline-offset:2px}.forms-ack-sign{display:flex;flex-direction:column;gap:var(--space-3)}.forms-ack-agree .ui-check{min-height:44px;align-items:center}.forms-grade-range{display:flex;gap:var(--space-3)}.forms-grade-range .ui-field{flex:0 1 10rem}.forms-doc{max-height:20rem;overflow:auto;border:1px solid var(--border-rule);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-4)}.forms-doc>:first-child{margin-top:0}.forms-doc>:last-child{margin-bottom:0}.forms-doc-sign{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-rule)}.ack-summary{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.ack-summary strong{color:var(--text-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ack-actions{display:inline-flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.ack-sig{display:flex;flex-direction:column;gap:2px}.ack-version{color:var(--text-muted);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}