@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&family=Crimson+Text:wght@400;600;700&display=swap";:root{--umd-red: #e21833;--umd-gold: #ffd200;--umd-bronze: #ad7231;--umd-dark: #454545;--umd-mid: #7f7f7f;--umd-light: #e6e6e6;--bg: #ffffff;--bg-elev-1: #f4f3ef;--bg-elev-2: #fafaf7;--border: #e6e6e6;--border-strong: #cfcfcf;--text: #000000;--text-2: #5a5a5a;--hero-bg: #000000;--hero-text: #ffffff;--hero-text-2: rgba(255, 255, 255, .78);--hero-text-3: rgba(255, 255, 255, .58);--hero-border: rgba(255, 255, 255, .18);--danger-text: #b3132d;--danger-bg: #fdeceb;--danger-border: #f0b8ba;--success-text: #166534;--success-bg: #e6f4ea;--success-border: #a8d5b5;--warning-text: #92400e;--warning-bg: #fbeee0;--warning-border: #e8c39a;--info-text: #1d4ed8;--info-bg: #e8f0fe;--info-border: #b6cffa;--neutral-text: var(--text-2);--neutral-bg: var(--bg-elev-1);--neutral-border: var(--border-strong);--focus-ring: var(--umd-red);--heading: "Source Sans 3", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif: "Crimson Text", Georgia, "Times New Roman", Times, serif;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--fs-2xs: .72rem;--fs-xs: .8rem;--fs-sm: .85rem;--fs-base: .95rem;--fs-h4: 1rem;--fs-h3: 1.1rem;--fs-h2: 1.5rem;--fs-h1: clamp(1.35rem, 2.5vw, 2rem);--shadow: 0 10px 28px rgba(0, 0, 0, .08);--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--heading);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0 0 .5rem;letter-spacing:-.01em;font-weight:700;color:var(--text)}h1{font-family:var(--serif);font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}p{margin:0}strong,b{font-weight:700;color:var(--text)}a{color:var(--umd-red);font-weight:700;text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}label{display:block;margin:.35rem 0 .3rem;color:var(--text-2);font-size:var(--fs-sm);font-weight:600;letter-spacing:.01em}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}::selection{background:var(--umd-gold);color:#000}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:1000}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.65rem 1rem;background:var(--umd-red);color:#fff;border-radius:8px;font-weight:700;text-decoration:none}input,select,textarea,button{font-family:inherit;border-radius:12px;border:1px solid var(--border-strong);font-size:var(--fs-base);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input,select,textarea{width:100%;padding:.62rem .72rem;color:var(--text);background:var(--bg-elev-2);line-height:1.25}select:not([multiple]){-webkit-appearance:none;appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.5l5-4.75' fill='none' stroke='%235a5a5a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.68rem}input[type=checkbox],.checkbox-visual{-webkit-appearance:none;appearance:none;flex:0 0 auto;display:inline-grid;place-content:center;width:1.05rem;height:1.05rem;min-height:0;padding:0;border:1px solid var(--border-strong);border-radius:5px;background:var(--bg);cursor:pointer}input[type=checkbox]:checked,.checkbox-visual.is-checked{background:var(--info-text);border-color:var(--info-text)}input[type=checkbox]:checked:after,.checkbox-visual.is-checked:after{content:"";width:.55rem;height:.3rem;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;border-radius:1px;transform:translateY(-15%) rotate(-45deg)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--umd-red);box-shadow:0 0 0 3px #e2183338}input::placeholder,textarea::placeholder{color:var(--umd-mid)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;cursor:pointer;min-height:2.4rem;padding:.55rem .82rem;color:#fff;font-weight:600;border-color:transparent;background:var(--umd-red);white-space:nowrap}button:hover{background:var(--danger-text)}button:disabled{cursor:not-allowed;opacity:.6}button.danger{background:var(--umd-red)}button.danger:hover{background:var(--danger-text)}button.secondary-button{background:var(--bg-elev-2);color:var(--text);border-color:var(--border-strong)}button.secondary-button:hover{background:var(--bg-elev-1);border-color:var(--umd-mid)}code{font-family:var(--mono);font-size:var(--fs-xs);color:var(--umd-dark);background:var(--bg-elev-1);padding:.1em .35em;border-radius:4px}.screen{min-height:100vh;padding:clamp(1rem,2.2vw,1.6rem);animation:fade-up .3s var(--ease)}.workspace-shell{position:relative}.orb,.orb-red,.orb-gold{display:none}.glass-frame,.panel{position:relative;z-index:1;background:var(--bg-elev-1);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.panel{padding:.95rem}.topbar{display:grid;grid-template-columns:1.2fr minmax(260px,360px);gap:1rem;padding:1.1rem 1.4rem;margin-bottom:1rem;background:var(--hero-bg);border-radius:18px;border-bottom:4px solid var(--umd-red)}.brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.brand-block h1{color:var(--hero-text)}.topbar-reference-nav{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.7rem}.topbar-nav-btn{min-height:1.9rem;padding:.32rem .62rem;border-radius:999px;font-size:var(--fs-xs);font-weight:600;color:var(--hero-text-2);background:transparent;border:1px solid var(--hero-border)}.topbar-nav-btn:hover{color:var(--hero-text);border-color:var(--hero-text-2);background:#ffffff14}.topbar-nav-btn.active{color:#000;background:var(--umd-gold);border-color:var(--umd-gold);font-weight:700}.brand-block .muted{color:var(--hero-text-2)}.eyebrow{text-transform:uppercase;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.12em;color:var(--umd-gold);margin-bottom:.35rem}.muted{color:var(--text-2);font-size:var(--fs-sm)}.session-card{display:flex;flex-direction:column;gap:.6rem;padding:.95rem;border-radius:14px;background:var(--bg-elev-2);color:var(--text)}.session-card .muted{color:var(--text-2)}.feedback{position:relative;z-index:1;border-radius:10px;border-left:3px solid transparent;padding:.6rem .75rem;margin-bottom:.7rem;font-size:var(--fs-sm)}.feedback.error{background:var(--danger-bg);border-left-color:var(--danger-text);color:var(--danger-text)}.feedback.success{background:var(--success-bg);border-left-color:var(--success-text);color:var(--success-text)}.feedback.busy{background:var(--info-bg);border-left-color:var(--info-text);color:var(--info-text)}.feedback.warning{background:var(--warning-bg);border-left-color:var(--warning-text);color:var(--warning-text)}.loading-toast{position:fixed;right:1.2rem;top:1.2rem;z-index:30;display:inline-flex;align-items:center;gap:.7rem;min-width:min(320px,calc(100vw - 2.4rem));padding:.78rem .9rem;border-radius:14px;border:1px solid var(--info-border);background:#fffffff5;box-shadow:var(--shadow)}.loading-toast.is-autosave{border-color:var(--border-strong);color:var(--text-2)}.loading-toast.is-autosave.is-done{border-color:var(--success-border);color:var(--success-text)}.loading-toast strong{display:block;margin-bottom:.14rem;font-size:var(--fs-sm)}.inline-note{margin:0}.workflow-steps-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.55rem .7rem;margin-bottom:1rem}.step-btn{background:transparent;color:var(--text-2);border-color:transparent;border-radius:12px;font-size:var(--fs-sm)}.step-btn:hover{background:var(--bg-elev-2);color:var(--text)}.step-btn.active{background:var(--umd-gold);color:#000;font-weight:700}.step-btn.active:hover{background:var(--umd-gold)}.workflow-run-context{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-left:auto;padding-left:.6rem;border-left:1px solid var(--border);font-size:var(--fs-xs)}.workflow-run-name{font-weight:700}.workspace-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:1rem}.workspace-grid.is-guide-collapsed{grid-template-columns:1fr}.workspace-rail,.workspace-main,.view-stack,.doc-wrap{display:flex;flex-direction:column;gap:.9rem}.guide-step-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.4rem}.guide-step-head h3{margin:0}.guide-step-number{flex:none;padding:.2rem .65rem;border-radius:6px;background:var(--hero-bg);color:var(--hero-text);font-weight:700;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center}.guide-role-pill{margin-left:auto;padding:.15rem .6rem;border-radius:999px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;white-space:nowrap}.guide-role-instructor{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.guide-role-ta{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.guide-video{width:100%;display:block;margin-top:.6rem;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 6px 18px #00000014;background:#000}.guide-figure{margin:.8rem 0 .4rem}.guide-figure img{width:100%;height:auto;display:block;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 6px 18px #00000014}.guide-figure figcaption{margin-top:.45rem;color:var(--text-2);font-size:var(--fs-sm)}.menu-list{display:flex;flex-direction:column;gap:.4rem}.menu-btn{width:100%;justify-content:flex-start;background:transparent;color:var(--text-2);border-color:transparent;border-radius:12px}.menu-btn:hover{background:var(--bg-elev-2);color:var(--text)}.menu-btn.active{background:var(--umd-gold);color:#000;font-weight:700}.menu-btn.active:hover{background:var(--umd-gold)}.workflow-index{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:999px;font-size:var(--fs-2xs);font-weight:700;color:#000;background:var(--umd-gold)}.launcher-main{position:relative;z-index:1}.launcher-grid{display:grid;gap:1rem}.launcher-list-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem}.launcher-list-head h3{margin:0}.launcher-search{display:inline-flex;align-items:center;gap:.4rem;padding:.1rem .55rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg);color:var(--text-2)}.launcher-search input{border:none;background:transparent;min-height:2rem;padding:0;min-width:12rem;font-size:var(--fs-sm)}.launcher-search input:focus{outline:none;box-shadow:none}.launcher-search:focus-within{border-color:var(--umd-red)}.run-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem;margin:0;padding:0;list-style:none}.run-card-grid li{position:relative}.run-card-grid.is-loading{grid-template-rows:auto;grid-auto-rows:0;row-gap:0;overflow:hidden}.run-card.is-skeleton{gap:.45rem;cursor:default;pointer-events:none}.skeleton-line,.skeleton-pill{display:block;background:var(--bg-elev-1);border:1px solid var(--border);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line{height:.72rem;border-radius:6px}.skeleton-line.is-name{width:78%;height:.85rem}.skeleton-line.is-course{width:52%}.skeleton-line.is-updated{width:64%}.skeleton-pill{width:6.5rem;height:1.15rem;border-radius:999px}.run-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;height:100%;padding:.8rem 2.6rem .8rem .85rem;text-align:left;white-space:normal;background:var(--bg);border:1px solid var(--border);border-radius:14px;color:var(--text);font-weight:400}.run-card:hover{border-color:var(--umd-red);background:var(--bg-elev-2)}.run-card-name{font-family:var(--heading);font-weight:700;font-size:var(--fs-base);line-height:1.3}.run-card-course{font-size:var(--fs-sm);color:var(--text-2)}.run-card-updated{margin-top:auto;font-size:var(--fs-xs)}.run-card-delete{position:absolute;top:.5rem;right:.5rem;min-height:1.8rem;min-width:1.8rem;padding:.3rem}.launcher-pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.7rem;margin-top:.85rem}.launcher-back-row{margin-bottom:.8rem}.section-title-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.section-title-row h3{margin:0}.section-guide-button{flex:none;min-height:1.5rem;min-width:1.5rem;padding:.2rem;border-radius:7px;background:transparent;border:1px solid transparent;color:var(--text-2)}.section-guide-button:hover{background:var(--bg-elev-2);border-color:var(--border-strong);color:var(--text)}.section-guide-button.is-active{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.disclosure-card summary .section-guide-button{margin-right:.4rem;vertical-align:-.25em}.workspace-guide{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.7rem;max-height:calc(100vh - 2rem)}.workspace-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.workspace-guide-head h3{margin:0}.guide-panel-step-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem;margin-top:.35rem;font-size:var(--fs-sm);font-weight:700}.guide-panel-step-head .guide-step-number{font-size:var(--fs-2xs);padding:.12rem .45rem}.workspace-guide-collapse{flex:none;min-height:1.7rem;min-width:1.7rem;padding:.25rem;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--text-2)}.workspace-guide-collapse:hover{background:var(--bg-elev-2);border-color:var(--border-strong);color:var(--text)}.guide-restore-button{position:fixed;left:1.2rem;bottom:1.2rem;z-index:25;min-height:2.2rem;padding:.5rem .85rem;font-size:var(--fs-sm);border-radius:999px;background:var(--hero-bg);color:var(--hero-text);box-shadow:var(--shadow)}.guide-restore-button:hover{background:var(--umd-red)}.workspace-guide-head .muted{font-size:var(--fs-xs)}.workspace-guide-steps{display:flex;flex-direction:column;gap:.85rem;flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.workspace-guide-steps>*{flex:none}.guide-panel-figure{margin:0;border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden}.guide-panel-figure img{display:block;width:100%;height:auto}.guide-panel-points{display:grid;gap:.5rem;margin:0;padding:0;list-style:none;font-size:var(--fs-sm);color:var(--text-2);line-height:1.45}.guide-panel-points li{padding-left:.85rem;position:relative}.guide-panel-points li:before{content:"";position:absolute;left:0;top:.5em;width:.3rem;height:.3rem;border-radius:999px;background:var(--umd-red)}.guide-panel-points li.is-numbered{padding-left:1.4rem}.guide-panel-points li.is-numbered:before{content:none}.guide-point-number{position:absolute;left:0;top:0;color:var(--umd-red);font-weight:700;font-variant-numeric:tabular-nums}.guide-panel-rules summary{cursor:pointer;list-style:none;font-size:var(--fs-sm);font-weight:700;padding:.4rem 0}.guide-panel-rules summary::-webkit-details-marker{display:none}.guide-panel-rules summary:before{content:"";display:inline-block;width:.5rem;height:.5rem;margin-right:.45rem;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(-45deg) translateY(-.1rem);transition:transform .15s ease}.guide-panel-rules[open] summary:before{transform:rotate(45deg) translateY(-.05rem)}.workspace-guide-more{margin-top:auto;padding-top:.6rem;border-top:1px solid var(--border);border-radius:0;justify-content:flex-start;background:transparent;color:var(--text-2)}.workspace-guide-more:hover{background:transparent;color:var(--text)}.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.metric-card{position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--umd-gold)}.metric-card strong{display:block;font-size:var(--fs-h1);margin:.2rem 0 .25rem;color:var(--text)}.metric-card small{color:var(--text-2)}.stagger{animation:fade-up .3s var(--ease) both}.stagger:nth-child(2){animation-delay:40ms}.stagger:nth-child(3){animation-delay:80ms}.stagger:nth-child(4){animation-delay:.12s}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.action-card h3{margin-bottom:.25rem}.ta-table{display:flex;flex-direction:column;gap:.5rem}.course-setup-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:.9rem;align-items:end}.roster-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-bottom:.9rem}.roster-form-notes{grid-column:1 / -1}.roster-button-row{display:flex;justify-content:flex-start}.roster-send-grid{display:grid;grid-template-columns:minmax(0,auto) minmax(240px,1fr);gap:.9rem 1.6rem;align-items:start;margin-bottom:.5rem}.roster-send-controls{display:grid;gap:.7rem;align-content:start;justify-items:start}.email-action-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.email-action-legend,.csv-column-legend,.guide-panel-legend{margin:.3rem 0 0;padding-left:1.1rem;display:grid;gap:.28rem;font-size:var(--fs-xs);color:var(--text-2)}.guide-panel-legend{gap:.4rem;line-height:1.45}.roster-import-grid{display:grid;grid-template-columns:minmax(0,auto) minmax(260px,1fr);gap:.9rem 1.6rem;align-items:start}.roster-import-controls{display:grid;gap:.7rem;align-content:start;justify-items:start}.roster-import-controls>p{margin:0}.csv-sample{margin:0;max-width:100%;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev-1);color:var(--text);font-family:var(--mono);font-size:var(--fs-xs);line-height:1.5;white-space:pre;overflow-x:auto}.roster-panel-header{margin-bottom:.75rem}.panel-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.85rem}.section-sort{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap;flex:0 0 auto}.section-sort select{width:auto}.course-name{color:var(--umd-red)}.status-inline{display:flex;flex-wrap:wrap;gap:.45rem;font-size:var(--fs-xs);color:var(--text-2)}.status-inline span{display:inline-flex;align-items:center;padding:.26rem .55rem;border-radius:999px;background:var(--bg);border:1px solid var(--border)}.disclosure-stack{display:flex;flex-direction:column;gap:.7rem}.disclosure-card{border:1px solid var(--border);border-radius:14px;background:var(--bg);overflow:hidden}.disclosure-card summary{cursor:pointer;list-style:none;padding:.82rem 2.1rem .82rem .9rem;font-weight:700;position:relative}.disclosure-card summary:after{content:"";position:absolute;top:50%;right:.95rem;width:.7rem;height:.7rem;transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.5l5-4.75' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .15s ease}.disclosure-card[open] summary:after{transform:translateY(-50%) rotate(180deg)}.disclosure-card summary::-webkit-details-marker{display:none}.disclosure-card[open] summary{border-bottom:1px solid var(--border);background:var(--bg-elev-2)}.disclosure-stack+*{margin-top:.9rem}.disclosure-summary-note{font-weight:400;color:var(--text-2);font-size:var(--fs-sm)}.disclosure-body{padding:.9rem}.disclosure-body>p{margin-bottom:.75rem}.action-cluster{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.action-cluster-spaced{margin:.75rem 0}.new-run-form{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.new-run-form input,.new-run-form select{flex:1 1 12rem;min-width:0}.new-run-form button{flex:0 0 auto}.compact-button{min-height:2.2rem;padding:.48rem .8rem;font-size:var(--fs-sm);border-radius:10px}.roster-table-wrap{overflow-x:auto}.roster-table{width:100%;border-collapse:collapse;min-width:980px}.roster-table th,.roster-table td{padding:.72rem .6rem;border-top:1px solid var(--border);text-align:left;vertical-align:top}.roster-table th.roster-select-col,.roster-table td.roster-select-col{width:1%;white-space:nowrap;text-align:center;padding-right:1.3rem}.roster-table thead th{border-top:none;font-size:var(--fs-xs);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.roster-sort-button,.roster-select-head-toggle{min-height:0;padding:0;gap:.3rem;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:none;border:none}.roster-select-head-toggle{margin:0 auto}.roster-select-head-toggle:hover{background:none;color:var(--text)}.roster-select-head-toggle:hover .checkbox-visual:not(.is-checked){border-color:var(--text-2)}.roster-select-head-toggle.is-active{color:var(--text)}.roster-sort-button svg{opacity:.4}.roster-sort-button:hover{background:none;color:var(--text)}.roster-sort-button:hover svg{opacity:.75}.roster-sort-button.is-active{color:var(--text)}.roster-sort-button.is-active svg{opacity:1;color:var(--umd-red)}.roster-table tbody:first-of-type tr:first-child td{border-top:1px solid var(--border)}.roster-cell-stack{display:flex;flex-direction:column;gap:.18rem;font-size:var(--fs-sm)}.roster-cell-stack span{color:var(--text-2);font-size:var(--fs-xs)}.roster-summary-actions{display:flex;align-items:center;gap:.5rem;margin-top:.3rem}.roster-summary-actions .override-badge{margin-left:auto}.roster-cell-stack .override-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .45rem;border-radius:999px;background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);font-size:var(--fs-2xs);font-weight:600;white-space:nowrap}.table-action-cluster{display:flex;flex-wrap:wrap;gap:.45rem}.roster-expanded-row td{background:var(--bg-elev-2)}.roster-expanded-panel{padding:.25rem 0}.roster-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.submission-detail{display:flex;flex-direction:column;gap:.8rem}.submission-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:var(--fs-xs)}.submission-override-panel{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:10px;padding:.7rem .8rem}.submission-override-toggles{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-bottom:.45rem}.submission-override-toggles .checkbox-row span{font-size:var(--fs-sm)}.submission-override-panel p{margin:0;font-size:var(--fs-xs)}.submission-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.submission-detail-group{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem}.submission-detail-group.is-ignored{opacity:.55}.submission-detail-group.is-ignored .submission-detail-list{text-decoration:line-through}.submission-detail-group.is-ignored h5{color:var(--warning-text);text-decoration:none}.submission-detail-group h5{margin:0 0 .5rem;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.submission-detail-notes{grid-column:1 / -1}.submission-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.submission-detail-list li{display:flex;flex-direction:column;gap:.1rem;font-size:var(--fs-sm)}.submission-detail-list li span{color:var(--text-2);font-size:var(--fs-xs)}.empty-note{margin-top:.35rem;padding:.35rem .1rem}.cycle-meta{margin:.55rem 0 .4rem}.cycle-actions{margin-bottom:0}.icon-button{flex:0 0 auto;min-width:42px;padding:.62rem}.inline-row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.inline-row>*{flex:1;min-width:220px}.field-stack{display:flex;flex-direction:column;gap:.45rem;margin:0}.field-hint{margin-top:-.2rem;font-size:var(--fs-xs, .75rem);line-height:1.35}.visually-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.generate-schedule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;margin-bottom:.8rem}.generate-schedule-actions{display:flex;align-items:flex-end;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}.compact-select{min-width:220px}.schedule-meta{margin-bottom:.7rem}.section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.55rem}.course-section-group{margin-top:.9rem}.section-lock-select{min-height:5.5rem}.course-section-group h4{margin-bottom:.5rem;color:var(--umd-red);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em}.section-card{display:flex;gap:.55rem;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:.58rem;background:var(--bg);min-height:106px}.section-card>input[type=checkbox]{margin-top:.15rem}.section-card-body{min-width:0;width:100%;display:flex;flex-direction:column;align-items:flex-start}.section-card small{display:block;color:var(--text-2);font-size:var(--fs-xs);margin-bottom:.42rem}.section-eligibility-select{width:auto;max-width:100%;min-width:104px;padding:.45rem 2rem .45rem .75rem;font-size:var(--fs-xs);line-height:1.2;align-self:flex-start;margin-top:auto}.ta-row{display:grid;grid-template-columns:1.2fr repeat(3,minmax(120px,1fr)) minmax(160px,1fr) 90px 92px;gap:.45rem;align-items:center}.ta-row small{display:block;color:var(--text-2);font-size:var(--fs-xs)}.rule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem;margin-bottom:.6rem}.advanced-rules-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.2rem}.advanced-rules-stack{display:flex;flex-direction:column;gap:.8rem;margin-top:.8rem}.advanced-rule-group{padding:.85rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-elev-2)}.rule-grid label{margin:0}.label-with-tooltip{display:inline-flex;align-items:center;gap:.35rem}.select-with-tooltip{display:flex;flex-direction:column;gap:.3rem;margin:0}.checkbox-row{display:flex;align-items:center;gap:.45rem}.checkbox-row input:not([type=checkbox]){width:auto;flex:0 0 auto}.checkbox-row .label-with-tooltip{color:var(--text-2);font-size:var(--fs-sm);font-weight:600}.generate-availability-toggle{margin:.6rem 0 .2rem;font-size:var(--fs-sm)}.term-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin:.8rem 0}.tooltip-anchor{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--text-2);cursor:help}.tooltip-anchor:hover,.tooltip-anchor:focus-visible{color:var(--umd-red)}.tooltip-bubble{position:absolute;left:50%;bottom:calc(100% + .55rem);transform:translate(-50%) translateY(4px);width:min(260px,70vw);padding:.55rem .65rem;border-radius:10px;border:1px solid var(--hero-border);background:var(--hero-bg);color:var(--hero-text);font-size:var(--fs-xs);font-weight:500;line-height:1.4;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:20;transition:opacity .14s ease,transform .14s ease}.tooltip-bubble:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border-width:7px 6px 0 6px;border-style:solid;border-color:var(--hero-bg) transparent transparent transparent}.tooltip-anchor:hover .tooltip-bubble,.tooltip-anchor:focus-visible .tooltip-bubble{opacity:1;transform:translate(-50%) translateY(0)}.assignment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:.6rem}.assignment-card{border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:.62rem}.assignment-card.is-error{border-color:var(--danger-border);background:var(--danger-bg)}.assignment-card.is-violation{border-color:var(--warning-border);background:var(--warning-bg)}.assignment-card.is-warning{border-color:var(--info-border);background:var(--info-bg)}.assignment-card.is-stale .assignment-messages{color:var(--text-2)}.assignment-messages{display:grid;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;font-size:var(--fs-xs);line-height:1.4}.assignment-messages li{position:relative;padding-left:.8rem}.assignment-messages li:before{content:"";position:absolute;left:0;top:.45em;width:.34rem;height:.34rem;border-radius:999px}.assignment-messages .is-error:before{background:var(--danger-text)}.assignment-messages .is-violation:before{background:var(--warning-text)}.assignment-messages .is-warning:before{background:var(--info-text)}.assignment-messages .is-stale-note{padding-left:0;font-style:italic}.assignment-messages .is-stale-note:before{content:none}.assignment-candidates summary{cursor:pointer;list-style:none;margin-top:.4rem;font-size:var(--fs-xs);font-weight:700}.assignment-candidates summary::-webkit-details-marker{display:none}.assignment-candidates summary:before{content:"";display:inline-block;width:.42rem;height:.42rem;margin-right:.4rem;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(-45deg) translateY(-.1rem);transition:transform .15s ease}.assignment-candidates[open] summary:before{transform:rotate(45deg) translateY(-.05rem)}.assignment-candidates ul{display:grid;gap:.3rem;margin:.3rem 0 0;padding-left:1.1rem;font-size:var(--fs-xs);color:var(--text-2);line-height:1.4}.schedule-tally{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 .6rem}.schedule-tally span{padding:.2rem .6rem;border-radius:999px;border:1px solid transparent;font-size:var(--fs-xs);font-weight:700}.schedule-tally .is-error{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}.schedule-tally .is-violation{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.schedule-tally .is-warning{color:var(--info-text);background:var(--info-bg);border-color:var(--info-border)}.schedule-tally .is-clean{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.schedule-review-line{margin:.2rem 0 .45rem;color:var(--text);font-size:var(--fs-sm)}.assignment-header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;font-size:var(--fs-sm)}.status-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .56rem;border-radius:999px;font-size:var(--fs-xs);font-weight:700;border:1px solid transparent;text-transform:capitalize}.status-implemented{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.status-partial{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.status-deferred{color:var(--info-text);background:var(--info-bg);border-color:var(--info-border)}.status-na{color:var(--neutral-text);background:var(--neutral-bg);border-color:var(--neutral-border)}.ta-confirmation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.7rem}.ta-confirmation-card{border:1px solid var(--border);border-radius:14px;background:var(--bg-elev-1);padding:.8rem}.ta-confirmation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:.45rem}.ta-confirmation-header small{display:block;color:var(--text-2);font-size:var(--fs-xs)}.ta-schedule-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.65rem}.ta-schedule-item{display:flex;flex-direction:column;gap:.18rem;border:1px solid var(--border);border-radius:10px;padding:.5rem .58rem;background:var(--bg);font-size:var(--fs-sm)}.intake-screen{display:flex;justify-content:center}.intake-shell{position:relative;z-index:1;width:min(980px,100%);display:flex;flex-direction:column;gap:.8rem}.intake-hero{display:grid;gap:.8rem;padding:1.1rem 1.4rem;background:var(--hero-bg);border-radius:18px;border-bottom:4px solid var(--umd-red)}.intake-hero h1{color:var(--hero-text)}.intake-hero .muted{color:var(--hero-text-2)}.inline-icon{vertical-align:-.15em}.support-contact{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.doc-list{margin:0;padding-left:1.2rem;display:grid;gap:.35rem}.test-shot{margin:.85rem 0 0}.test-shot img{display:block;max-width:100%;height:auto;border:1px solid var(--border);border-radius:12px}.test-shot figcaption{margin-top:.4rem;color:var(--text-2);font-size:var(--fs-xs)}.mapping-table{display:grid;grid-template-columns:1.2fr .8fr 2fr 1.8fr 1.4fr;border:1px solid var(--border);border-radius:12px;overflow:hidden}.mapping-row{display:contents}.mapping-head{background:var(--bg-elev-1);border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);padding:.58rem;font-size:var(--fs-sm);font-weight:700;color:var(--text)}.mapping-head:last-child{border-right:none}.mapping-cell{padding:.58rem;font-size:var(--fs-sm);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);color:var(--text)}.mapping-cell:nth-last-child(-n+5){border-bottom:none}.mapping-cell:nth-child(5n){border-right:none}.mapping-spec{font-weight:650}.preference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.72rem}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{min-width:42px;border-radius:999px;background:transparent;border:1px solid var(--border-strong);color:var(--text);font-family:var(--mono);font-weight:600}.chip:hover{background:var(--bg-elev-2)}.chip.selected{background:var(--umd-red);color:#fff;border-color:var(--umd-red)}.chip.selected:hover{background:var(--danger-text);border-color:var(--danger-text)}.multi-row{border:1px solid var(--border);border-radius:12px;padding:.85rem;background:var(--bg-elev-2);margin-bottom:.75rem}.day-select{min-height:8.5rem;font-size:var(--fs-sm)}.submit-button{font-weight:700}.row-remove-button{align-self:flex-start}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes fade-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spin{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}@media(max-width:1200px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid{grid-template-columns:1fr}.ta-row{grid-template-columns:1fr 1fr}}@media(max-width:980px){.topbar,.workspace-grid{grid-template-columns:1fr}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.ta-row,.mapping-table{grid-template-columns:1fr}.generate-schedule-header{flex-direction:column}.generate-schedule-actions{width:100%;justify-content:flex-start}.generate-schedule-actions>*{flex:0 1 auto}.mapping-head{display:none}.mapping-cell{border-right:none}.mapping-cell:nth-child(5n+1){background:var(--bg-elev-1);font-weight:700}.workflow-run-context{width:100%;margin-left:0;padding-left:0;border-left:none;border-top:1px solid var(--border);padding-top:.5rem}.course-setup-grid,.panel-heading-row{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.action-cluster{width:100%}}@media(max-width:900px){.roster-send-grid,.roster-import-grid{grid-template-columns:1fr}.roster-import-controls,.roster-send-controls{justify-items:stretch}.email-action-row{flex-direction:column;align-items:stretch}}
