.home-page{max-width:600px;margin:0 auto;padding:80px 20px 40px;background:transparent}.home-header{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}.home-title{font-size:30px;font-weight:700;margin:0;color:#0f172a}.home-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;color:#2563eb;background:#eff6ff;border-radius:4px;border:none}.home-subtitle{color:#475569;font-size:15px;text-align:center;line-height:1.6;margin:0 0 32px;padding:0 8px}.home-resume{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;margin-bottom:16px;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:6px;text-decoration:none;transition:all .15s ease}.home-resume:hover{background:#dcfce7;border-color:#86efac}.home-resume__icon{font-size:14px;color:#16a34a}.home-resume__text{font-size:13px;font-weight:500;color:#16a34a}.home-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}@media(max-width:480px){.home-modes{grid-template-columns:1fr}}.home-mode{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border:1px solid #E2E8F0;border-radius:10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;text-align:left;width:100%}.home-mode:hover{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14;background:#fff}.home-mode--selected,.home-mode--selected:hover{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.home-mode__icon{width:40px;height:40px;background:#eff6ff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#2563eb}.home-mode--selected .home-mode__icon{background:#dbeafe;color:#1d4ed8}.home-mode__content{display:flex;flex-direction:column;gap:2px;min-width:0}.home-mode__title{font-size:15px;font-weight:600;color:#0f172a}.home-mode__desc{font-size:13px;color:#475569}.home-primary-cta{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;transition:opacity .2s ease}.home-primary-cta--faded{opacity:.4;pointer-events:none}.home-cta-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;background:#0f2240;border:none;border-radius:8px;text-decoration:none;transition:background .15s ease;font-size:15px;font-weight:600;cursor:pointer}.home-cta-button:hover:not(:disabled){background:#1e3a5f}.home-cta-button:disabled{cursor:not-allowed}.home-cta-button__icon{display:none}.home-cta-button__text{font-size:15px;font-weight:600;color:#fff}.home-cta-hint{font-size:13px;color:#94a3b8}.home-cta-error{font-size:12px;color:#ef4444;text-align:center;max-width:100%}.home-cta-button--loading{opacity:.9;cursor:wait}.home-cta-button__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:home-spinner .8s linear infinite}@keyframes home-spinner{to{transform:rotate(360deg)}}.home-secondary{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px;transition:opacity .2s ease}.home-secondary--faded{opacity:.4;pointer-events:none}.home-secondary-link{font-size:13px;color:#2563eb;text-decoration:none}.home-secondary-link:hover{text-decoration:underline}.home-secondary-link--btn{background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.home-secondary-sep{font-size:13px;color:#94a3b8}.home-secondary-notice{font-size:13px;color:#94a3b8;font-style:italic}.home-footer-notes{margin-top:24px;text-align:center}.home-scope-note{font-size:12px;color:#94a3b8;margin:0 0 8px;padding:0;background:transparent;border:none}.home-disclaimer{font-size:12px;color:#94a3b8;text-align:center;margin:0}.home-confirm-overlay{position:fixed;inset:0;z-index:9999;background-color:#0009;display:flex;align-items:center;justify-content:center}.home-confirm-dialog{background-color:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:24px 28px;max-width:420px;width:90%;box-shadow:0 20px 60px #00000026}.home-confirm-title{font-size:16px;font-weight:600;color:#0f172a;margin-bottom:12px}.home-confirm-body{font-size:13px;color:#475569;line-height:1.6;margin-bottom:20px}.home-confirm-actions{display:flex;gap:10px;justify-content:flex-end}.home-confirm-cancel{padding:8px 16px;font-size:13px;font-weight:500;background:transparent;border:1px solid #E2E8F0;border-radius:6px;color:#475569;cursor:pointer}.home-confirm-cancel:hover{background:#f1f5f9}.home-confirm-proceed{padding:8px 16px;font-size:13px;font-weight:600;background:#ef44441a;border:1px solid rgba(239,68,68,.4);border-radius:6px;color:#ef4444;cursor:pointer}.home-confirm-proceed:hover{background:#ef44442e}.language-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.language-selector-modal{background:#fff;border:1px solid #E2E8F0;border-radius:12px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026;color:#0f172a}.language-selector-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #E2E8F0}.language-selector-header h3{margin:0;font-size:18px;font-weight:600;color:#0f172a}.language-selector-close{background:none;border:none;font-size:24px;cursor:pointer;color:#94a3b8;padding:4px 8px;line-height:1}.language-selector-close:hover{color:#0f172a}.language-selector-warning-box{background:#fef2f2;border:1px solid #FECACA;border-radius:8px;padding:14px 16px;margin:16px 20px 0}.language-selector-warning-text{font-size:13px;color:#475569;line-height:1.5;margin-bottom:8px}.language-selector-warning-text strong{color:#ef4444}.language-selector-warning-hint{font-size:12px;color:#94a3b8}.language-selector-warning{background:#fffbeb;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:12px 16px;margin:16px 20px 0;color:#92400e;font-size:14px}.language-selector-body{padding:20px}.language-selector-instructions{margin:0 0 16px;color:#475569;font-size:14px}.language-selector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.language-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;border:2px solid #E2E8F0;border-radius:8px;background:#f8fafc;cursor:pointer;transition:all .15s ease}.language-option:hover{border-color:#2563eb;background:#eff6ff}.language-option.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb33}.language-name{font-size:15px;font-weight:500;color:#0f172a}.language-code{font-size:12px;color:#94a3b8;font-family:monospace}.language-option.selected .language-name{color:#2563eb}.language-option.selected .language-code{color:#94a3b8}.language-selector-footer{padding:16px 20px;border-top:1px solid #E2E8F0;display:flex;justify-content:flex-end;gap:10px}.language-cancel-btn{padding:8px 16px;border:1px solid #E2E8F0;border-radius:6px;background:#f8fafc;color:#0f172a;font-size:14px;cursor:pointer}.language-cancel-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.language-confirm-btn{padding:8px 16px;border:1px solid #FECACA;border-radius:6px;background:#fef2f2;color:#ef4444;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.language-confirm-btn:hover{background:#fee2e2;border-color:#fca5a5}.language-current-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#0d9488;background:#dcfce7;padding:2px 6px;border-radius:4px;margin-top:4px}.language-path-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-secondary, #FFFFFF);border:1px solid var(--border-default, #E2E8F0);border-radius:16px;font-size:13px;color:var(--text-secondary, #475569)}.language-path-badge-label{font-weight:500}.language-path-badge button{background:none;border:none;color:var(--accent-primary, #2563EB);font-size:12px;cursor:pointer;padding:0 4px}.language-path-badge button:hover{text-decoration:underline}.termGridWrap{margin-top:0;padding:0;border:none;border-radius:0;background:transparent}.termGridHeaderRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.termGridTitle{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.legend{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:#94a3b8}.legendItem{display:inline-flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:2px;display:inline-block}.dot--major{background:#2563eb4d}.dot--school{background:#0d94884d}.dot--gened{background:#f59e0b4d}.dot--fill,.dot--other{background:#94a3b84d}.termGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:4px}@media(max-width:900px){.termGrid{grid-template-columns:1fr;grid-auto-flow:row}}.termColumn{border:1px solid #E2E8F0;border-radius:8px;padding:10px;background:#fff;min-height:180px}.termHeader{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.termName{font-weight:600;font-size:13px;color:#0f172a}.creditBarWrap{margin-bottom:10px}.creditBarTopRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.creditBarTotalPill{font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;border:1px solid #E2E8F0;background:#f1f5f9;white-space:nowrap;color:#475569}.creditBarStatus{font-size:12px;font-weight:700;opacity:.9;white-space:nowrap}.creditBar{position:relative;height:10px;border-radius:999px;overflow:hidden;border:none;background:#f1f5f9}.creditBarTrack{position:absolute;inset:0;background:#f1f5f9}.creditBarFill{position:absolute;top:0;bottom:0;left:0;border-radius:999px;background:#cbd5e1}.creditBarTargetTick{position:absolute;top:-4px;width:2px;height:18px;background:#94a3b8;border-radius:2px}.creditBarLabels{margin-top:6px;display:flex;justify-content:space-between;font-size:11px;opacity:.7;gap:10px;white-space:nowrap}.creditBarWrap--ok .creditBarTotalPill{border-color:#e2e8f0;background:#f1f5f9}.creditBarWrap--under .creditBarTotalPill{border-color:#f59e0b80;background:#fffbeb}.creditBarWrap--over .creditBarTotalPill{border-color:#f9731680;background:#fff7ed}.creditBarWrap--under .creditBarFill{background:#f59e0b4d}.creditBarWrap--over .creditBarFill{background:#f973164d}.termCredits{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid #E2E8F0;background:#f1f5f9;color:#475569}.termCredits--over{border-color:#ef4444e6;background:#ef44441a;font-weight:700}.termCredits--under{border-color:#f59e0ba6;background:#f59e0b1a;font-weight:700}.termSub{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px;opacity:.9}.termRule{white-space:nowrap;opacity:.85}.termFlags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.flag{padding:2px 8px;border-radius:999px;border:1px solid #E2E8F0;background:#f1f5f9}.termCourses{display:flex;flex-direction:column;gap:4px}.courseCard{border-radius:6px;padding:8px 12px;border:1px solid #E2E8F0;border-left:4px solid #E2E8F0;background:#fff;transition:background .1s ease,border-color .1s ease}.courseCard:hover{background:#f8fafc;border-color:#cbd5e1}.courseCard--completed{border:1px solid #BBF7D0!important;border-left:4px solid #16A34A!important;background:#f0fdf4!important;box-shadow:none;transform:none}.courseCard--completed:hover{background:#dcfce7!important}.courseCard--completed .courseCode{color:#166534}.courseCard--completed .courseTitle{color:#475569}.courseCard:not(.courseCard--completed){box-shadow:none}.pill--completed{border-color:#bbf7d0;background:#f0fdf4;color:#166534;font-weight:800}.pill--completed input[type=checkbox]{accent-color:#16A34A}.courseTop{display:flex;align-items:baseline;gap:4px;margin-bottom:6px}.courseCode{font-weight:600;font-size:12px;letter-spacing:.02em;color:#0f172a}.courseCreditsPill{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;border:1px solid #E2E8F0;background:#f1f5f9;color:#94a3b8}.courseTitle{font-size:12px;font-weight:400;color:#475569;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.courseMetaRow{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:10px;padding:2px 6px;border-radius:3px;border:1px solid #E2E8F0;background:#f1f5f9;color:#475569}.pill--unmapped{border-color:#ef44444d;background:#ef444414;color:#ef4444}.pill--source{opacity:.9}.pill--fillSource{background:#fffbeb;border-color:#f59e0b66;color:#d97706;font-weight:700}.detailsBlock{margin-top:8px}.detailsBlock summary{cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.02em;opacity:.95;-webkit-user-select:none;user-select:none}.detailsBlock summary::marker{color:#9ca3af}.detailsBlock[open] summary{color:#0f172a}.detailsCount{opacity:.7;font-weight:700}.pillList{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.detailsEmpty{margin-top:8px;font-size:12px;opacity:.75}.detailsHint{margin-top:8px;font-size:11px;opacity:.65}.pill--req{opacity:.9}.pill--prereq{border-color:#2563eb59;background:#2563eb14;opacity:.95}.pill--toi{border-color:#99f6e4;background:#ccfbf1;color:#0d9488;font-weight:600}.pill--elective{border-color:#bfdbfe;background:#dbeafe;color:#1d4ed8;font-weight:600}.pill--tag{border-color:#cbd5e1;background:#f1f5f9;color:#475569}.pill--flexible{border-color:#fde68a;background:#fef3c7;color:#92400e}.pill--advisor-review{border-color:#fdba74;background:#fff7ed;color:#c2410c;font-weight:600}.courseCard--major{border-left-color:#2563eb;background:#eff6ff}.courseCard--school{border-left-color:#ea580c;background:#ffedd5}.courseCard--gened{border-left-color:#0d9488;background:#ccfbf1}.courseCard--fill,.courseCard--other{border-left-color:#94a3b8;background:#f8fafc}.courseCard--concentration{border-left-color:#7c3aed;background:#ede9fe}.courseCard--minor{border-left-color:#db2777;background:#fce7f3}.courseCard--elective{border-left-color:#64748b;background:#f1f5f9}.courseCard--placeholder{border:2px dashed #CBD5E1;background:#fffbeb;position:relative}.courseCard--placeholder.courseCard--toi-placeholder{border:2px dashed rgba(245,158,11,.5);background:#fffbeb;box-shadow:none}.courseCard--placeholder.courseCard--w-placeholder{border:2px dashed rgba(37,99,235,.4);background:#eff6ff;box-shadow:none}.courseCard--placeholder.courseCard--flex-placeholder{border:2px dashed rgba(34,197,94,.5);background:#f0fdf4;box-shadow:none}.courseCard--placeholder.courseCard--flex-placeholder:hover{border-color:#22c55eb3;background:#dcfce7}.courseCard--placeholder.courseCard--grouped-toi{border:2px dashed rgba(251,191,36,.4);background:linear-gradient(135deg,#fffbeb,#fef3c7);box-shadow:none;padding:10px 12px}.courseCard--placeholder.courseCard--grouped-toi:hover{border-color:#fbbf2499;background:linear-gradient(135deg,#fef3c7,#fde68a)}.placeholderBadge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;color:#d97706;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:6px;margin-bottom:8px;letter-spacing:.02em}.placeholderBadge:before{content:"✎";font-size:11px}.placeholderHelpText{font-size:12px;color:#94a3b8;line-height:1.4;margin-bottom:10px}.placeholderFillBtn{width:100%;padding:10px 0;font-size:14px;font-weight:600;color:#fff;background:#0f2240;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;box-shadow:none}.placeholderFillBtn:hover{background:#1e3a5f;transform:none;box-shadow:none}.placeholderFillBtn:active{transform:translateY(0)}.courseCard--completed.courseCard--major,.courseCard--completed.courseCard--school,.courseCard--completed.courseCard--gened,.courseCard--completed.courseCard--fill,.courseCard--completed.courseCard--other,.courseCard--completed.courseCard--concentration,.courseCard--completed.courseCard--minor,.courseCard--completed.courseCard--elective{background:#f0fdf4!important;border:1px solid #BBF7D0!important;border-left:4px solid #16A34A!important}.emptyState{font-size:13px;opacity:.75;padding:10px;color:#94a3b8}.termStatus--past{opacity:.8}.termStatus--past .termName{text-decoration:line-through;text-decoration-color:#16a34a80}.termStatus--current{border-color:#bfdbfe;box-shadow:0 0 0 2px #2563eb14}.pill--termStatus{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px}.pill--termStatus.termStatus--past{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.pill--termStatus.termStatus--current{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.pill--termStatus.termStatus--planned{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.pill--status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px}.courseStatus--completed{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.courseStatus--preuconn,.courseStatus--inprogress{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.courseStatus--planned{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.courseCard.courseStatus--inprogress-card{border-color:#bfdbfe;background:#eff6ff}.unslottedSection{background:#fffbeb;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:8px 12px}.unslottedSummary{cursor:pointer;font-weight:600;color:#d97706;-webkit-user-select:none;user-select:none}.unslottedSummary:hover{color:#b45309}.unslottedContent{margin-top:8px}.editActionBtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid #E2E8F0;background:#f1f5f9;cursor:pointer;transition:all .15s ease}.editActionBtn:hover:not(:disabled):not(.editActionBtn--locked){background:#e2e8f0;border-color:#cbd5e1}.editActionBtn--swap:hover{background:#eff6ff;border-color:#bfdbfe}.editActionBtn--remove:hover{background:#ef444414;border-color:#ef44444d}.editActionBtn--locked,.editActionBtn--noSwap{cursor:not-allowed;opacity:.4;background:#f1f5f9;border-color:#e2e8f0}.editActionBtn--noSwap:hover{background:#f1f5f9;border-color:#e2e8f0}.termAddCourseBtn:hover:not(:disabled){background:#0d948814!important;border-color:#0d948866!important;border-style:solid!important;color:#0d9488!important;transform:none;box-shadow:none}.termAddCourseBtn:hover:not(:disabled) span:first-child{background:#0d948826!important}.termAddCourseBtn:disabled{opacity:.4}@media(max-width:768px){.termGridHeaderRow{flex-direction:column;align-items:flex-start;gap:6px}.termGridTitle{font-size:13px}.legend{font-size:10px;gap:5px}.termGrid{grid-template-columns:1fr;gap:8px}.termColumn{padding:8px;min-height:140px}.termName{font-size:12px}.courseCard{padding:6px 8px}.courseCode,.courseTitle{font-size:11px}.courseCreditsPill{font-size:10px;padding:2px 6px}.pill{font-size:9px;padding:1px 5px}.pill--termStatus{font-size:8px;padding:2px 5px}.editActionBtn{width:22px;height:22px}.creditBarLabels{font-size:9px}.creditBarTotalPill{font-size:10px;padding:2px 6px}.detailsBlock summary{font-size:10px}}.courseCard--shifted{border:1px solid rgba(245,158,11,.4)!important;border-left:4px solid #F59E0B!important;background:#fffbeb!important;box-shadow:none;position:relative}.courseCard--shifted:hover{background:#fef3c7!important}.shiftedIndicator{color:#f59e0b;font-weight:700;margin-right:2px}.courseCard--shifted.courseCard--major,.courseCard--shifted.courseCard--school,.courseCard--shifted.courseCard--gened,.courseCard--shifted.courseCard--fill,.courseCard--shifted.courseCard--other{border:1px solid rgba(245,158,11,.4)!important;border-left:4px solid #F59E0B!important;background:#fffbeb!important}.choiceSlotCard{background-color:var(--color-slate-800, #1e293b);border-radius:8px;padding:12px;margin-bottom:8px;border:1px solid transparent;transition:border-color .15s ease,box-shadow .15s ease}.choiceSlotCard--enabled{border:1px solid rgba(34,197,94,.35);background:linear-gradient(135deg,#22c55e14,#1e293b)}.choiceSlotCard--enabled:hover{border-color:#22c55e80;box-shadow:0 0 12px #22c55e26}.choiceSlotCard--advisory{border:1px dashed rgba(148,163,184,.35);background:linear-gradient(135deg,#94a3b80d,#1e293b)}.choiceSlotHeader{margin-bottom:8px}.choiceSlotTitle{font-size:13px;font-weight:700;color:#22c55e;line-height:1.3}.choiceSlotTitle--advisory{color:#94a3b8}.choiceSlotBadge{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;margin-bottom:10px}.choiceSlotBadge--selection{color:#22c55e;background:#22c55e1f;border:1px solid rgba(34,197,94,.3)}.choiceSlotBadge--advisory{color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.25)}.choiceSlotInfo{margin-bottom:10px}.choiceSlotCredits{font-size:11px;color:#64748b}.choiceSlotPreview{background-color:#22c55e0f;border:1px solid rgba(34,197,94,.2);border-radius:6px;padding:8px 10px;margin-bottom:10px}.choiceSlotPreviewLabel{font-size:11px;font-weight:600;color:#22c55e;margin-bottom:6px}.choiceSlotPreviewList{display:flex;flex-direction:column;gap:4px}.choiceSlotPreviewItem{display:flex;align-items:baseline;gap:6px;font-size:11px;color:#cbd5e1}.choiceSlotPreviewCourseId{font-weight:600;color:#e2e8f0;white-space:nowrap}.choiceSlotPreviewTitle{color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.choiceSlotPreviewMore{font-size:10px;color:#64748b;font-style:italic;margin-top:2px}.choiceSlotAdvisoryBox{background-color:#94a3b80f;border:1px dashed rgba(148,163,184,.2);border-radius:6px;padding:8px 10px;margin-bottom:10px}.choiceSlotAdvisoryText{font-size:11px;color:#94a3b8;line-height:1.5}.choiceSlotHelpText{font-size:10px;color:#64748b;margin-bottom:10px;line-height:1.4}.choiceSlotButton{display:block;width:100%;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;border:none}.choiceSlotButton--primary{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.choiceSlotButton--primary:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 2px 8px #22c55e4d}.choiceSlotButton--primary:active{transform:translateY(1px)}.choiceSlotsSection{margin-bottom:16px}.choiceSlotsSectionHeader{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;padding-left:4px}.coursePickerBackdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.coursePickerModal{background-color:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026;border:1px solid #E2E8F0}.coursePickerHeader{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #E2E8F0;flex-shrink:0}.coursePickerBody{flex:1;overflow-y:auto;min-height:0}.coursePickerTitle{margin:0;font-size:18px;font-weight:600;color:#0f172a}.coursePickerCloseBtn{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;padding:0;line-height:1;transition:color .15s}.coursePickerCloseBtn:hover{color:#0f172a}.coursePickerSwapContext{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#fffbeb;border-bottom:1px solid rgba(245,158,11,.25);font-size:13px}.swapContextLabel{color:#92400e;font-weight:500}.swapContextCourse{color:#0f172a;font-weight:600;background-color:#f1f5f9;padding:2px 8px;border-radius:4px}.swapContextTitle{color:#94a3b8;font-size:12px}.coursePickerToiContext{padding:14px 20px;background-color:#f0f9ff;border-bottom:1px solid #BAE6FD;display:flex;flex-direction:column;gap:12px}.toiContextRecommendation{background-color:#e0f2fe;border:1px solid #7DD3FC;border-radius:8px;padding:10px 12px}.toiContextRecommendationHeader{display:flex;align-items:center;gap:8px;margin-bottom:4px}.toiContextRecommendationIcon{font-size:0}.toiContextRecommendationTitle{font-size:14px;font-weight:600;color:#0369a1}.toiContextRecommendationText{font-size:12px;color:#475569;line-height:1.4;padding-left:22px}.toiContextFlexibility{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background-color:#f0fdf4;border-radius:6px;border:1px solid #BBF7D0}.toiContextFlexibilityIcon{font-size:0;flex-shrink:0;margin-top:1px}.toiContextFlexibilityText{font-size:12px;color:#166534;line-height:1.4}.toiContextFlexibilityText strong{color:#14532d;font-weight:600}.toiContextStatus{display:flex;flex-direction:column;gap:6px}.toiContextRow{display:flex;align-items:center;gap:8px;font-size:12px}.toiContextRow .toiContextLabel{color:#94a3b8;min-width:100px}.toiContextTags{display:flex;gap:6px;flex-wrap:wrap}.toiContextTag{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.toiContextTag--satisfied{background-color:#dcfce7;color:#166534}.toiContextTag--needed{background-color:#e0f2fe;color:#0369a1}.coursePickerWContext{padding:14px 20px;background-color:#faf5ff;border-bottom:1px solid #E9D5FF;display:flex;flex-direction:column;gap:12px}.wContextRecommendation{background-color:#f3e8ff;border:1px solid #D8B4FE;border-radius:8px;padding:10px 12px}.wContextRecommendationHeader{display:flex;align-items:center;gap:8px;margin-bottom:4px}.wContextRecommendationIcon{font-size:0}.wContextRecommendationTitle{font-size:14px;font-weight:600;color:#7c3aed}.wContextRecommendationText{font-size:12px;color:#475569;line-height:1.4;padding-left:22px}.wContextNote{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background-color:#f8fafc;border-radius:6px;border:1px solid #E2E8F0}.wContextNoteIcon{font-size:13px;flex-shrink:0;margin-top:1px}.wContextNoteText{font-size:12px;color:#475569;line-height:1.4}.coursePickerFlexContext{padding:14px 20px;background-color:#f0fdf4;border-bottom:1px solid #BBF7D0;display:flex;flex-direction:column;gap:12px}.flexContextRecommendation{background-color:#dcfce7;border:1px solid #86EFAC;border-radius:8px;padding:10px 12px}.flexContextRecommendationHeader{display:flex;align-items:center;gap:8px;margin-bottom:4px}.flexContextRecommendationIcon{font-size:0}.flexContextRecommendationTitle{font-size:14px;font-weight:600;color:#16a34a}.flexContextRecommendationText{font-size:12px;color:#475569;line-height:1.4;padding-left:22px}.flexContextNote{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background-color:#f8fafc;border-radius:6px;border:1px solid #E2E8F0}.flexContextNoteIcon{font-size:0;flex-shrink:0;margin-top:1px}.flexContextNoteText{font-size:12px;color:#475569;line-height:1.4}.coursePickerWWarning{padding:12px 20px;background-color:#faf5ff;border-top:1px solid #E9D5FF;display:flex;flex-direction:column;gap:6px}.coursePickerWWarningHeader{display:flex;align-items:center;gap:8px}.coursePickerWWarningIcon{font-size:14px}.coursePickerWWarningTitle{font-size:13px;font-weight:600;color:#7c3aed}.coursePickerWWarningText{font-size:12px;color:#6d28d9;line-height:1.4;padding-left:22px}.coursePickerWWarningNote{font-size:11px;color:#94a3b8;padding-left:22px;font-style:italic}.coursePickerToiWarning{padding:12px 20px;background-color:#fffbeb;border-top:1px solid rgba(245,158,11,.25);display:flex;flex-direction:column;gap:6px}.coursePickerToiWarningHeader{display:flex;align-items:center;gap:8px}.coursePickerToiWarningIcon{font-size:14px}.coursePickerToiWarningTitle{font-size:13px;font-weight:600;color:#92400e}.coursePickerToiWarningText{font-size:12px;color:#92400e;line-height:1.4;padding-left:22px}.coursePickerToiWarningNote{font-size:11px;color:#94a3b8;padding-left:22px;font-style:italic}.coursePickerControls{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid #E2E8F0}.coursePickerSearch{flex:1;padding:10px 14px;font-size:14px;border:1px solid #E2E8F0;border-radius:8px;background-color:#f8fafc;color:#0f172a;outline:none;transition:border-color .15s,background-color .15s}.coursePickerSearch:focus{border-color:#2563eb;background-color:#fff}.coursePickerSearch::placeholder{color:#94a3b8}.coursePickerTermSelect{padding:10px 14px;font-size:14px;border:1px solid #E2E8F0;border-radius:8px;background-color:#f8fafc;color:#0f172a;outline:none;cursor:pointer;min-width:140px}.coursePickerTermSelect:focus{border-color:#2563eb}.coursePickerToiFilters{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px;border-bottom:1px solid #E2E8F0}.coursePickerToiChip{padding:5px 12px;font-size:12px;font-weight:500;border:1px solid #E2E8F0;border-radius:9999px;background-color:#f8fafc;color:#475569;cursor:pointer;transition:all .15s}.coursePickerToiChip:hover{background-color:#f1f5f9;color:#0f172a}.coursePickerToiChip.active{background-color:#e0f2fe;border-color:#7dd3fc;color:#0369a1}.coursePickerToiBadge{font-size:11px;padding:2px 8px;background-color:#e0f2fe;border-radius:4px;color:#0369a1;font-weight:500}.coursePickerWqBadge{font-size:11px;padding:2px 7px;border-radius:4px;font-weight:600}.coursePickerWqBadge--w{background-color:#f3e8ff;color:#7c3aed}.coursePickerWqBadge--q{background-color:#fff7ed;color:#c2410c}.coursePickerToiChip.active--w{background-color:#f3e8ff;border-color:#d8b4fe;color:#7c3aed}.coursePickerToiChip.active--q{background-color:#fff7ed;border-color:#fed7aa;color:#c2410c}.coursePickerList{padding:12px 20px 16px}.coursePickerEmpty{text-align:center;padding:40px 20px;color:#94a3b8;font-size:14px}.coursePickerEmptySwap{display:flex;flex-direction:column;align-items:center;gap:12px}.coursePickerEmptyIcon{font-size:0;opacity:.7}.coursePickerEmptyTitle{font-size:16px;font-weight:600;color:#475569}.coursePickerEmptyText{font-size:13px;color:#94a3b8;max-width:320px;line-height:1.5}.coursePickerAddInsteadBtn{margin-top:8px;padding:10px 18px;font-size:14px;font-weight:600;border:1px solid #BBF7D0;border-radius:8px;background-color:#f0fdf4;color:#0d9488;cursor:pointer;transition:all .15s}.coursePickerAddInsteadBtn:hover{background-color:#dcfce7;border-color:#86efac}.coursePickerSwapHelper{padding:10px 20px;font-size:12px;color:#475569;background-color:#eff6ff;border-bottom:1px solid #BFDBFE;display:flex;align-items:center;gap:8px}.coursePickerSwapHelper:before{content:"ℹ";font-size:13px}.coursePickerFilterHelper{padding:8px 20px;font-size:12px;color:#94a3b8;font-style:italic}.coursePickerRankingHelper{padding:10px 20px;font-size:12px;color:#475569;background-color:#f0fdf4;border-bottom:1px solid #BBF7D0;display:flex;align-items:center;gap:8px}.coursePickerRankingHelper:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:#dcfce7;color:#0d9488;font-size:10px;font-weight:700}.prereqStatusIcon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;margin-right:6px;flex-shrink:0}.prereqStatusIcon--ok{background-color:#dcfce7;color:#0d9488}.prereqStatusIcon--partial{background-color:#fef3c7;color:#92400e}.prereqStatusIcon--missing{background-color:#fee2e2;color:#ef4444}.coursePickerPrereqWarning{margin-top:8px;padding:6px 10px;font-size:12px;color:#b91c1c;background-color:#fef2f2;border-radius:4px;border-left:3px solid #EF4444}.coursePickerPrereqPartial{margin-top:8px;padding:6px 10px;font-size:12px;color:#92400e;background-color:#fef3c7;border-radius:4px;border-left:3px solid #F59E0B}.coursePickerItem.prereqWarning{border-color:#fecaca}.coursePickerItem.prereqWarning:hover{border-color:#fca5a5}.coursePickerItem{padding:12px 14px;margin-bottom:8px;background-color:#fff;border:1px solid #E2E8F0;border-radius:8px;cursor:pointer;transition:all .15s;position:relative}.coursePickerItem:hover{background-color:#f8fafc;border-color:#cbd5e1}.coursePickerItem.selected{background-color:#eff6ff;border-color:#2563eb}.coursePickerItem.original{opacity:.5;cursor:not-allowed;background-color:#f8fafc}.coursePickerItemMain{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.coursePickerItemCode{font-weight:600;font-size:14px;color:#0f172a}.coursePickerItemCredits{font-size:12px;color:#94a3b8;background-color:#f1f5f9;padding:2px 8px;border-radius:4px}.coursePickerItemTitle{font-size:13px;color:#475569;line-height:1.4}.coursePickerItemTags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.coursePickerTag{font-size:11px;padding:2px 8px;background-color:#f1f5f9;border-radius:4px;color:#475569}.coursePickerPrereqToggle{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:500;border:1px solid #E2E8F0;border-radius:6px;background-color:#f8fafc;color:#475569;cursor:pointer;transition:all .15s}.coursePickerPrereqToggle:hover{background-color:#f1f5f9;color:#0f172a}.coursePickerPrereqList{margin-top:8px;padding:8px 10px;background-color:#f8fafc;border-radius:6px;border:1px solid #E2E8F0;display:flex;flex-direction:column;gap:4px}.coursePickerPrereqItem{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 0}.coursePickerPrereqIcon{font-weight:700;font-size:13px;width:16px;text-align:center;flex-shrink:0}.coursePickerPrereqItem.satisfied .coursePickerPrereqIcon{color:#0d9488}.coursePickerPrereqItem.missing .coursePickerPrereqIcon{color:#ef4444}.coursePickerPrereqItem.satisfied .coursePickerPrereqId{color:#94a3b8}.coursePickerPrereqItem.missing .coursePickerPrereqId{color:#b91c1c}.coursePickerOriginalBadge{position:absolute;top:10px;right:10px;font-size:10px;font-weight:600;color:#92400e;background-color:#fef3c7;padding:2px 8px;border-radius:4px;text-transform:uppercase}.coursePickerMore{text-align:center;padding:12px;color:#94a3b8;font-size:13px;font-style:italic}.coursePickerFooter{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid #E2E8F0;background-color:#f8fafc;flex-shrink:0}.coursePickerSelection{font-size:13px;color:#94a3b8}.coursePickerSelection strong{color:#0f172a}.coursePickerActions{display:flex;gap:10px}.coursePickerCancelBtn{padding:10px 18px;font-size:14px;font-weight:500;border:1px solid #E2E8F0;border-radius:8px;background-color:transparent;color:#475569;cursor:pointer;transition:all .15s}.coursePickerCancelBtn:hover{background-color:#f1f5f9;color:#0f172a}.coursePickerConfirmBtn{padding:10px 18px;font-size:14px;font-weight:600;border:none;border-radius:8px;background-color:#2563eb;color:#fff;cursor:pointer;transition:all .15s}.coursePickerConfirmBtn:hover:not(:disabled){background-color:#1d4ed8}.coursePickerConfirmBtn:disabled{opacity:.5;cursor:not-allowed}.coursePickerBody::-webkit-scrollbar{width:8px}.coursePickerBody::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.coursePickerBody::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.coursePickerBody::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media screen and (max-width:768px){.coursePickerModal{max-height:85vh;width:95%}.coursePickerHeader{padding:14px 16px}.coursePickerTitle{font-size:16px}.coursePickerToiContext,.coursePickerWContext{padding:12px 16px;gap:10px}.toiContextRecommendation,.wContextRecommendation{padding:8px 10px}.toiContextRecommendationText,.wContextRecommendationText{font-size:11px;padding-left:20px}.toiContextFlexibility,.wContextNote{padding:6px 8px}.toiContextFlexibilityText,.wContextNoteText{font-size:11px}.coursePickerControls{padding:12px 16px;gap:10px}.coursePickerSearch,.coursePickerTermSelect{padding:8px 12px;font-size:13px}.coursePickerToiFilters{padding:8px 16px;gap:5px}.coursePickerToiChip{padding:4px 10px;font-size:11px}.coursePickerList{padding:10px 16px}.coursePickerItem{padding:10px 12px}.coursePickerFooter{padding:14px 16px}}@media screen and (max-width:480px){.coursePickerModal{max-height:92vh;width:100%;border-radius:12px 12px 0 0;margin-top:auto;max-width:100%}.coursePickerBackdrop{align-items:flex-end}.coursePickerHeader{padding:12px 14px}.coursePickerTitle{font-size:15px}.coursePickerCloseBtn{font-size:22px}.coursePickerSwapContext{padding:8px 14px;font-size:12px;flex-wrap:wrap}.coursePickerToiContext,.coursePickerWContext{padding:10px 14px;gap:8px}.toiContextRecommendation,.wContextRecommendation{padding:8px 10px}.toiContextRecommendationHeader,.wContextRecommendationHeader{gap:6px}.toiContextRecommendationIcon,.wContextRecommendationIcon{font-size:0}.toiContextRecommendationTitle,.wContextRecommendationTitle{font-size:13px}.toiContextRecommendationText,.wContextRecommendationText{font-size:11px;padding-left:19px;line-height:1.3}.toiContextFlexibility,.wContextNote{display:none}.toiContextStatus{gap:4px}.toiContextRow{font-size:11px}.toiContextRow .toiContextLabel{min-width:80px}.toiContextTag{padding:2px 6px;font-size:10px}.coursePickerControls{padding:10px 14px;gap:8px;flex-wrap:wrap}.coursePickerSearch{flex:1 1 100%;padding:10px 12px;font-size:14px}.coursePickerTermSelect{flex:1 1 100%;padding:10px 12px;font-size:14px;min-width:unset}.coursePickerToiFilters{padding:8px 14px;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.coursePickerToiChip{flex-shrink:0;padding:5px 10px;font-size:11px}.coursePickerFilterHelper,.coursePickerSwapHelper,.coursePickerRankingHelper{padding:6px 14px;font-size:11px}.coursePickerList{padding:8px 14px;min-height:120px}.coursePickerItem{padding:10px 12px;margin-bottom:6px}.coursePickerItemCode{font-size:13px}.coursePickerItemCredits{font-size:11px;padding:2px 6px}.coursePickerItemTitle{font-size:12px}.coursePickerItemTags{gap:4px;margin-top:6px}.coursePickerToiBadge,.coursePickerWqBadge,.coursePickerTag{font-size:10px;padding:2px 6px}.prereqStatusIcon{width:16px;height:16px;font-size:10px;margin-right:4px}.coursePickerPrereqWarning,.coursePickerPrereqPartial{margin-top:6px;padding:5px 8px;font-size:11px}.coursePickerPrereqToggle{margin-top:6px;padding:4px 8px;font-size:10px}.coursePickerPrereqList{margin-top:6px;padding:6px 8px}.coursePickerPrereqItem{font-size:12px}.coursePickerToiWarning,.coursePickerWWarning{padding:10px 14px;gap:4px}.coursePickerToiWarningTitle,.coursePickerWWarningTitle{font-size:12px}.coursePickerToiWarningText,.coursePickerWWarningText{font-size:11px;padding-left:20px}.coursePickerToiWarningNote,.coursePickerWWarningNote{font-size:10px;padding-left:20px}.coursePickerFooter{padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:10px;align-items:stretch}.coursePickerSelection{font-size:12px;text-align:center}.coursePickerActions{gap:8px;width:100%}.coursePickerCancelBtn,.coursePickerConfirmBtn{flex:1;padding:12px 14px;font-size:14px;justify-content:center}.coursePickerEmpty{padding:30px 16px;font-size:13px}.coursePickerEmptyIcon{font-size:0}.coursePickerEmptyTitle{font-size:14px}.coursePickerEmptyText{font-size:12px;max-width:280px}.coursePickerAddInsteadBtn{padding:10px 16px;font-size:13px}.coursePickerMore{padding:10px;font-size:12px}}@media screen and (max-width:360px){.coursePickerModal{max-height:95vh}.coursePickerHeader{padding:10px 12px}.coursePickerTitle{font-size:14px}.coursePickerToiContext,.coursePickerWContext{padding:8px 12px}.toiContextRecommendationTitle,.wContextRecommendationTitle{font-size:12px}.coursePickerControls{padding:8px 12px}.coursePickerToiFilters,.coursePickerList{padding:6px 12px}.coursePickerFooter{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}.save-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;border-radius:4px;transition:all .2s ease}.save-status--saving{color:#2563eb}.save-status--saving .save-status__spinner{width:12px;height:12px;border:2px solid rgba(37,99,235,.2);border-top-color:#2563eb;border-radius:50%;animation:save-spin .8s linear infinite}@keyframes save-spin{to{transform:rotate(360deg)}}.save-status--saved{color:#0d9488}.save-status--saved .save-status__check{font-size:11px}.save-status--error{color:#ef4444}.save-status--error .save-status__error{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;font-weight:700;background:#fee2e2;border-radius:50%}.save-status--idle{color:#94a3b8}.save-status__text{white-space:nowrap}.warningsPanel{border-radius:8px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 8px #00000026}.warningsPanel--sticky{position:sticky;top:12px;z-index:100}.warningsPanel--generation{background-color:#fefce8;border:1px solid #fbbf24}.warningsPanel--generation .warningsPanel__header{background-color:#fef3c7;border-bottom:1px solid #fcd34d}.warningsPanel--generation .warningsPanel__headerIcon,.warningsPanel--generation .warningsPanel__headerTitle{color:#92400e}.warningsPanel--generation .warningsPanel__headerCount{color:#b45309}.warningsPanel--validation{background-color:#fef2f2;border:1px solid #f87171}.warningsPanel--validation .warningsPanel__header{background-color:#fee2e2;border-bottom:1px solid #fca5a5}.warningsPanel--validation .warningsPanel__headerIcon,.warningsPanel--validation .warningsPanel__headerTitle{color:#991b1b}.warningsPanel--validation .warningsPanel__headerCount{color:#b91c1c}.warningsPanel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;border:none;width:100%;text-align:left;font-family:inherit;transition:background-color .15s}.warningsPanel__header:hover{filter:brightness(.97)}.warningsPanel__headerLeft{display:flex;align-items:center;gap:8px}.warningsPanel__headerIcon{font-size:18px}.warningsPanel__headerTitle{font-size:14px;font-weight:600}.warningsPanel__headerCount{font-size:13px;font-weight:500}.warningsPanel__chevron{font-size:10px;opacity:.7;transition:transform .2s}.warningsPanel__chevron--small{font-size:8px}.warningsPanel__content{padding:12px 16px}.warningGroup{padding:10px 12px;border-radius:6px;margin-bottom:10px;background-color:#fff9}.warningGroup:last-of-type{margin-bottom:0}.warningGroup--error{border-left:4px solid #ef4444}.warningGroup--warning{border-left:4px solid #f59e0b}.warningGroup--info{border-left:4px solid #3b82f6}.warningGroup__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.warningGroup__icon{font-size:16px}.warningGroup__title{font-size:13px;font-weight:600;color:#1f2937}.warningGroup__count{font-size:12px;color:#6b7280;font-weight:500}.warningGroup__expandBtn{margin-left:auto;padding:2px 8px;font-size:11px;background:#0000000f;border:1px solid rgba(0,0,0,.1);border-radius:4px;cursor:pointer;color:#4b5563;transition:background-color .15s}.warningGroup__expandBtn:hover{background:#0000001a}.warningGroup__bullets{margin:0;padding-left:24px;list-style:disc}.warningGroup__bullet{font-size:13px;color:#374151;line-height:1.5;margin-bottom:4px}.warningGroup__bullet:last-child{margin-bottom:0}.warningGroup__details{margin:6px 0 0;padding-left:16px;list-style:circle}.warningGroup__detail{font-size:12px;color:#6b7280;line-height:1.4;margin-bottom:2px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.warningsPanel__technicalSection{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.15)}.warningsPanel__technicalToggle{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:4px;cursor:pointer;color:#6b7280;transition:background-color .15s;font-family:inherit}.warningsPanel__technicalToggle:hover{background:#00000014}.warningsPanel__technicalIcon{font-size:12px}.warningsPanel__technicalContent{margin-top:10px}.warningsPanel__rawWarnings{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;padding:8px;background:#0000000a;border-radius:4px}.warningsPanel__rawWarning{display:block;font-size:11px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;color:#4b5563;line-height:1.4;word-break:break-word;padding:4px 6px;background:#ffffff80;border-radius:2px}.warningsPanel--compact{background:transparent;border:none;box-shadow:none;margin-bottom:0;padding:0}.warningGroup--compact{padding:8px 10px;margin-bottom:8px;background:var(--bg-tertiary, #F1F5F9);border-radius:4px}.warningGroup--compact:last-child{margin-bottom:0}.warningGroup__compactHeader{display:flex;align-items:center;gap:6px;margin-bottom:4px}.warningGroup--compact .warningGroup__icon{font-size:12px}.warningGroup--compact .warningGroup__title{font-size:12px;font-weight:600;color:var(--text-primary, #0F172A)}.warningGroup__bullets--compact{padding-left:18px;margin:0}.warningGroup__bullets--compact .warningGroup__bullet{font-size:11px;color:var(--text-secondary, #475569);line-height:1.4;margin-bottom:2px}.warningGroup__bullet--more{color:var(--text-muted, #94A3B8);font-style:italic;list-style:none;margin-left:-12px}.export-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:300}.export-modal{background:#1a1d24;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:24px;min-width:400px;max-width:500px;box-shadow:0 16px 48px #00000080}.export-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.export-header h2{margin:0;font-size:18px;font-weight:600}.export-close{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;padding:0;line-height:1}.export-close:hover{color:#e2e8f0}.export-instructions{margin-bottom:20px;color:#94a3b8;font-size:14px;line-height:1.5}.export-instructions p{margin:0}.export-instructions .export-tip{margin-top:12px;padding:8px 12px;background:#3b82f626;border-radius:6px;font-size:13px;color:#93c5fd}.export-instructions .export-tip strong{color:#60a5fa}.export-empty{text-align:center;padding:20px;color:#94a3b8}.export-empty p{margin-bottom:16px}.export-actions{display:flex;justify-content:flex-end;gap:10px}.export-btn{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s ease}.export-btn.primary{background:#3b82f6;color:#fff;border:none}.export-btn.primary:hover{background:#2563eb}.export-btn.secondary{background:#ffffff0f;color:#e2e8f0;border:1px solid rgba(255,255,255,.15)}.export-btn.secondary:hover{background:#ffffff1a}@media(max-width:640px){.export-overlay{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:center}.export-modal{min-width:0;max-width:none;width:calc(100vw - 32px);max-height:calc(100vh - 32px - env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:12px;padding:16px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.export-header{position:sticky;top:-16px;background:#1a1d24;margin:-16px -16px 12px;padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);z-index:1}.export-header h2{font-size:16px}.export-instructions{font-size:13px;margin-bottom:16px}.export-instructions .export-tip{font-size:12px;padding:6px 10px}.export-actions{position:sticky;bottom:-16px;background:#1a1d24;margin:16px -16px -16px;padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.08);flex-direction:column;gap:8px}.export-btn{width:100%;padding:14px 20px;font-size:15px}.export-btn.primary{order:-1}.export-empty{padding:16px}}.print-container{display:none}@media print{#root,.no-print{display:none!important}.print-container{display:block!important;background:#fff!important;color:#000!important;padding:20px 20px 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:11pt;line-height:1.4}.print-page-break{display:none}.print-brief{page-break-after:always;break-after:page}.print-detail{page-break-before:avoid}.print-brief-header{text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #333}.print-brief-badge{display:inline-block;padding:4px 14px;font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:12px;margin-bottom:10px;background:#f0f0f0;color:#333;border:1px solid #ccc}.print-brief-badge[data-mode=recovery]{background:#fef3c7;color:#92400e;border-color:#fcd34d}.print-brief-title{margin:0 0 8px;font-size:24pt;font-weight:800;color:#000;letter-spacing:-.5px}.print-brief-meta{font-size:11pt;color:#555}.print-brief-profile{font-weight:600;color:#333}.print-brief-divider{margin:0 8px;color:#999}.print-brief-date{color:#666}.print-brief-intro{margin:14px auto 0;max-width:500px;font-size:10pt;color:#666;line-height:1.5}.print-brief-section{margin-bottom:20px;page-break-inside:avoid}.print-brief-section-title{margin:0 0 12px;font-size:11pt;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.5px;padding-bottom:6px;border-bottom:1px solid #ddd}.print-brief-section-subtitle{font-size:9pt;font-weight:500;color:#666;text-transform:none;letter-spacing:0;margin-left:8px}.print-standing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.print-standing-item{padding:10px 12px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:4px}.print-standing-label{display:block;font-size:8pt;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.print-standing-value{display:block;font-size:12pt;font-weight:700;color:#111}.print-summary-block{padding:14px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:4px}.print-summary-block--recovery{background:#fffbeb;border-color:#fcd34d}.print-summary-items{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.print-summary-item{display:flex;flex-direction:column;gap:2px}.print-summary-label{font-size:8pt;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px}.print-summary-value{font-size:11pt;font-weight:600;color:#111}.print-summary-note{margin:0;font-size:10pt;color:#666;font-style:italic}.print-confirm-list{margin:0;padding:0;list-style:none}.print-confirm-list li{padding:8px 0 8px 24px;font-size:10pt;color:#333;border-bottom:1px solid #eee;position:relative}.print-confirm-list li:last-child{border-bottom:none}.print-confirm-list li:before{content:"?";position:absolute;left:0;top:8px;width:16px;height:16px;font-size:9pt;font-weight:700;color:#3730a3;background:#e0e7ff;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:16px;text-align:center}.print-brief-terms{display:flex;flex-direction:column;gap:12px}.print-brief-term{border:1px solid #ddd;border-radius:4px;overflow:hidden;page-break-inside:avoid}.print-brief-term-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f5f5f5;border-bottom:1px solid #ddd}.print-brief-term-label{font-size:10pt;font-weight:700;color:#333}.print-brief-term-credits{font-size:9pt;font-weight:600;color:#666;padding:2px 8px;background:#e8e8e8;border-radius:10px}.print-brief-courses{width:100%;border-collapse:collapse;font-size:9pt}.print-brief-courses td{padding:5px 10px;border-bottom:1px solid #eee}.print-brief-courses tr:last-child td{border-bottom:none}.print-brief-course-id{width:90px;font-family:ui-monospace,monospace;font-weight:600;color:#5b21b6}.print-brief-course-title{color:#333}.print-brief-course-credits{width:40px;text-align:right;color:#666}.print-brief-no-courses{text-align:center;color:#888;font-style:italic}.print-brief-empty{margin:0;font-size:10pt;color:#666;font-style:italic}.print-brief-warning-summary{padding:10px 14px;background:#fffbeb;border:1px solid #fcd34d;border-radius:4px;font-size:10pt;color:#92400e;font-weight:500}.print-discussion-list{margin:0;padding:0;list-style:none}.print-discussion-list li{padding:8px 0 8px 24px;font-size:10pt;color:#333;border-bottom:1px solid #eee;position:relative}.print-discussion-list li:last-child{border-bottom:none}.print-discussion-list li:before{content:"?";position:absolute;left:0;top:8px;width:16px;height:16px;font-size:9pt;font-weight:700;color:#3730a3;background:#e0e7ff;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:16px;text-align:center}.print-discussion-list--recovery li:before{content:"!";background:#fef3c7;color:#92400e}.print-brief-footer{margin-top:24px;padding-top:16px;border-top:1px solid #ddd}.print-brief-footer p{margin:0;font-size:9pt;color:#666;line-height:1.5}.print-brief-footer strong{color:#333}.print-header{text-align:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #333}.print-header h1{margin:0 0 8px;font-size:22pt;font-weight:700;color:#000}.print-meta{display:flex;justify-content:center;gap:24px;font-size:12pt;color:#555}.print-profile{font-weight:600}.print-major{font-style:italic}.print-summary{display:flex;justify-content:center;gap:40px;margin-bottom:24px;padding:16px;background:#f5f5f5;border-radius:4px}.print-stat{text-align:center}.print-stat-value{display:block;font-size:18pt;font-weight:700;color:#000}.print-stat-label{font-size:9pt;color:#666;text-transform:uppercase;letter-spacing:.5px}.print-terms{margin-bottom:24px}.print-term{margin-bottom:20px;page-break-inside:avoid}.print-term-header{padding:8px 12px;background:#333;color:#fff;font-size:11pt}.print-term-title{font-weight:700}.print-courses{width:100%;border-collapse:collapse;font-size:10pt}.print-courses th,.print-courses td{padding:6px 10px;text-align:left;border-bottom:1px solid #ddd}.print-courses th{background:#f0f0f0;font-weight:600;font-size:9pt;text-transform:uppercase;letter-spacing:.3px;color:#555}.print-courses .col-id{width:100px;font-family:ui-monospace,monospace;font-weight:600}.print-courses .col-credits{width:60px;text-align:center}.print-courses .no-courses{text-align:center;color:#888;font-style:italic}.print-warnings{margin-top:16px;margin-bottom:8px;padding:10px 14px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px}.print-warnings h3{margin:0 0 8px;font-size:10pt;font-weight:700;color:#856404}.print-warnings ul{margin:0;padding-left:18px}.print-warnings li{margin-bottom:2px;font-size:9pt;color:#856404;line-height:1.3}.print-warnings li:last-child{margin-bottom:0}.print-footer{margin-top:20px;padding:10px 20px;background:#fff;border-top:1px solid #ddd;text-align:center;font-size:7pt;color:#888;line-height:1.3;page-break-before:avoid;break-before:avoid;page-break-inside:avoid;break-inside:avoid}.print-disclaimer{margin:0;font-style:italic}.print-timestamp{margin:1px 0 0}.print-detail{page-break-after:avoid!important;break-after:avoid!important}@page{margin:.5in;size:letter portrait}}.slow-request-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;display:inline-flex;align-items:center;gap:12px;padding:12px 20px;background:#0f2240;border:1px solid rgba(37,99,235,.4);border-radius:8px;box-shadow:0 8px 24px #00000026;color:#fff;font-size:14px;font-weight:500;animation:toast-slide-up .3s ease-out}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.slow-request-toast__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:toast-spin .8s linear infinite}@keyframes toast-spin{to{transform:rotate(360deg)}}.slow-request-toast__message{color:#ffffffd9}.explorerPage{background:transparent;max-width:1400px;margin:0 auto;padding:24px;min-height:calc(100vh - 60px)}.explorerLoading,.explorerError{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px;font-size:16px;color:#475569}.explorerError{color:#ef4444}.spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.explorerHeader{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.explorerHeaderLeft{flex:1}.explorerTitle{margin:0 0 4px;font-size:24px;font-weight:700;color:#0f172a}.explorerSubtitle{margin:0;font-size:14px;color:#475569}.explorerHeaderRight{display:flex;align-items:center;gap:12px}.backToPlanBtn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px;text-decoration:none;transition:all .15s ease}.backToPlanBtn:hover{background:#dbeafe;border-color:#93c5fd}.explorerControls{background:#fff;border:1px solid #E2E8F0;border-radius:10px;padding:16px 20px;margin-bottom:20px}.searchRow{display:flex;gap:12px;margin-bottom:14px}.explorerSearch{flex:1;padding:12px 16px;font-size:15px;background:#fff;border:1px solid #CBD5E1;border-radius:8px;color:#0f172a;outline:none;transition:all .15s ease}.explorerSearch::placeholder{color:#94a3b8}.explorerSearch:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.clearFiltersBtn{padding:10px 16px;font-size:13px;font-weight:500;color:#475569;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:6px;cursor:pointer;transition:all .15s ease}.clearFiltersBtn:hover{background:#e2e8f0;border-color:#cbd5e1}.filterRow{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:10px}.filterRow:last-child{margin-bottom:0}.filterGroup{display:flex;align-items:center;gap:10px}.filterLabel{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.filterChips{display:flex;gap:6px;flex-wrap:wrap}.filterChip{padding:6px 12px;font-size:12px;font-weight:500;color:#475569;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:999px;cursor:pointer;transition:all .15s ease}.filterChip:hover{background:#e2e8f0;border-color:#cbd5e1}.filterChip--active{background:#0f2240;color:#fff;border-color:#0f2240}.filterChip--toi.filterChip--active{background:#0d9488;border-color:#0d9488;color:#fff}.explorerContent{display:grid;grid-template-columns:380px 1fr;gap:20px;min-height:500px}@media(max-width:900px){.explorerContent{grid-template-columns:1fr}}.courseList{background:#fff;border:1px solid #E2E8F0;border-radius:10px;display:flex;flex-direction:column;max-height:calc(100vh - 320px)}.courseListHeader{padding:12px 16px;border-bottom:1px solid #E2E8F0}.courseListCount{font-size:13px;font-weight:600;color:#94a3b8}.courseListScroll{flex:1;overflow-y:auto;padding:8px}.courseListEmpty{padding:32px 16px;text-align:center;color:#94a3b8;font-size:14px}.clearFiltersLink{display:block;margin-top:12px;color:#2563eb;background:none;border:none;cursor:pointer;font-size:13px}.clearFiltersLink:hover{text-decoration:underline}.courseListItem{display:block;width:100%;text-align:left;padding:12px 14px;margin-bottom:4px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .12s ease}.courseListItem:hover{background:#f8fafc;border-color:#e2e8f0}.courseListItem--selected{background:#eff6ff;border-color:#2563eb}.courseListItem--inPlan{background:#f0fdf4}.courseListItem--inPlan.courseListItem--selected{background:#dcfce7;border-color:#16a34a}.courseListItemTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.courseListItemCode{font-size:13px;font-weight:700;color:#0f172a}.courseListItemCredits{font-size:11px;font-weight:600;color:#94a3b8;padding:2px 8px;background:#f1f5f9;border-radius:999px}.courseListItemTitle{font-size:12px;color:#475569;line-height:1.4}.courseListItemBadge{display:inline-block;margin-top:6px;padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#16a34a;background:#f0fdf4;border-radius:999px}.courseListMore{padding:16px;text-align:center;font-size:13px;color:#94a3b8}.courseDetail{background:#fff;border:1px solid #E2E8F0;border-radius:10px;padding:24px}.courseDetailEmpty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;color:#94a3b8}.courseDetailEmptyIcon{font-size:0;margin-bottom:16px;opacity:.5}.courseDetailEmpty h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#475569}.courseDetailEmpty p{margin:0;font-size:14px}.courseDetailHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.courseDetailCode{font-size:14px;font-weight:700;color:#2563eb;letter-spacing:.02em}.courseDetailCredits{font-size:13px;font-weight:600;color:#94a3b8;padding:4px 12px;background:#f1f5f9;border-radius:999px}.courseDetailTitle{margin:0 0 16px;font-size:22px;font-weight:700;color:#0f172a;line-height:1.3}.courseDetailTags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.courseDetailTag{padding:4px 10px;font-size:11px;font-weight:500;color:#475569;background:#f1f5f9;border-radius:999px}.courseDetailToi{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.courseDetailToiLabel{font-size:12px;font-weight:600;color:#94a3b8}.courseDetailToiChip{padding:4px 10px;font-size:11px;font-weight:600;color:#0d9488;background:#0d94881a;border:1px solid rgba(13,148,136,.25);border-radius:999px}.courseDetailPrereqs{display:flex;gap:8px;margin-bottom:20px;font-size:13px}.courseDetailPrereqsLabel{font-weight:600;color:#94a3b8}.courseDetailPrereqsList{color:#0f172a}.courseDetailActions{padding:16px 0;border-top:1px solid #E2E8F0;border-bottom:1px solid #E2E8F0;margin-bottom:20px}.courseDetailInPlan{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;color:#16a34a;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px}.inPlanIcon{font-size:16px}.addToPlanBtn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;color:#fff;background:#0f2240;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;box-shadow:none}.addToPlanBtn:hover{background:#1e3a5f;transform:none;box-shadow:none}.addIcon{font-size:18px;font-weight:700}.termPickerPanel{background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:16px}.termPickerHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600;color:#0f172a}.termPickerClose{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#94a3b8;background:#f1f5f9;border:none;border-radius:4px;cursor:pointer}.termPickerClose:hover{background:#e2e8f0;color:#475569}.termPickerSelect{width:100%;padding:10px 12px;font-size:14px;background:#fff;border:1px solid #CBD5E1;border-radius:6px;color:#0f172a;margin-bottom:12px;cursor:pointer}.addToPlanConfirmBtn{width:100%;padding:10px 16px;font-size:14px;font-weight:600;color:#fff;background:#0f2240;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.addToPlanConfirmBtn:hover:not(:disabled){background:#1e3a5f}.addToPlanConfirmBtn:disabled{opacity:.6;cursor:not-allowed}.swapTargetsSection{margin-top:20px}.swapTargetsTitle{margin:0 0 12px;font-size:14px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:8px}.swapTargetsCount{font-size:11px;font-weight:700;padding:2px 8px;background:#eff6ff;color:#2563eb;border-radius:999px;text-transform:none;letter-spacing:0}.swapTargetsEmpty{padding:16px;font-size:13px;color:#94a3b8;background:#f8fafc;border-radius:8px;text-align:center}.swapTargetsList{display:flex;flex-direction:column;gap:8px}.swapTargetItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;transition:all .15s ease}.swapTargetItem:hover{background:#f1f5f9;border-color:#cbd5e1}.swapTargetItem--confirming{background:#f0fdf4;border-color:#bbf7d0;padding:16px}.swapTargetItem--confirming:hover{background:#f0fdf4}.swapTargetInfo{flex:1;min-width:0}.swapTargetCourse{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.swapTargetCode{font-size:13px;font-weight:700;color:#2563eb}.swapTargetTerm{font-size:11px;font-weight:500;color:#94a3b8;padding:2px 8px;background:#f1f5f9;border-radius:999px}.swapTargetTitle{font-size:12px;color:#475569}.swapTargetReplaceBtn{flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #BFDBFE;border-radius:6px;cursor:pointer;transition:all .15s ease}.swapTargetReplaceBtn:hover{background:#dbeafe;border-color:#93c5fd}.swapConfirmPanel{width:100%}.swapConfirmText{display:flex;align-items:center;gap:8px;font-size:14px;color:#0f172a;margin-bottom:6px;flex-wrap:wrap}.swapConfirmText strong{color:#0d9488}.swapConfirmArrow{color:#cbd5e1;font-size:12px}.swapConfirmTerm{font-size:12px;color:#94a3b8;margin-bottom:12px}.swapConfirmActions{display:flex;gap:10px;justify-content:flex-end}.swapConfirmCancelBtn{padding:8px 14px;font-size:13px;font-weight:500;color:#475569;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:6px;cursor:pointer;transition:all .15s ease}.swapConfirmCancelBtn:hover:not(:disabled){background:#e2e8f0}.swapConfirmCancelBtn:disabled{opacity:.5;cursor:not-allowed}.swapConfirmBtn{padding:8px 16px;font-size:13px;font-weight:600;color:#fff;background:#0f2240;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;box-shadow:none}.swapConfirmBtn:hover:not(:disabled){background:#1e3a5f}.swapConfirmBtn:disabled{opacity:.6;cursor:not-allowed}.swapSuccessMessage{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:12px;font-size:14px;font-weight:500;color:#16a34a;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:8px}.swapSuccessIcon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;font-weight:700;background:#16a34a33;border-radius:50%}.showAllSwapTargetsBtn{display:block;width:100%;margin-top:8px;padding:8px 12px;font-size:12px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #BFDBFE;border-radius:6px;cursor:pointer;transition:all .15s ease}.showAllSwapTargetsBtn:hover{background:#dbeafe;border-color:#93c5fd}.noPlanMessage{padding:24px;text-align:center;background:#fffbeb;border:1px solid rgba(245,158,11,.2);border-radius:10px}.noPlanMessage p{margin:0 0 12px;font-size:14px;color:#475569}.goToPlanLink{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#f59e0b;text-decoration:none}.goToPlanLink:hover{text-decoration:underline}.modeToggleRow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.modeToggle{display:inline-flex;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:10px;padding:4px}.modeToggleBtn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#475569;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.modeToggleBtn:hover:not(.modeToggleBtn--active){color:#0f172a;background:#e2e8f0}.modeToggleBtn--active{color:#0f172a;background:#fff;box-shadow:0 0 0 1px #e2e8f0}.modeIcon{font-size:0}.shuffleBtn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#475569;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:8px;cursor:pointer;transition:all .15s ease}.shuffleBtn:hover{background:#e2e8f0}.suggestionCard{display:block;width:100%;text-align:left;padding:14px 16px;margin-bottom:8px;background:#fff;border:1px solid #E2E8F0;border-radius:10px;cursor:pointer;transition:all .15s ease}.suggestionCard:hover{background:#f8fafc;border-color:#cbd5e1;transform:none}.suggestionCard--selected{background:#eff6ff;border-color:#2563eb}.suggestionCardTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.suggestionCardCode{font-size:14px;font-weight:700;color:#0f172a}.suggestionCardCredits{font-size:11px;font-weight:600;color:#94a3b8;padding:3px 10px;background:#f1f5f9;border-radius:999px}.suggestionCardTitle{font-size:13px;color:#475569;line-height:1.4;margin-bottom:10px}.suggestionCardSwapLabel{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:6px 10px;border-radius:6px;margin-bottom:8px}.suggestionCardSwapLabel--swappable{color:#2563eb;background:#eff6ff;border:1px solid #BFDBFE}.suggestionCardSwapLabel--addOnly{color:#94a3b8;background:#f1f5f9;border:1px solid #E2E8F0}.swapIcon{font-size:12px}.addOnlyIcon{font-size:13px;font-weight:700}.suggestionCardToi{display:flex;gap:6px;flex-wrap:wrap}.suggestionToiChip{padding:3px 8px;font-size:10px;font-weight:600;color:#0d9488;background:#0d94881a;border:1px solid rgba(13,148,136,.25);border-radius:999px}.courseListEmpty .emptyIcon{font-size:0;margin-bottom:12px;opacity:.5}.courseListEmpty p{margin:0}.courseListHint{display:block;margin-top:4px;font-size:11px;font-weight:500;color:#94a3b8}.clearFiltersBtn--inline{padding:6px 12px;font-size:11px;margin-left:auto}@media screen and (max-width:480px){.explorerPage{padding:14px 12px}.explorerHeader{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.explorerHeaderLeft{flex:none}.explorerTitle{font-size:22px}.explorerSubtitle{font-size:13px}.explorerHeaderRight{width:100%}.backToPlanBtn{width:100%;justify-content:center;padding:10px 14px;font-size:13px}.explorerControls{padding:12px;margin-bottom:14px;border-radius:8px}.searchRow{flex-direction:column;gap:8px;margin-bottom:10px}.explorerSearch{padding:10px 12px;font-size:14px}.modeRow{flex-wrap:wrap;gap:8px}.modeBtn{padding:8px 12px;font-size:12px}.filterRow{gap:12px;flex-wrap:wrap}.filterChips{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:4px;padding-bottom:4px;max-width:100%}.filterChips::-webkit-scrollbar{display:none}.filterChip{padding:5px 10px;font-size:11px;white-space:nowrap;flex-shrink:0}.courseList{max-height:calc(100vh - 380px);border-radius:8px}.courseListHeader{padding:10px 12px}.courseListScroll{padding:6px}.courseDetail{padding:14px;border-radius:8px}.courseDetailHeader{flex-direction:column;align-items:flex-start;gap:10px}.courseDetailTitle{font-size:16px}.addToPlanBtn{width:100%;justify-content:center;padding:12px 16px;font-size:14px}.termPickerPanel{padding:12px}}.recoveryIntakePage{max-width:700px;margin:0 auto;padding:24px;min-height:calc(100vh - 120px)}.recoveryIntake__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.recoveryIntake__breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px}.recoveryIntake__breadcrumbLink{color:var(--accent-primary);text-decoration:none}.recoveryIntake__breadcrumbLink:hover{text-decoration:underline}.recoveryIntake__breadcrumbSep{color:var(--text-muted)}.recoveryIntake__breadcrumbCurrent{color:var(--text-primary);font-weight:500}.recoveryIntake__modeBadge{padding:6px 14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:#fffbeb;border:1px solid rgba(245,158,11,.3);border-radius:999px;color:#92400e}.recoveryIntake__title{text-align:center;margin-bottom:24px}.recoveryIntake__title h1{margin:0;font-size:26px;font-weight:700;color:var(--text-primary)}.recoveryIntake__error{padding:12px 16px;margin-bottom:20px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:var(--accent-danger);font-size:14px}.recoveryIntake__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.recoveryIntake__loadingSpinner{width:40px;height:40px;border:3px solid rgba(245,158,11,.2);border-top-color:#f59e0b;border-radius:50%;animation:recoverySpinner .8s linear infinite;margin-bottom:16px}@keyframes recoverySpinner{to{transform:rotate(360deg)}}.recoveryIntake__loading p{margin:0;font-size:15px;color:var(--text-secondary)}.recoveryIntake__content{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:12px;padding:28px}.recoveryIntake__disclaimer{text-align:center;margin-top:24px;font-size:12px;color:var(--text-muted)}.recoveryIntake__empty{text-align:center;padding:60px 24px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:12px}.recoveryIntake__empty h2{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--text-primary)}.recoveryIntake__empty p{margin:0 0 20px;font-size:14px;color:var(--text-secondary)}.recoveryIntake__emptyLink{display:inline-block;padding:10px 20px;font-size:14px;font-weight:500;color:var(--accent-primary);background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px;text-decoration:none;transition:all .15s ease}.recoveryIntake__emptyLink:hover{background:#dbeafe;border-color:#93c5fd}.recoveryIntake__content ::-webkit-scrollbar{width:6px}.recoveryIntake__content ::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.recoveryIntake__content ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.recoveryIntake__content ::-webkit-scrollbar-thumb:hover{background:#94a3b8}.advisorBriefPage{max-width:900px;margin:0 auto;padding:24px;min-height:calc(100vh - 100px);background:transparent}.briefHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #E2E8F0}.backLink{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#2563eb;text-decoration:none;transition:color .15s ease}.backLink:hover{color:#1d4ed8}.exportPdfBtn{padding:10px 20px;font-size:14px;font-weight:600;color:#fff;background:#0f2240;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;box-shadow:none}.exportPdfBtn:hover{background:#1e3a5f;transform:none}.briefContent{background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000000f}.briefTitleSection{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #E2E8F0}.briefModeBadge{display:inline-block;padding:6px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;margin-bottom:12px}.briefModeBadge[data-mode=standard],.briefModeBadge[data-mode=prepare]{background:#eff6ff;color:#2563eb;border:1px solid #BFDBFE}.briefModeBadge[data-mode=recovery]{background:#fffbeb;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.briefTitle{margin:0 0 12px;font-size:32px;font-weight:800;color:#0f172a;letter-spacing:-.02em}.briefMeta{font-size:14px;color:#94a3b8}.briefProfile{font-weight:600;color:#475569}.briefMetaDivider{margin:0 8px;color:#cbd5e1}.briefIntro{margin:16px 0 0;font-size:14px;color:#475569;line-height:1.5}.summaryBlock{display:flex;flex-wrap:wrap;gap:12px}.summaryBlock--recovery{background:#fffbeb;border:1px solid rgba(245,158,11,.2);border-radius:10px;padding:16px}.summaryItem{display:flex;align-items:flex-start;gap:10px;flex:1 1 45%;min-width:180px}.summaryIcon{font-size:0;flex-shrink:0;margin-top:2px;display:none}.summaryContent{display:flex;flex-direction:column;gap:2px}.summaryLabel{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.summaryValue{font-size:14px;font-weight:600;color:#0f172a}.summaryNote{margin:0;font-size:13px;color:#94a3b8;font-style:italic}.confirmList{margin:0;padding:0;list-style:none}.confirmList li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:14px;color:#475569;border-bottom:1px solid #E2E8F0}.confirmList li:last-child{border-bottom:none}.confirmList li:before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;font-weight:700;color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0}.discussionList--recovery li:before{content:"!";background:#fffbeb;color:#f59e0b}.briefSection{margin-bottom:24px}.briefSectionTitle{margin:0 0 16px;font-size:15px;font-weight:700;color:#0f172a;text-transform:none;letter-spacing:0;display:flex;align-items:center;gap:10px}.briefSectionSubtitle{font-size:13px;font-weight:500;color:#94a3b8;text-transform:none;letter-spacing:0}.standingGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.standingItem{background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:14px 16px}.standingLabel{display:block;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.standingValue{display:block;font-size:16px;font-weight:700;color:#0f172a}.upcomingTerms{display:flex;flex-direction:column;gap:20px}.upcomingTerm{background:#fff;border:1px solid #E2E8F0;border-radius:10px;overflow:hidden}.termHeader{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #E2E8F0}.termLabel{font-size:14px;font-weight:700;color:#0f172a}.termCredits{font-size:13px;font-weight:600;color:#94a3b8;padding:4px 10px;background:#f1f5f9;border-radius:999px}.termCourseTable{width:100%;border-collapse:collapse}.termCourseTable th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:1px solid #E2E8F0}.termCourseTable th:last-child{text-align:right}.termCourseTable td{padding:10px 16px;font-size:13px;color:#475569;border-bottom:1px solid #F1F5F9}.termCourseTable tr:last-child td{border-bottom:none}.termCourseTable .courseId{font-weight:600;color:#2563eb}.termCourseTable .courseCredits{text-align:right;color:#94a3b8}.termCourseTable .noCourses{text-align:center;color:#94a3b8;font-style:italic}.termCourseTable .placeholderRow{background:#fffbeb}.termCourseTable .courseId--placeholder{color:#f59e0b;font-weight:600;font-style:italic}.termCourseTable .courseTitle--placeholder{color:#f59e0b;font-style:italic}.termCourseTable .recommendedLabel{color:#f59e0bb3;font-size:.9em}.warningsList{margin:0;padding:0;list-style:none}.warningItem{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;margin-bottom:8px;font-size:13px;color:#92400e;background:#fffbeb;border:1px solid rgba(245,158,11,.3);border-radius:8px}.warningItemDetails{margin:4px 0 0;padding-left:16px;font-size:12px;color:#92400e;list-style:disc}.warningItem:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:11px;font-weight:700;color:#f59e0b;background:#f59e0b26;border-radius:50%;flex-shrink:0}.discussionList{margin:0;padding:0;list-style:none}.discussionList li{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:14px;color:#475569;border-bottom:1px solid #E2E8F0}.discussionList li:last-child{border-bottom:none}.discussionList li:before{content:"?";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;font-weight:700;color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0}.briefSectionIntro{margin:0 0 16px;font-size:13px;color:#475569;line-height:1.5}.exceptionsTable{overflow-x:auto;margin-bottom:12px}.briefTable{width:100%;border-collapse:collapse;background:#fff;border:1px solid #E2E8F0;border-radius:10px;overflow:hidden}.briefTable th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border-bottom:1px solid #E2E8F0}.briefTable td{padding:10px 14px;font-size:13px;color:#475569;border-bottom:1px solid #F1F5F9;vertical-align:top}.briefTable tr:last-child td{border-bottom:none}.exceptionRow--provisional{background:#fffbeb}.exceptionRow--satisfied{background:#f0fdf4}.exceptionRow--review_only{background:#eff6ff}.exceptionType{font-weight:600;color:#2563eb}.exceptionTarget{font-weight:500}.exceptionStatus{white-space:nowrap}.statusBadge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:600;border-radius:999px}.statusBadge--student_reported{background:#fffbeb;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.statusBadge--advisor_confirmed,.statusBadge--dean_approved{background:#f0fdf4;color:#16a34a;border:1px solid #BBF7D0}.statusBadge--planning_note{background:#eff6ff;color:#2563eb;border:1px solid #BFDBFE}.exceptionDetails{font-size:12px;color:#94a3b8}.detailItem{display:block;margin-bottom:2px}.detailItem--none{color:#cbd5e1}.noteItem{font-style:italic;color:#94a3b8}.exceptionLegend{display:flex;flex-wrap:wrap;gap:16px;margin:0;font-size:11px;color:#94a3b8}.legendItem{display:flex;align-items:center;gap:6px}.legendDot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legendDot--provisional{background:#f59e0b}.legendDot--satisfied{background:#16a34a}.legendDot--review_only{background:#2563eb}.briefDisclaimer{margin-top:32px;padding-top:20px;border-top:1px solid #E2E8F0}.briefDisclaimer p{margin:0;font-size:12px;color:#94a3b8;line-height:1.6}.briefDisclaimer strong{color:#475569}.briefEmpty{text-align:center;padding:60px 20px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:16px}.briefEmpty h2{margin:0 0 12px;font-size:22px;font-weight:700;color:#0f172a}.briefEmpty p{margin:0 0 20px;font-size:14px;color:#475569}.briefEmptyLink{display:inline-block;padding:10px 20px;font-size:14px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #BFDBFE;border-radius:8px;text-decoration:none;transition:all .15s ease}.briefEmptyLink:hover{background:#dbeafe;border-color:#93c5fd}.briefEmptyNote{margin:0;font-size:14px;color:#94a3b8;font-style:italic}@media print{.no-print{display:none!important}.advisorBriefPage{max-width:none;padding:0;margin:0}.briefContent{background:#fff;border:none;padding:20px;border-radius:0}.briefTitle{color:#1a1a1a;font-size:24px}.briefModeBadge{background:#f0f0f0!important;color:#333!important;border:1px solid #ccc!important}.briefMeta,.briefProfile,.briefSectionTitle,.standingLabel,.standingValue,.termLabel,.termCredits{color:#333!important}.briefSectionSubtitle,.briefMetaDivider{color:#666!important}.standingItem,.upcomingTerm{background:#fafafa!important;border:1px solid #ddd!important}.termHeader{background:#f5f5f5!important;border-bottom:1px solid #ddd!important}.termCourseTable th{background:#f5f5f5!important;color:#333!important;border-bottom:1px solid #ddd!important}.termCourseTable td{color:#333!important;border-bottom:1px solid #eee!important}.termCourseTable .courseId{color:#5b21b6!important}.warningItem{background:#fffbeb!important;color:#92400e!important;border:1px solid #fcd34d!important}.warningItem:before{background:#fcd34d!important;color:#92400e!important}.discussionList li{color:#333!important;border-bottom:1px solid #eee!important}.discussionList li:before{background:#e0e7ff!important;color:#3730a3!important}.discussionList--recovery li:before{background:#fef3c7!important;color:#92400e!important}.briefIntro{color:#666!important}.summaryBlock--recovery{background:#fffbeb!important;border:1px solid #fcd34d!important}.summaryLabel{color:#666!important}.summaryValue{color:#1a1a1a!important}.summaryNote{color:#666!important}.confirmList li{color:#333!important;border-bottom:1px solid #eee!important}.confirmList li:before{background:#e0e7ff!important;color:#3730a3!important}.briefSectionIntro{color:#666!important}.briefTable{background:#fff!important;border:1px solid #ddd!important}.briefTable th{background:#f5f5f5!important;color:#333!important;border-bottom:1px solid #ddd!important}.briefTable td{color:#333!important;border-bottom:1px solid #eee!important}.exceptionRow--provisional{background:#fffbeb!important}.exceptionRow--satisfied{background:#f0fdf4!important}.exceptionRow--review_only{background:#eff6ff!important}.exceptionType{color:#5b21b6!important}.statusBadge--student_reported{background:#fef3c7!important;color:#92400e!important;border:1px solid #fcd34d!important}.statusBadge--advisor_confirmed,.statusBadge--dean_approved{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important}.statusBadge--planning_note{background:#dbeafe!important;color:#1e40af!important;border:1px solid #93c5fd!important}.exceptionDetails,.exceptionLegend{color:#666!important}.legendDot--provisional{background:#f59e0b!important}.legendDot--satisfied{background:#22c55e!important}.legendDot--review_only{background:#3b82f6!important}.briefDisclaimer{border-top:1px solid #ddd!important}.briefDisclaimer p{color:#666!important}.briefDisclaimer strong{color:#333!important}.briefSection,.upcomingTerm{page-break-inside:avoid}}.site-footer{width:100%;background:var(--footer-background);color:var(--footer-text-color)}.site-footer__inner{max-width:1200px;margin:0 auto;padding:48px 24px}.site-footer__top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:40px}@media(max-width:768px){.site-footer__top{grid-template-columns:1fr;gap:32px;text-align:center}.site-footer__brand{justify-content:center}.site-footer__links{align-items:center}}.site-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}.site-footer__logo-icon{flex-shrink:0}.site-footer__wordmark{font-size:16px;font-weight:700;color:var(--footer-text-color);letter-spacing:.2px}.site-footer__tagline{margin:0 0 8px;font-size:14px;color:var(--footer-text-color);opacity:.75;line-height:1.5}.site-footer__description{margin:0;font-size:12px;color:var(--footer-muted-text-color);line-height:1.6}.site-footer__col-heading{margin:0 0 16px;font-size:12px;font-weight:600;color:var(--footer-text-color);text-transform:uppercase;letter-spacing:.08em}.site-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.site-footer__link{color:var(--footer-text-color);opacity:.65;text-decoration:none;font-size:14px;transition:opacity .15s ease}.site-footer__link:hover{opacity:1}.site-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}@media(max-width:768px){.site-footer__bottom{flex-direction:column;align-items:center;text-align:center;gap:8px}}.site-footer__copy{font-size:13px;color:var(--footer-muted-text-color)}.site-footer__legal{display:flex;align-items:center;gap:8px;font-size:13px}.site-footer__legal-link{color:var(--footer-text-color);opacity:.6;text-decoration:none;transition:opacity .15s ease}.site-footer__legal-link:hover{opacity:1}.site-footer__legal-sep{color:var(--footer-text-color);opacity:.3}.lp{min-height:100vh;background:#fff;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;overflow-x:hidden}html{scroll-behavior:smooth}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.lp-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0f2240;border-bottom:1px solid rgba(255,255,255,.08)}.lp-nav__inner{max-width:1200px;margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;gap:40px}.lp-nav__brand{display:flex;align-items:center;gap:10px}.lp-nav__wordmark{font-size:20px;font-weight:700;color:#fff;letter-spacing:-.02em}.lp-nav__links{display:flex;gap:8px;margin-left:auto}.lp-nav__links button,.lp-nav__links a{background:none;border:none;padding:8px 16px;font-size:14px;font-weight:500;color:#ffffffb3;cursor:pointer;border-radius:6px;transition:all .15s;text-decoration:none}.lp-nav__links button:hover,.lp-nav__links a:hover{color:#fff;background:#ffffff14}.lp-nav__cta{background:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:600;color:#0f2240;cursor:pointer;border-radius:8px;transition:all .15s}.lp-nav__cta:hover{background:#f1f5f9;transform:translateY(-1px)}@media(max-width:768px){.lp-nav__links{display:none}.lp-nav__inner{padding:0 20px}}.lp-hero{background:linear-gradient(180deg,#f8fafc,#fff);padding:140px 32px 100px}.lp-hero__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.lp-hero__content{max-width:540px}.lp-hero__title{font-size:54px;font-weight:800;line-height:1.08;letter-spacing:-.04em;color:#0f172a;margin:0 0 24px}.lp-hero__sub{font-size:19px;line-height:1.65;color:#475569;margin:0 0 36px}.lp-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px}.lp-hero__trust{font-size:14px;color:#64748b;margin:0}.lp-hero__visual{display:flex;justify-content:flex-end}@media(max-width:1000px){.lp-hero__inner{grid-template-columns:1fr;gap:56px}.lp-hero__content{max-width:none;text-align:center}.lp-hero__actions{justify-content:center}.lp-hero__trust{text-align:center}.lp-hero__visual{justify-content:center}}@media(max-width:600px){.lp-hero{padding:120px 20px 70px}.lp-hero__title{font-size:38px}.lp-hero__sub{font-size:17px}}.hero-preview{width:380px;background:#fff;border:1px solid #E2E8F0;border-radius:20px;box-shadow:0 20px 60px #0f22401f,0 8px 24px #0f224014;overflow:hidden}.hero-preview__header{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#0f2240}.hero-preview__dot{width:10px;height:10px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}.hero-preview__status{font-size:14px;font-weight:600;color:#10b981}.hero-preview__body{padding:20px;display:flex;flex-direction:column;gap:12px}.hero-preview__row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;font-size:14px;font-weight:500;color:#0f172a}.hero-preview__row svg{flex-shrink:0}.hero-preview__row--success{background:#10b9811a;border:1px solid rgba(16,185,129,.25)}.hero-preview__row--success svg{color:#10b981}.hero-preview__row--warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.25)}.hero-preview__row--warning svg{color:#f59e0b}.hero-preview__footer{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;padding:18px 20px;background:#f8fafc;border-top:1px solid #E2E8F0}.hero-preview__stat{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-preview__stat-num{font-size:24px;font-weight:700;color:#0f172a;line-height:1.2}.hero-preview__stat-label{font-size:11px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.hero-preview__stat--cta{background:#10b981;border-radius:8px;padding:10px 12px;justify-content:center}.hero-preview__stat--cta span{font-size:12px;font-weight:600;color:#fff}@media(max-width:500px){.hero-preview{width:100%;max-width:360px}}.lp-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 28px;font-size:16px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .15s;border:none;text-decoration:none}.lp-btn--primary{background:#0f2240;color:#fff;box-shadow:0 2px 12px #0f224033}.lp-btn--primary:hover{background:#1e3a5f;transform:translateY(-2px);box-shadow:0 6px 24px #0f224040}.lp-btn--secondary{background:#fff;color:#0f2240;border:2px solid #E2E8F0}.lp-btn--secondary:hover{border-color:#cbd5e1;background:#f8fafc}@media(max-width:600px){.lp-btn{width:100%;justify-content:center;padding:14px 24px}}.lp-problem{background:#0f2240;padding:120px 32px}.lp-problem__inner{max-width:1100px;margin:0 auto}.lp-problem__header{text-align:center;margin-bottom:64px}.lp-problem__eyebrow{display:inline-block;padding:8px 16px;background:#ffffff14;border-radius:20px;font-size:12px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px}.lp-problem__title{font-size:48px;font-weight:800;color:#fff;margin:0 0 18px;letter-spacing:-.03em}.lp-problem__sub{font-size:19px;color:#ffffffb3;margin:0 auto;max-width:650px;line-height:1.6}.lp-problem__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.lp-problem__card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);padding:36px 32px;border-radius:20px;transition:all .2s}.lp-problem__card:hover{background:#ffffff0f;transform:translateY(-4px)}.lp-problem__icon{width:60px;height:60px;background:#ef444426;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#f87171;margin-bottom:24px}.lp-problem__card h3{font-size:20px;font-weight:700;color:#fff;margin:0 0 12px}.lp-problem__card p{font-size:15px;color:#ffffffa6;line-height:1.6;margin:0}@media(max-width:900px){.lp-problem__grid{grid-template-columns:1fr}.lp-problem__title{font-size:36px}}@media(max-width:600px){.lp-problem{padding:80px 20px}}.lp-solution{background:#fff;padding:120px 32px}.lp-solution__inner{max-width:1200px;margin:0 auto}.lp-solution__header{text-align:center;margin-bottom:64px}.lp-solution__eyebrow{display:inline-block;padding:8px 16px;background:#e0f2fe;border-radius:20px;font-size:12px;font-weight:600;color:#0369a1;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px}.lp-solution__title{font-size:48px;font-weight:800;color:#0f172a;margin:0 0 18px;letter-spacing:-.03em}.lp-solution__sub{font-size:19px;color:#475569;margin:0 auto;max-width:700px;line-height:1.6}.lp-solution__dashboard{display:flex;justify-content:center}.dashboard{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:20px;width:100%;max-width:1100px;background:#0f2240;border-radius:24px;padding:28px;box-shadow:0 32px 80px #0f224033}.dashboard__panel{background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.dashboard__panel-header{display:flex;align-items:center;gap:10px;padding:18px 20px;background:#f8fafc;border-bottom:1px solid #E2E8F0;font-size:14px;font-weight:600;color:#0f172a}.dashboard__panel-header svg{color:#10b981;flex-shrink:0}.dashboard__panel--plan .dashboard__panel-header svg{color:#8b5cf6}.dashboard__panel--packet .dashboard__panel-header svg{color:#3b82f6}.dashboard__panel-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.dashboard__check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;padding:10px 12px;border-radius:8px}.dashboard__check svg{flex-shrink:0}.dashboard__check--pass{background:#10b98114;color:#059669}.dashboard__check--warning{background:#f59e0b1a;color:#d97706}.dashboard__semester{padding:14px 16px;background:#f8fafc;border-radius:10px;border:1px solid #E2E8F0}.dashboard__semester-label{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px}.dashboard__semester-meta{font-size:13px;color:#64748b;margin-bottom:10px}.dashboard__semester-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.dashboard__semester-bar span{display:block;height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:3px}.dashboard__total{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#10b9811a;border-radius:10px;font-size:14px;font-weight:600;color:#059669;margin-top:auto}.dashboard__total svg{flex-shrink:0}.dashboard__packet-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#0f172a;padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid #E2E8F0}.dashboard__packet-item svg{color:#3b82f6;flex-shrink:0}.dashboard__panel-footer{padding:16px 20px;border-top:1px solid #E2E8F0}.dashboard__export-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:#3b82f6;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .15s}.dashboard__export-btn:hover{background:#2563eb}@media(max-width:1000px){.dashboard{grid-template-columns:1fr;max-width:450px;gap:16px;padding:20px}}@media(max-width:600px){.lp-solution{padding:80px 20px}.lp-solution__title{font-size:32px}.dashboard{padding:16px;border-radius:20px}}.lp-how{background:#f1f5f9;padding:100px 32px}.lp-how__inner{max-width:1000px;margin:0 auto;text-align:center}.lp-how__title{font-size:40px;font-weight:800;color:#0f172a;margin:0 0 56px;letter-spacing:-.025em}.lp-how__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.lp-how__step{padding:40px 24px 36px;background:#fff;border:1px solid #E2E8F0;border-radius:18px;position:relative;transition:all .2s}.lp-how__step:hover{border-color:#cbd5e1;transform:translateY(-4px);box-shadow:0 12px 40px #0f224014}.lp-how__num{position:absolute;top:-16px;left:50%;transform:translate(-50%);width:32px;height:32px;background:#0f2240;color:#fff;font-size:14px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.lp-how__step h3{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 10px}.lp-how__step p{font-size:15px;color:#64748b;margin:0;line-height:1.5}@media(max-width:800px){.lp-how__steps{grid-template-columns:repeat(2,1fr)}.lp-how__title{font-size:32px}}@media(max-width:500px){.lp-how{padding:70px 20px}.lp-how__steps{grid-template-columns:1fr;gap:36px}}.lp-planners{background:#fff;padding:100px 32px}.lp-planners__inner{max-width:800px;margin:0 auto;text-align:center}.lp-planners__title{font-size:40px;font-weight:800;color:#0f172a;margin:0 0 14px;letter-spacing:-.025em}.lp-planners__sub{font-size:18px;color:#64748b;margin:0 0 36px}.finder-search{position:relative;max-width:520px;margin:0 auto 24px}.finder-search__icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.finder-search__input{width:100%;padding:18px 50px;font-size:17px;font-family:inherit;color:#0f172a;background:#f8fafc;border:2px solid #E2E8F0;border-radius:14px;outline:none;transition:all .2s}.finder-search__input::placeholder{color:#94a3b8}.finder-search__input:focus{border-color:#0f2240;background:#fff;box-shadow:0 4px 16px #0f224014}.finder-search__clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#e2e8f0;border:none;border-radius:8px;color:#64748b;cursor:pointer;transition:all .15s}.finder-search__clear:hover{background:#cbd5e1;color:#0f172a}.finder-results{display:flex;flex-direction:column;gap:12px;max-width:520px;margin:0 auto 32px}.finder-result{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid #E2E8F0;border-radius:14px;text-decoration:none;transition:all .2s}.finder-result--supported:hover{border-color:#cbd5e1;box-shadow:0 8px 24px #0f224014;transform:translateY(-2px)}.finder-result__indicator{width:8px;height:40px;border-radius:4px;flex-shrink:0}.finder-result__indicator--pending{background:#e2e8f0}.finder-result__info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.finder-result__badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#dcfce7;color:#16a34a;border-radius:6px}.finder-result__badge--pending{background:#fef3c7;color:#b45309}.finder-result__name{font-size:16px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:left}.finder-result__action{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;font-family:inherit;color:#fff;border:none;border-radius:10px;white-space:nowrap;text-decoration:none;cursor:pointer;transition:all .15s}.finder-result__action--request{background:#0f2240}.finder-result__action--request:hover{background:#1e3a5f}.finder-fallback{display:flex;flex-direction:column;align-items:center;padding:32px 24px;background:#f8fafc;border:2px dashed #E2E8F0;border-radius:16px}.finder-fallback__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#e2e8f0;color:#64748b;border-radius:12px;margin-bottom:16px}.finder-fallback__text{font-size:16px;font-weight:600;color:#475569;margin:0 0 12px}.finder-fallback__link{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#0f2240;text-decoration:none;background:none;border:none;cursor:pointer;padding:0;transition:all .15s}.finder-fallback__link:hover{color:#1e3a5f;gap:10px}.request-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.request-modal{position:relative;width:100%;max-width:480px;background:#fff;border-radius:20px;box-shadow:0 24px 80px #0f172a40;animation:modalSlideIn .25s ease-out;overflow:hidden}.request-modal__close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:10px;color:#64748b;cursor:pointer;transition:all .15s;z-index:1}.request-modal__close:hover{background:#e2e8f0;color:#0f172a}.request-modal__header{padding:32px 32px 24px;text-align:center;border-bottom:1px solid #F1F5F9}.request-modal__icon{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:#e0f2fe;border-radius:14px;color:#0369a1}.request-modal__title{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 8px;letter-spacing:-.02em}.request-modal__subtitle{font-size:15px;color:#64748b;margin:0;line-height:1.5}.request-modal__form{padding:24px 32px 32px}.request-modal__field{margin-bottom:20px}.request-modal__field:last-of-type{margin-bottom:24px}.request-modal__field label{display:block;font-size:14px;font-weight:600;color:#0f172a;margin-bottom:8px}.request-modal__optional{font-weight:400;color:#94a3b8}.request-modal__field input,.request-modal__field select,.request-modal__field textarea{width:100%;padding:14px 16px;font-size:15px;font-family:inherit;color:#0f172a;background:#f8fafc;border:1.5px solid #E2E8F0;border-radius:10px;outline:none;transition:all .15s;box-sizing:border-box}.request-modal__field input::placeholder,.request-modal__field textarea::placeholder{color:#94a3b8}.request-modal__field input:focus,.request-modal__field select:focus,.request-modal__field textarea:focus{border-color:#0f2240;background:#fff;box-shadow:0 0 0 3px #0f224014}.request-modal__field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;cursor:pointer}.request-modal__field textarea{resize:vertical;min-height:80px}.request-modal__actions{display:flex;gap:12px}.request-modal__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .15s;border:none}.request-modal__btn--cancel{background:#f1f5f9;color:#475569}.request-modal__btn--cancel:hover{background:#e2e8f0;color:#0f172a}.request-modal__btn--submit{background:#0f2240;color:#fff}.request-modal__btn--submit:hover:not(:disabled){background:#1e3a5f;transform:translateY(-1px);box-shadow:0 4px 12px #0f224033}.request-modal__btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.request-modal__spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:modalSpinner .8s linear infinite}@keyframes modalSpinner{to{transform:rotate(360deg)}}.request-modal__error{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#fef2f2;border:1px solid #FECACA;border-radius:10px;margin-bottom:20px;font-size:14px;color:#b91c1c;line-height:1.5}.request-modal__error svg{flex-shrink:0;margin-top:2px}.request-modal__error a{color:#b91c1c;font-weight:600;text-decoration:underline}.request-modal__error a:hover{color:#991b1b}.request-modal--success{max-width:400px}.request-modal__success{padding:48px 32px;text-align:center}.request-modal__success-icon{width:72px;height:72px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:#dcfce7;border-radius:50%;color:#16a34a}.request-modal__success-title{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 12px}.request-modal__success-message{font-size:16px;color:#475569;margin:0 0 28px;line-height:1.5}.request-modal__success-message strong{color:#0f172a}.request-modal__success .request-modal__btn--submit{width:100%}@media(max-width:540px){.request-modal-overlay{align-items:flex-end;padding:0}.request-modal{max-width:none;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto}.request-modal--success{max-width:none}.request-modal__header{padding:28px 24px 20px}.request-modal__form{padding:20px 24px 28px}.request-modal__actions{flex-direction:column-reverse}.request-modal__success{padding:40px 24px}.request-modal__error{flex-direction:column;gap:8px}}.finder-divider{display:flex;align-items:center;gap:20px;margin:40px 0 32px}.finder-divider:before,.finder-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.finder-divider span{font-size:13px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em}.lp-planners__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}.planner-card{display:block;background:#fff;border:1px solid #E2E8F0;border-radius:18px;overflow:hidden;text-decoration:none;transition:all .2s}.planner-card:hover{border-color:#cbd5e1;box-shadow:0 16px 48px #0f22401a;transform:translateY(-6px)}.planner-card:hover .planner-card__cta{gap:12px}.planner-card__bar{height:6px}.planner-card__body{padding:32px 28px}.planner-card__header{text-align:left;margin-bottom:14px}.planner-card__label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.planner-card__title{font-size:26px;font-weight:700;color:#0f172a;letter-spacing:-.015em;margin:0}.planner-card__desc{font-size:15px;color:#64748b;line-height:1.55;text-align:left;margin:0 0 24px}.planner-card__cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 24px;font-size:15px;font-weight:600;color:#fff;border-radius:12px;transition:all .15s}@media(max-width:600px){.lp-planners{padding:70px 20px}.lp-planners__title{font-size:32px}.lp-planners__grid{grid-template-columns:1fr}.finder-search__input{padding:16px 44px;font-size:16px}.finder-search__icon{left:16px;width:18px;height:18px}.finder-result{flex-wrap:wrap;gap:12px;padding:14px 16px}.finder-result__indicator{height:32px}.finder-result__info{flex:1 1 calc(100% - 28px)}.finder-result__action{width:100%;justify-content:center;padding:12px 16px}.finder-divider{margin:32px 0 28px}}.lp-method{background:#f1f5f9;padding:100px 32px}.lp-method__inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.lp-method__title{font-size:40px;font-weight:800;color:#0f172a;margin:0 0 18px;letter-spacing:-.025em;line-height:1.15}.lp-method__sub{font-size:17px;color:#64748b;margin:0 0 36px;line-height:1.65}.lp-method__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.lp-method__list li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500;color:#0f172a}.lp-method__list svg{color:#10b981;flex-shrink:0}.lp-method__visual{display:flex;justify-content:center}.lp-method__card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 16px 48px #0f22401a;max-width:360px;width:100%;border:1px solid #E2E8F0}.lp-method__card-head{padding:18px 24px;background:#f8fafc;border-bottom:1px solid #E2E8F0;font-size:15px;font-weight:600;color:#0f172a}.lp-method__card-body{padding:24px;display:flex;flex-direction:column;gap:14px}.lp-method__check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}.lp-method__check--pass{color:#16a34a}.lp-method__check--review{color:#f59e0b}@media(max-width:900px){.lp-method__inner{grid-template-columns:1fr;gap:48px}.lp-method__title{font-size:32px}.lp-method__card{max-width:100%}}@media(max-width:600px){.lp-method{padding:70px 20px}}.lp-cta{background:#0f2240;padding:100px 32px}.lp-cta__inner{max-width:700px;margin:0 auto;text-align:center}.lp-cta__title{font-size:40px;font-weight:800;color:#fff;margin:0 0 16px;letter-spacing:-.025em}.lp-cta__sub{font-size:18px;color:#ffffffb3;margin:0 0 36px;line-height:1.6}.lp-cta__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.lp-cta .lp-btn--primary{background:#fff;color:#0f2240}.lp-cta .lp-btn--primary:hover{background:#f1f5f9}.lp-cta .lp-btn--secondary{background:transparent;color:#fff;border-color:#ffffff4d}.lp-cta .lp-btn--secondary:hover{background:#ffffff14;border-color:#fff6}@media(max-width:600px){.lp-cta{padding:70px 20px}.lp-cta__title{font-size:30px}}.lp-footer{background:#0a1628;color:#fff}.lp-footer__inner{max-width:1100px;margin:0 auto;padding:64px 32px 36px}.lp-footer__top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}.lp-footer__brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.lp-footer__links{display:flex;flex-direction:column;gap:12px}.lp-footer__links a{font-size:14px;color:#fff9;text-decoration:none;transition:color .15s}.lp-footer__links a:hover{color:#fff}.lp-footer__disclaimer{padding:20px 24px;background:#ffffff08;border-radius:12px;margin-bottom:32px;font-size:13px;color:#ffffff73;line-height:1.65;text-align:center}.lp-footer__bottom{display:flex;align-items:center;justify-content:space-between;padding-top:28px;border-top:1px solid rgba(255,255,255,.06);font-size:13px;color:#ffffff59}.lp-footer__bottom div{display:flex;gap:8px}.lp-footer__bottom a{color:#ffffff80;text-decoration:none;transition:color .15s}.lp-footer__bottom a:hover{color:#fff}@media(max-width:800px){.lp-footer__top{grid-template-columns:1fr 1fr;gap:32px}.lp-footer__brand{grid-column:1 / -1}}@media(max-width:500px){.lp-footer__inner{padding:48px 20px 28px}.lp-footer__top{grid-template-columns:1fr;gap:24px;text-align:center}.lp-footer__links{align-items:center}.lp-footer__brand{justify-content:center}.lp-footer__bottom{flex-direction:column;gap:12px}}.landing-shell{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc}.landing-shell__nav{background:#fff;border-bottom:1px solid #E2E8F0;height:56px;position:sticky;top:0;z-index:100}.landing-shell__nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center}.landing-shell__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0f2240;font-size:17px;font-weight:700;letter-spacing:-.01em}.landing-shell__brand:hover{opacity:.9}.landing-shell__main{flex:1}.landing-shell__footer{background:#fff;border-top:1px solid #E2E8F0;padding:24px}.landing-shell__footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-shell__copy{font-size:13px;color:#94a3b8}.landing-shell__legal{display:flex;align-items:center;gap:8px;font-size:13px}.landing-shell__link{color:#64748b;text-decoration:none;transition:color .15s ease}.landing-shell__link:hover{color:#0f172a}.landing-shell__sep{color:#cbd5e1}@media(max-width:480px){.landing-shell__nav-inner,.landing-shell__footer-inner{padding:0 16px}.landing-shell__footer-inner{flex-direction:column;gap:8px;text-align:center}}:root{--brand-primary: #0F2240;--brand-secondary: #1E3A5F;--brand-accent: #2563EB;--nav-background: #0F2240;--nav-text-color: #FFFFFF;--nav-active-color: #2563EB;--footer-background: #0F2240;--footer-text-color: #FFFFFF;--footer-muted-text-color: rgba(255, 255, 255, .4);--uconn-navy: var(--brand-primary);--uconn-navy-light: var(--brand-secondary);--uconn-gray: #a2aaad;--uconn-white: #FFFFFF;--bg-primary: #F8FAFC;--bg-secondary: #FFFFFF;--bg-tertiary: #F1F5F9;--bg-card: #FFFFFF;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--border-default: #E2E8F0;--border-subtle: #CBD5E1;--accent-primary: #2563EB;--accent-success: #0D9488;--accent-warning: #F59E0B;--accent-danger: #EF4444;--header-height: 0px;--nav-height: 56px;--rail-width: 240px;--rail-collapsed: 0px;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;line-height:1.4}body{margin:0;background:#f8fafc;color:#0f172a}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.topnav{position:sticky;top:0;z-index:100;background:var(--nav-background);border-bottom:1px solid rgba(255,255,255,.1);height:56px}.topnav-inner{display:flex;align-items:center;padding:0 20px;height:56px;gap:0}.brand{display:inline-flex;align-items:center;font-weight:700;font-size:17px;color:var(--nav-text-color);text-decoration:none;padding:0 16px 0 0;margin-right:8px;letter-spacing:.3px}.brand:hover{opacity:.9}.navlinks{display:flex;gap:0}.navlink{display:inline-flex;align-items:center;padding:0 16px;height:56px;font-size:14px;font-weight:400;color:var(--nav-text-color);opacity:.75;text-decoration:none;border-bottom:2px solid transparent;transition:all .15s ease;margin-bottom:0}.navlink:hover{opacity:1;background:transparent}.navlink--active{opacity:1;border-bottom-color:var(--nav-active-color);font-weight:600}.my-plan-btn{border:1px solid rgba(255,255,255,.3);color:var(--nav-text-color);background:transparent;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.my-plan-btn:hover{background:#ffffff14}.workspace{display:flex;min-height:calc(100vh - 56px);background:#f8fafc}.workspace__rail{width:240px;min-width:240px;max-width:240px;background:#fff;border-right:1px solid #E2E8F0;padding:16px;overflow-y:auto;flex-shrink:0}.workspace__rail--right{border-right:none;border-left:1px solid #E2E8F0}.workspace__main{flex:1;padding:16px 20px;overflow-y:auto;min-width:0;background:#f8fafc}.workspace__main--full{max-width:100%}.page{max-width:1280px;margin:0 auto;padding:16px 20px}.header h1{margin:8px 0 4px;font-size:1.25rem}.muted{color:var(--text-secondary)}.small{font-size:12px}.card{margin-top:12px;padding:12px 14px;border:1px solid #E2E8F0;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.card h2{margin:0 0 8px;font-size:14px;font-weight:600;color:#0f172a}.card h3{margin:0 0 6px;font-size:13px;font-weight:600;color:#0f172a}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:flex;flex-direction:column;gap:4px;margin-top:8px}.field>span:first-child{font-size:12px;font-weight:500;color:#475569}input,select,textarea{background:#fff;border:1px solid #CBD5E1;color:#0f172a;padding:8px 10px;border-radius:6px;outline:none;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}select option{background:#fff;color:#0f172a}textarea{resize:vertical}.course-search-input{position:relative;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.course-search-input input{width:100%;max-width:100%;min-width:0;padding:10px 12px;font-size:13px;border:1px solid #CBD5E1;border-radius:6px;background:#fff;color:#0f172a;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.course-search-input input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;outline:none}.course-search-input input::placeholder{color:#94a3b8}.course-search-dropdown{min-width:min(400px,100vw - 40px)}.exam-credit-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.exam-credit-row{display:grid;grid-template-columns:1fr 90px 44px;gap:8px;align-items:center;width:100%;max-width:100%;box-sizing:border-box}.exam-credit-row__search{position:relative;min-width:0;max-width:100%}.exam-credit-row__search input{width:100%;max-width:100%;min-width:0;padding:9px 12px;font-size:13px;border-radius:6px;box-sizing:border-box}.exam-credit-row__score{min-width:0}.exam-credit-row__score select{width:100%;padding:9px 6px;font-size:13px;border-radius:6px;box-sizing:border-box}.exam-credit-row__remove{min-width:0}.exam-credit-row__remove button{width:100%;padding:9px 8px;display:flex;align-items:center;justify-content:center;border-radius:6px;box-sizing:border-box}@media screen and (max-width:480px){.exam-credit-row{grid-template-columns:1fr 60px;gap:8px}.exam-credit-row__search{grid-column:1 / -1}.exam-credit-row__score{grid-column:1}.exam-credit-row__remove{grid-column:2}}.correction-panel{margin-top:10px;padding:12px;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:6px;display:flex;flex-direction:column;gap:10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.correction-panel__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.correction-panel__title{font-size:12px;font-weight:500;color:#475569}.correction-panel__close{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px 8px;font-size:12px;border-radius:4px;transition:background .1s,color .1s}.correction-panel__close:hover{background:#0000000d;color:#0f172a}.row{display:flex;gap:8px;margin-top:10px}button{border:1px solid #E2E8F0;background:#f1f5f9;color:#475569;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s ease}button:hover{background:#e2e8f0;border-color:#cbd5e1}button.secondary{background:transparent;border-color:#e2e8f0}button.secondary:hover{background:#f1f5f9}button:disabled{opacity:.5;cursor:not-allowed}.json{margin-top:8px;padding:10px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:4px;overflow:auto;max-height:320px;font-size:12px}.error{margin:8px 0;padding:10px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.form-panels{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{margin-top:12px}.btn-primary{background:#0f2240;border:1px solid #0F2240;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px}.btn-primary:hover{background:#1e3a5f}.btn-primary:disabled{opacity:.6}.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.status-row{margin-top:6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}.profile-summary{padding:0}.profile-summary__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-summary__title{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.profile-summary__edit{font-size:12px;color:#2563eb;background:none;border:none;padding:4px 8px;cursor:pointer}.profile-summary__edit:hover{text-decoration:underline}.profile-summary__item{margin-bottom:10px}.profile-summary__label{font-size:11px;color:#94a3b8;margin-bottom:2px}.profile-summary__value{font-size:13px;font-weight:500;color:#0f172a}.profile-summary__divider{height:1px;background:#e2e8f0;margin:12px 0}.progress-sidebar{padding:0}.progress-sidebar__section{margin-bottom:16px}.progress-sidebar__title{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.progress-sidebar__bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-sidebar__fill{height:100%;background:#0d9488;border-radius:3px;transition:width .3s ease}.progress-sidebar__stat{display:flex;justify-content:space-between;font-size:12px;color:#94a3b8}.progress-sidebar__warnings{padding:8px 10px;background:#fffbeb;border:1px solid rgba(245,158,11,.3);border-radius:4px;font-size:12px;color:#f59e0b}.mobile-action-bar{display:none}.mobile-action-bar--hidden{display:none!important}@media(max-width:1024px){.workspace__rail{width:200px;min-width:200px}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){:root{--rail-width: 0px}.workspace{flex-direction:column}.workspace__rail{display:none}.workspace__main{padding:12px}.mobile-action-bar{display:flex;position:fixed;bottom:0;left:0;right:0;gap:8px;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #E2E8F0;z-index:100}.mobile-action-btn{flex:1;padding:12px 14px;font-size:14px;font-weight:600}.page{padding:12px;padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.form-actions,.action-row{display:none}.topnav-inner{padding:0 10px;height:48px}.topnav{height:48px}.brand{font-size:15px;padding:0 12px 0 0}.navlink{padding:0 12px;font-size:13px;height:48px}.form-grid{grid-template-columns:1fr 1fr}.form-panels{grid-template-columns:1fr}.form-actions{display:flex;flex-direction:column}.btn-primary{width:100%}.card{padding:10px 12px}.card h2{font-size:14px}.card h3{font-size:13px}.field{margin-top:6px}.muted.small{font-size:11px;line-height:1.3}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.row{flex-direction:column}.row button{width:100%}.action-row{flex-direction:column}.action-row button{width:100%}.action-row .btn-primary{order:-1}}.plan-workspace-rail{background-color:#fff;padding:16px;color:#0f172a;overflow-y:auto;flex-shrink:0}.plan-workspace-rail--left{width:220px;min-width:220px;border-right:1px solid #E2E8F0}.plan-workspace-rail--right{width:240px;min-width:240px;border-left:1px solid #E2E8F0}.plan-mobile-summary{display:none}@media screen and (max-width:768px){.plan-workspace-rail--left,.plan-workspace-rail--right{display:none}.plan-mobile-summary{display:block;margin-bottom:16px}.plan-mobile-summary__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;margin-bottom:10px}.plan-mobile-summary__profile{display:flex;align-items:center;gap:10px}.plan-mobile-summary__major{font-size:13px;font-weight:600;color:#0f172a}.plan-mobile-summary__terms{font-size:11px;color:#94a3b8}.plan-mobile-summary__edit-btn{padding:6px 10px;font-size:11px;background:transparent;border:1px solid #E2E8F0;border-radius:4px;color:#475569;cursor:pointer}.plan-mobile-summary__progress{background:#fff;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden;margin-bottom:10px}.plan-mobile-summary__progress-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;background:transparent;border:none;width:100%;color:#0f172a;font-size:12px;font-weight:600}.plan-mobile-summary__progress-header:hover{background:#00000005}.plan-mobile-summary__progress-content{padding:0 14px 14px;border-top:1px solid #E2E8F0}.plan-mobile-summary__milestones{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.plan-mobile-summary__milestone{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:500;border-radius:4px;background:#0000000a;color:#94a3b8}.plan-mobile-summary__milestone--met{background:#f0fdf4;color:#16a34a}.plan-mobile-summary__milestone--partial{background:#fffbeb;color:#f59e0b}.plan-mobile-summary__warnings{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fffbeb;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:#f59e0b;font-size:12px;cursor:pointer;margin-bottom:10px}.plan-mobile-req-chips{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.plan-mobile-req-chips::-webkit-scrollbar{display:none}.plan-mobile-req-chips>div{display:flex;flex-wrap:nowrap;gap:6px;min-width:max-content}.plan-header-bar{flex-direction:column;align-items:flex-start!important;gap:10px!important}.plan-req-chips-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.plan-req-chips-wrapper::-webkit-scrollbar{display:none}.plan-workspace-main{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))!important}}.standing-sticky-bar{background:#fff;border-top:1px solid #E2E8F0}@media screen and (max-width:768px){.standing-page-container{padding:12px 14px 140px!important}.standing-sticky-bar{padding:10px 14px!important;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}.standing-sticky-bar-content{flex-direction:column!important;align-items:stretch!important;gap:10px!important}.standing-sticky-disclaimer{font-size:11px!important;text-align:center}.standing-sticky-actions{justify-content:center!important;width:100%}.standing-sticky-actions button{flex:1;padding:10px 12px!important;font-size:13px!important}.standing-sticky-actions button:disabled{display:none}}.transcript-uploader-grid{display:grid;grid-template-columns:1fr 320px;gap:24px;max-width:100%}@media screen and (max-width:700px){.transcript-upload-page{padding:12px 14px!important}.transcript-uploader-grid{grid-template-columns:1fr;gap:16px}.transcript-uploader-grid>.transcript-uploader-main{order:0}.transcript-uploader-grid>.transcript-uploader-info{order:1}.transcript-uploader-grid>.transcript-uploader-hint{order:2;grid-column:1}.transcript-uploader-dropzone{padding:28px 16px}.transcript-uploader-radio-group{display:flex;flex-direction:column;gap:10px}.transcript-uploader-radio-label{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f1f5f9;border:1px solid #E2E8F0;border-radius:8px;cursor:pointer;transition:all .15s ease}.transcript-uploader-radio-label:hover{background:#e2e8f0}.transcript-uploader-radio-label:has(input:checked){background:#eff6ff;border-color:#bfdbfe}.transcript-uploader-info{background:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:14px}}@media screen and (max-width:480px){.transcript-upload-page{padding:10px 12px!important}.transcript-uploader-grid{gap:12px}.transcript-uploader-dropzone{padding:24px 12px}.transcript-uploader-info{padding:12px}}.transcript-upload-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #E2E8F0;gap:12px;flex-wrap:wrap}.transcript-upload-mode-indicator{display:flex;align-items:center;gap:10px;padding:6px 10px;background-color:#f1f5f9;border:1px solid #E2E8F0;border-radius:4px}@media screen and (max-width:480px){.transcript-upload-header{flex-direction:column;align-items:flex-start}.transcript-upload-mode-indicator{width:100%;justify-content:space-between}.transcript-upload-mode-btn-text{display:none}.transcript-upload-mode-btn-short{display:inline}}@media screen and (min-width:481px){.transcript-upload-mode-btn-short{display:none}}.app-footer{background:var(--footer-background);border-top:1px solid rgba(255,255,255,.1);padding:20px 32px;text-align:center;font-size:12px;color:var(--footer-muted-text-color)}.app-footer a{color:var(--footer-muted-text-color);opacity:.8;text-decoration:none}.app-footer a:hover{opacity:1;text-decoration:underline}.legal-page{background:#f8fafc;min-height:calc(100vh - 56px);padding:48px 24px 80px}.legal-content{max-width:780px;margin:0 auto}.legal-back-link{display:inline-block;color:#2563eb;text-decoration:none;font-size:14px;font-weight:500;margin-bottom:32px}.legal-back-link:hover{text-decoration:underline}.legal-title{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 8px;line-height:1.25}.legal-effective-date{font-size:13px;color:#94a3b8;margin:0 0 40px}.legal-section{margin-bottom:36px}.legal-section-heading{font-size:17px;font-weight:600;color:#0f172a;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #E2E8F0}.legal-body{font-size:15px;color:#475569;line-height:1.8;margin:0 0 12px}.legal-body:last-child{margin-bottom:0}.legal-list{font-size:15px;color:#475569;line-height:1.8;margin:0 0 12px;padding-left:20px}.legal-list li{margin-bottom:4px}.legal-callout{background:#fffbeb;border:1px solid #FCD34D;border-radius:6px;padding:16px 20px;margin-bottom:16px}.legal-callout p{font-size:15px;color:#92400e;line-height:1.8;margin:0 0 10px}.legal-callout p:last-child{margin-bottom:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
