body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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-wrapper{background:#0f0f0f;height:100vh}.login-title{color:#fafafa;font-size:28px;font-weight:700;margin-bottom:10px}.login-subtitle{color:#bbb;font-size:15px;margin-bottom:25px}.card{background:#1a1a1a;border:1px solid #2d2d2d;border-radius:14px;box-shadow:0 4px 20px #00000073;max-width:420px;padding:30px 40px;width:100%}.card h2{color:#fafafa;font-weight:600;margin-bottom:20px}.card button{background:#3b82f6;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:12px 24px;transition:background .18s;width:100%}.card button:hover{background:#2563eb}.card input,.card select{background:#111;border:1px solid #333;border-radius:8px;color:#eee;font-size:16px;margin-top:10px;padding:12px;width:100%}.card select option{background:#1e1e1e;color:#f0f0f0}.dashboard-container{margin:0 auto;max-width:1000px;padding:25px 20px}.dashboard-header{align-items:center;background:#1a1a1a;border:1px solid #2c2c2c;border-radius:12px;box-shadow:0 2px 10px #0006;display:flex;justify-content:space-between;margin-bottom:25px;padding:15px 20px}.dashboard-title{color:#fafafa;font-size:22px;font-weight:700}.dashboard-subtitle{color:#b5b5b5;font-size:15px;margin-top:4px}.logout-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:background .2s ease}.logout-btn:hover{background:#b91c1c}.not-configured{background:#2a1f00;border:1px solid #8a6c00;border-radius:12px;color:#ffdd82;font-size:16px;font-weight:500;margin-top:20px;padding:20px;text-align:center}.planner-container{margin:0 auto;max-width:900px;padding:30px 20px}.planner-title{color:#fafafa;font-size:28px;font-weight:600;margin-bottom:25px;text-align:center}.planner-grid{display:flex;flex-direction:column;gap:18px}.planner-row{align-items:flex-start;background:#1a1a1a;border:1px solid #2e2e2e;border-radius:12px;box-shadow:0 2px 12px #00000061;display:flex;padding:18px 20px;transition:transform .15s ease,box-shadow .15s ease}.planner-row.dragging{box-shadow:0 14px 32px #0000008c;transform:scale(1.02)}.drag-handle{color:#888;cursor:grab;font-size:20px;padding-right:12px;padding-top:4px}.drag-disabled{cursor:not-allowed!important;opacity:.3}.drag-handle:active{cursor:grabbing}.row-main{flex-direction:column}.row-header,.row-main{display:flex;width:100%}.row-header{align-items:center;justify-content:space-between;margin-bottom:12px}.semester-col{color:#f0f0f0;font-size:18px;font-weight:600}.row-badges{align-items:center;display:flex;gap:8px;margin-left:auto!important}.tarc-pill{background:#113f2e;border:1px solid #1b6a48;border-radius:999px;color:#3df29a;padding:4px 10px}.status-col,.tarc-pill{font-size:13px;font-weight:600}.status-col{border-radius:20px;padding:6px 14px;-webkit-user-select:none;user-select:none}.status-completed{background:#133015;color:#63ff7a}.status-current{background:#112b47;color:#60aaff}.status-recommended{background:#3a2b01;color:#facc67}.status-locked{background:#2c2c2c;color:#999}.status-clickable{background-color:#1c7cff!important;border-radius:20px;color:#fff!important;cursor:pointer;font-weight:700;padding:6px 14px;-webkit-user-select:none;user-select:none}.status-clickable:hover{background-color:#005cdc!important}.courses-col{display:flex;flex-wrap:wrap;gap:10px}.course-box{align-items:center;background:#222;border:1px solid #333;border-radius:8px;cursor:pointer;display:inline-flex;padding:10px 16px;transition:background .15s ease}.course-box:hover:not(.course-box-locked){background:#2d2d2d}.course-box-locked{cursor:default!important}.course-code{color:#f0f0f0;font-weight:600}.course-drop-btn{background:#0000;border:none;color:#aaa;cursor:pointer;font-size:1rem;margin-left:.35rem;transition:color .15s ease}.course-drop-btn:hover{color:#f87171}.add-course-btn{background:#111;border:1px dashed #666;border-radius:6px;color:#ccc;cursor:pointer;font-size:.9rem;padding:.35rem .6rem;transition:.15s ease}.add-course-btn:hover{background:#1f1f1f}.modal-panel{border-radius:8px}.course-select-btn{padding:.5rem .6rem;transition:background .15s ease}.modal-cancel-btn{background:#2c2c2c;border:1px solid #444;border-radius:4px;color:#ccc;cursor:pointer;padding:.35rem .8rem}.modal-cancel-btn:hover{background:#3a3a3a}.courses-row-flex{align-items:center;display:flex;gap:12px;width:100%}.thesis-courses-col{display:flex;flex:1 1;flex-wrap:wrap;gap:10px}.thesis-right-pill{background:#2b0000;border:1px solid #ff6b6b;border-radius:6px;color:#ff6767;font-size:14px;padding:6px 14px;white-space:nowrap}.lock-pill-right{margin-left:10px}.confirm-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:9995}.confirm-box{animation:confirmFadeIn .15s ease-out;background:#1e1e1e;border:1px solid #333;border-radius:10px;box-shadow:0 8px 26px #0006;color:#eee;padding:1.4rem 1.6rem;width:340px}@keyframes confirmFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confirm-title{color:#fafafa;font-size:20px;font-weight:700;margin-bottom:10px}.confirm-text{color:#bbb;font-size:14px;margin-bottom:20px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px}.confirm-btn.cancel{background:#2b2b2b;border:1px solid #444;color:#ccc}.confirm-btn.cancel:hover{background:#383838}.confirm-btn.confirm{background:#2563eb;color:#fff}.confirm-btn.confirm:hover{background:#1d4ed8}.modal-backdrop{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.modal-panel{background:#1c1c1c;border:1px solid #333;border-radius:10px;box-shadow:0 8px 26px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:480px;padding:1rem 1.25rem;width:100%}.modal-header{margin-bottom:10px}.modal-title{color:#eee;font-size:20px;font-weight:700}.course-search{background:#111;border:1px solid #333;border-radius:6px;color:#eee;margin-bottom:14px;padding:10px;width:100%}.modal-body.scrollable{overflow-y:auto;padding-right:6px}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.course-select-btn{background:#161616;border:1px solid #333;border-radius:6px;color:#eee;cursor:pointer;margin-bottom:.4rem;padding:.55rem .7rem;text-align:left;width:100%}.course-select-btn:hover{background:#242424}.modal-footer{align-items:center;display:flex;justify-content:space-between;margin-top:12px}.remove-btn{background:#7a0b0b;border:1px solid #a31a1a;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.45rem 1rem}.remove-btn:hover{background:#a31616}.cancel-btn{background:#2c2c2c;border:1px solid #444;border-radius:6px;color:#ccc;cursor:pointer;padding:.45rem 1rem}.cancel-btn:hover{background:#3a3a3a}.course-group{margin-bottom:12px}.course-group-title{color:#9cc1ff;font-size:13px;font-weight:700;margin-bottom:6px;opacity:.9;text-transform:uppercase}.course-prereq{color:#ff6b6b;font-size:12px;font-weight:600;margin-left:8px;opacity:.9}*{box-sizing:border-box;font-family:Inter,Arial,sans-serif;margin:0;padding:0}body{background:#0f0f0f;color:#e5e5e5}.center{align-items:center;display:flex;justify-content:center}.dark-container{background:#0f0f0f;width:100%}.container{padding:20px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#333;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#444}
/*# sourceMappingURL=main.3e8e8cdd.css.map*/