#course-forecasting-root,#course-forecasting-root *{box-sizing:border-box;margin:0;padding:0}#course-forecasting-root body{color:#333;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}#course-forecasting-root .course-app-layout{background:#fff;grid-template-columns:320px 1fr;max-width:1800px;height:100vh;margin:0 auto;display:grid}#course-forecasting-root .sidebar{background:#fff;border-right:1px solid #ddd;flex-direction:column;display:flex;overflow:hidden}#course-forecasting-root .sidebar-header{color:#fff;background:#003057;border-bottom:3px solid #c8102e;padding:1.5rem}#course-forecasting-root .sidebar-header h1{margin-bottom:.25rem;font-size:1.25rem;font-weight:600}#course-forecasting-root .sidebar-header p{opacity:.9;font-size:.875rem}#course-forecasting-root .filters{flex:1;padding:1.5rem;overflow-y:auto}#course-forecasting-root .filter-group{margin-bottom:1.5rem}#course-forecasting-root .filter-group label{color:#003057;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}#course-forecasting-root .search-input{border:2px solid #ddd;border-radius:4px;width:100%;padding:.625rem;font-size:.875rem;transition:border-color .2s}#course-forecasting-root .search-input:focus{border-color:#003057;outline:none;box-shadow:0 0 0 3px #0030571a}#course-forecasting-root .select-input{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:4px;width:100%;padding:.625rem;font-size:.875rem;transition:border-color .2s}#course-forecasting-root .select-input:focus{border-color:#003057;outline:none;box-shadow:0 0 0 3px #0030571a}#course-forecasting-root .select-input:disabled{cursor:not-allowed;opacity:.7;background:#f5f5f5}#course-forecasting-root .results-count{color:#666;background:#f8f9fa;border-bottom:1px solid #ddd;padding:1rem 1.5rem;font-size:.875rem}#course-forecasting-root .course-app-main{flex-direction:column;display:flex;overflow:hidden}#course-forecasting-root .course-app-main.filters-open{overflow-y:auto}#course-forecasting-root .content-header{background:#f8f9fa;border-bottom:1px solid #ddd;padding:1.5rem 2rem}#course-forecasting-root .content-header h2{color:#003057;margin-bottom:.25rem;font-size:1.5rem}#course-forecasting-root .content-header p{color:#666;font-size:.875rem}#course-forecasting-root .header-term-control{align-items:center;gap:.5rem;margin-left:auto;display:flex}#course-forecasting-root .header-term-control label{color:#003057;white-space:nowrap;font-size:.78rem;font-weight:700}#course-forecasting-root .header-term-control .select-input{width:auto;min-width:170px;min-height:32px;padding:.3rem .5rem}#course-forecasting-root .content-header-row .header-term-control+.view-toggle{margin-left:0}#course-forecasting-root .desktop-filter-toolbar{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}#course-forecasting-root .desktop-filter-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}#course-forecasting-root .desktop-filter-row.primary-hidden{display:none}#course-forecasting-root .desktop-filter-row.secondary{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:.85rem 1rem;padding-top:.75rem;display:grid}#course-forecasting-root .desktop-filter-toolbar .filter-group{flex:220px;min-width:0;margin-bottom:0}#course-forecasting-root .desktop-filter-toolbar .term-filter{flex:.9 165px}#course-forecasting-root .desktop-filter-toolbar .search-filter{flex:1.6 320px}#course-forecasting-root .desktop-filter-toolbar .chip-filter{flex:1.2 240px}#course-forecasting-root .desktop-filter-toolbar .filter-group label{margin-bottom:.3rem;font-size:.78rem}#course-forecasting-root .desktop-filter-toolbar .search-input,#course-forecasting-root .desktop-filter-toolbar .select-input{width:100%;min-height:38px;padding:.45rem .55rem}#course-forecasting-root .desktop-filter-toolbar .toggle-chip{padding:.25rem .5rem}#course-forecasting-root .desktop-more-filters{border-top:1px solid #e2e8f0;padding-top:.55rem}#course-forecasting-root .desktop-more-filters summary{cursor:pointer;color:#003057;width:max-content;font-size:.85rem;font-weight:700}#course-forecasting-root .filter-section-heading{color:#64748b;letter-spacing:.04em;text-transform:uppercase;border-top:1px solid #e2e8f0;grid-column:1/-1;padding-top:.45rem;font-size:.7rem;font-weight:800}#course-forecasting-root .desktop-filter-row.secondary .filter-section-heading:first-child{border-top:none;padding-top:0}#course-forecasting-root .filter-note{color:#555;margin-top:.35rem;font-size:.78rem;line-height:1.35}#course-forecasting-root .clear-filters-button{color:#003057;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-height:38px;padding:.45rem .7rem;font-weight:700}#course-forecasting-root .clear-filters-button:hover{background:#f8fafc}#course-forecasting-root .list-results-row{color:#64748b;background:#fff;border-bottom:1px solid #e2e8f0;padding:.75rem 2rem;font-size:.85rem}#course-forecasting-root .filters-open-state{color:#64748b;background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;font-size:.85rem;display:flex}#course-forecasting-root .filters-return-button{color:#fff;cursor:pointer;background:#003057;border:1px solid #003057;border-radius:6px;min-height:40px;padding:.5rem .8rem;font-weight:700}#course-forecasting-root .filters-return-button:hover{background:#001f3d}#course-forecasting-root .filters-return-button:focus-visible{outline-offset:2px;outline:3px solid #00305740}#course-forecasting-root .course-list{flex:1;padding:1.5rem 2rem;overflow-y:auto}#course-forecasting-root .course-list-more{color:#64748b;flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0 1.5rem;font-size:.875rem;display:flex}#course-forecasting-root .load-more-courses{color:#003057;cursor:pointer;font:inherit;background:#fff;border:1px solid #003057;border-radius:4px;padding:.65rem 1rem;font-weight:600}#course-forecasting-root .load-more-courses:hover{color:#fff;background:#003057}#course-forecasting-root .load-more-courses:focus-visible{color:#fff;background:#003057}#course-forecasting-root .course-card{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;margin-bottom:1rem;padding:1.25rem;transition:all .2s}#course-forecasting-root .course-card:hover{border-color:#003057;box-shadow:0 2px 8px #0030571a}#course-forecasting-root .course-card:focus{outline-offset:2px;outline:3px solid #003057}#course-forecasting-root .course-card.selected{background:#f8f9fa;border-width:2px;border-color:#003057}#course-forecasting-root .course-header{justify-content:space-between;align-items:start;margin-bottom:.5rem;display:flex}#course-forecasting-root .course-code{color:#003057;font-size:1rem;font-weight:700}#course-forecasting-root .course-credits{color:#fff;background:#c8102e;border-radius:3px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}#course-forecasting-root .course-title{color:#333;margin-bottom:.5rem;font-size:.9375rem;font-weight:500}#course-forecasting-root .course-meta{color:#666;flex-wrap:wrap;gap:1rem;font-size:.8125rem;display:flex}#course-forecasting-root .course-meta-item{align-items:center;gap:.25rem;display:flex}#course-forecasting-root .prereq-badge{color:#856404;background:#fff3cd;border-radius:3px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}#course-forecasting-root .section-badge{color:#0056b3;background:#e7f3ff;border-radius:3px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}#course-forecasting-root .campus-badges{flex-wrap:wrap;gap:.25rem;display:flex}#course-forecasting-root .campus-badge{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:3px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}#course-forecasting-root .modality-badges{flex-wrap:wrap;gap:.25rem;display:flex}#course-forecasting-root .modality-badge{text-transform:uppercase;border-radius:3px;padding:.125rem .375rem;font-size:.6875rem;font-weight:600}#course-forecasting-root .modality-badge.in-person{color:#155724;background:#d4edda}#course-forecasting-root .modality-badge.online{color:#004085;background:#cce5ff}#course-forecasting-root .modality-badge.hybrid{color:#856404;background:#fff3cd}#course-forecasting-root .modality-badge.other{color:#383d41;background:#e2e3e5}#course-forecasting-root .seats-info{color:#666;font-size:.75rem}#course-forecasting-root .seats-info.has-seats{color:#155724}#course-forecasting-root .seats-info.no-seats{color:#856404}#course-forecasting-root .modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#course-forecasting-root .modal{background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:1000px;max-height:90vh;display:flex;box-shadow:0 4px 24px #0003}#course-forecasting-root .modal-header{border-bottom:1px solid #ddd;justify-content:space-between;align-items:start;padding:1.5rem 2rem;display:flex}#course-forecasting-root .modal-title-section h2{color:#003057;margin-bottom:.25rem;font-size:1.5rem}#course-forecasting-root .modal-title-section h3{color:#666;font-size:1.125rem;font-weight:500}#course-forecasting-root .modal-term-label{color:#475569;margin-top:.35rem;font-size:.82rem;font-weight:700}#course-forecasting-root .modal-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1.5rem;line-height:1;transition:all .2s}#course-forecasting-root .modal-close:hover{color:#003057;background:#f0f0f0}#course-forecasting-root .modal-close:focus{outline-offset:2px;outline:3px solid #003057}#course-forecasting-root .modal-content{flex:1;padding:2rem;overflow-y:auto}#course-forecasting-root .detail-section{margin-bottom:2rem}#course-forecasting-root .detail-section h4{text-transform:uppercase;color:#003057;letter-spacing:.5px;margin-bottom:.75rem;font-size:.875rem;font-weight:700}#course-forecasting-root .detail-content{color:#333;font-size:.9375rem;line-height:1.7}#course-forecasting-root .detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}#course-forecasting-root .detail-item{background:#f8f9fa;border-radius:4px;padding:.75rem}#course-forecasting-root .detail-item-label{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem}#course-forecasting-root .detail-item-value{color:#333;font-size:.9375rem;font-weight:500}#course-forecasting-root .sections-table-wrapper{border:1px solid #ddd;border-radius:6px;overflow-x:auto}#course-forecasting-root .sections-table{border-collapse:collapse;width:100%;font-size:.8125rem}#course-forecasting-root .sections-table th{text-align:left;color:#003057;white-space:nowrap;background:#f8f9fa;border-bottom:2px solid #ddd;padding:.75rem;font-weight:600}#course-forecasting-root .sections-table td{vertical-align:top;border-bottom:1px solid #eee;padding:.75rem}#course-forecasting-root .sections-table tr:last-child td{border-bottom:none}#course-forecasting-root .sections-table tr:hover{background:#f8f9fa}#course-forecasting-root .section-modality{border-radius:3px;padding:.125rem .375rem;font-size:.6875rem;font-weight:600;display:inline-block}#course-forecasting-root .section-modality.in-person{color:#155724;background:#d4edda}#course-forecasting-root .section-modality.online{color:#004085;background:#cce5ff}#course-forecasting-root .section-modality.hybrid{color:#856404;background:#fff3cd}#course-forecasting-root .section-modality.other{color:#383d41;background:#e2e3e5}#course-forecasting-root .seats-cell{white-space:nowrap}#course-forecasting-root .seats-cell.overenrolled{color:#c8102e;font-weight:600}#course-forecasting-root .seats-cell.available{color:#155724}#course-forecasting-root .seats-cell.full{color:#856404}#course-forecasting-root .meeting-info{margin-bottom:.5rem}#course-forecasting-root .meeting-info:last-child{margin-bottom:0}#course-forecasting-root .meeting-time{font-weight:500}#course-forecasting-root .meeting-location,#course-forecasting-root .instructor-email{color:#666;font-size:.75rem}#course-forecasting-root .prereq-text{color:#333;font-size:.9375rem;line-height:1.7}#course-forecasting-root .prereq-text .course-link{color:#003057;cursor:pointer;font-weight:500;text-decoration:underline}#course-forecasting-root .prereq-text .course-link:hover{color:#c8102e}#course-forecasting-root .no-prereqs{color:#155724;text-align:center;background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;padding:1rem}#course-forecasting-root .expand-button{cursor:pointer;color:#003057;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}#course-forecasting-root .expand-button:hover{background:#e9ecef;border-color:#003057}#course-forecasting-root .expand-button:disabled{opacity:.6;cursor:not-allowed}#course-forecasting-root .expand-button .spinner{border:2px solid #ddd;border-top-color:#003057;border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin}#course-forecasting-root .button-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}#course-forecasting-root .offerings-list{margin-top:1rem}#course-forecasting-root .offering-item{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin-bottom:.5rem;padding:.75rem}#course-forecasting-root .offering-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}#course-forecasting-root .offering-semester{color:#003057;font-weight:600}#course-forecasting-root .offering-sections{color:#666;font-size:.8125rem}#course-forecasting-root .fills-up-badge{color:#721c24;background:#f8d7da;border-radius:3px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}#course-forecasting-root .high-demand-badge{color:#856404;background:#fff3cd;border-radius:3px;padding:.125rem .5rem;font-size:.75rem;font-weight:500}#course-forecasting-root .required-for-list{margin-top:1rem}#course-forecasting-root .required-for-item{cursor:pointer;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin-bottom:.5rem;padding:.75rem;transition:all .2s}#course-forecasting-root .required-for-item:hover{background:#e8f4f8;border-color:#003057}#course-forecasting-root .required-for-code{color:#003057;font-weight:600}#course-forecasting-root .required-for-title{color:#666;font-size:.875rem}#course-forecasting-root .empty-state{text-align:center;color:#666;padding:4rem 2rem}#course-forecasting-root .empty-state-icon{opacity:.3;margin-bottom:1rem;font-size:3rem}#course-forecasting-root .info-message{color:#084298;background:#e7f3ff;border:1px solid #b6d4fe;border-radius:4px;margin-top:1rem;padding:1rem;font-size:.875rem}#course-forecasting-root .warning-message{color:#664d03;background:#fff3cd;border:1px solid #ffecb5;border-radius:4px;margin-top:1rem;padding:1rem;font-size:.875rem}#course-forecasting-root .catalog-only-banner{color:#41464b;background:#e2e3e5;border:1px solid #d3d6d8;border-radius:4px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}#course-forecasting-root .catalog-only-banner strong{color:#000}#course-forecasting-root .catalog-only-banner .expand-button{padding:.5rem .75rem;font-size:.8125rem}#course-forecasting-root .loading{color:#003057;justify-content:center;align-items:center;height:100vh;font-size:1.25rem;display:flex}#course-forecasting-root .loading-courses{color:#003057;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}#course-forecasting-root .loading-spinner{border:3px solid #f3f3f3;border-top-color:#003057;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#course-forecasting-root .error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:2rem;display:flex}#course-forecasting-root .error-state-icon{margin-bottom:1rem;font-size:3rem}#course-forecasting-root .error-state h2{color:#c8102e;margin-bottom:.5rem}#course-forecasting-root .error-state p{color:#666;margin-bottom:1rem}#course-forecasting-root .retry-button{color:#fff;cursor:pointer;background:#003057;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;transition:background .2s}#course-forecasting-root .retry-button:hover{background:#047}#course-forecasting-root .retry-button:focus{outline-offset:2px;outline:3px solid #003057}#course-forecasting-root .semester-loading{color:#856404;background:#fff3cd;border-radius:4px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;font-size:.8125rem;display:flex}#course-forecasting-root .semester-loading-spinner{border:2px solid #f3f3f3;border-top-color:#856404;border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin}#course-forecasting-root .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1024px){#course-forecasting-root .course-app-layout{grid-template-columns:280px 1fr}}@media (max-width:768px){#course-forecasting-root .course-app-layout{grid-template-columns:1fr}#course-forecasting-root .sidebar{display:none}}#course-forecasting-root .initial-loading{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;padding:2rem;display:flex}#course-forecasting-root .initial-loading h2{color:#1a1a2e;margin:0;font-size:1.5rem}#course-forecasting-root .loading-progress{width:300px;max-width:90%}#course-forecasting-root .progress-bar{background:#e0e0e0;border-radius:4px;height:8px;overflow:hidden}#course-forecasting-root .progress-fill{background:linear-gradient(90deg,#4a6cf7,#6366f1);height:100%;transition:width .3s}#course-forecasting-root .progress-text{color:#666;text-align:center;margin-top:.5rem;font-size:.875rem}#course-forecasting-root .confirm-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}#course-forecasting-root .confirm-dialog{background:#fff;border-radius:12px;width:90%;max-width:400px;padding:1.5rem;box-shadow:0 20px 40px #0003}#course-forecasting-root .confirm-dialog h3{color:#1a1a2e;margin:0 0 .75rem;font-size:1.125rem}#course-forecasting-root .confirm-dialog p{color:#666;margin:0 0 1.25rem;font-size:.9375rem;line-height:1.5}#course-forecasting-root .confirm-buttons{justify-content:flex-end;gap:.75rem;display:flex}#course-forecasting-root .confirm-buttons button{cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}#course-forecasting-root .confirm-cancel{color:#666;background:#f0f0f0;border:1px solid #ddd}#course-forecasting-root .confirm-cancel:hover{background:#e5e5e5}#course-forecasting-root .confirm-switch{color:#fff;background:#4a6cf7;border:1px solid #4a6cf7}#course-forecasting-root .confirm-switch:hover{background:#3a5ce7}#course-forecasting-root .term-badge{color:#4a6cf7;background:#f0f4ff;border-radius:4px;margin-left:.375rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;display:inline-block}#course-forecasting-root .term-badge.other-semester{color:#e65100;background:#fff3e0}#course-forecasting-root .program-map-links{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}#course-forecasting-root .program-map-links.centered{justify-content:center;margin-top:.75rem}#course-forecasting-root .program-map-link{color:#005eb8;text-underline-offset:.15em;font-size:.9rem;font-weight:600;text-decoration:underline}#course-forecasting-root .program-map-link:hover{color:#003f7d}#course-forecasting-root .program-map-unavailable{color:#666;font-size:.85rem}#course-forecasting-root .layout-3col{align-items:stretch;gap:1.25rem;display:flex}#course-forecasting-root .panel-top-controls{justify-content:flex-end;margin-bottom:.5rem;display:flex}#course-forecasting-root .panel-top-controls.right{justify-content:flex-start}#course-forecasting-root .collapse-button{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.35rem .6rem;font-size:.8rem}#course-forecasting-root .collapse-button:hover{background:#f5f5f5}#course-forecasting-root .panel-rail{align-items:flex-start;width:56px;min-width:56px;display:flex}#course-forecasting-root .rail-button{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.75rem .5rem;display:flex;box-shadow:0 6px 18px #0000000f}#course-forecasting-root .rail-button:hover{background:#f8fafc}#course-forecasting-root .rail-title{text-align:center;font-size:.8rem;font-weight:700;line-height:1.1}#course-forecasting-root .rail-badge{color:#fff;background:#4a6cf7;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:22px;padding:0 8px;font-size:.75rem;font-weight:700;display:inline-flex}#course-forecasting-root .sidebar{flex:0 0 340px;width:340px;min-width:280px;max-width:420px;overflow:hidden}#course-forecasting-root .schedule-panel{flex:0 0 340px;width:340px;min-width:280px;max-width:420px}#course-forecasting-root .schedule-header h2{color:#1a1a2e;margin:0;font-size:1.1rem}#course-forecasting-root .schedule-header p{color:#666;margin:.35rem 0 0;font-size:.9rem;line-height:1.35}#course-forecasting-root .schedule-summary{color:#333;flex-wrap:wrap;gap:.75rem;margin-top:.9rem;font-size:.9rem;display:flex}#course-forecasting-root .schedule-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.45rem .6rem}#course-forecasting-root .schedule-.empty-schedule{text-align:center;color:#444;background:#fff;border:1px dashed #d0d7de;border-radius:12px;padding:1.1rem}#course-forecasting-root .schedule-items{flex-direction:column;gap:.6rem;display:flex}#course-forecasting-root .schedule-term-group{flex-direction:column;gap:.5rem;display:flex}#course-forecasting-root .schedule-term-heading{color:#334155;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .1rem 0;font-size:.8rem;font-weight:800}#course-forecasting-root .schedule-item{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem}#course-forecasting-root .schedule-item:hover{background:#f8fafc;border-color:#cbd5e1}#course-forecasting-root .schedule-item-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}#course-forecasting-root .schedule-item-title{color:#1a1a2e;font-weight:800;line-height:1.25}#course-forecasting-root .schedule-item-sub{color:#555;margin-top:.2rem;font-size:.85rem}#course-forecasting-root .schedule-item-meta{color:#444;flex-wrap:wrap;gap:.5rem;margin-top:.55rem;font-size:.8rem;display:flex}#course-forecasting-root .pill{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:.15rem .5rem}#course-forecasting-root .schedule-prereq{color:#1f2937;margin-top:.55rem;font-size:.9rem;line-height:1.35}#course-forecasting-root .schedule-prereq-label{margin-right:.35rem;font-weight:800}#course-forecasting-root .pill.prereq-pill{background:#fffbeb;border-color:#fbbf24}#course-forecasting-root .pill.map-pill{background:#ecfdf5;border-color:#34d399}#course-forecasting-root .gened-pill{color:#124a8c;background:#eef6ff;border:1px solid #b6d6ff}#course-forecasting-root .writ-pill{color:#6b21a8;background:#f3e8ff;border:1px solid #d8b4fe}#course-forecasting-root .icon-button{cursor:pointer;background:#fff;border:1px solid #d0d7de;border-radius:10px;padding:.35rem .55rem;font-size:.85rem;font-weight:700}#course-forecasting-root .icon-button:hover{background:#f8fafc}#course-forecasting-root .course-header-actions{align-items:center;gap:.5rem;display:inline-flex}#course-forecasting-root .add-to-schedule-button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:.2rem .55rem;font-size:.82rem;font-weight:800;line-height:1.1}#course-forecasting-root .add-to-schedule-button:hover{background:#f8fafc}#course-forecasting-root .modal-actions{align-items:center;gap:.5rem;display:flex}#course-forecasting-root .modal-add{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.35rem .6rem;font-weight:800}#course-forecasting-root .modal-add:hover{background:#f8fafc}#course-forecasting-root .section-add{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.25rem .5rem;font-size:.8rem;font-weight:800}#course-forecasting-root .section-add:hover{background:#f8fafc}#course-forecasting-root html,#course-forecasting-root body{height:100%}#course-forecasting-root body{color:#1a1a2e;background:#f5f7fb;margin:0;padding:.9rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}#course-forecasting-root{height:100%}#course-forecasting-root .layout-3col{height:calc(100vh - 1.8rem);overflow:hidden}#course-forecasting-root .sidebar,#course-forecasting-root .course-app-main,#course-forecasting-root .schedule-panel,#course-forecasting-root .panel-rail{height:100%;min-height:0}#course-forecasting-root .sidebar,#course-forecasting-root .course-app-main,#course-forecasting-root .schedule-panel{flex-direction:column;display:flex}#course-forecasting-root .course-app-main{flex:auto;min-width:0}#course-forecasting-root .filters,#course-forecasting-root .course-list,#course-forecasting-root .schedule-body{flex:auto;min-height:0;padding-right:.25rem;overflow-y:auto}#course-forecasting-root .filter-section-label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;border-top:1px solid #e2e8f0;margin-bottom:-.15rem;padding-top:.65rem;font-size:.7rem;font-weight:700}#course-forecasting-root .filter-section-label:first-child{border-top:none;padding-top:0}#course-forecasting-root .filter-section-label.pending-course-attributes-label{display:none}#course-forecasting-root .toggle-chips{flex-wrap:wrap;gap:.35rem;display:flex}#course-forecasting-root .toggle-chip{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d0d7de;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.8rem;font-weight:600;line-height:1.2;transition:all .15s;display:inline-flex}#course-forecasting-root .toggle-chip:hover{background:#f8fafc;border-color:#94a3b8}#course-forecasting-root .toggle-chip[aria-pressed=true]{color:#3730a3;background:#eef2ff;border-color:#818cf8}#course-forecasting-root .toggle-chip:focus-visible{outline-offset:1px;outline:2px solid #4a6cf7}#course-forecasting-root .mode-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}#course-forecasting-root .mode-chip{color:#1e3a8a;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .55rem;font-size:.85rem;font-weight:800;display:inline-flex}#course-forecasting-root .chip-close{color:#1e3a8a;text-align:center;cursor:pointer;background:#fff;border:1px solid #c7d2fe;border-radius:999px;width:26px;height:26px;font-weight:900;line-height:24px}#course-forecasting-root .chip-close:hover{background:#f8fafc}#course-forecasting-root .mode-help{color:#555;margin-top:.35rem;font-size:.85rem;line-height:1.35}#course-forecasting-root .toggle-row{color:#334155;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}#course-forecasting-root .toggle-row input{transform:translateY(1px)}#course-forecasting-root .schedule-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}#course-forecasting-root .action-button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.45rem .7rem;font-size:.9rem;font-weight:900}#course-forecasting-root .action-button:hover{background:#f8fafc}#course-forecasting-root .action-button.primary{color:#fff;background:#4a6cf7;border-color:#4a6cf7}#course-forecasting-root .action-button.primary:hover{background:#3a5ce7}#course-forecasting-root .action-button:disabled{opacity:.6;cursor:not-allowed}#course-forecasting-root .credit-warning{color:#92400e;background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;margin-top:.65rem;padding:.5rem .65rem;font-size:.85rem;line-height:1.4}@media print{#course-forecasting-root body{background:#fff;margin:0;padding:0}#course-forecasting-root .sidebar,#course-forecasting-root .course-app-main,#course-forecasting-root .panel-rail,#course-forecasting-root .modal-overlay,#course-forecasting-root .confirm-overlay,#course-forecasting-root .panel-top-controls,#course-forecasting-root .schedule-actions,#course-forecasting-root .mobile-tab-bar{display:none!important}#course-forecasting-root .layout-3col{height:auto!important;display:block!important;overflow:visible!important}#course-forecasting-root .schedule-panel{flex-direction:column!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;display:flex!important;overflow:visible!important}#course-forecasting-root .schedule-body{height:auto!important;overflow:visible!important}#course-forecasting-root .schedule-header h2{font-size:1.4rem}#course-forecasting-root .schedule-header p{display:none}#course-forecasting-root .schedule-item{break-inside:avoid;border:1px solid #ccc}#course-forecasting-root .icon-button{display:none!important}}#course-forecasting-root .view-toggle{border:1px solid #d1d5db;border-radius:8px;margin-left:auto;display:inline-flex;overflow:hidden}#course-forecasting-root .view-toggle-btn{color:#6b7280;cursor:pointer;background:#fff;border:none;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s}#course-forecasting-root .view-toggle-btn:not(:last-child){border-right:1px solid #d1d5db}#course-forecasting-root .view-toggle-btn:hover:not(:disabled){background:#f3f4f6}#course-forecasting-root .view-toggle-btn:disabled{opacity:.4;cursor:default}#course-forecasting-root .view-toggle-btn.active{color:#fff;background:#4a6cf7}#course-forecasting-root .content-header-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}#course-forecasting-root .ot-filters{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}#course-forecasting-root .ot-search{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex:1;min-width:180px;max-width:300px;padding:.45rem .65rem;font-family:inherit;font-size:.82rem}#course-forecasting-root .ot-search:focus{border-color:#4a6cf7;outline:none}#course-forecasting-root .ot-select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:140px;padding:.45rem .65rem;font-family:inherit;font-size:.82rem}#course-forecasting-root .ot-select:focus{border-color:#4a6cf7;outline:none}#course-forecasting-root .ot-filters-secondary{border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-top:.6rem;display:flex}#course-forecasting-root .ot-filter-label{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-right:-.15rem;font-size:.68rem;font-weight:700}#course-forecasting-root .ot-chip-group{align-items:center;gap:.25rem;display:inline-flex}#course-forecasting-root .ot-chip{cursor:pointer;color:#475569;background:#fff;border:1px solid #d1d5db;border-radius:5px;padding:.2rem .45rem;font-size:.72rem;font-weight:600;line-height:1.2;transition:all .15s;display:inline-block}#course-forecasting-root .ot-chip:hover{color:#4a6cf7;border-color:#4a6cf7}#course-forecasting-root .ot-chip[aria-pressed=true]{color:#fff;background:#4a6cf7;border-color:#4a6cf7}#course-forecasting-root .ot-clear-filters{cursor:pointer;color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:5px;margin-left:auto;padding:.2rem .5rem;font-size:.72rem;font-weight:600;transition:all .15s}#course-forecasting-root .ot-clear-filters:hover{background:#fee2e2}#course-forecasting-root .offerings-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}#course-forecasting-root .ot-scroll{flex:auto;min-height:0;overflow:auto}#course-forecasting-root .offerings-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:600px}#course-forecasting-root .offerings-table colgroup col.ot-course-col{width:230px}#course-forecasting-root .offerings-table colgroup col.ot-term-col{width:200px}#course-forecasting-root .offerings-table thead th{color:#f1f5f9;text-transform:uppercase;letter-spacing:.04em;text-align:left;z-index:2;white-space:nowrap;background:#1e293b;border-bottom:2px solid #0f172a;padding:.6rem .75rem;font-size:.78rem;font-weight:600;position:sticky;top:0}#course-forecasting-root .offerings-table thead th:first-child{z-index:3;position:sticky;left:0}#course-forecasting-root .offerings-table tbody th{vertical-align:top;z-index:1;background:#f8fafc;border-bottom:1px solid #e2e8f0;min-width:230px;padding:.55rem .75rem;font-size:.8rem;line-height:1.4;position:sticky;left:0}#course-forecasting-root .offerings-table tbody td{vertical-align:top;border-bottom:1px solid #e2e8f0;padding:.55rem .75rem;font-size:.78rem;line-height:1.5}#course-forecasting-root .offerings-table tbody tr:hover td{background:#f8fafc}#course-forecasting-root .offerings-table tbody tr:hover th{background:#eef2ff}#course-forecasting-root .ot-course-cell{justify-content:space-between;align-items:flex-start;gap:.4rem;display:flex}#course-forecasting-root .ot-course-info{cursor:pointer;flex:auto;min-width:0}#course-forecasting-root .ot-course-info:hover .ot-course-key{color:#4a6cf7}#course-forecasting-root .ot-course-info:hover .ot-course-name{color:#334155}#course-forecasting-root .ot-course-key{color:#1e293b;font-size:.82rem;font-weight:700;transition:color .15s}#course-forecasting-root .ot-course-name{color:#64748b;margin-top:.1rem;font-size:.75rem;transition:color .15s}#course-forecasting-root .ot-add-btn{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:999px;flex:none;margin-top:.1rem;padding:.1rem .4rem;font-size:.72rem;font-weight:800;line-height:1.2}#course-forecasting-root .ot-add-btn:hover{color:#4a6cf7;background:#f0f4ff;border-color:#4a6cf7}#course-forecasting-root .offerings-table td .ot-add-btn{margin-top:.45rem}#course-forecasting-root .ot-mod-tags{flex-wrap:wrap;gap:.25rem;display:flex}#course-forecasting-root .ot-mod-tag{border-radius:3px;padding:.1rem .35rem;font-size:.68rem;font-weight:500;display:inline-block}#course-forecasting-root .ot-mod-tag.ip{color:#065f46;background:#d1fae5}#course-forecasting-root .ot-mod-tag.online{color:#1e40af;background:#dbeafe}#course-forecasting-root .ot-mod-tag.hybrid{color:#7c2d12;background:#ffedd5}#course-forecasting-root .ot-mod-tag.forecast{color:#92400e;background:#fffbeb;border:1px solid #fde68a}#course-forecasting-root .ot-campus-tag{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:3px;padding:.1rem .35rem;font-size:.68rem;font-weight:600;display:inline-block}#course-forecasting-root .ot-selected-tag{color:#047857;background:#ecfdf5;border:1px solid #34d399;border-radius:3px;padding:.1rem .35rem;font-size:.68rem;font-weight:700;display:inline-block}#course-forecasting-root .ot-empty{color:#cbd5e1;font-size:.75rem}#course-forecasting-root .ot-pagination{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.8rem;display:flex}#course-forecasting-root .ot-page-buttons{gap:.25rem;display:flex}#course-forecasting-root .ot-page-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:.3rem .6rem;font-family:inherit;font-size:.78rem;transition:all .1s}#course-forecasting-root .ot-page-btn:hover:not(:disabled){background:#f1f5f9}#course-forecasting-root .ot-page-btn:disabled{opacity:.35;cursor:default}#course-forecasting-root .ot-page-btn.active{color:#fff;background:#1e293b;border-color:#1e293b}#course-forecasting-root .ot-page-size{background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:.3rem .5rem;font-family:inherit;font-size:.78rem}#course-forecasting-root .ot-results-count{color:#64748b;margin-bottom:.5rem;font-size:.8rem}#course-forecasting-root .ot-results-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}#course-forecasting-root .ot-results-row .ot-results-count{margin-bottom:0}#course-forecasting-root .ot-scope-note{color:#64748b;margin-top:.15rem;font-size:.78rem}#course-forecasting-root .ot-column-toggle{cursor:pointer;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.3rem .55rem;font-size:.78rem;font-weight:700}#course-forecasting-root .ot-column-toggle:hover{background:#f8fafc}#course-forecasting-root .ot-column-toggle:disabled{opacity:.5;cursor:not-allowed}#course-forecasting-root .mobile-tab-bar{display:none}#course-forecasting-root .schedule-toast{color:#fff;z-index:1200;pointer-events:none;white-space:nowrap;background:#1e293b;border-radius:10px;padding:.6rem 1rem;font-size:.85rem;font-weight:600;animation:.25s ease-out toastIn,.3s ease-in 1.7s forwards toastOut;position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 8px 24px #00000040}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-10px)}}@media (max-width:768px){#course-forecasting-root body{height:100%;padding:0;overflow:hidden}#course-forecasting-root{height:100%}#course-forecasting-root .mobile-tab-bar{z-index:1000;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #e2e8f0;display:flex;position:fixed;bottom:0;left:0;right:0}#course-forecasting-root .mobile-tab{color:#94a3b8;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;min-height:52px;padding:.55rem 0;font-family:inherit;font-size:.68rem;font-weight:600;transition:color .15s;display:flex;position:relative}#course-forecasting-root .mobile-tab:active{background:#f1f5f9}#course-forecasting-root .mobile-tab.active{color:#4a6cf7}#course-forecasting-root .mobile-tab-icon{font-size:1.25rem;line-height:1}#course-forecasting-root .mobile-tab-label{line-height:1}#course-forecasting-root .mobile-tab-badge{color:#fff;background:#4a6cf7;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:.25rem;right:calc(50% - 1.1rem)}#course-forecasting-root .layout-3col{height:calc(100% - 52px - env(safe-area-inset-bottom,0px));flex-direction:column;gap:0;padding:0;overflow:hidden}#course-forecasting-root .panel-top-controls,#course-forecasting-root .panel-rail{display:none!important}#course-forecasting-root .sidebar,#course-forecasting-root .course-app-main,#course-forecasting-root .schedule-panel{-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important}#course-forecasting-root .mobile-hidden{display:none!important}#course-forecasting-root .sidebar{padding:1rem}#course-forecasting-root .course-app-main{padding:.75rem;overflow:hidden}#course-forecasting-root .schedule-panel{padding:1rem}#course-forecasting-root .sidebar-header h1{font-size:1.25rem}#course-forecasting-root .course-card{padding:.85rem}#course-forecasting-root .add-to-schedule-button{min-width:44px;min-height:44px;padding:.4rem .65rem;font-size:.85rem}#course-forecasting-root .toggle-chip{min-height:36px;padding:.35rem .65rem;font-size:.82rem}#course-forecasting-root .select-input,#course-forecasting-root .search-input{width:100%;min-height:44px;font-size:16px}#course-forecasting-root .action-button{min-height:44px;padding:.5rem .85rem}#course-forecasting-root .icon-button{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}#course-forecasting-root .ot-scroll{-webkit-overflow-scrolling:touch}#course-forecasting-root .offerings-table{min-width:600px}#course-forecasting-root .ot-add-btn{min-height:36px;padding:.25rem .5rem;font-size:.75rem}#course-forecasting-root .ot-pagination{text-align:center;flex-direction:column;align-items:stretch}#course-forecasting-root .ot-page-buttons{justify-content:center}#course-forecasting-root .ot-page-btn{min-width:36px;min-height:36px}#course-forecasting-root .mode-chip{font-size:.78rem;line-height:1.3}#course-forecasting-root .modal-overlay{align-items:stretch;padding:0}#course-forecasting-root .modal{border-radius:0;margin:0;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}#course-forecasting-root .modal-header{z-index:10;background:#fff;position:sticky;top:0}#course-forecasting-root .modal-close{min-width:44px;min-height:44px}#course-forecasting-root .modal-add{min-height:44px;padding:.4rem .75rem}#course-forecasting-root .sections-table-wrapper{overflow-x:visible}#course-forecasting-root .sections-table{display:block}#course-forecasting-root .sections-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#course-forecasting-root .sections-table tbody{flex-direction:column;gap:.5rem;display:flex}#course-forecasting-root .sections-table tbody tr{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:1fr 1fr;gap:.35rem .75rem;padding:.75rem;display:grid}#course-forecasting-root .sections-table tbody td{border:none;padding:0;font-size:.82rem;line-height:1.4;display:block}#course-forecasting-root .sections-table tbody td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:.1rem;font-size:.68rem;font-weight:700;display:block}#course-forecasting-root .sections-table tbody td:nth-child(3),#course-forecasting-root .sections-table tbody td:last-child{grid-column:1/-1}#course-forecasting-root .section-add{width:100%;min-height:44px;font-size:.85rem}#course-forecasting-root .confirm-dialog{width:95%;max-width:none}#course-forecasting-root .confirm-buttons button{min-height:44px;padding:.5rem 1rem}#course-forecasting-root .content-header h2{font-size:1.1rem}#course-forecasting-root .content-header p{font-size:.82rem}#course-forecasting-root .program-map-links{gap:.5rem .75rem}#course-forecasting-root .credit-warning{font-size:.82rem}#course-forecasting-root .view-toggle-btn{min-height:36px;padding:.35rem .55rem;font-size:.75rem}#course-forecasting-root .schedule-toast{bottom:calc(52px + env(safe-area-inset-bottom,0px) + .75rem)}}@media (min-width:769px) and (max-width:1024px){#course-forecasting-root .sidebar,#course-forecasting-root .schedule-panel{flex:0 0 280px;width:280px;min-width:240px}}#course-forecasting-root[data-display-mode=embedded]{height:auto;min-height:0;color:inherit;background:0 0;margin:0;padding:0;font-family:inherit;position:relative;overflow:visible}#course-forecasting-root[data-display-mode=embedded] .layout-3col{height:760px;height:clamp(720px,100dvh - 14rem,960px);min-height:720px}@media (max-width:768px){#course-forecasting-root[data-display-mode=embedded]{height:720px;height:clamp(640px,100dvh - 8rem,860px);min-height:640px;overflow:hidden}#course-forecasting-root[data-display-mode=embedded] .layout-3col{height:calc(100% - 52px - env(safe-area-inset-bottom,0px));min-height:0}#course-forecasting-root[data-display-mode=embedded] .mobile-tab-bar{position:absolute}}@media print{#course-forecasting-root[data-display-mode=embedded]{height:auto;min-height:0;overflow:visible}}
/*$vite$:1*/