/* New onboarding/catalog screens keep the existing study environment intact. */
.path-screen { max-width: 1120px; margin: 0 auto; padding: 46px 24px 80px; }
.path-screen h1 { font-size: clamp(30px,5vw,48px); line-height: 1.2; margin: 24px 0 14px; }
.path-screen p { color: #aeb7b1; line-height: 1.7; }
.path-screen button, .semester-selection button { min-height: 44px; padding: 12px 18px; border-radius: 10px; border: 1px solid #35463b; background: #1b221e; color: #e6ece8; cursor: pointer; font: inherit; }
.path-screen button:focus-visible, .semester-selection button:focus-visible, .path-screen input:focus-visible { outline: 2px solid #8cffaa; outline-offset: 3px; }
.path-screen .path-primary, .semester-selection .path-primary { background: #8cffaa; color: #102316; font-weight: 700; border-color: #8cffaa; }
.path-screen button:disabled { opacity: .45; cursor: not-allowed; }
.university-card { display: block; width: 100%; max-width: 700px; text-align: start; margin: 30px 0; padding: 28px !important; background: linear-gradient(120deg,#17251c,#151a17) !important; }
.university-card:hover { border-color: #8cffaa; }
.university-card h3 { font-size: 23px; line-height: 1.6; margin: 0 0 12px; }
.university-legacy { color: #a8b9ad; font-size: 14px; }
.semester-selection #selected-semester { display: block; width: 150px; padding: 13px; margin: 12px 0; background: #1c221e; color: white; border: 1px solid #46564b; border-radius: 8px; font: inherit; }
.course-group, .catalog-major { border: 1px solid #2c3830; border-radius: 14px; margin: 16px 0; overflow: hidden; }
.catalog-major > .course-group { margin: 12px; }
.course-group > summary, .catalog-major > summary { padding: 18px 20px; font-size: 17px; font-weight: 600; color: #dbe7df; background: #181f1a; cursor: pointer; min-height: 54px; }
.course-group > summary:hover, .catalog-major > summary:hover { color: #8cffaa; }
.course-choice-grid { padding: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.selectable-course { display: flex; align-items: flex-start; gap: 13px; padding: 17px; border: 1px solid #344039; background: #171c19; border-radius: 12px; cursor: pointer; min-width: 0; }
.selectable-course:has(input:checked) { border-color: #8cffaa; background: #1b2b20; }
.selectable-course:focus-within { outline: 2px solid #8cffaa; }
.selectable-course input { margin-top: 5px; min-width: 21px; width: 21px; height: 21px; accent-color: #8cffaa; }
.selectable-course-content { display: flex; flex-direction: column; gap: 8px; min-width: 0; line-height: 1.5; }
.catalog-course-code { color: #8cffaa; direction: ltr; unicode-bidi: isolate; font-size: 13px; font-weight: 700; }
.availability { font-size: 12px; }.availability.available { color: #a4e4b6; }.availability.soon { color: #c3c0ab; }
.catalog-context { border-inline-start: 2px solid #8cffaa; padding-inline-start: 15px; }
.cross-major-prompt { padding: 24px 0; }.cross-major-prompt h2 { font-size: 21px; }
.selection-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 24px 0; border-top: 1px solid #2c3830; }.selection-footer strong { margin-inline-end: auto; }
.selection-footer p { flex-basis: 100%; margin: 0; }
#library-search { width: 100%; padding: 15px; margin: 12px 0 20px; border-radius: 10px; border: 1px solid #3b4d41; background: #171d19; color: white; font: inherit; }
#profile-save-status { color: #d5c4a1; }.course-coming-soon:disabled { cursor: default; opacity: .72; }
[data-manage-courses] { border: 1px solid #477452; border-radius: 9px; color: #8cffaa; background: #19251c; min-height: 44px; padding: 10px 15px; font: inherit; cursor: pointer; }
.auth-back-landing { position: fixed; top: 22px; left: 22px; z-index: 150; color: #bfe8cb; border: 1px solid #344339; background: #171b18; border-radius: 9px; padding: 10px 13px; min-height: 44px; cursor: pointer; }
html[dir="rtl"] .path-screen { text-align: right; }
@media (max-width: 640px) { .path-screen { padding: 26px 16px 56px; }.course-choice-grid { grid-template-columns: 1fr; padding: 12px; }.selection-footer { align-items: stretch; }.selection-footer .path-primary { flex-basis: 100%; }.dashboard-courses-header { flex-wrap: wrap; gap: 12px; }.auth-back-landing { font-size: 12px; left: 12px; top: 12px; } }
