body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#131429,#2c2c49);display:flex;justify-content:center;min-height:100vh}.login-form{background:#2b2b45;border:1px solid #6a05ad;border-radius:10px;box-shadow:0 10px 25px #0000004d;max-width:400px;padding:3rem;text-align:center;width:100%}.login-form h1{color:#e9e4f5;font-size:2rem;font-weight:600;margin-bottom:.5rem}.login-form p{color:#a0a0a0;margin-bottom:2rem}.login-button{background:#6a05ad;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease;width:100%}.login-button:hover{background:#9c27b0;box-shadow:0 4px 12px #6a05ad66;transform:translateY(-2px)}.course-page{background:linear-gradient(135deg,#131429,#2c2c49);box-sizing:border-box;color:#fff;margin:0 auto;max-width:1200px;min-height:100vh;overflow-y:auto;padding:2rem}.course-header{align-items:center;border-bottom:2px solid #6a05ad;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem 0}.course-header h1{color:#e9e4f5;flex:1 1;font-weight:600;margin:0;text-align:center}.nav-left{align-items:center;display:flex}.navigation-buttons{display:flex;gap:1rem}.nav-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.nav-button:not(.secondary){background:#6a05ad;color:#fff}.nav-button:not(.secondary):hover{background:#9c27b0;box-shadow:0 4px 12px #6a05ad66;transform:translateY(-2px)}.nav-button.secondary{background:#4a4a6a;border:1px solid #6a05ad;color:#e9e4f5}.nav-button.secondary:hover{background:#5a5a7a;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.requirements-container{display:flex;flex-direction:column;gap:2rem}.requirement-group{background:#2b2b45;border-radius:10px;box-shadow:0 4px 16px #0000004d;overflow:hidden}.requirement-group h2{background:#6a05ad;color:#fff;font-size:1.25rem;font-weight:600;margin:0;padding:1rem 1.5rem}.requirement{background:#3a3a5c;border:1px solid #6a05ad;border-radius:8px;margin:1.5rem;padding:1rem}.requirement-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.requirement-header h3{color:#e9e4f5;font-weight:600;margin:0}.status{border-radius:20px;font-size:.875rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.status.done{background:#4caf50;color:#fff}.status.not-all-plan{background:#ffc107;color:#131429}.courses-list{display:flex;flex-direction:column;gap:.75rem}.course-item{grid-gap:1rem;align-items:center;background:#4a4a6a;border:1px solid #6a05ad;border-radius:8px;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:.75rem}.course-name{color:#e9e4f5;font-weight:500}.course-credit,.course-grade,.course-term{color:#a0a0a0;font-size:.875rem}.course-status{border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-align:center}.course-status.taken{background:#4caf50;color:#fff}.error,.loading{min-height:100vh}@media (max-width:768px){.course-header{align-items:stretch;gap:1rem}.course-header,.navigation-buttons{flex-direction:column}.course-item{gap:.5rem;grid-template-columns:1fr}.course-item>span{padding:.25rem 0}}.semester-page{background:linear-gradient(135deg,#131429,#2c2c49);box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%}.navigation-bar{align-items:center;background-color:#2b2b45;border-bottom:2px solid #6a05ad;box-shadow:0 2px 8px #0000004d;display:flex;justify-content:space-between;padding:1rem 2rem}.nav-left,.nav-right{display:flex;gap:1rem}.nav-center{display:flex;flex:1 1;justify-content:center}.nav-link-button{background:#4a4a6a;border:1px solid #6a05ad;border-radius:8px;color:#e9e4f5;cursor:pointer;font-size:14px;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.nav-link-button:hover{background:#6a05ad;box-shadow:0 4px 8px #6a05ad4d;transform:translateY(-2px)}.options-bar{align-items:center;background-color:#1e1e38;border-bottom:1px solid #4a4a6a;display:flex;justify-content:space-between;padding:1rem 2rem}.options-left,.options-right{align-items:center;display:flex;gap:1rem}.checkbox-container{align-items:center;color:#e9e4f5;cursor:pointer;display:flex;font-size:14px;-webkit-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{accent-color:#6a05ad;cursor:pointer;margin-right:.5rem}.dropdown-label{align-items:center;color:#e9e4f5;display:flex;font-size:14px;gap:.5rem}.semester-dropdown{background-color:#2b2b45;border:1px solid #6a05ad;border-radius:6px;color:#e9e4f5;cursor:pointer;font-size:14px;min-width:150px;padding:.5rem 1rem}.semester-dropdown:focus{border-color:#8b5ff8;box-shadow:0 0 0 2px #8b5ff833;outline:none}.title{color:#e9e4f5;font-size:25px;font-weight:600;margin:0}.content-area{background-color:#2b2b45;border-radius:8px;box-shadow:0 4px 16px #0000004d;box-sizing:border-box;display:flex;flex:1 1;flex-direction:row;margin:0 20px 20px;overflow:hidden;position:relative}.content-area:after{bottom:10px;color:#a0a0a0;content:"Drag courses here to remove from semesters";font-size:12px;left:50%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .3s ease}.content-area.drag-active:after{opacity:1}.semester-calendar{box-sizing:border-box;height:calc(100% - 50px);margin-left:.5%;margin-top:2.5%;overflow:auto;padding:10px;width:65%}.year-section{background-color:#3a3a5c;border:1px solid #6a05ad;border-radius:8px;margin-bottom:1%;padding:10px}.add-year-section{display:flex;justify-content:center;margin-top:1rem;padding:1rem}.add-year-button{background:linear-gradient(135deg,#6a05ad,#8b5ff8);border:none;border-radius:8px;box-shadow:0 4px 12px #6a05ad4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.add-year-button:hover{background:linear-gradient(135deg,#8b5ff8,#6a05ad);box-shadow:0 6px 16px #6a05ad66;transform:translateY(-2px)}.add-year-button:active{box-shadow:0 2px 8px #6a05ad4d;transform:translateY(0)}.year-title{color:#e9e4f5;font-size:20px;font-weight:600;margin-bottom:10px}.semesters-container{display:flex;flex-direction:row;justify-content:space-between}.semester-section{display:flex;flex:20% 1;flex-direction:column;margin-bottom:20px}.semester-fall-spring{flex:32.5% 1!important;flex-basis:32.5%!important}.semester-winter-summer{flex:17.5% 1!important;flex-basis:17.5%!important}.semester-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.semester-title{color:#e9e4f5;font-size:18px;font-weight:600;margin:0}.semester-credits{background:#6a05ad;border:2px solid #9c27b0;border-radius:8px;box-shadow:0 2px 4px #6a05ad4d;color:#fff;font-size:16px;font-weight:700;min-width:35px;padding:6px 10px;text-align:center}.semester-basket{align-items:center;background-color:#4a4a6a;border:2px dashed #6a05ad;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:5px;justify-content:flex-start;margin-left:5px;min-height:150px;padding:10px 5px 5px;transition:all .3s ease}.semester-basket:hover{background-color:#5a5a7a;border-color:#9c27b0}.empty-placeholder{color:#a0a0a0;font-size:14px;font-style:italic;margin-top:50px}.course-list{background-color:#3a3a5c;border:1px solid #6a05ad;border-radius:8px;box-sizing:border-box;height:calc(100% - 50px);margin-left:1%;margin-top:2.5%;overflow:auto;padding:15px;width:18%}.search-bar{align-items:center;display:flex;margin-bottom:10px;position:relative;width:100%}.search-input{background-color:#4a4a6a;border:1px solid #6a05ad;border-radius:8px;box-sizing:border-box;color:#fff;font-size:15px;height:35px;padding:5px 35px 5px 10px;width:100%}.search-input::placeholder{color:#a0a0a0}.search-input:focus{border-color:#9c27b0;box-shadow:0 0 8px #6a05ad4d;outline:none}.search-icon{height:30px;position:absolute;right:5px;width:30px}.requirement-list{background-color:#3a3a5c;height:calc(100% - 50px);margin-left:1%;margin-top:2.5%;overflow:auto;width:15%}.requirement-group,.requirement-list{border:1px solid #6a05ad;border-radius:8px;box-sizing:border-box;padding:10px}.requirement-group{background-color:#4a4a6a;margin-bottom:10px}.group-title{color:#e9e4f5;font-size:18px;font-weight:600;margin-bottom:10px}.requirements{display:flex;flex-direction:column;gap:5px}.course-block{align-items:center;border:2px solid #0000;border-radius:8px;color:#fff;cursor:move;display:flex;font-size:15px;font-weight:500;justify-content:space-between;margin-bottom:5px;padding:10px;position:relative;text-align:center;transition:transform .2s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none;width:90%}.course-block:hover:not(.course-placed){border-color:#ffffff80;box-shadow:0 6px 12px #0006;transform:translateY(-3px)}.course-taken:hover{border-color:#66bb6a;box-shadow:0 6px 12px #4caf5066}.course-not-finished:hover{border-color:#8b5ff8;box-shadow:0 6px 12px #6a05ad80}.course-block:active{box-shadow:0 6px 12px #0006;transform:scale(1.05)}.course-credits{background:#fff3;border-radius:8px;font-size:12px;margin-left:8px;min-width:25px;padding:2px 6px}.course-taken{background:linear-gradient(135deg,#4caf50,#45a049);border:2px solid #388e3c}.course-not-finished{background:linear-gradient(135deg,#6a05ad,#8b5ff8);border:2px solid #4a148c}.course-placed{cursor:not-allowed;filter:grayscale(50%);opacity:.3;pointer-events:none}.course-placed .course-credits{background:#0000004d}.semester-basket .course-block{cursor:move;filter:none;opacity:1;pointer-events:all}.semester-basket .course-block:hover{border-color:#ffffff80;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.course-past{background:#4caf504d!important;opacity:.5}.course-current{background:#8b5ff8cc!important;border-color:#8b5ff8;box-shadow:0 0 8px #8b5ff866}.course-future{background:#8b5ff899!important;border-color:#6a05ad}.course-past:hover{opacity:.7}.course-current:hover,.course-future:hover{box-shadow:0 4px 12px #8b5ff880;transform:translateY(-2px)}.requirement-button{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:500;justify-content:center;margin-bottom:5px;padding:10px;text-align:center;transition:transform .2s ease,box-shadow .2s ease;width:100%}.requirement-button:hover{transform:translateY(-3px)}.requirement-done:hover{background:linear-gradient(135deg,#45a049,#388e3c);box-shadow:0 6px 12px #4caf5066}.requirement-done{background:linear-gradient(135deg,#4caf50,#45a049);border:2px solid #388e3c;box-shadow:0 2px 6px #4caf504d}.requirement-not-finished{background:linear-gradient(135deg,#6a05ad,#8b5ff8);border:2px solid #4a148c;box-shadow:0 2px 6px #6a05ad4d}.requirement-not-finished:hover{background:linear-gradient(135deg,#8b5ff8,#9c27b0);box-shadow:0 6px 12px #6a05ad66;transform:translateY(-3px)}.export-button{background-color:#6a05ad;border:1px solid #6a05ad;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:.5rem 1rem;transition:all .3s ease}.export-button:hover{background-color:#9c27b0;box-shadow:0 4px 12px #6a05ad66;transform:translateY(-2px)}.error,.loading{align-items:center;background:linear-gradient(135deg,#131429,#2c2c49);color:#fff;display:flex;font-size:1.25rem;height:100vh;justify-content:center;padding:3rem;text-align:center}.error{color:#ff6b6b}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#131429,#2c2c49);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}
/*# sourceMappingURL=main.f9ee6ac8.css.map*/