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}.main-content{display:flex;flex-grow:1;flex-wrap:wrap;gap:20px;margin-left:20px;transition:margin-right .3s ease}.main-content.sidebar-expanded{margin-right:350px}.right-sidebar{background-color:#f8f9fa;box-shadow:-2px 0 5px #0000001a;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:10px;position:fixed;right:0;top:0;transition:width}.resizer{background:#ccc;bottom:0;cursor:ew-resize;left:-2px;position:absolute;top:0;width:5px}.acknowledge-checkbox{cursor:pointer;gap:12px;padding:10px 0}.acknowledge-checkbox input{accent-color:#07c;cursor:pointer;height:20px;transform:scale(1.5);width:20px}.dynamic-schedule{background-color:#f9f9f9;color:#333;display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-start;margin-bottom:50px;padding:20px}.semester-column{background-color:#1e798b;border-radius:10px;box-shadow:0 6px 12px #0003;margin:10px;min-width:180px;padding:20px;position:relative;transition:background-color .3s ease}.semester-column:hover{background-color:#4b5b6b}.semester-column h2{color:#edf1f0;font-size:1.6rem;letter-spacing:1px;margin-bottom:20px;text-align:center}.semester-name-input{background-color:#edf1f0;border:none;border-radius:5px;font-size:1.3rem;margin-bottom:15px;margin-top:35px;padding:5px;text-align:center;z-index:1}.insert-semester-button{align-items:center;background-color:initial;border:none;border-radius:50%;box-shadow:0 3px 6px #00000026;color:#fff;cursor:pointer;display:flex;font-size:22px;font-size:30px;height:35px;justify-content:center;position:absolute;right:10px;top:10px;width:35px}.insert-semester-button:hover{background-color:#45a049}.delete-semester-button{align-items:center;background-color:initial;border:none;border-radius:50%;box-shadow:0 3px 6px #00000026;color:#fff;cursor:pointer;display:flex;font-size:22px;height:35px;justify-content:center;left:10px;position:absolute;top:10px;width:35px;z-index:10}.delete-semester-button:hover{background-color:#ff2d2d}.semester-header{align-items:center;display:flex;justify-content:space-between;padding:5px 10px;position:relative}.mark-taken-button{align-items:center;background-color:#28a745;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;left:50%;padding:4px 8px;position:absolute;top:5px;transform:translateX(-50%);transition:background-color .2s,transform .1s;width:24px}.mark-taken-button:hover{background-color:#218838}.mark-taken-button.revert{background-color:#dc3545}.mark-taken-button.revert:hover{background-color:#c82333}.delete-course-button{align-items:center;background-color:#ff4d4d;border:none;border-radius:50%;color:#781717;cursor:pointer;display:flex;font-size:16px;height:25px;justify-content:center;position:absolute;right:15px;top:12px;transition:background-color .3s ease;width:25px;z-index:10}.delete-course-button:hover{background-color:#c00}.semester-name-input:focus{border:2px solid #4caf50;outline:none}.course-token{background-color:#fff;border:1px solid #ccc;border-radius:5px;box-shadow:0 3px 8px #00000026;color:#333;cursor:pointer;font-size:1rem;margin-bottom:12px;padding:12px;position:relative;text-align:left;transition:transform .3s ease,background-color .3s ease;width:180px}.course-token.completed{background-color:#71ad18;color:#121010}.course-token.ongoing{background-color:#7398be}.course-token.retake{background-color:#fff;border:8px solid #4caf50;color:#333}.course-token.substituted{background-color:#d59d35}.semester-column p{color:#fff;font-size:22px;margin-top:10px;text-align:center}.download-upload-container{background-color:#f1f1f1;border-radius:15px;box-shadow:0 4px 10px #0000001a;margin:40px auto;max-width:300px;padding:20px;text-align:center}.download-upload-container h2,.download-upload-container h3{color:#333;margin-bottom:10px}.download-upload-button{background-color:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin:10px 0;padding:10px 20px;transition:background-color .3s ease;width:100%}.download-upload-button:hover{background-color:#45a049}.file-input{margin:15px 0}.file-input input{display:block;margin:10px auto}input[type=file]{display:block;margin:0 auto 15px}.notes-container{bottom:120px;height:200px;left:20px;position:fixed;width:250px;z-index:100}.notes-textbox{background-color:#f9f9f9;border:1px solid #159c2b;border-radius:8px;box-shadow:0 4px 8px #0000001a;font-size:1rem;height:100%;padding:10px;resize:none;width:100%}.notes-textbox:focus{border:2px solid #4caf50;outline:none}.course-token.tobe{background-color:#fcf5f5;color:#000}.course-token.taken{background-color:#71ad18;color:#fff}.course-token.ongoing{background-color:#1f64ad;color:#fff}.course-token:hover{box-shadow:0 4px 8px #0003;transform:scale(1.05)}.course-token.is-dragging{box-shadow:0 0 15px #0003;z-index:10}.context-menu{background-color:#fff;border:1px solid #ccc;border-radius:5px;box-shadow:0 4px 8px #00000080;margin:0;padding:10px;position:absolute;z-index:1000}.context-menu li{color:#333;cursor:pointer;padding:8px 12px}.context-menu li:hover{background-color:#f0f0f0}.new-course-form{margin:20px 0}.new-course-form input{margin-right:10px;padding:5px}.new-course-form button{background-color:#28a745;border:none;color:#fff;cursor:pointer;padding:5px 10px}.exclamation-button{background-color:initial;border:none;cursor:pointer;font-size:18px;margin-left:5px;margin-right:5px;outline:none}.white-exclamation{color:#084b97}.red-exclamation{color:red}.course-note-textbox{border:1px solid #ccc;border-radius:5px;font-size:14px;height:100px;margin-top:10px;padding:5px;resize:vertical;width:100%}.course-note-textbox:focus{border:1px solid #4caf50;outline:none}.general-notes-section{background-color:#f8f8f8;border:1px solid #ccc;border-radius:8px;bottom:20px;box-shadow:0 4px 8px #0000001a;padding:10px;position:fixed;right:20px;width:flex}.general-notes-section h3{font-size:16px;margin-top:0}.general-notes-textbox{border:1px solid #ddd;border-radius:4px;font-size:14px;height:120px;padding:8px;resize:none;width:flex}@media (max-width:768px){.general-notes-section{bottom:10px;left:5%;width:90%}}.side-tabs{background-color:#1e798b;border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:hidden;position:fixed;right:20px;top:20px;width:flex;z-index:1000}.side-tabs .tab{background-color:#1e798b;border-bottom:1px solid #fff3;color:#fff;cursor:pointer;font-size:16px;padding:15px;text-align:center;transition:background-color .3s ease}.side-tabs .tab:hover{background-color:#4b5b6b}.tab-content{align-items:center;border-top:1px solid #ddd;display:flex;flex-direction:column}.tab-content input,.tab-content textarea{border:1px solid #ddd;border-radius:5px;font-size:14px;margin:10px 0;padding:8px;width:90%}.tab-content button{background-color:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:10px;width:90%}.tab-content button:hover{background-color:#45a049}.add-transfer-semester-button{background:linear-gradient(135deg,#4caf50,#2e7d32);border:none;border-radius:6px;box-shadow:1px 2px 6px #00000026;color:#fff;cursor:pointer;display:block;font-size:14px;font-weight:600;height:5%;margin:10px auto;padding:8px 14px;transition:all .2s ease-in-out;width:10%}.add-transfer-semester-button:hover{background:linear-gradient(135deg,#66bb6a,#388e3c);box-shadow:2px 4px 8px #0003;transform:scale(1.03)}.add-transfer-semester-button:active{box-shadow:1px 1px 4px #00000026;transform:scale(.97)}.color-picker{display:flex;gap:8px;padding:5px}.color-circle{border:2px solid;border-radius:50%;cursor:pointer;height:20px;transition:border .2s ease-in-out;width:20px}.color-circle.red{background-color:#e9848c}.color-circle.blue{background-color:#82bce1}.color-circle.yellow{background-color:#efa8f7}.color-circle.default{background-color:#fff}.color-circle.selected{border:2px solid #000}@media (max-width:768px){.dynamic-schedule{flex-direction:column}.side-tabs{margin-top:20px;position:static;width:100%}.main-content{justify-content:center}}.side-tabs .tab.active{background-color:#4caf50;font-weight:700}.gen-ed-table-container{background-color:#fff;border-radius:5px;box-shadow:0 2px 5px #0000001a;display:none;height:auto;margin:20px auto;opacity:0;overflow-x:hidden;overflow-y:auto;padding:10px;transition:opacity .3s ease;width:auto}.gen-ed-table-container.visible{display:block;opacity:1}.gen-ed-table-container.hidden{display:block;opacity:0}.gen-ed-table{background-color:#fff;border-collapse:collapse;box-shadow:0 2px 5px #0000001a;margin:10px 0;width:100%}.gen-ed-table th{background-color:#2c7f2e;color:#fff;font-weight:700;padding:10px;text-align:center}.gen-ed-table td{border:1px solid #ddd;padding:10px;text-align:left;vertical-align:middle}.gen-ed-table td input[type=checkbox]{display:block;margin:0 auto}.gen-ed-table td input[type=text]{border:1px solid #ccc;border-radius:4px;font-size:.9em;margin:5px 0;padding:5px;width:calc(100% - 20px)}.gen-ed-table tr:nth-child(odd){background-color:#f9f9f9}.gen-ed-table td span{display:block;font-weight:700;margin-bottom:5px}.gen-ed-table{display:block;max-width:100%;overflow-x:auto}@media (max-width:768px){.gen-ed-table-container{height:300px;width:90%}.gen-ed-table td,.gen-ed-table th{font-size:.75rem;padding:3px}}.tab-button{background-color:#f1f1f1;border:none;border-bottom:2px solid #0000;cursor:pointer;flex:1 1;font-size:16px;padding:10px;transition:background-color .3s ease,border-bottom .3s ease}.tab-button.active{background-color:#4caf50;border-bottom:2px solid #45a049;color:#fff}.tab-button:hover{background-color:#d4f0db}.tab-content{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;padding:15px}.add-course-tab,.download-upload-tab,.gen-ed-tab,.general-notes-tab{display:flex;flex-direction:column;gap:10px}.modal-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;box-shadow:0 8px 16px #00000040;font-family:Segoe UI,sans-serif;padding:30px;text-align:center;width:400px}.modal-content h3{font-size:1.5rem;margin-bottom:20px}.modal-content input,.modal-content select{border:1px solid #ccc;border-radius:6px;font-size:1rem;margin-bottom:15px;padding:10px;width:90%}.modal-content button{background-color:#07c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 16px;transition:background-color .3s ease}.modal-content button:hover{background-color:#005fa3}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body *{visibility:hidden}.dynamic-schedule,.dynamic-schedule *{visibility:visible}.add-transfer-semester-button,.context-menu,.delete-course-button,.delete-semester-button,.insert-semester-button,.mark-taken-button,.modal-overlay,.print-button,.resizer,.right-sidebar,.tab-content,.tabs,textarea{display:none!important}.semester-column{border:1px solid #ccc;margin-bottom:10px;padding:10px;page-break-inside:avoid}.course-token{border:1px solid #000;color:#000!important;font-size:14px!important;margin-bottom:4px;padding:6px;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.semester-container{display:block!important}.main-content{margin:0!important;width:100%!important}.page-title{margin-bottom:20px;text-align:center}}.acknowledge-checkbox{align-items:center;display:flex;font-size:16px;gap:10px;margin-top:15px}button{cursor:pointer;font-size:16px;margin-top:10px;padding:10px 15px}button:disabled{background-color:#ccc;cursor:not-allowed}.editable-title{background:#0000;border:none;border-bottom:2px solid #ccc;color:#333;display:block;font-size:24px;font-weight:700;margin:20px auto;width:80%}.close-button{background:#f44336;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;padding:6px 12px;position:absolute;right:12px;top:12px;transition:background .3s ease,transform .2s ease;z-index:999}.close-button:hover{background:#d32f2f;transform:scale(1.1)}.close-button:focus{box-shadow:0 0 0 2px #f4433680;outline:none}.footnote{color:#d90c0c;font-size:14px;font-style:italic;margin-top:20px;text-align:center}
/*# sourceMappingURL=main.0ba85efa.css.map*/