:root{--bg:#fff;--panel:#fff;--panel-strong:#fff;--border:#d5dbe2;--border-strong:#bcc5cf;--text:#1d2428;--muted:#5d676d;--accent:#002664;--accent-soft:#e8eef8;--accent-mid:#26457a;--accent-line:#00266438;--radius-sm:4px;--shadow:0 2px 5px #00266414, 0 10px 24px #00266412;--shadow-subtle:0 1px 3px #00266414, 0 4px 10px #0026640d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eef2f6;font-family:Segoe UI,Arial,Helvetica,sans-serif}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.02em;font-weight:600}p{color:var(--muted);font-size:13px;line-height:1.45}.app-shell{height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.control-panel{border-right:1px solid var(--border);background:#fff;flex-direction:column;min-height:0;padding:28px 24px;display:flex;overflow:auto;container-type:inline-size}.term-section{gap:6px;padding-bottom:16px;display:grid}.term-row{gap:3px;display:grid}.data-freshness{color:var(--muted);align-items:baseline;gap:6px;font-size:12px;line-height:1.4;display:flex}.data-freshness-dot{background:#2f9e5b;border-radius:50%;flex:none;width:7px;height:7px;transform:translateY(-1px)}.data-freshness.stale{color:#8a5300}.data-freshness.stale .data-freshness-dot{background:#d88a00}.student-tools{gap:8px;display:grid}.student-tools-links{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:8px;display:grid}.student-tool-link{border-radius:var(--radius-sm);background:var(--panel);min-width:0;box-shadow:var(--shadow);color:var(--accent);border:1px solid #c9c2b6c7;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;transition:border-color .12s;display:flex}.student-tool-link:hover{border-color:var(--accent-line)}.student-tool-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.student-tool-link>svg{flex:none}.student-tool-copy{flex:1;min-width:0;display:grid}.student-tool-copy strong{color:var(--text);font-size:14px;line-height:1.2}.student-tool-copy span{color:var(--muted);font-size:12px;line-height:1.35}.student-tool-copy .student-tool-external{color:var(--muted);vertical-align:0;margin-left:4px}.student-tools-note{color:var(--muted);font-size:12px;line-height:1.45}.term-section h2{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.term-value{color:var(--text);letter-spacing:-.01em;font-size:18px;font-weight:650;line-height:1.15}.panel-resize-handle{cursor:col-resize;position:relative}.panel-resize-handle:before{content:"";background:#5d676d59;width:2px;position:absolute;top:24px;bottom:24px;left:4px}.app-title{justify-items:start;gap:6px;width:100%;min-width:0;margin-bottom:24px;display:grid}.app-logo{letter-spacing:-.01em;align-items:center;gap:.3em;font-size:clamp(24px,7.6cqi,30px);line-height:1;display:flex}.app-logo-mark{flex:none;width:auto;height:.88em;display:block}.app-title p{font-size:clamp(11px,3.1cqi,13px);line-height:1.35}.app-title-row{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.help-button{border:1px solid var(--accent-line);background:var(--accent-soft);min-height:34px;color:var(--accent);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px 0 11px;font-size:13px;font-weight:700;display:inline-flex}.help-button:hover{border-color:var(--accent);background:#dce5f3}.help-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schedule-list-end{color:var(--muted);text-align:center;padding:4px 4px 0;font-size:12px}.help-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:2px 0;font-size:12px;font-weight:700;display:inline-flex}.help-link:hover{text-decoration:underline}.help-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-section{border-top:1px solid #c9c2b6b8;padding:18px 0}.panel-footer{color:var(--muted);border-top:1px solid #c9c2b6b8;flex-wrap:wrap;justify-content:center;gap:4px 6px;padding:14px 0 4px;font-size:12px;display:flex}.panel-footer a{color:var(--muted);text-underline-offset:2px;font-weight:600;text-decoration:underline}.panel-footer a:hover{color:var(--accent)}.panel-section:first-of-type{border-top:0;padding-top:0}.section-heading,.workspace-header,.selection-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading.compact{margin-bottom:12px}.section-heading{margin-bottom:14px}.section-heading h2,.workspace-header h2{margin-bottom:4px;font-size:21px;line-height:1.05}.icon-action{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--accent);color:#fff;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.icon-action.ghost{width:34px;height:34px;color:var(--muted);background:0 0}.field-help,.status-stack{margin-top:8px}.status-stack{gap:4px;display:grid}.bucket-stack,.candidate-list,.selection-list{gap:12px;display:grid}.bucket-guidance{margin:0 0 14px}.bucket-editor,.side-panel-block{border-radius:var(--radius-sm);background:var(--panel);box-shadow:var(--shadow);border:1px solid #c9c2b6c7}.bucket-editor{isolation:isolate;min-width:0;padding:12px 48px 12px 44px;transition:border-color .12s;position:relative}.bucket-card-edit{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.bucket-editor:has(.bucket-card-edit:hover){border-color:var(--accent-line)}.bucket-card-edit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bucket-card-remove{z-index:2;position:absolute;top:8px;right:8px}.bucket-card-body{gap:2px;min-width:0;display:grid;container-type:inline-size}.bucket-card-body h3{overflow-wrap:anywhere;font-size:16px;line-height:1.15}.bucket-card-body p{color:var(--muted);font-size:12px;line-height:1.4}.bucket-card-body .bucket-backups{color:var(--text)}.bucket-backups span{color:var(--muted);font-weight:700}.bucket-editor.dragging{z-index:5;border-color:var(--accent);box-shadow:0 12px 28px #0026642e}.bucket-loading-progress{border-radius:var(--radius-sm);background:#0026641f;height:4px;position:absolute;bottom:0;left:46px;right:14px;overflow:hidden}.bucket-loading-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-mid) 0%, var(--accent) 100%);height:100%;transition:width .16s ease-out;display:block}.bucket-editor:has(.bucket-placement){padding-bottom:0}.bucket-placement{border-top:1px solid var(--placement-line,#c4cbd2);border-radius:0 0 var(--radius-sm) 0;color:#4e5960;background:#f2f4f6;align-items:center;gap:6px;min-height:26px;margin:10px -48px 0 -14px;padding:3px 10px 3px 14px;font-size:11px;line-height:1.3;display:flex}.bucket-placement>svg{flex:none}.bucket-placement-label{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800}.bucket-placement-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bucket-placement-detail:before{content:"·";margin-right:6px}.bucket-placement.placed{--placement-line:#8bc5a1;color:#17613a;background:#e8f6ed}.bucket-placement.backup{--placement-line:#d8b56a;color:#7a5200;background:#fff6e0}.bucket-placement.not-placed{--placement-line:#dda1a7;color:#922d38;background:#fff0f1}.placement-why{z-index:2;border-radius:var(--radius-sm);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:none;margin-left:auto;padding:2px 4px;font-weight:700;text-decoration:underline;position:relative}.placement-why:hover,.placement-why[aria-expanded=true]{background:#ffffffb3}.placement-why:focus-visible{outline:2px solid var(--accent);outline-offset:0}.placement-why-panel{z-index:60;border:1px solid var(--border);border-radius:var(--radius-sm);width:min(340px,100vw - 16px);box-shadow:var(--shadow);color:var(--text);background:#fff;padding:12px 14px;font-size:12px;line-height:1.45;position:fixed}.placement-diagnosis{gap:8px;display:grid}.placement-diagnosis-title{font-size:13px;line-height:1.3}.placement-diagnosis-choice-label{color:#445158;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.placement-diagnosis ul{gap:3px;margin:0;padding-left:16px;display:grid}.placement-diagnosis-hint{border-top:1px solid var(--border);color:var(--muted);padding-top:8px}.schedule-sections-missing{gap:6px;padding-top:4px;display:grid}.schedule-sections-missing>strong{color:#445158;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.schedule-sections-missing ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.schedule-sections-missing .bucket-placement{border:1px solid var(--placement-line,#c4cbd2);border-radius:var(--radius-sm);margin:0;padding:5px 8px 5px 10px}.schedule-sections-missing .bucket-placement-label{letter-spacing:0;text-transform:none;font-size:12px}.bucket-action-row{flex-shrink:0;align-items:center;gap:8px;display:flex}.drag-handle{border:0;border-right:1px solid var(--border-strong);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--accent-soft);width:30px;color:var(--accent);cursor:grab;touch-action:none;z-index:2;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;bottom:0;left:0}.drag-handle:active,.bucket-editor.dragging .drag-handle{cursor:grabbing}.drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.inline-icon{vertical-align:-2px}.secondary-action{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent);color:#fff;white-space:nowrap;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.secondary-action.ghost{color:var(--muted);background:0 0}.secondary-action.small{min-height:32px;padding:0 10px}.field{gap:6px;display:grid}.field-stack{gap:10px;margin-top:14px;display:grid}.field>span,.toggle-row-label-text{color:#445158;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.field select,.field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);width:100%;height:40px;color:var(--text);padding:0 12px}.banner-option-field{position:relative}.banner-option-trigger{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);width:100%;min-height:40px;color:var(--text);align-items:center;gap:6px;padding:5px 6px;display:flex}.banner-option-values{flex-wrap:wrap;flex:1;gap:5px;min-width:0;display:flex}.banner-option-values:empty{display:none}.banner-option-chip{border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-soft);max-width:100%;min-height:26px;color:var(--accent);align-items:center;gap:4px;padding:0 4px 0 8px;font-size:11px;font-weight:700;display:inline-flex}.banner-option-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.banner-option-chip button{border-radius:var(--radius-sm);color:currentColor;background:0 0;border:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.banner-option-chip button:hover,.banner-option-chip button:focus-visible{background:#0026641a}.banner-option-open{min-width:28px;min-height:28px;color:var(--muted);background:0 0;border:0;justify-content:flex-end;align-items:center;gap:8px;padding:0 4px;display:flex}.banner-option-open.empty{text-align:left;flex:1;justify-content:space-between;width:100%;padding-left:6px}.banner-option-open.empty .banner-option-placeholder{text-align:left;flex:1}.banner-option-placeholder{color:var(--muted)}.banner-option-popover{z-index:12;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel-strong);padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 16px 35px #00163629}.banner-option-popover input{height:36px}.banner-option-list{max-height:240px;margin-top:6px;overflow-y:auto}.banner-option-list>p{padding:9px 8px}.banner-option-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;background:0 0;border:0;padding:9px 8px;display:block}.banner-option-item:hover,.banner-option-item[aria-selected=true]{background:var(--accent-soft)}.banner-option-item span{color:var(--text)}.field select[multiple]{height:96px;padding:8px 12px}.density-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px;display:grid}.search-open-button{justify-content:center;width:100%;margin-bottom:14px}.search-dialog-backdrop{z-index:50;background:#0c1c3080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.course-search-dialog{border:1px solid var(--border);background:var(--panel);border-radius:10px;width:min(780px,100%);max-height:min(92dvh,900px);padding:24px;overflow:auto;box-shadow:0 24px 70px #00163640}.course-search-dialog-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.course-search-dialog-header h2{margin:4px 0 6px}.search-by-toggle{align-items:center;gap:8px;margin-bottom:16px;display:flex}.search-by-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);min-height:34px;color:var(--muted);cursor:pointer;align-items:center;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.search-by-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.search-by-option.selected{border-color:var(--accent);background:var(--accent);color:#fff}.search-by-option:focus-within{outline-offset:2px;outline:2px solid #0026644d}.search-step-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.search-step-title{color:#445158;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.search-match-count{color:var(--accent);font-size:12px;font-weight:700}.bucket-step{gap:12px;display:grid}.bucket-step+.bucket-step{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.requirement-picker{gap:6px;display:grid}.requirement-picker input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel-strong);width:100%;height:42px;color:var(--text);padding:0 12px;font-size:15px}.requirement-picker input:focus-visible{outline-offset:1px;outline:2px solid #0026644d}.requirement-suggestions{max-height:280px;display:grid;overflow-y:auto}.requirement-suggestions:empty{display:none}.requirement-suggestion{border-radius:var(--radius-sm);cursor:pointer;align-items:baseline;gap:10px;padding:9px 10px;display:flex}.requirement-suggestion[aria-selected=true]{background:var(--accent-soft)}.requirement-suggestion strong{color:var(--accent);white-space:nowrap}.requirement-suggestion span,.requirement-picker-status{color:var(--muted);font-size:13px}.link-action{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.bucket-choices{border-bottom:1px solid var(--border);gap:10px;margin-bottom:20px;padding-bottom:18px;display:grid}.bucket-choices-rule{color:var(--text);font-size:13px}.bucket-choice-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.bucket-choice{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);align-items:center;gap:4px;padding-right:4px;display:flex}.bucket-choice.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.bucket-choice-select{min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border:0;flex:auto;gap:2px;padding:8px 12px;display:grid}.bucket-choice-rank{color:var(--accent-mid);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.bucket-choice-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.bucket-choice-label.empty{color:var(--muted);font-style:italic;font-weight:500}.bucket-choice-actions{flex:none;gap:2px;display:flex}.bucket-choice-actions .icon-action{width:32px;height:32px}.bucket-add-backup{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.bucket-add-backup .secondary-action{border-style:dashed;border-color:var(--border-strong);color:var(--accent)}.bucket-add-backup span{color:var(--muted);font-size:12px}.search-shared-note{color:var(--muted);flex-basis:100%;font-size:12px}.requirement-summary{border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.requirement-summary>div{gap:2px;min-width:0;display:grid}.requirement-summary strong{color:var(--accent);font-size:16px}.requirement-summary span{color:var(--muted);font-size:13px}.hidden-count{color:var(--muted);font-size:12px}.bucket-narrow-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.bucket-list-filter{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);width:100%;height:36px;color:var(--text);padding:0 10px}.bucket-option-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:360px;display:grid;overflow-y:auto}.bucket-option-empty{color:var(--muted);padding:14px}.bucket-option-select-all{z-index:1;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;background:#f7f8fa;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:700;display:flex;position:sticky;top:0}.bucket-option-select-all input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:0}.bucket-option-course+.bucket-option-course{border-top:1px solid var(--border)}.bucket-option-course-row{align-items:center;gap:8px;padding:0 10px;display:flex}.bucket-option-course-row input,.bucket-option-sections input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:0}.bucket-option-course-toggle{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:baseline;gap:8px;padding:10px 0;display:flex}.bucket-option-course-toggle svg{color:var(--muted);flex:none;align-self:center}.bucket-option-course-toggle strong{white-space:nowrap}.bucket-option-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.bucket-option-meta{color:var(--muted);white-space:nowrap;font-size:12px}.bucket-option-course.excluded .bucket-option-course-toggle strong,.bucket-option-course.excluded .bucket-option-title,.bucket-option-sections li.excluded{color:var(--muted);text-decoration:line-through}.bucket-option-sections{margin:0;padding:0;list-style:none}.bucket-option-course .bucket-option-sections{padding-left:32px}.bucket-option-sections li+li{border-top:1px solid #edf0f3}.bucket-option-sections label{cursor:pointer;grid-template-columns:auto 44px 1fr;align-items:baseline;gap:10px;padding:9px 10px;display:grid}.bucket-option-sections input{align-self:center}.bucket-option-section-number{font-weight:700}.bucket-option-section-detail{flex-wrap:wrap;gap:2px 14px;font-size:13px;display:flex}.bucket-option-tag{color:var(--accent-mid);font-size:12px;font-weight:600}.refresh-banner{border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.refresh-banner.warning{color:#7a5200;background:#fff6e0;border-color:#d8b56a;flex-wrap:nowrap;justify-content:flex-start;gap:10px}.refresh-banner.warning svg{color:#b07400;flex:none}.bucket-seats-as-of{color:var(--muted);font-size:12px}.search-check-row{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.search-check-row input{width:16px;height:16px;accent-color:var(--accent);margin:0}.search-days{border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:10px 16px;margin:20px 0 16px;padding:14px;display:flex}.search-section-options{border:0;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:0;padding:0;display:flex}.search-check-line{align-items:center;gap:6px;display:inline-flex}.search-days legend{color:#445158;text-transform:uppercase;letter-spacing:.04em;padding:0 4px;font-size:12px;font-weight:700}.search-days label{align-items:center;gap:5px;font-size:12px;display:inline-flex}.search-days input{accent-color:var(--accent)}.search-scope-note{border-radius:var(--radius-sm);color:#75520d;background:#fff8e8;border:1px solid #e9c97d;margin-top:14px;padding:10px 12px}.course-search-dialog-actions{background:var(--panel);justify-content:flex-end;gap:10px;margin-top:22px;padding:14px 0 24px;display:flex;position:sticky;bottom:-24px}@media (width<=600px){.search-dialog-backdrop{padding:8px}.course-search-dialog{max-height:96dvh;padding:18px}.bucket-narrow-fields{grid-template-columns:1fr}.bucket-option-sections label{grid-template-columns:auto auto 1fr}.course-search-dialog-actions{padding-bottom:18px;bottom:-18px}}.density-controls button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);min-height:40px;color:var(--muted);text-transform:capitalize;font-size:13px;font-weight:700}.density-controls button.active{border-color:var(--accent);background:var(--accent);color:#fff}.option-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);box-shadow:var(--shadow-subtle);position:relative;overflow:hidden}.option-group[open]{overflow:visible}.option-group:hover,.option-group:focus-within{z-index:12}.option-group+.option-group{margin-top:10px}.option-group>summary{min-height:44px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:0 12px;font-size:13px;font-weight:700;list-style:none;display:flex}.option-group>summary::-webkit-details-marker{display:none}.option-group-kind{color:var(--muted);margin-left:auto;margin-right:8px;font-size:11px;font-weight:600}.option-group>summary svg{color:var(--muted);transition:transform .14s}.option-group[open]>summary svg{transform:rotate(90deg)}.option-group>summary:focus-visible{outline-offset:-2px;outline:2px solid #00266447}.option-group-content{border-top:1px solid var(--border);padding:14px 12px}.min-break-heading label,.unavailable-times-header strong{color:#445158;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.min-break-setting{justify-content:space-between;align-items:center;gap:12px;display:flex}.min-break-heading{min-width:0}.min-break-heading label{display:block}.min-break-heading p{margin-top:4px;font-size:12px}.min-break-setting select{border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--panel-strong);width:112px;height:36px;color:var(--text)}.min-break-setting select,.field select:not([multiple]){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235d676d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:0 32px 0 12px}.min-break-setting select:focus-visible,.field select:not([multiple]):focus-visible{outline:2px solid var(--accent);outline-offset:1px}.density-slider{gap:6px;padding:2px 4px 0;display:grid}.density-slider input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;margin:0}.density-slider-labels{color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));font-size:11px;font-weight:700;display:grid}.density-slider-labels span:nth-child(2){text-align:center}.density-slider-labels span:last-child{text-align:right}.toggle-row{align-items:center;gap:10px;display:flex}.toggle-row-control{align-items:center;gap:8px;min-width:0;display:inline-flex}.inline-tooltip{align-items:center;display:inline-flex}.tooltip-trigger{color:#5c6a73;cursor:help;background:0 0;border:0;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.tooltip-trigger:hover,.tooltip-trigger:focus-visible{color:var(--accent)}.tooltip-trigger:focus-visible{outline-offset:2px;outline:2px solid #00266438}.inline-tooltip-bubble{z-index:100;border:1px solid var(--border);width:max-content;max-width:min(280px,100vw - 16px);box-shadow:var(--shadow);color:var(--text);letter-spacing:normal;text-align:left;text-transform:none;white-space:normal;pointer-events:none;background:#fff;padding:10px 12px;font-size:12px;font-weight:500;line-height:1.45;position:fixed}.toggle-row input{width:16px;height:16px;accent-color:var(--accent)}.unavailable-times-stack{gap:12px;display:grid}.unavailable-times-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.unavailable-times-header p{margin-top:4px;font-size:12px}.availability-divider{background:var(--border);height:1px}.unavailable-window-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.availability-window-row{border-radius:var(--radius-sm);background:repeating-linear-gradient(135deg, #b34d421a 0 8px, #b34d420a 8px 16px), var(--panel-strong);border:1px dashed #a83e3473;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.availability-window-copy{gap:2px;min-width:0;display:grid}.availability-window-copy strong{color:#8a3a31;font-size:13px}.availability-window-copy span{color:#7a4a43;font-size:12px}.availability-window-row .bucket-action-row{gap:2px}.availability-window-row .icon-action.ghost{background:var(--panel-strong)}.unavailable-time-dialog{width:min(540px,100%)}.availability-days{margin-top:0}.unavailable-time-name{margin-bottom:16px}.field-optional{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}.unavailable-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.workspace{gap:18px;height:100%;min-height:0;padding:24px;display:flex;overflow:hidden}.calendar-panel{flex-direction:column;flex:auto;gap:18px;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.calendar-surface{border-radius:var(--radius-sm);background:var(--panel);min-height:0;box-shadow:var(--shadow);border:1px solid #c9c2b6c7;flex-direction:column;flex:auto;gap:18px;padding:20px;display:flex;overflow:hidden}.schedule-drawer{border-radius:var(--radius-sm);background:var(--panel);min-height:0;box-shadow:var(--shadow);border:1px solid #c9c2b6c7;flex-direction:column;display:flex;overflow:hidden}.schedule-drawer.docked{flex:0 0 320px}.schedule-drawer.overlay{z-index:30;border-width:0 0 0 1px;border-radius:0;width:min(380px,100vw - 40px);animation:.2s cubic-bezier(.2,.8,.2,1) schedule-drawer-in;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00266429}@keyframes schedule-drawer-in{0%{transform:translate(100%)}}.schedule-drawer-backdrop{z-index:29;background:#111c2d6b;position:fixed;inset:0}.schedule-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 14px 14px 18px;display:flex}.schedule-drawer-header h2{margin-bottom:4px;font-size:21px;line-height:1.05}.schedule-drawer-header p{font-size:12px}.schedule-drawer-body{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;align-content:start;gap:12px;min-height:0;padding:14px;display:grid;overflow-y:auto}.schedule-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.schedule-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-strong);box-shadow:var(--shadow-subtle)}.schedule-item.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px #0026641f, var(--shadow-subtle);background:#f2f7fa}.schedule-item-row{align-items:stretch;display:flex}.schedule-item-header{border-radius:var(--radius-sm);min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border:0;flex:auto;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px 12px;padding:10px 12px 12px 14px;display:grid}.schedule-item-heading{gap:2px;min-width:0;display:grid}.schedule-item-heading strong{color:var(--text);font-size:13px}.schedule-item-bucket-count{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:600}.schedule-item-expand,.schedule-item-action{border:0;border-left:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);background:0 0;flex:0 0 44px;justify-content:center;align-items:center;display:inline-flex}.schedule-item-expand:hover,.schedule-item-action:hover{color:var(--accent);background:#0026640f}.schedule-item-action:disabled{cursor:not-allowed;opacity:.45}.working-schedule{border-radius:var(--radius-sm);color:var(--text);background:#fffaf0;border:1px solid #d8b56a;gap:6px;margin:12px 14px 0;padding:10px 10px 10px 12px;font-size:12px;display:grid}.working-schedule.unsaved{background:#fff6e0}.working-schedule-heading{align-items:center;gap:6px;min-width:0;display:flex}.working-schedule-heading svg{color:#b07400;flex:none}.working-schedule-heading strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.working-schedule-tag{color:#7a5200;background:#f3dfb0;border-radius:999px;flex:none;padding:1px 6px;font-size:11px;font-weight:700}.working-schedule-close{width:26px;height:26px;margin-left:auto}.working-schedule p{color:var(--muted);line-height:1.4}.working-schedule-problems{color:#7a5200;gap:2px;margin:0;padding-left:16px;line-height:1.35;display:grid}.working-schedule-actions{flex-wrap:wrap;gap:6px;display:flex}.working-schedule-actions .secondary-action{min-height:30px;padding:0 10px;font-size:12px}.schedule-item-saved-as{color:#7a5200;align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.schedule-item-saved-as svg{color:#b07400;flex:none}.schedule-item-save.saved,.schedule-item-save.saved:hover{color:#b07400}.schedule-view-toggle{margin:12px 14px 0;display:flex}.schedule-view-toggle button{flex:1}.saved-schedule-item .schedule-item-heading strong{overflow-wrap:anywhere}.saved-schedule-sections{color:var(--muted);font-size:12px;line-height:1.35}.saved-schedule-sections span{white-space:nowrap}.saved-schedule-confirm,.saved-schedule-confirm:hover{color:var(--accent)}.saved-schedule-rename{flex:auto;align-items:center;min-width:0;padding:8px 10px;display:flex}.saved-schedule-rename input{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--panel-strong);width:100%;height:34px;color:var(--text);font:inherit;padding:0 10px;font-weight:700}.schedule-item-progress{grid-column:1/-1;gap:3px;width:100%;height:6px;display:flex}.schedule-item-progress-segment{background:#0026641f;border-radius:2px;flex:1 1 0;min-width:0;transition:background-color .16s}.schedule-item-note{font-size:12px}.help-dialog-copy a{color:var(--accent);font-weight:700}.schedule-sections-dialog{border-radius:var(--radius-sm);grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:12px;width:min(560px,100%);display:grid;overflow:hidden}.schedule-sections-dialog:focus{outline:none}.schedule-sections-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-sections-header h2{font-size:21px;line-height:1.1}.schedule-sections-header p{color:var(--muted);margin-top:4px;font-size:12px}.schedule-sections-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-sections-toolbar strong{color:#445158;letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.schedule-sections-list{gap:8px;min-height:0;overflow-y:auto}.schedule-sections-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.schedule-sections-actions a.secondary-action{text-decoration:none}@media (width<=760px){.schedule-sections-actions>*{flex:auto;justify-content:center}}.schedule-search-note{border-radius:var(--radius-sm);color:#7a5200;background:#fff6e0;border:1px solid #d8b56a;margin-bottom:10px;padding:8px 10px;font-size:12px;line-height:1.4}.schedule-load-more{border-style:dashed;justify-content:center;width:100%}.schedule-drawer-toggle{align-items:center;gap:8px;display:inline-flex}.workspace-header{flex-wrap:wrap;align-items:center}.secondary-action[aria-disabled=true]{cursor:not-allowed;opacity:.55}.workspace-meta-divider{background:var(--border);align-self:center;width:1px;height:24px}.calendar-hours-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:36px;display:inline-flex;overflow:hidden}.calendar-hours-toggle button{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:12px;font-weight:700}.calendar-hours-toggle button+button{border-left:1px solid var(--border)}.calendar-hours-toggle button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.calendar-hours-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.schedule-drawer-toggle[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.calendar-surface{position:relative;container:calendar/inline-size}.calendar-actions{z-index:5;flex-direction:column-reverse;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:28px;right:28px}.calendar-actions-toggle{background:var(--accent);color:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;box-shadow:0 4px 12px #00266447}.calendar-actions-toggle:hover{background:var(--accent-mid)}.calendar-actions-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.calendar-actions-toggle svg{transition:transform .15s}.calendar-actions.open .calendar-actions-toggle svg{transform:rotate(45deg)}.calendar-actions-menu{justify-items:end;gap:6px;margin:0;padding:0;list-style:none;display:grid}.calendar-actions-menu button{border:1px solid var(--border);background:var(--panel-strong);min-height:36px;color:var(--text);white-space:nowrap;box-shadow:var(--shadow-subtle);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.calendar-actions-menu button svg{color:var(--accent);flex:none}.calendar-actions-menu button:hover{border-color:var(--accent);color:var(--accent)}.calendar-actions-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-actions-menu button[aria-disabled=true]{color:var(--muted);opacity:.6;cursor:not-allowed}.calendar-actions-menu button[aria-disabled=true]:hover{border-color:var(--border);color:var(--muted)}@media (prefers-reduced-motion:reduce){.calendar-actions-toggle svg{transition:none}}.workspace-meta{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:10px;display:flex}.help-dialog-backdrop{z-index:40;background:#111c2d6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.help-dialog{border:1px solid var(--border);background:#fff;width:min(640px,100%);max-height:min(80vh,720px);padding:24px;overflow:auto;box-shadow:0 22px 48px #00266429}.help-dialog-copy{gap:12px;display:grid}.help-dialog-copy h2{font-size:24px;line-height:1.08}.help-dialog-copy p{font-size:14px;line-height:1.55}.help-dialog-actions{justify-content:flex-end;margin-top:18px;display:flex}.help-dialog.help-guide{grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(86vh,820px);padding:0;display:grid;overflow:hidden}.help-guide-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 14px 24px;display:flex}.help-guide-header h2{font-size:24px;line-height:1.1}.help-guide-body{overscroll-behavior:contain;gap:22px;padding:18px 24px 24px;scroll-padding-top:12px;display:grid;overflow-y:auto}.help-guide-contents{border-radius:var(--radius-sm);background:var(--accent-soft);gap:6px;padding:12px 14px;font-size:13px;display:grid}.help-guide-contents>span{color:var(--accent-mid);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.help-guide-contents ul{flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.help-guide-contents button{color:var(--accent);font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:2px 0;font-weight:600;text-decoration:underline}.help-guide-topic{gap:8px;display:grid}.help-guide-topic h3{font-size:16px;line-height:1.25}.help-guide-topic h3:focus{outline:none}.help-guide-topic p,.help-guide-topic li{color:var(--text);font-size:14px;line-height:1.5}.help-guide-topic ul,.help-guide-topic ol{gap:6px;margin:0;padding-left:20px;display:grid}.help-guide-topic a,.help-guide-actions a{color:var(--accent);font-weight:700}.help-guide-topic h4{margin:6px 0 0;font-size:14px}.help-guide-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin:0;padding:14px 20px 16px 24px}.share-dialog{width:min(520px,100%)}.share-dialog-actions{flex-wrap:wrap;gap:8px}.share-dialog-option{align-items:center;gap:8px;font-size:14px;display:flex}.share-dialog-link{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:38px;color:var(--muted);font:inherit;background:#f6f8fb;padding:0 10px;font-size:12px}.dialog-eyebrow{color:var(--accent-mid);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.help-dialog-copy .welcome-back-note{font-weight:700}.dialog-privacy-note{border-left:3px solid var(--accent-mid);background:var(--accent-soft);padding:10px 12px}.selection-row{border-top:1px solid #c9c2b685;padding:12px 0}.selection-row:first-child{border-top:0;padding-top:0}.selection-row-colored{border:1px solid var(--block-border,var(--border));border-radius:var(--radius-sm);background:var(--block-bg,var(--panel-strong));color:var(--block-text,var(--text));align-items:center;padding:12px 14px}.selection-row-colored.full-section{border-color:#b63d48;box-shadow:inset 0 0 0 1px #b63d4840}.selection-row-colored:first-child{border-top:1px solid var(--block-border,var(--border));padding-top:12px}.selection-row strong{margin-bottom:4px;font-size:13px;display:block}.selection-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex!important}.selection-package-card{overflow-wrap:anywhere}.selection-package-card .crn-button,.selection-package-card .selection-crn-pill,.selection-package-card .status-badge{overflow-wrap:normal;white-space:nowrap}.selection-row .status-badge{font-size:9px;line-height:1}.reserved-flag{color:var(--accent);justify-content:center;align-items:center;line-height:1;display:inline-flex}.selection-row-colored .reserved-flag,.calendar-block .reserved-flag{color:var(--block-text,var(--text))}.reserved-flag svg{stroke-width:2.35px}.selection-row span,.selection-empty{color:var(--muted);font-size:12px;line-height:1.45}.selection-row-colored strong,.selection-row-colored span{color:var(--block-text,var(--text))}.selection-package-card{gap:12px;display:grid}.selection-package-card.single-package-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"header crn""sections crn";align-items:start;gap:4px 16px}.selection-package-header{justify-content:space-between;align-items:flex-start;gap:12px;width:100%;display:flex}.selection-package-card.single-package-card .selection-package-header{grid-area:header}.selection-package-copy{min-width:0}.selection-package-meta{display:block}.selection-section-list{gap:8px;display:grid}.selection-package-card.single-package-card .selection-section-list{grid-area:sections}.selection-package-crn{grid-area:crn;place-self:start end}.selection-section-row{border-top:1px solid #ffffff47;justify-content:space-between;align-items:center;gap:12px;width:100%;padding-top:8px;display:flex}.selection-section-row:first-child{border-top:0;padding-top:0}.selection-section-row.single-section{align-items:flex-start}.selection-section-row>div{flex:auto;min-width:0}.selection-section-row strong{margin-bottom:2px}.selection-section-details{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:1px 12px;margin:0;display:grid}.selection-section-details dd{align-items:flex-start;gap:6px;margin:0;display:flex}.selection-section-details svg{opacity:.7;flex:none;margin-top:2px}.selection-row .selection-section-details span{line-height:1.4}.registration-rules-button{color:var(--block-text,var(--text));font:inherit;cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:11px;text-decoration:underline;display:block}.registration-rules-button:disabled{cursor:wait;opacity:.7}.selection-package-header .crn-button,.selection-section-row .crn-button{flex-shrink:0;margin-left:auto}.crn-button{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text);border:0;align-items:center;gap:6px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:inline-flex}.selection-row-colored .crn-button{color:var(--block-text,var(--text));background:#ffffffb8}.selection-crn-pill{border-radius:var(--radius-sm);min-height:28px;color:var(--block-text,var(--text));white-space:nowrap;background:#ffffffad;justify-content:center;align-items:center;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;display:inline-flex}.selection-package-crn-pill{grid-area:crn;place-self:start end}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:#fff;gap:6px;padding:16px;display:grid}.empty-state strong{font-size:15px}.weekly-spread-description{margin-top:10px;font-size:12px}.weekly-calendar{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.unscheduled-course-strip{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f7f9fb;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.unscheduled-course-copy{gap:2px;display:grid}.unscheduled-course-copy strong{font-size:12px}.unscheduled-course-copy span{color:var(--muted);font-size:11px}.unscheduled-course-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.unscheduled-course-chip{border:1px solid var(--accent-line);border-radius:var(--radius-sm);color:var(--accent);background:#fff;gap:1px;padding:5px 8px;font-size:11px;font-weight:700;display:grid}.unscheduled-course-chip small{color:var(--muted);font-size:9px;font-weight:600}.calendar-grid-shell{flex:1;min-height:0;position:relative;overflow:auto}.calendar-grid{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffeb;width:100%;display:grid;position:relative;overflow:hidden}.schedule-export-staging{pointer-events:none;width:0;height:0;position:fixed;top:0;left:-20000px;overflow:hidden}.schedule-export-surface{width:1280px;color:var(--text);background:#fff;gap:22px;padding:28px;display:grid}.schedule-export-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.schedule-export-copy{gap:6px;display:grid}.schedule-export-copy h2{font-size:32px;line-height:1.05}.schedule-export-copy p{font-size:15px}.schedule-export-meta{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.schedule-export-meta span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-soft);min-height:34px;color:var(--accent);align-items:center;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.schedule-export-calendar-shell{overflow:visible}.schedule-export-calendar-shell .calendar-grid-shell{flex:none;overflow:visible}.schedule-export-details{border-radius:var(--radius-sm);box-shadow:var(--shadow);background:#fff;border:1px solid #c9c2b6c7;gap:14px;padding:18px;display:grid}.schedule-export-details-copy{gap:4px;display:grid}.schedule-export-details-copy strong{font-size:16px}.schedule-export-details-copy span{color:var(--muted);font-size:13px}.export-selection-list{padding-right:0;overflow:visible}.time-column{border-right:1px solid var(--border);background:#fff;position:relative}.time-column span{color:var(--muted);white-space:nowrap;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.day-column{background:linear-gradient(to bottom, #1d242814 1px, transparent 1px) 0 var(--calendar-header-height) / 100% var(--calendar-hour-height) repeat-y, linear-gradient(to bottom, #1d242809 1px, transparent 1px) 0 var(--calendar-header-height) / 100% var(--calendar-quarter-height) repeat-y;border-right:1px solid #c9c2b68c;position:relative}.day-column:last-child{border-right:0}.day-label{border-bottom:1px solid var(--border);color:#445158;text-transform:uppercase;letter-spacing:.04em;background:#fff;place-items:center;height:44px;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0 0 auto}.calendar-block{z-index:1;border:1px solid var(--block-border,#2f5f9d);border-radius:var(--radius-sm);background:var(--block-bg,#d6e7ff);color:var(--block-text,#143150);box-shadow:none;cursor:default;padding:6px 8px;position:absolute;left:8px;right:8px;overflow:hidden}.calendar-block-changed{z-index:2;transform-origin:50%;animation:.85s cubic-bezier(.22,1,.36,1) calendar-block-changed}@keyframes calendar-block-changed{0%{opacity:.5;transform:scale(.96);box-shadow:0 0 #d2971800}38%{opacity:1;transform:scale(1.015);box-shadow:0 0 0 4px #d297187a,0 8px 18px #00266429}to{opacity:1;transform:scale(1);box-shadow:0 0 #d2971800}}.schedule-export-calendar-shell .calendar-block-changed{animation:none}@media (prefers-reduced-motion:reduce){.schedule-drawer.overlay,.calendar-block-changed{animation:none;box-shadow:0 0 0 3px #d2971880}}.calendar-exclusion-window{z-index:0;border-radius:var(--radius-sm);color:#8a3a31;pointer-events:none;background:repeating-linear-gradient(135deg,#b34d421f 0 8px,#b34d420f 8px 16px);border:1px dashed #a83e3459;align-items:start;padding:4px 8px;display:grid;position:absolute;left:8px;right:8px}.calendar-exclusion-window span{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;min-width:0;font-size:10px;font-weight:800;overflow:hidden}.calendar-exclusion-window .calendar-exclusion-name{-webkit-line-clamp:3;line-clamp:3;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;letter-spacing:0;text-transform:none;-webkit-box-orient:vertical;font-size:11px;font-weight:700;line-height:1.2;display:-webkit-box}.calendar-block.tight{padding:5px 7px}.calendar-block.compact{padding:4px 7px}.calendar-block.full-section{border-color:#b63d48;box-shadow:inset 0 0 0 1px #b63d4847}.calendar-block-header{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.calendar-block-badges{align-items:center;gap:4px;display:inline-flex}.status-badge{border-radius:var(--radius-sm);letter-spacing:.06em;text-transform:uppercase;align-items:center;min-height:16px;padding:0 6px;font-size:9px;font-weight:800;line-height:1;display:inline-flex}.status-badge.full{color:#fff7f8;background:#b63d48}.restriction-flag,.calendar-block .restriction-flag,.selection-row-colored .restriction-flag{border-radius:var(--radius-sm);min-height:16px;color:var(--block-text,var(--text));letter-spacing:0;text-transform:uppercase;white-space:nowrap;background:#ffffff6b;border:1px solid #23375442;justify-content:center;align-items:center;padding:0 5px;font-size:8px;font-weight:800;line-height:1;display:inline-flex}.restriction-flag.prerequisite{background:#ffede9a8;border-color:#a83e3461}.restriction-flag.corequisite{background:#e2f7f6a8;border-color:#21737661}.restriction-flag.minimumGrade{background:#fff4dbb8;border-color:#7e531a61}.restriction-flag.restriction{background:#eff3faad;border-color:#46506957}.calendar-block.compact .restriction-flag{min-height:14px;padding:0 4px;font-size:7px}.calendar-block strong,.calendar-block span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-block strong{font-size:12px}.calendar-block span{font-size:10px;line-height:1.3}.calendar-meta-line{padding-right:2px}.calendar-block.tight strong{font-size:11px}.calendar-block.tight .calendar-meta-line{font-size:9px;line-height:1.2}.calendar-block.compact strong{font-size:11px}.calendar-block.compact .calendar-meta-line{font-size:9px;line-height:1.15}.calendar-block.compact .status-badge{min-height:14px;padding:0 5px;font-size:8px}.calendar-inline-line{text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700;line-height:1.1;display:block;overflow:hidden}.calendar-tooltip{z-index:30;border:1px solid var(--border);width:min(360px,100vw - 24px);box-shadow:var(--shadow);color:var(--text);pointer-events:none;background:#fff;padding:10px 12px;font-size:12px;line-height:1.45;position:fixed}.calendar-tooltip-heading{border-bottom:1px solid #bec9d4b3;gap:1px;padding-bottom:8px;display:grid}.calendar-tooltip-heading strong{color:var(--text);font-size:12px;font-weight:800}.calendar-tooltip-heading span{color:var(--muted);font-size:12px}.calendar-tooltip-rows{gap:5px;padding-top:8px;display:grid}.calendar-tooltip-row{grid-template-columns:86px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.calendar-tooltip-key{color:#53616c;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.calendar-tooltip-value{color:var(--text);overflow-wrap:anywhere;font-size:12px;font-weight:500}.calendar-tooltip-section{border-top:1px solid #bec9d4b3;margin-top:10px;padding-top:8px}.calendar-tooltip-section-title{color:var(--text);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.calendar-tooltip-row.restriction{grid-template-columns:96px minmax(0,1fr)}@media (width<=1120px){.workspace{padding:20px}}@media (width<=760px){.app-shell{height:auto;min-height:100dvh;overflow:auto;grid-template-columns:1fr!important}.control-panel,.workspace{padding:20px}html,body,#root{overflow:auto}.panel-resize-handle{display:none}.calendar-panel,.calendar-surface,.bucket-editor{border-radius:var(--radius-sm)}.calendar-panel{height:auto}.calendar-surface{min-height:min(640px,82dvh);padding:16px}.workspace-meta{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.workspace-meta .secondary-action{justify-content:center}.schedule-drawer-toggle,.calendar-hours-toggle{grid-column:1/-1}.calendar-hours-toggle button{flex:1}.workspace-meta-divider{display:none}.unavailable-time-fields{grid-template-columns:1fr}.help-dialog-backdrop{padding:16px}.help-dialog{padding:20px}}.start-over-action{flex:none;margin-top:4px}
