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